Repository: potassco/clinguin (language: python)

Issue:
Resizable modal



Discussion / hints:

Fix patch:
diff --git a/angular_frontend/package.json b/angular_frontend/package.json
index 7318888e..f8e6e045 100644
--- a/angular_frontend/package.json
+++ b/angular_frontend/package.json
@@ -39,4 +39,4 @@
     "karma-jasmine-html-reporter": "~2.1.0",
     "typescript": "~5.1.3"
   }
-}
+}
\ No newline at end of file
diff --git a/angular_frontend/src/app/callback-helper.service.ts b/angular_frontend/src/app/callback-helper.service.ts
index 0048eb9d..79d4c822 100644
--- a/angular_frontend/src/app/callback-helper.service.ts
+++ b/angular_frontend/src/app/callback-helper.service.ts
@@ -10,10 +10,10 @@ import { hide } from '@popperjs/core';
 import { isEmpty, throwError } from 'rxjs';
 
 
-function aspArgumentSplitter(aspArguments: string) : string[] {
+function aspArgumentSplitter(aspArguments: string): string[] {
 
-  let returnStrings : string[] = []
-  let curString : string = ""
+  let returnStrings: string[] = []
+  let curString: string = ""
 
   let bracketLevel = 0
 
@@ -53,15 +53,15 @@ function defaultClickContextHandler(event: Event) {
 
     if (hideAllContextMenus() == true) {
       return
-    }   
+    }
   }
 }
 
-function hideAllContextMenus() : boolean { 
+function hideAllContextMenus(): boolean {
   let contextMenuService = LocatorService.injector.get(ContextMenuService)
   let anyWasOpen = false
 
-  contextMenuService.contextMenus.forEach((item: {key:string, contextMenu:ElementDto}) => {
+  contextMenuService.contextMenus.forEach((item: { key: string, contextMenu: ElementDto }) => {
     let contextMenu = document.getElementById(item.key)
 
     if (contextMenu != null && contextMenu.style.display == "block") {
@@ -71,9 +71,9 @@ function hideAllContextMenus() : boolean {
   })
 
   return anyWasOpen
-} 
+}
 
-function handleRightClick( policy:string, event: Event) {
+function handleRightClick(policy: string, event: Event) {
   event.preventDefault()
   event.stopPropagation()
 
@@ -91,30 +91,30 @@ function handleRightClick( policy:string, event: Event) {
       let contextMenu = document.getElementById(policy)
 
       if (contextMenu != null) {
-        if (contextMenu.style.display == "block"){ 
+        if (contextMenu.style.display == "block") {
           contextMenu.style.display = "none"
-        } else { 
-          contextMenu.style.display = 'block'; 
-          contextMenu.style.left = event.pageX + "px"; 
-          contextMenu.style.top = event.pageY + "px"; 
-      } 
+        } else {
+          contextMenu.style.display = 'block';
+          contextMenu.style.left = event.pageX + "px";
+          contextMenu.style.top = event.pageY + "px";
+        }
 
       }
 
     }
   }
-  
+
 
 }
- 
 
-function handleUpdate(when:WhenDto, event: Event | null) {
+
+function handleUpdate(when: WhenDto, event: Event | null) {
   let elementLookupService = LocatorService.injector.get(ElementLookupService)
 
   let policy = when.policy
 
   policy = policy.substring(1)
-  policy = policy.slice(0,-1)
+  policy = policy.slice(0, -1)
 
   let splits = aspArgumentSplitter(policy)
 
@@ -122,15 +122,15 @@ function handleUpdate(when:WhenDto, event: Event | null) {
   let key = splits[1]
   let value = splits[2]
 
-  let elementLookup : ElementLookupDto | null = elementLookupService.getElement(id)
+  let elementLookup: ElementLookupDto | null = elementLookupService.getElement(id)
 
   if (elementLookup != null) {
 
-    if (elementLookup.element.type == "context_menu" && event!=null){
-      if(key!="visibility" || value!="visible"){
-        console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " +id+","+key +","+value)
-      }else{
-        handleRightClick(id,event)
+    if (elementLookup.element.type == "context_menu" && event != null) {
+      if (key != "visibility" || value != "visible") {
+        console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: " + id + "," + key + "," + value)
+      } else {
+        handleRightClick(id, event)
       }
       return
     }
@@ -138,16 +138,16 @@ function handleUpdate(when:WhenDto, event: Event | null) {
     let found = false
 
     for (let index in tmpAttributes) {
-      let attribute : AttributeDto = tmpAttributes[index]
+      let attribute: AttributeDto = tmpAttributes[index]
 
       if (attribute.key == key) {
         found = true
-        tmpAttributes[index] = {"id":id, "key":key,"value":value}
+        tmpAttributes[index] = { "id": id, "key": key, "value": value }
       }
     }
 
     if (found == false) {
-      tmpAttributes.push({"id":id, "key":key,"value":value})
+      tmpAttributes.push({ "id": id, "key": key, "value": value })
     }
 
     elementLookup.element.attributes = tmpAttributes
@@ -160,8 +160,8 @@ function handleUpdate(when:WhenDto, event: Event | null) {
       }
     }
 
-    if(elementLookup.object == null && elementLookup.element.type.startsWith('svg') && elementLookup.tagHtml!=null){
-      elementLookup.tagHtml.style.setProperty(key,value.replaceAll('"',''))
+    if (elementLookup.object == null && elementLookup.element.type.startsWith('svg') && elementLookup.tagHtml != null) {
+      elementLookup.tagHtml.style.setProperty(key, value.replaceAll('"', ''))
     }
     if (elementLookup.tagHtml != null) {
       let childBearerService = LocatorService.injector.get(ChildBearerService)
@@ -177,60 +177,91 @@ function handleUpdate(when:WhenDto, event: Event | null) {
 
 }
 
-function replaceContext(policy_string:string, optional:boolean){
+function replaceContext(policy_string: string) {
   let contextService = LocatorService.injector.get(ContextService)
-  let regex = /_context_value\(([^)]*)\)/
-  if (optional){
-    regex = /_context_value_optional\(([^)]*)\)/
-  }
-
+  let regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g
+  // ^(\w+)$|^(\w+\(\s*(?:"[^"]*"|\w+)\s*\))
+  let regex_const = /^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/
+  // console.log("Replacing context")
+  // console.log(policy_string)
   let match = regex.exec(policy_string)
-  while(match != null) {
-    let match_group = match[1]
+  while (match != null) {
+    // console.log("A match")
+
+    let match_instance = match[0]
+    let match_group = match[1] || match[2] || match[3]
+    let match_type = match[4] || match[5] || match[6]
+    let match_default = match[7] || match[8] || match[9]
 
     let new_value = contextService.retrieveContextValue(match_group)
-    if (new_value.length == 0 && !optional){
-      throw new Error("Missing required value for " + match_group);      
-    }
-    function isNumber(s:string) {
-      return /^[0-9]*$/.test(s);
+    if (new_value == null) {
+      if (!match_default == null) {
+        throw new Error("Missing required value for " + match_group);
+      }
+      new_value = match_default
     }
 
-    if (!isNumber(new_value) && new_value.length>0) {
-      if ( new_value[0] === new_value[0].toUpperCase() && new_value[0]!='"'){
-        new_value = '"'+new_value+'"'
+    let isNumber = /^[0-9]*$/.test(new_value);
+
+    let isConst = regex_const.test(new_value);
+
+    // console.log("new value!", new_value)
+
+    let isQuoted = new_value.length > 1 && new_value[0] == '"' && new_value.slice(-1) == '"';
+    // console.log("isQuoted", isQuoted)
+    // console.log("isQuoted x", new_value[0])
+    // console.log("isQuoted x", new_value.slice(-1))
+    let mustBeQuoted = !isNumber && !isConst && !isQuoted
+
+    if (match_type != null) {
+      if (match_type != "str" && match_type != "int" && match_type != "const") {
+        throw new Error("Not a valid type " + match_type + ". Should be str, int or const.");
+      }
+      if (match_type == "str" && !isQuoted) {
+        // console.log("Adding quotes 1")
+        new_value = '"' + new_value + '"'
+      }
+      else if (match_type == "int" && !isNumber) {
+        throw new Error("Expected a number but got " + new_value);
       }
-    } 
-    policy_string = policy_string.replace(regex, new_value)
-    
+      if (match_type == "const" && !isConst) {
+        throw new Error("Expected a constant that can be parsed to an atom, but got: " + new_value);
+      }
+    }
+    if (match_type == null && mustBeQuoted) {
+      // console.log("Adding quotes 2")
+      new_value = '"' + new_value + '"'
+    }
+    // console.log("Will replace ", match_instance, " by ", new_value)
+    policy_string = policy_string.replace(match_instance, new_value)
+    // console.log(policy_string)
+    regex = /_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g
+
     match = regex.exec(policy_string)
   }
   return policy_string
 }
 
-function handleCallback(when:WhenDto, event: Event) {
+function handleCallback(when: WhenDto, event: Event | null) {
   let frontendService = LocatorService.injector.get(DrawFrontendService)
 
   let policy_string = when.policy
 
-  policy_string = replaceContext(policy_string, true)
-  policy_string = replaceContext(policy_string, false)
+
+  policy_string = replaceContext(policy_string)
 
   when.policy = policy_string
 
   frontendService.policyPost(when)
 }
 
-function handleContext(when:WhenDto, event: Event | null) {
+function handleContext(when: WhenDto, event: Event | null) {
   let contextService = LocatorService.injector.get(ContextService)
   let policy = when.policy
-
-  policy = replaceContext(policy, true)
-  policy = replaceContext(policy, false)
-
-  if (policy[0]=='('){
+  policy = replaceContext(policy)
+  if (policy[0] == '(') {
     policy = policy.substring(1)
-    policy = policy.slice(0,-1)
+    policy = policy.slice(0, -1)
     let splits = aspArgumentSplitter(policy)
     if (splits.length >= 2) {
       if (splits.length > 2) {
@@ -240,14 +271,14 @@ function handleContext(when:WhenDto, event: Event | null) {
       let key = splits[0]
       let value = splits[1]
 
-      if (event!=null){
+      if (event != null) {
 
         let regex = /_value/g
-        let eventTarget : EventTarget | null = event.target
-    
+        let eventTarget: EventTarget | null = event.target
+
         if (eventTarget != null && "value" in eventTarget) {
           let match = value.match(regex)
-    
+
           if (match != null && typeof eventTarget.value === "string") {
             if (eventTarget.value == "") {
               console.log("EVENT TARGET IS EMPTY")
@@ -260,17 +291,17 @@ function handleContext(when:WhenDto, event: Event | null) {
       }
 
       for (let index = 2; index < splits.length; index++) {
-          value = value + "," + splits[index]
+        value = value + "," + splits[index]
       }
       contextService.addContext(key, value)
       return
     }
-  } 
+  }
 
-  let message = "The value of context event should be a tuple of size 2, but got " +when.policy 
+  let message = "The value of context event should be a tuple of size 2, but got " + when.policy
   console.error(message)
   let frontendService = LocatorService.injector.get(DrawFrontendService)
-  frontendService.postMessage(message,"warning")
+  frontendService.postMessage(message, "warning")
 }
 
 @Injectable({
@@ -279,117 +310,126 @@ function handleContext(when:WhenDto, event: Event | null) {
 export class CallBackHelperService {
 
   constructor(private frontendService: DrawFrontendService) {
-    document.onclick = defaultClickContextHandler; 
-    document.oncontextmenu = defaultClickContextHandler; 
-   }
-
-    findCallback(action: string, callbacks: WhenDto[]): WhenDto | null {
-      let value = null
-      let index = callbacks.findIndex(callback => callback.actionType == action)
-      if (index >= 0) {
-        value = callbacks[index]
-      }
-      return value
-    }
- 
-    setCallbacks(html: HTMLElement, dos:WhenDto[]) {
-      this.handleEvent(html, dos, "click", "click")
-      this.handleEvent(html, dos, "input", "input")
-      this.handleEvent(html, dos, "right_click", "contextmenu")
-      this.handleEvent(html, dos, "mouseenter", "mouseenter")
-      this.handleEvent(html, dos, "mouseleave", "mouseleave")
-      this.handleEvent(html, dos, "load", "load")
-      this.handleEvent(html, dos, "dblclick", "dblclick")
+    document.onclick = defaultClickContextHandler;
+    document.oncontextmenu = defaultClickContextHandler;
+  }
+
+  findCallback(action: string, callbacks: WhenDto[]): WhenDto | null {
+    let value = null
+    let index = callbacks.findIndex(callback => callback.actionType == action)
+    if (index >= 0) {
+      value = callbacks[index]
     }
+    return value
+  }
 
-    handleEvent(html: HTMLElement, dos:WhenDto[], supportedAttributeName:string = "", htmlEventName:string = "") {
-      let allEvents:WhenDto[] = []
-      dos.forEach((when:WhenDto) => {
-        if (when.actionType == supportedAttributeName) {
-          allEvents.push(when)
-        }
-      })
-      
-      if (allEvents.length > 0 && htmlEventName != "") {
-        if(supportedAttributeName=="load"){
-          allEvents.forEach((when:WhenDto) => {
-            if (when.interactionType == "context") {
-              handleContext(when, null)
-            }
-            if (when.interactionType == "update") {
-              handleUpdate(when, null)
-            }
-          })
-          return
-        }
-        if (supportedAttributeName == "click") {
-          html.style.cursor = "pointer"
-        }
-        html.addEventListener(htmlEventName,function(event: Event){
-          allEvents.sort( function (a, b) {
-            if (a.interactionType < b.interactionType) {
-              return 1;
-            }
-            if (a.interactionType > b.interactionType) {
-              return -1;
-            }
-            return 0;
-          });
-
-          const updates = allEvents.filter((w) => w.interactionType == "update")
-          const context = allEvents.filter((w) => w.interactionType == "context")
-          const call = allEvents.filter((w) => w.interactionType == "call" || w.interactionType == "callback")
-          // const context_menu = allEvents.filter((w) => w.interactionType == "show_context_menu" )
-          
-          // context_menu.forEach((when:WhenDto) => {
-          //   try{
-          //     if (when.interactionType == "update") {
-          //       handleUpdate(when, event)
-          //     } else if (when.interactionType == "context") {
-          //       handleContext(when, event)
-          //     } else if (when.interactionType == "call" || when.interactionType == "callback") {
-          //       handleCallback(when, event)
-          //     }
-          //   }catch(error:any){
-          //     let frontendService = LocatorService.injector.get(DrawFrontendService)
-          //     frontendService.postMessage(error.message,"warning")
-          //   }
-          // })
-
-          updates.forEach((when:WhenDto) => {
-            try{
-                handleUpdate(when, event)
-            }catch(error:any){
-              let frontendService = LocatorService.injector.get(DrawFrontendService)
-              frontendService.postMessage(error.message,"warning")
-            }
-          })
+  setCallbacks(html: HTMLElement, dos: WhenDto[]) {
+    this.handleEvent(html, dos, "click", "click")
+    this.handleEvent(html, dos, "input", "input")
+    this.handleEvent(html, dos, "right_click", "contextmenu")
+    this.handleEvent(html, dos, "mouseenter", "mouseenter")
+    this.handleEvent(html, dos, "mouseleave", "mouseleave")
+    this.handleEvent(html, dos, "load", "load")
+    this.handleEvent(html, dos, "dblclick", "dblclick")
+  }
 
-          context.forEach((when:WhenDto) => {
-            try{
-                handleContext(when, event)
-            }catch(error:any){
-              let frontendService = LocatorService.injector.get(DrawFrontendService)
-              frontendService.postMessage(error.message,"warning")
-            }
-          })
+  handleEvent(html: HTMLElement, dos: WhenDto[], supportedAttributeName: string = "", htmlEventName: string = "") {
+    let allEvents: WhenDto[] = []
+    dos.forEach((when: WhenDto) => {
+      if (when.actionType == supportedAttributeName) {
+        allEvents.push(when)
+      }
+    })
+    if (allEvents.length > 0 && htmlEventName != "") {
+      if (supportedAttributeName == "load") {
 
-          if (call.length>1) {
-            call[0].policy = "(" + call.map(x=>{return x.policy}).join(',') + ")"
+        allEvents.forEach((when: WhenDto) => {
+          if (when.interactionType == "context") {
+            handleContext(when, null)
+          }
+          if (when.interactionType == "update") {
+            handleUpdate(when, null)
           }
-          call.forEach((when:WhenDto) => {
-            try{
-                handleCallback(call[0],event)
-            }catch(error:any){
+          if (when.interactionType == "call" || when.interactionType == "callback") {
+            console.log("call")
+            try {
+              handleCallback(when, null)
+            } catch (error: any) {
               let frontendService = LocatorService.injector.get(DrawFrontendService)
-              frontendService.postMessage(error.message,"warning")
+              frontendService.postMessage(error.message, "warning")
             }
-          })
+          }
         })
-
+        return
       }
+      if (supportedAttributeName == "click") {
+        html.style.cursor = "pointer"
+      }
+      html.addEventListener(htmlEventName, function (event: Event) {
+        allEvents.sort(function (a, b) {
+          if (a.interactionType < b.interactionType) {
+            return 1;
+          }
+          if (a.interactionType > b.interactionType) {
+            return -1;
+          }
+          return 0;
+        });
+
+        const updates = allEvents.filter((w) => w.interactionType == "update")
+        const context = allEvents.filter((w) => w.interactionType == "context")
+        const call = allEvents.filter((w) => w.interactionType == "call" || w.interactionType == "callback")
+        // const context_menu = allEvents.filter((w) => w.interactionType == "show_context_menu" )
+
+        // context_menu.forEach((when:WhenDto) => {
+        //   try{
+        //     if (when.interactionType == "update") {
+        //       handleUpdate(when, event)
+        //     } else if (when.interactionType == "context") {
+        //       handleContext(when, event)
+        //     } else if (when.interactionType == "call" || when.interactionType == "callback") {
+        //       handleCallback(when, event)
+        //     }
+        //   }catch(error:any){
+        //     let frontendService = LocatorService.injector.get(DrawFrontendService)
+        //     frontendService.postMessage(error.message,"warning")
+        //   }
+        // })
+
+        updates.forEach((when: WhenDto) => {
+          try {
+            handleUpdate(when, event)
+          } catch (error: any) {
+            let frontendService = LocatorService.injector.get(DrawFrontendService)
+            frontendService.postMessage(error.message, "warning")
+          }
+        })
+
+        context.forEach((when: WhenDto) => {
+          try {
+            handleContext(when, event)
+          } catch (error: any) {
+            let frontendService = LocatorService.injector.get(DrawFrontendService)
+            frontendService.postMessage(error.message, "warning")
+          }
+        })
+
+        if (call.length > 1) {
+          call[0].policy = "(" + call.map(x => { return x.policy }).join(',') + ")"
+        }
+        call.forEach((when: WhenDto) => {
+          try {
+            handleCallback(call[0], event)
+          } catch (error: any) {
+            let frontendService = LocatorService.injector.get(DrawFrontendService)
+            frontendService.postMessage(error.message, "warning")
+          }
+        })
+      })
+
     }
-    
+  }
+
 }
 
 
diff --git a/angular_frontend/src/app/canvas/canvas.component.ts b/angular_frontend/src/app/canvas/canvas.component.ts
index 439efe84..edbd9a24 100644
--- a/angular_frontend/src/app/canvas/canvas.component.ts
+++ b/angular_frontend/src/app/canvas/canvas.component.ts
@@ -2,7 +2,7 @@ import { ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@ang
 import { AttributeDto, WhenDto, ElementDto } from '../types/json-response.dto';
 import { CallBackHelperService } from '../callback-helper.service';
 import { AttributeHelperService } from '../attribute-helper.service';
-import { Buffer } from "buffer";import { DATE_PIPE_DEFAULT_OPTIONS } from '@angular/common';
+import { Buffer } from "buffer"; import { DATE_PIPE_DEFAULT_OPTIONS } from '@angular/common';
 import { ElementLookupService } from '../element-lookup.service';
 ;
 
@@ -12,8 +12,8 @@ import { ElementLookupService } from '../element-lookup.service';
   styleUrls: ['./canvas.component.scss']
 })
 export class CanvasComponent {
-  @ViewChild("theImage",{static:false}) theImage! : ElementRef
-  @ViewChild("svgContainer",{static:false}) svgContainer!:ElementRef;
+  @ViewChild("theImage", { static: false }) theImage!: ElementRef
+  @ViewChild("svgContainer", { static: false }) svgContainer!: ElementRef;
 
   @Input() element: ElementDto | null = null
   @Input() parentLayout: string = ""
@@ -24,18 +24,18 @@ export class CanvasComponent {
   imageType: string = ""
 
 
-  constructor (private  cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) {}
+  constructor(private cd: ChangeDetectorRef, private callbackService: CallBackHelperService, private attributeService: AttributeHelperService, private elementLookupService: ElementLookupService) { }
 
   ngAfterViewInit(): void {
 
     if (this.element != null) {
       this.elementLookupService.addElementObject(this.element.id, this, this.element)
-      
+
       let image = this.attributeService.findAttribute("image", this.element.attributes)
       let image_type = this.attributeService.findAttribute("image_type", this.element.attributes)
 
       if (image != null && image_type != null && image_type.value.startsWith("clingraph")) {
-        this.svgImageHandler(this.element, image, image_type) 
+        this.svgImageHandler(this.element, image, image_type)
       } else {
         this.defaultImageHandler(this.element, image)
       }
@@ -48,18 +48,18 @@ export class CanvasComponent {
     console.log("TODO?")
   }
 
-  svgImageHandler(element: ElementDto, image: AttributeDto, imageType : AttributeDto) {
-    
-    const decodeBase64 = (str: string):string => Buffer.from(str, 'base64').toString('binary');
+  svgImageHandler(element: ElementDto, image: AttributeDto, imageType: AttributeDto) {
+
+    const decodeBase64 = (str: string): string => Buffer.from(str, 'base64').toString('binary');
     const regexPattern: RegExp = /\(([^,]+),\s*([^)]+)\)/;
 
     this.imageType = "svg"
 
     this.cd.detectChanges()
-   
+
     // Add the SVG
     let svgString = decodeBase64(image.value)
-    this.svgContainer.nativeElement.innerHTML = svgString 
+    this.svgContainer.nativeElement.innerHTML = svgString
 
     this.cd.detectChanges()
 
@@ -68,24 +68,24 @@ export class CanvasComponent {
     // let svgEdgeElements = this.svgContainer.nativeElement.querySelectorAll(".edge")
 
     // console.log(svgNodeElements)
-    let nodeIdNodeElementLookup : {"key":string, "value":ElementDto}[] = []
+    let nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[] = []
     element.children.forEach(child => {
       // console.log(child)
       let id_attr = this.attributeService.findAttribute("clingraph_id", child.attributes)
 
       if (id_attr != null) {
         let key = id_attr.value
-        if (child.type=="svg_edge"){
-            const match = key.match(regexPattern);
-            if (!match){
-              console.error("Invalid edge format expected a tuple (X,Y) but got ", key)
-            }else{
-              key = match[1].replaceAll('"','')+"--"+ match[2].replaceAll('"','')
-              let key2 = match[1].replaceAll('"','')+"-&gt;"+ match[2].replaceAll('"','')
-              nodeIdNodeElementLookup.push({"key":key2,"value":child})
-            }
+        if (child.type == "svg_edge") {
+          const match = key.match(regexPattern);
+          if (!match) {
+            console.error("Invalid edge format expected a tuple (X,Y) but got ", key)
+          } else {
+            key = match[1].replaceAll('"', '') + "--" + match[2].replaceAll('"', '')
+            let key2 = match[1].replaceAll('"', '') + "-&gt;" + match[2].replaceAll('"', '')
+            nodeIdNodeElementLookup.push({ "key": key2, "value": child })
+          }
         }
-        nodeIdNodeElementLookup.push({"key":key,"value":child})
+        nodeIdNodeElementLookup.push({ "key": key, "value": child })
       }
     })
 
@@ -93,27 +93,27 @@ export class CanvasComponent {
 
     this.addEventListeners(svgNodeUiNodeAssociationList)
 
-    
+
     this.cd.detectChanges()
   }
 
-  generateSvgNodeUiNodeAssociationList(svgNodeElements : any, nodeIdNodeElementLookup : {"key":string, "value":ElementDto}[]) {
-    
+  generateSvgNodeUiNodeAssociationList(svgNodeElements: any, nodeIdNodeElementLookup: { "key": string, "value": ElementDto }[]) {
+
     // console.log(nodeIdNodeElementLookup)
-    let svgNodeUiNodeAssociationList : {"svg":HTMLElement, "ui":ElementDto}[] = []
+    let svgNodeUiNodeAssociationList: { "svg": HTMLElement, "ui": ElementDto }[] = []
 
-    svgNodeElements.forEach((svgNodeElement : HTMLElement) => {
+    svgNodeElements.forEach((svgNodeElement: HTMLElement) => {
       // svgNodeElement.tooltip('hide')
-      let correspondingElementDtoNode : null | ElementDto = null
+      let correspondingElementDtoNode: null | ElementDto = null
       // console.error("----")
       // console.error(svgNodeElement.id)
-      nodeIdNodeElementLookup.forEach((item:{"key":string,"value":ElementDto}) => {
+      nodeIdNodeElementLookup.forEach((item: { "key": string, "value": ElementDto }) => {
 
         if (svgNodeElement.id == item.key) {
           correspondingElementDtoNode = item.value
         } else {
           // if  (svgNodeElement.id.startsWith("edge")){
-            // key = 
+          // key = 
           // }
           for (const child of Array.from(svgNodeElement.children)) {
             if (child.tagName == "title") {
@@ -125,25 +125,24 @@ export class CanvasComponent {
           }
         }
       })
-    
+
       if (correspondingElementDtoNode != null) {
         this.elementLookupService.addElementTagHTML(correspondingElementDtoNode['id'], svgNodeElement, correspondingElementDtoNode)
-        svgNodeUiNodeAssociationList.push({"svg":svgNodeElement,"ui":correspondingElementDtoNode})
+        svgNodeUiNodeAssociationList.push({ "svg": svgNodeElement, "ui": correspondingElementDtoNode })
 
       } else {
         console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")
-        console.log(svgNodeElement)
       }
     })
 
     return svgNodeUiNodeAssociationList
   }
 
-  addEventListeners(svgNodeUiNodeAssociationList : {"svg":HTMLElement, "ui":ElementDto}[]) {
-    
-    svgNodeUiNodeAssociationList.forEach((elem : {"svg":HTMLElement, "ui":ElementDto}) => {
+  addEventListeners(svgNodeUiNodeAssociationList: { "svg": HTMLElement, "ui": ElementDto }[]) {
+
+    svgNodeUiNodeAssociationList.forEach((elem: { "svg": HTMLElement, "ui": ElementDto }) => {
       let uiElement = elem.ui
-      let clickRelatedDoList : WhenDto[] = []
+      let clickRelatedDoList: WhenDto[] = []
       this.callbackService.setCallbacks(elem.svg, elem.ui.when)
 
       /*
@@ -176,11 +175,11 @@ export class CanvasComponent {
   }
 
 
-  defaultImageHandler(element : ElementDto, image : AttributeDto | null) {
+  defaultImageHandler(element: ElementDto, image: AttributeDto | null) {
     this.imageType = "normal"
-    
+
     this.cd.detectChanges()
-        
+
     let htmlDdbut = this.theImage.nativeElement
 
     this.attributeService.addAttributes(htmlDdbut, element.attributes)
@@ -192,7 +191,7 @@ export class CanvasComponent {
     let imgPath = this.attributeService.findAttribute("image_path", element.attributes)
 
     if (image != null) {
-      this.imageSource ="data:image/png;base64," + image.value
+      this.imageSource = "data:image/png;base64," + image.value
     } else if (imgPath != null) {
       this.imageSource = imgPath.value
     }
diff --git a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts
index ba07aa7e..3f4da55e 100644
--- a/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts
+++ b/angular_frontend/src/app/clingraphviz/main-page/main-page.component.ts
@@ -16,32 +16,32 @@ export class MainPageComponent implements AfterViewInit {
   @Input() element: ElementDto | null = null
 
   @ViewChild("svgContainer")
-  svgContainer!:ElementRef;
+  svgContainer!: ElementRef;
 
   optionsForm: FormGroup = new FormGroup({})
   svgString = ""
   type = ""
-  nodeOptionsList:NodeOptions[] = []
+  nodeOptionsList: NodeOptions[] = []
   currID: string = ""
-  optionsList: (Input_Option|Select_Option)[] = []
+  optionsList: (Input_Option | Select_Option)[] = []
   errStr: string = ""
 
-  constructor(private attributeService: AttributeHelperService, private frontendService: DrawFrontendService, private fb:FormBuilder, private cd: ChangeDetectorRef, private aspService:ASPtranslateService){}
-    //private svgService: SvgServiceService  }
+  constructor(private attributeService: AttributeHelperService, private frontendService: DrawFrontendService, private fb: FormBuilder, private cd: ChangeDetectorRef, private aspService: ASPtranslateService) { }
+  //private svgService: SvgServiceService  }
   ngAfterViewInit(): void {
 
     if (this.element != null) {
 
       let data = this.attributeService.findAttribute("clingraph_interactive", this.element.attributes)
       if (data != null) {
-        let clingraph_viz_data : ClingraphVizDto = data as ClingraphVizDto
+        let clingraph_viz_data: ClingraphVizDto = data as ClingraphVizDto
 
         this.svgString = clingraph_viz_data.data;
         this.svgContainer.nativeElement.innerHTML = this.svgString
 
-        this.nodeOptionsList = clingraph_viz_data.option_data; 
+        this.nodeOptionsList = clingraph_viz_data.option_data;
         console.log("NodeOptions after init:", this.nodeOptionsList)
-        console.log("form after init: ",this.optionsForm)
+        console.log("form after init: ", this.optionsForm)
 
         this.cd.detectChanges()
       }
@@ -49,34 +49,34 @@ export class MainPageComponent implements AfterViewInit {
     }
   }
 
-  retrieveSelectOptions(opt:(Input_Option|Select_Option)){
-    if("options" in opt){
+  retrieveSelectOptions(opt: (Input_Option | Select_Option)) {
+    if ("options" in opt) {
       return opt.options
     } else {
       return []
     }
   }
 
-  handleNodeClick(event:Event){
-    console.log("clicked")
+  handleNodeClick(event: Event) {
+    // console.log("clicked")
     let element = event.target as HTMLElement
     let parent = element.parentNode as HTMLElement
-    console.log(element)
-    console.log(parent)
-    if(parent !== null && parent.nodeName == 'g'){
-      console.log("past first")
+    // console.log(element)
+    // console.log(parent)
+    if (parent !== null && parent.nodeName == 'g') {
+      // console.log("past first")
       let title = parent.getElementsByTagName("title")[0]
-      console.log(title)
-      if(title !== null){
-        console.log("past second")
+      // console.log(title)
+      if (title !== null) {
+        // console.log("past second")
         const compId = title.textContent
-        if(compId !== null && compId !== ""){
-          if(parent.id.startsWith("node")){
-            console.log("clicked node with ID: ", compId)
+        if (compId !== null && compId !== "") {
+          if (parent.id.startsWith("node")) {
+            // console.log("clicked node with ID: ", compId)
             this.type = "node"
             this.updateOptions(compId, "node")
-          } else if(element.id.startsWith("edge")){
-            console.log("clicked")
+          } else if (element.id.startsWith("edge")) {
+            // console.log("clicked")
             this.type = "edge"
             this.updateOptions(compId, "edge")
           }
@@ -85,57 +85,59 @@ export class MainPageComponent implements AfterViewInit {
     }
   }
 
-  checkClick(event:Event){
+  checkClick(event: Event) {
     console.log("clicked box")
     let target = (event.target as HTMLElement)
     console.log(target.getAttribute("value"))
     console.log(target.getAttribute("checked"))
-    console.log("form: ",this.optionsForm)
+    console.log("form: ", this.optionsForm)
   }
 
-  updateOptions(id:string, compType:string){
+  updateOptions(id: string, compType: string) {
     this.optionsList.forEach((val) => {
       val.state = this.optionsForm.value[val.name]
     })
     this.currID = id
-    let list = this.nodeOptionsList.filter((val) => {return val.id == id && val.compType == compType})
-    if(list.length != 1){
+    let list = this.nodeOptionsList.filter((val) => { return val.id == id && val.compType == compType })
+    if (list.length != 1) {
       console.log(`Something went wrong: There is more than one or no node/edge with id ${id} in the options list!`)
       this.errStr = `Something went wrong: There is more than one or no node/edge with id ${id} in the options list!`
     } else {
-      this.optionsList = list.map(((val) => {return val.options})).flat()
+      this.optionsList = list.map(((val) => { return val.options })).flat()
       let group = new FormGroup({})
       this.optionsList.forEach((val) => {
-        if(val.type == "checkbox"){
+        if (val.type == "checkbox") {
           let check = val.state == "true" || val.state == true ? true : false
-          group.addControl(val.name,new FormControl(check))
+          group.addControl(val.name, new FormControl(check))
         } else {
-          group.addControl(val.name,new FormControl(val.state))
+          group.addControl(val.name, new FormControl(val.state))
         }
       })
 
-    this.optionsForm = group
-    console.log("form after update: ",this.optionsForm)
-    console.log(this.nodeOptionsList)
+      this.optionsForm = group
+      console.log("form after update: ", this.optionsForm)
+      console.log(this.nodeOptionsList)
+    }
   }
-}
 
-  submitForm(){
+  submitForm() {
     this.errStr = ""
     let asp: string[] = []
     let form = this.optionsForm.value
     console.log("Form: ", form)
     this.optionsList.forEach((val) => {
-        val.state = form[val.name]
+      val.state = form[val.name]
+    })
+    this.nodeOptionsList.forEach((val) => {
+      val.options.forEach((opt) => {
+        asp.push(this.aspService.toUserInputASP(val.compType, val.id, opt.type, opt.name, opt.state))
       })
-    this.nodeOptionsList.forEach((val) => {val.options.forEach((opt) => {
-      asp.push(this.aspService.toUserInputASP(val.compType,val.id,opt.type,opt.name,opt.state))
-    })})
-    let aspString:string = asp.join(",")
-    let req = {"function":`graphUpdate(${aspString})`}
+    })
+    let aspString: string = asp.join(",")
+    let req = { "function": `graphUpdate(${aspString})` }
     console.log(req)
 
     this.frontendService.uncheckedPost(req as GraphRequest)
   }
-  
+
 }
diff --git a/angular_frontend/src/app/draw-frontend.service.ts b/angular_frontend/src/app/draw-frontend.service.ts
index 29868d8b..287d8a78 100644
--- a/angular_frontend/src/app/draw-frontend.service.ts
+++ b/angular_frontend/src/app/draw-frontend.service.ts
@@ -10,11 +10,11 @@ import { ServerRequest } from './types/server-request';
 import { ContextService } from './context.service';
 
 @Injectable({
-  providedIn: 'root'
+    providedIn: 'root'
 })
 export class DrawFrontendService {
 
-    frontendJson : Subject<ElementDto> = new Subject()
+    frontendJson: Subject<ElementDto> = new Subject()
     menuBar: Subject<ElementDto> = new Subject()
     messageLists: Subject<ElementDto[]> = new Subject()
     contextMenus: Subject<ElementDto[]> = new Subject()
@@ -26,36 +26,41 @@ export class DrawFrontendService {
     constructor(private httpService: HttpService, private httpClient: HttpClient, private contextService: ContextService) {
     }
 
-    initialGet() : void {
+    initialGet(): void {
         this.httpService.get().subscribe(
-        {next: (data:ElementDto) => {
-            this.lastData = data
-            this.frontendJson.next(data)
-        }})
+            {
+                next: (data: ElementDto) => {
+                    this.lastData = data
+                    this.frontendJson.next(data)
+                }
+            })
     }
 
-    policyPost(callback: WhenDto) : void {
+    policyPost(callback: WhenDto): void {
 
         let context = this.contextService.getContext()
-
         this.httpService.post(callback.policy, context).subscribe(
-        {next: (data:ElementDto) => {
-            this.lastData = data
-            this.frontendJson.next(data)
-        }})
+            {
+                next: (data: ElementDto) => {
+                    this.lastData = data
+                    this.frontendJson.next(data)
+                }
+            })
     }
 
-    uncheckedPost(serverRequest: ServerRequest) : void {
+    uncheckedPost(serverRequest: ServerRequest): void {
 
         this.httpClient.post<ElementDto>(this.backend_URI + "/backend", serverRequest).subscribe(
-        //this.httpService.post(serverRequest.function).subscribe(
-        {next: (data:ElementDto) => {
-            this.lastData = data
-            this.frontendJson.next(data)
-        }})
+            //this.httpService.post(serverRequest.function).subscribe(
+            {
+                next: (data: ElementDto) => {
+                    this.lastData = data
+                    this.frontendJson.next(data)
+                }
+            })
     }
 
-    detectCreateMenuBar(element:ElementDto) {
+    detectCreateMenuBar(element: ElementDto) {
         if (element.type == "menu_bar") {
             this.menuBar.next(element)
         } else {
@@ -65,7 +70,7 @@ export class DrawFrontendService {
         }
     }
 
-    getAllMessagesContextMenus(element:ElementDto, messageList:ElementDto[], contextMenuList: ElementDto[]) {
+    getAllMessagesContextMenus(element: ElementDto, messageList: ElementDto[], contextMenuList: ElementDto[]) {
 
         if (element.type == "message") {
             messageList.push(element)
@@ -78,12 +83,12 @@ export class DrawFrontendService {
         }
     }
 
-    postMessage(message:string, type:string="danger"){
-        let messageList : ElementDto[] = [this.getErrorMessage(message)]
+    postMessage(message: string, type: string = "danger") {
+        let messageList: ElementDto[] = [this.getErrorMessage(message)]
         this.messageLists.next(messageList)
     }
-    
-    getErrorMessage(message:string, type:string="danger"){
+
+    getErrorMessage(message: string, type: string = "danger") {
         let messageElement: ElementDto = {
             "id": "client_error",
             "type": "message",
@@ -92,7 +97,7 @@ export class DrawFrontendService {
                 {
                     "id": "client_error",
                     "key": "message",
-                    "value": message 
+                    "value": message
                 },
                 {
                     "id": "client_error",
diff --git a/angular_frontend/src/app/http.service.ts b/angular_frontend/src/app/http.service.ts
index 11937439..a9f9d098 100644
--- a/angular_frontend/src/app/http.service.ts
+++ b/angular_frontend/src/app/http.service.ts
@@ -19,49 +19,48 @@ export class HttpService {
 
   constructor(
     private http: HttpClient, private configService: ConfigService, private modalRefService: ModalRefService, private elementLookupService: ElementLookupService, private contextService: ContextService, private contextMenuService: ContextMenuService) {
-      this.backend_URI = configService.serverUrl + ":" + configService.serverPort
-     }
+    this.backend_URI = configService.serverUrl + ":" + configService.serverPort
+  }
 
-    private backend_URI = "http://localhost:8000"
+  private backend_URI = "http://localhost:8000"
 
-    get(): Observable<ElementDto>{
-      this.modalRefService.closeRemoveAllModals()
-      this.elementLookupService.clearElementLookupDict()
-      this.contextService.clearContext()
-      this.contextMenuService.removeAllContextMenus()
-      let frontendService = LocatorService.injector.get(DrawFrontendService)
+  get(): Observable<ElementDto> {
+    this.modalRefService.closeRemoveAllModals()
+    this.elementLookupService.clearElementLookupDict()
+    this.contextService.clearContext()
+    this.contextMenuService.removeAllContextMenus()
+    let frontendService = LocatorService.injector.get(DrawFrontendService)
 
 
-      const response = this.http.get<ElementDto>(this.backend_URI,)
-      
+    const response = this.http.get<ElementDto>(this.backend_URI,)
+
       .pipe(
-        catchError((error:HttpErrorResponse,caught) => {
+        catchError((error: HttpErrorResponse, caught) => {
           console.error('Error occurred during the HTTP request:', error);
           frontendService.postMessage("error connection")
-          return throwError(() => new Error(error.error)); 
+          return throwError(() => new Error(error.error));
         })
       );
-      
-      frontendService.lastData
-      return response; 
-    }
 
-    post(policy: string, context: ContextItem[]): Observable<ElementDto>{
-      let clonedContext : ContextItem[] = []
-      context.forEach(val => clonedContext.push(Object.assign({}, val)));
+    frontendService.lastData
+    return response;
+  }
 
-      this.modalRefService.closeRemoveAllModals()
-      this.elementLookupService.clearElementLookupDict()
-      this.contextService.clearContext()
-      this.contextMenuService.removeAllContextMenus()
+  post(policy: string, context: ContextItem[]): Observable<ElementDto> {
+    let clonedContext: ContextItem[] = []
+    context.forEach(val => clonedContext.push(Object.assign({}, val)));
 
+    this.modalRefService.closeRemoveAllModals()
+    this.elementLookupService.clearElementLookupDict()
+    this.contextService.clearContext()
+    this.contextMenuService.removeAllContextMenus()
 
-      let request = null
-      if (clonedContext.length > 0) {
-        request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: policy, context: clonedContext })
-      } else {
-        request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: policy})
-      }
-      return request
+    let request = null
+    if (clonedContext.length > 0) {
+      request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: policy, context: clonedContext })
+    } else {
+      request = this.http.post<ElementDto>(this.backend_URI + "/backend", { function: policy })
     }
+    return request
+  }
 }
diff --git a/angular_frontend/src/app/modal/modal.component.ts b/angular_frontend/src/app/modal/modal.component.ts
index 4b23c630..9a8a16b9 100644
--- a/angular_frontend/src/app/modal/modal.component.ts
+++ b/angular_frontend/src/app/modal/modal.component.ts
@@ -46,6 +46,8 @@ export class ModalComponent {
     let visibility = this.attributeService.findAttribute("visible", attributes)
 
     let modalTitle = this.attributeService.findAttribute("title", attributes)
+    let modalSize = this.attributeService.findAttribute("size", attributes)
+
     if (modalTitle != null) {
       this.modalTitle = modalTitle.value
     }
@@ -53,8 +55,19 @@ export class ModalComponent {
     if (visibility != null && this.element != null) {
 
       if ((visibility.value == "shown" || visibility.value == "visible") && (this.modalRef == null)) {
-    
-        this.modalRef = this.modalService.open(this.content, { ariaLabelledBy: 'modal-basic-title' })
+        
+        if (modalSize != null) {
+          console.log(modalSize.value)
+        }
+
+        let ngbModalOptions = null
+        if (modalSize != null) {
+          ngbModalOptions = { ariaLabelledBy: 'modal-basic-title', size: modalSize.value } 
+        } else {
+          ngbModalOptions = { ariaLabelledBy: 'modal-basic-title' } 
+        }
+
+        this.modalRef = this.modalService.open(this.content, ngbModalOptions)
 
         this.modalRefService.registerModal(this.element.id, this.modalRef)
 
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
index 5f050353..9b077eb8 100644
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/index.html
@@ -11,5 +11,5 @@
 <style>@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0052CC;--bs-secondary:#6554C0;--bs-success:#36B37E;--bs-info:#B3BAC5;--bs-warning:#FFAB00;--bs-danger:#FF5630;--bs-light:#F4F5F7;--bs-dark:#212529;--bs-primary-rgb:0, 82, 204;--bs-secondary-rgb:101, 84, 192;--bs-success-rgb:54, 179, 126;--bs-info-rgb:179, 186, 197;--bs-warning-rgb:255, 171, 0;--bs-danger-rgb:255, 86, 48;--bs-light-rgb:244, 245, 247;--bs-dark-rgb:33, 37, 41;--bs-primary-text-emphasis:#002152;--bs-secondary-text-emphasis:#28224d;--bs-success-text-emphasis:#164832;--bs-info-text-emphasis:#484a4f;--bs-warning-text-emphasis:#664400;--bs-danger-text-emphasis:#662213;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#ccdcf5;--bs-secondary-bg-subtle:#e0ddf2;--bs-success-bg-subtle:#d7f0e5;--bs-info-bg-subtle:#f0f1f3;--bs-warning-bg-subtle:#ffeecc;--bs-danger-bg-subtle:#ffddd6;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#99baeb;--bs-secondary-border-subtle:#c1bbe6;--bs-success-border-subtle:#afe1cb;--bs-info-border-subtle:#e1e3e8;--bs-warning-border-subtle:#ffdd99;--bs-danger-border-subtle:#ffbbac;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255, 255, 255;--bs-black-rgb:0, 0, 0;--bs-font-sans-serif:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--bs-font-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33, 37, 41;--bs-body-bg:#fff;--bs-body-bg-rgb:255, 255, 255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0, 0, 0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33, 37, 41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233, 236, 239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33, 37, 41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248, 249, 250;--bs-heading-color:inherit;--bs-link-color:#0052CC;--bs-link-color-rgb:0, 82, 204;--bs-link-decoration:underline;--bs-link-hover-color:#0042a3;--bs-link-hover-color-rgb:0, 66, 163;--bs-code-color:#d63384;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(0, 82, 204, .25);--bs-form-valid-color:#36B37E;--bs-form-valid-border-color:#36B37E;--bs-form-invalid-color:#FF5630;--bs-form-invalid-border-color:#FF5630}*,*:before,*:after{box-sizing:border-box}@media (prefers-reduced-motion: no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}</style><link rel="stylesheet" href="styles.60758c8c825da6c0.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.60758c8c825da6c0.css"></noscript></head>
 <body>
   <app-root></app-root>
-<script src="runtime.84bc4c0ecf672dbc.js" type="module"></script><script src="polyfills.c3c1ec5412338255.js" type="module"></script><script src="main.68af7957abc58eb3.js" type="module"></script></body>
+<script src="runtime.84bc4c0ecf672dbc.js" type="module"></script><script src="polyfills.c3c1ec5412338255.js" type="module"></script><script src="main.0797d81d17139786.js" type="module"></script></body>
 </html>
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js
new file mode 100644
index 00000000..c8df6abe
--- /dev/null
+++ b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.0797d81d17139786.js
@@ -0,0 +1,1 @@
+(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,qt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Pu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function ug(e){return $(e?.then)}function dg(e){return $(e[yr])}function fg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function hg(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const pg=function TE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function gg(e){return $(e?.[pg])}function _g(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function mg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(dg(e))return function ME(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Pu(e))return function IE(e){return new ze(t=>{for(let i=0;i<e.length&&!t.closed;i++)t.next(e[i]);t.complete()})}(e);if(ug(e))return function NE(e){return new ze(t=>{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(fg(e))return vg(e);if(gg(e))return function AE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(mg(e))return function OE(e){return vg(_g(e))}(e)}throw hg(e)}function vg(e){return new ze(t=>{(function xE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function RE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c<n?y(b):l.push(b),y=b=>{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&c<n;){const T=l.shift();o?Xi(t,o,()=>y(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function yg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function bg(e){return e&&$(e.schedule)}function Fu(e){return e[e.length-1]}function ku(e){return $(Fu(e))?e.pop():void 0}function Qa(e){return bg(Fu(e))?e.pop():void 0}function Dg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function wg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Cg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function UE(e,t){if(null!=e){if(dg(e))return function kE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(Pu(e))return function BE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(ug(e))return function LE(e,t){return Ft(e).pipe(wg(t),Dg(t))}(e,t);if(fg(e))return Cg(e,t);if(gg(e))return function VE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[pg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(mg(e))return function HE(e,t){return Cg(_g(e),t)}(e,t)}throw hg(e)}(e,t):Ft(e)}class jE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Sg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Lu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Lu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Lu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Lu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Bu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function $E(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Vu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const GE=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Hu(e)?e():e}function Hu(e){return"function"==typeof e&&e.hasOwnProperty(GE)&&e.__forward_ref__===ae}function Uu(e){return e&&!!e.\u0275providers}const Mg="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function ju(e,t){throw new F(-201,!1)}function $n(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ig(e,nl)||Ig(e,Ng)}function Ig(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty($u)||e.hasOwnProperty(QE))?e[$u]:null}const nl=Re({\u0275prov:Re}),$u=Re({\u0275inj:Re}),Ng=Re({ngInjectableDef:Re}),QE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let Gu;function _n(e){const t=Gu;return Gu=e,t}function Og(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void ju(Nt(e))}const Ue=globalThis,Co={},Zu="__NG_DI_FLAG__",il="ngTempTokenPath",eS=/\n/gm,Rg="__source";let fs;function er(e){const t=fs;return fs=e,t}function iS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?Og(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Ag(){return Gu}()||iS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Ju(e){const t=[];for(let i=0;i<e.length;i++){const n=X(e[i]);if(Array.isArray(n)){if(0===n.length)throw new F(900,!1);let r,s=ge.Default;for(let o=0;o<n.length;o++){const a=n[o],l=rS(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}t.push(L(r,s))}else t.push(L(n))}return t}function Eo(e,t){return e[Zu]=t,e.prototype[Zu]=t,e}function rS(e){return e[Zu]}function Bi(e){return{toString:e}.toString()}var sl=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(sl||{}),ei=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(ei||{});const Di={},Ee=[],ol=Re({\u0275cmp:Re}),Qu=Re({\u0275dir:Re}),Ku=Re({\u0275pipe:Re}),Fg=Re({\u0275mod:Re}),Vi=Re({\u0275fac:Re}),So=Re({__NG_ELEMENT_ID__:Re}),kg=Re({__NG_ENV_ID__:Re});function Lg(e,t,i){let n=e.length;for(;;){const r=e.indexOf(t,i);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const s=t.length;if(r+s===n||e.charCodeAt(r+s)<=32)return r}i=r+1}}function Xu(e,t,i){let n=0;for(;n<i.length;){const r=i[n];if("number"==typeof r){if(0!==r)break;n++;const s=i[n++],o=i[n++],a=i[n++];e.setAttribute(t,o,a,s)}else{const s=r,o=i[++n];Vg(s)?e.setProperty(t,s,o):e.setAttribute(t,s,o),n++}}return n}function Bg(e){return 3===e||4===e||6===e}function Vg(e){return 64===e.charCodeAt(0)}function To(e,t){if(null!==t&&0!==t.length)if(null===e||0===e.length)e=t.slice();else{let i=-1;for(let n=0;n<t.length;n++){const r=t[n];"number"==typeof r?i=r:0===i||Hg(e,i,r,null,-1===i||2===i?t[++n]:null)}}return e}function Hg(e,t,i,n,r){let s=0,o=e.length;if(-1===t)o=-1;else for(;s<e.length;){const a=e[s++];if("number"==typeof a){if(a===t){o=-1;break}if(a>t){o=s-1;break}}}for(;s<e.length;){const a=e[s];if("number"==typeof a)break;if(a===i){if(null===n)return void(null!==r&&(e[s+1]=r));if(n===e[s+1])return void(e[s+2]=r)}s++,null!==n&&s++,null!==r&&s++}-1!==o&&(e.splice(o,0,t),s=o+1),e.splice(s++,0,i),null!==n&&e.splice(s++,0,n),null!==r&&e.splice(s++,0,r)}const Ug="ng-template";function aS(e,t,i){let n=0,r=!0;for(;n<e.length;){let s=e[n++];if("string"==typeof s&&r){const o=e[n++];if(i&&"class"===s&&-1!==Lg(o.toLowerCase(),t,0))return!0}else{if(1===s){for(;n<e.length&&"string"==typeof(s=e[n++]);)if(s.toLowerCase()===t)return!0;return!1}"number"==typeof s&&(r=!1)}}return!1}function jg(e){return 4===e.type&&e.value!==Ug}function lS(e,t,i){return t===(4!==e.type||i?e.value:Ug)}function cS(e,t,i){let n=4;const r=e.attrs||[],s=function fS(e){for(let t=0;t<e.length;t++)if(Bg(e[t]))return t;return e.length}(r);let o=!1;for(let a=0;a<t.length;a++){const l=t[a];if("number"!=typeof l){if(!o)if(4&n){if(n=2|1&n,""!==l&&!lS(e,l,i)||""===l&&1===t.length){if(ti(n))return!1;o=!0}}else{const c=8&n?l:t[++a];if(8&n&&null!==e.attrs){if(!aS(e.attrs,c,i)){if(ti(n))return!1;o=!0}continue}const h=uS(8&n?"class":l,r,jg(e),i);if(-1===h){if(ti(n))return!1;o=!0;continue}if(""!==c){let g;g=h>s?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Lg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function uS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r<t.length;){const o=t[r];if(o===e)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=t[++r];for(;"string"==typeof a;)a=t[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function hS(e,t){let i=e.indexOf(4);if(i>-1)for(i++;i<e.length;){const n=e[i];if("number"==typeof n)return-1;if(n===t)return i;i++}return-1}(t,e)}function $g(e,t,i=!1){for(let n=0;n<t.length;n++)if(cS(e,t[n],i))return!0;return!1}function pS(e,t){e:for(let i=0;i<t.length;i++){const n=t[i];if(e.length===n.length){for(let r=0;r<e.length;r++)if(e[r]!==n[r])continue e;return!0}}return!1}function Gg(e,t){return e?":not("+t.trim()+")":t}function gS(e){let t=e[0],i=1,n=2,r="",s=!1;for(;i<e.length;){let o=e[i];if("string"==typeof o)if(2&n){const a=e[++i];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=Gg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=Gg(s,r)),t}function et(e){return Bi(()=>{const t=qg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Yg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function wS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function vS(e){return me(e)||Vt(e)}function yS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Wg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=qg(e);return Yg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Qu]||null}function nn(e){return e[Ku]||null}function qg(e){const t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Wg(e.inputs,t),outputs:Wg(e.outputs)}}function Yg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:vS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(yS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,Yt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Zg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Jg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,ed=1,Qg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[ed]}function rn(e){return Array.isArray(e)&&!0===e[ed]}function td(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function nd(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let IS=Ue.WeakRef??class MS{constructor(t){this.ref=t}deref(){return this.ref}},AS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class n_{constructor(){this.id=AS++,this.ref=function NS(e){return new IS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let i_=null;const s_=()=>{};class PS extends n_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=s_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=s_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class FS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return o_}function o_(e){return e.type.prototype.ngOnChanges&&(e.setInput=LS),kS}function kS(){const e=l_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function LS(e,t,i,n){const r=this.declaredInputs[i],s=l_(e)||function BS(e,t){return e[a_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new FS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const a_="__ngSimpleChanges__";function l_(e){return e[a_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function d_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function f_(e){e[_s]=0}function GS(e){1024&e[ie]||(e[ie]|=1024,p_(e,1))}function h_(e){1024&e[ie]&&(e[ie]&=-1025,p_(e,-1))}function p_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:S_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function m_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=v_();for(;null!==e&&64===e.type;)e=e.parent;return e}function v_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function cd(){return K.lFrame.isParent}function ud(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function nT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,dd(t)}function dd(e){K.lFrame.currentDirectiveIndex=e}function w_(){return K.lFrame.currentQueryIndex}function hd(e){K.lFrame.currentQueryIndex=e}function rT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[Yt]:null}function C_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=rT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=E_();return n.currentTNode=t,n.lView=e,!0}function pd(e){const t=E_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function E_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?S_(e):t}function S_(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function T_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const M_=T_;function gd(){const e=T_();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return d_(e.tView,e.selectedIndex)}let N_=!0;function _l(){return N_}function rr(e){N_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i<n;i++){const s=e.data[i].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(e.contentHooks??=[]).push(-i,o),a&&((e.contentHooks??=[]).push(i,a),(e.contentCheckHooks??=[]).push(i,a)),l&&(e.viewHooks??=[]).push(-i,l),c&&((e.viewHooks??=[]).push(i,c),(e.viewCheckHooks??=[]).push(i,c)),null!=u&&(e.destroyHooks??=[]).push(i,u)}}function vl(e,t,i){A_(e,t,3,i)}function yl(e,t,i,n){(3&e[ie])===i&&A_(e,t,i,n)}function _d(e,t){let i=e[ie];(3&i)===t&&(i&=8191,i+=1,e[ie]=i)}function A_(e,t,i,n){const s=n??-1,o=t.length-1;let a=0;for(let l=void 0!==n?65535&e[_s]:0;l<o;l++)if("number"==typeof t[l+1]){if(a=t[l],null!=n&&a>=n)break}else t[l]<0&&(e[_s]+=65536),(a<s||-1==s)&&(fT(e,i,t,l),e[_s]=(4294901760&e[_s])+l+2),l++}function O_(e,t){Si(4,e,t);const i=kt(null);try{t.call(e)}finally{kt(i),Si(5,e,t)}}function fT(e,t,i,n){const r=i[n]<0,s=i[n+1],a=e[r?-i[n]:i[n]];r?e[ie]>>13<e[_s]>>16&&(3&e[ie])===t&&(e[ie]+=8192,O_(a,s)):O_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function vd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function _T(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let yd=!0;function bl(e){const t=yd;return yd=e,t}const x_=255,R_=5;let mT=0;const Mi={};function Dl(e,t){const i=P_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,bd(n.data,e),bd(t,null),bd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(vd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function bd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function P_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=U_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function Dd(e,t,i){!function vT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=mT++);const r=n&x_;t.data[e+(r>>R_)]|=1<<r}(e,t,i)}function F_(e,t,i){if(i&ge.Optional||void 0!==e)return e;ju()}function k_(e,t,i,n){if(i&ge.Optional&&void 0===n&&(n=null),!(i&(ge.Self|ge.Host))){const r=e[tr],s=_n(void 0);try{return r?r.get(t,n,i&ge.Optional):Og(t,n,i&ge.Optional)}finally{_n(s)}}return F_(n,0,i)}function L_(e,t,i,n=ge.Default,r){if(null!==e){if(2048&t[ie]&&!(n&ge.Self)){const o=function ET(e,t,i,n,r){let s=e,o=t;for(;null!==s&&null!==o&&2048&o[ie]&&!(512&o[ie]);){const a=B_(s,o,i,n|ge.Self,Mi);if(a!==Mi)return a;let l=s.parent;if(!l){const c=o[Jg];if(c){const u=c.get(i,Mi,n);if(u!==Mi)return u}l=U_(o),o=o[gs]}s=l}return r}(e,t,i,n,Mi);if(o!==Mi)return o}const s=B_(e,t,i,n,Mi);if(s!==Mi)return s}return k_(t,i,n,r)}function B_(e,t,i,n,r){const s=function DT(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(So)?e[So]:void 0;return"number"==typeof t?t>=0?t&x_:CT:t}(i);if("function"==typeof s){if(!C_(t,e,n))return n&ge.Host?F_(r,0,n):k_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;ju()}finally{M_()}}else if("number"==typeof s){let o=null,a=P_(e,t),l=Ds,c=n&ge.Host?t[yt][Yt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&H_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(V_(s,a,u.data)){const h=bT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&H_(n,t[H].data[a+8]===c)&&V_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function bT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&yd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_<g;_++){const y=o[_];if(_<l&&i===y||_>=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function hT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function zE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;C_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function dT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=o_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,M_()}}return r}function V_(e,t,i){return!!(i[t+(e>>R_)]&1<<e)}function H_(e,t){return!(e&ge.Self||e&ge.Host&&t)}class un{constructor(t,i){this._tNode=t,this._lView=i}get(t,i,n){return L_(this._tNode,this._lView,t,rl(n),i)}}function CT(){return new un(Ut(),A())}function St(e){return Bi(()=>{const t=e.prototype.constructor,i=t[Vi]||wd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||wd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function wd(e){return Hu(e)?()=>{const t=wd(X(e));return t&&t()}:Er(e)}function U_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[Yt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Cd(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function $_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n<e;n++)i.push(t);return i}function xn(e,t,i){let n=Ns(e,t);return n>=0?e[1|n]=i:(n=~n,function OT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Ed(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function G_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<<i];if(t===o)return s<<i;o>t?r=s:n=s+1}return~(r<<i)}(e,t,1)}const Td=Eo(Ts("Optional"),8),Md=Eo(Ts("SkipSelf"),4);function Al(e){return 128==(128&e.flags)}var sr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(sr||{});const Od=new Map;let tM=0;const Rd="__ngContext__";function Zt(e,t){vn(t)?(e[Rd]=t[Oo],function iM(e){Od.set(e[Oo],e)}(t)):e[Rd]=t}let Pd;function Fd(e,t){return Pd(e,t)}function jo(e){const t=e[tt];return rn(t)?t[tt]:t}function um(e){return fm(e[No])}function dm(e){return fm(e[ni])}function fm(e){for(;null!==e&&!rn(e);)e=e[ni];return e}function xs(e,t,i,n,r){if(null!=n){let s,o=!1;rn(n)?s=n:vn(n)&&(o=!0,n=n[ht]);const a=We(n);0===e&&null!==i?null==r?_m(t,i,a):Mr(t,i,a,r||null,!0):1===e&&null!==i?Mr(t,i,a,r||null,!0):2===e?function Ll(e,t,i){const n=Fl(e,t);n&&function wM(e,t,i,n){e.removeChild(t,i,n)}(e,n,t,i)}(t,a,o):3===e&&t.destroyNode(a),null!=s&&function SM(e,t,i,n,r){const s=i[Ci];s!==We(i)&&xs(t,e,n,s,r);for(let a=Ht;a<i.length;a++){const l=i[a];Go(l[H],l,e,t,n,s)}}(t,e,s,i,r)}}function Rl(e,t,i){return e.createElement(t,i)}function pm(e,t){const i=e[ms],n=i.indexOf(t);h_(t),i.splice(n,1)}function Pl(e,t){if(e.length<=Ht)return;const i=Ht+t,n=e[i];if(n){const r=n[Ao];null!==r&&r!==e&&pm(r,n),t>0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function pM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[Yt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Ld(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function mM(e){let t=e[No];if(!t)return Bd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Bd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Bd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Bd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function DM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n<i.length;n+=2){const r=t[i[n]];if(!(r instanceof Po)){const s=i[n+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];Si(4,a,l);try{l.call(a)}finally{Si(5,a,l)}}else{Si(4,r,s);try{s.call(r)}finally{Si(5,r,s)}}}}}(e,t),function bM(e,t){const i=e.cleanup,n=t[hs];if(null!==i)for(let s=0;s<i.length-1;s+=2)if("string"==typeof i[s]){const o=i[s+3];o>=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s<r.length;s++)(0,r[s])()}}(e,t),1===t[H].type&&t[ne].destroy();const i=t[Ao];if(null!==i&&rn(t[tt])){i!==t[tt]&&pm(i,t);const n=t[wi];null!==n&&n.detachView(e)}!function rM(e){Od.delete(e[Oo])}(t)}}function Vd(e,t,i){return function gm(e,t,i){let n=t;for(;null!==n&&40&n.type;)n=(t=n).parent;if(null===n)return i[ht];{const{componentOffset:r}=n;if(r>-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function _m(e,t,i){e.appendChild(t,i)}function mm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):_m(e,t,i)}function Fl(e,t){return e.parentNode(t)}function vm(e,t,i){return bm(e,t,i)}let Hd,Bl,Gd,Vl,bm=function ym(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Vd(e,n,t),s=t[ne],a=vm(n.parent||t[Yt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;l<i.length;l++)mm(s,r,i[l],a,!1);else mm(s,r,i,a,!1);void 0!==Hd&&Hd(s,n,t,i,r)}function $o(e,t){if(null!==t){const i=t.type;if(3&i)return yn(t,e);if(4&i)return Ud(-1,e[t.index]);if(8&i){const n=t.child;if(null!==n)return $o(e,n);{const r=e[t.index];return rn(r)?Ud(-1,r):We(r)}}if(32&i)return Fd(t,e)()||We(e[t.index]);{const n=wm(e,t);return null!==n?Array.isArray(n)?n[0]:$o(jo(e[yt]),n):$o(e,t.next)}}return null}function wm(e,t){return null!==t?e[yt][Yt].projection[t.projection]:null}function Ud(e,t){const i=Ht+e+1;if(i<t.length){const n=t[i],r=n[H].firstChild;if(null!==r)return $o(n,r)}return t[Ci]}function jd(e,t,i,n,r,s,o){for(;null!=i;){const a=n[i.index],l=i.type;if(o&&0===t&&(a&&Zt(We(a),n),i.flags|=2),32!=(32&i.flags))if(8&l)jd(e,t,i.child,n,r,s,!1),xs(t,e,r,a,s);else if(32&l){const c=Fd(i,n);let u;for(;u=c();)xs(t,e,r,u,s);xs(t,e,r,a,s)}else 16&l?Em(e,t,n,i,r,s):xs(t,e,r,a,s);i=o?i.projectionNext:i.next}}function Go(e,t,i,n,r,s){jd(i,n,e.firstChild,t,r,s,!1)}function Em(e,t,i,n,r,s){const o=i[yt],l=o[Yt].projection[n.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)xs(t,e,r,l[c],s);else{let c=l;const u=o[tt];Al(n)&&(c.flags|=128),jd(e,t,c,u,r,s,!0)}}function Sm(e,t,i){""===i?e.removeAttribute(t,"class"):e.setAttribute(t,"class",i)}function Tm(e,t,i){const{mergedAttrs:n,classes:r,styles:s}=i;null!==n&&Xu(e,t,n),null!==r&&Sm(e,t,r),null!==s&&function MM(e,t,i){e.setAttribute(t,"style",i)}(e,t,s)}function Rs(e){return function $d(){if(void 0===Bl&&(Bl=null,Ue.trustedTypes))try{Bl=Ue.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==Gd)return Gd;if(typeof document<"u")return document;throw new F(210,!1)}function Mm(e){return function zd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Am{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Mg})`}}function or(e){return e instanceof Am?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function LM(e){return e instanceof Am&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Mg})`)}return i===t}class BM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t="<body><remove></remove>"+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class VM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const UM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function Wd(e){return(e=String(e)).match(UM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const xm=$i("area,br,col,hr,img,wbr"),Rm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Pm=$i("rp,rt"),qd=Wo(xm,Wo(Rm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Pm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Pm,Rm)),Yd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Fm=Wo(Yd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jM=$i("script,style,template");class $M{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!qd.hasOwnProperty(i))return this.sanitizedSomething=!0,!jM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r<n.length;r++){const s=n.item(r),o=s.name,a=o.toLowerCase();if(!Fm.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=s.value;Yd[a]&&(l=Wd(l)),this.buf.push(" ",o,'="',km(l),'"')}return this.buf.push(">"),!0}endElement(t){const i=t.nodeName.toLowerCase();qd.hasOwnProperty(i)&&!xm.hasOwnProperty(i)&&(this.buf.push("</"),this.buf.push(i),this.buf.push(">"))}chars(t){this.buf.push(km(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const GM=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,zM=/([^\#-~ |!])/g;function km(e){return e.replace(/&/g,"&amp;").replace(GM,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(zM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Hl;function Zd(e){return"content"in e&&function qM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Lm(e){const t=qo();return t?Mm(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Mm(or(e)):function WM(e,t){let i=null;try{Hl=Hl||function Om(e){const t=new VM(e);return function HM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new BM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new $M).sanitizeChildren(Zd(i)||i))}finally{if(i){const n=Zd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Jd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):Wd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Vm=new W("INJECTOR",-1),Hm=new W("INJECTOR_DEF_TYPES");class Qd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function eI(...e){return{\u0275providers:Um(0,e),\u0275fromNgModule:!0}}function Um(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&jm(r,s),i}function jm(e,t){for(let i=0;i<e.length;i++){const{ngModule:n,providers:r}=e[i];Xd(r,s=>{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&jm(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Hm,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;Xd(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function Xd(e,t){for(let i of e)Uu(i)&&(i=i.\u0275providers),Array.isArray(i)?Xd(i,t):t(i)}const tI=Re({provide:String,useValue:Re});function ef(e){return null!==e&&"object"==typeof e&&tI in e}function Ir(e){return"function"==typeof e}const tf=new W("Set Injector scope."),$l={},iI={};let nf;function Gl(){return void 0===nf&&(nf=new Qd),nf}class zn{}class zl extends zn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sf(t,o=>this.processProvider(o)),this.records.set(Vm,ks(void 0,this)),r.has("environment")&&this.records.set(zn,ks(void 0,this));const s=this.records.get(tf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Hm.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(kg))return t[kg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function lI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(rf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function sS(e,t,i,n){const r=e[il];throw t[Rg]&&r.unshift(t[Rg]),e.message=function oS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(eS,"\n  ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function sI(e){return ef(e)?ks(void 0,e.useValue):ks(zm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Ju(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=iI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function aI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function rf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function rI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function JE(e){return e&&(e[nl]||e[Ng])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function zm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||rf(r)}if(ef(e))n=()=>X(e.useValue);else if(function Gm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Ju(e.deps||[]));else if(function $m(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function oI(e){return!!e.deps}(e))return Er(r)||rf(r);n=()=>new r(...Ju(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function sf(e,t){for(const i of e)Array.isArray(i)?sf(i,t):i&&Uu(i)?sf(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>cI}),cI="ng",Wm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),qm=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Ym=(e,t,i)=>null;function pf(e,t,i=!1){return Ym(e,t,i)}class yI{}class Qm{}class DI{resolveComponentFactory(t){throw function bI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new DI,t})();function wI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=wI,t})();function CI(e){return e instanceof Fe?e.nativeElement:e}class mf{}let Wn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function EI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),SI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const TI=new Xl("16.2.3"),vf={};function nv(e,t=null,i=null,n){const r=iv(e,t,i,n);return r.resolveInjectorInitializers(),r}function iv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,eI(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Jt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return nv({name:""},r,n,"");{const s=n.name??"";return nv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Qd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Vm)}),e.__NG_ELEMENT_ID__=-1,t})();function Df(e){return t=>{setTimeout(e,void 0,t)}}const Y=class RI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=Df(s),r&&(r=Df(r)),o&&(o=Df(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function rv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function PI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function LI(e){const t=()=>{!function kI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Cf(e),e.isCheckStableRunning=!0,wf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Cf(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return sv(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),ov(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return sv(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),ov(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Cf(e),wf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,FI,rv,rv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const FI={};function wf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Cf(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function sv(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ov(e){e._nesting--,wf(e)}class BI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const av=new W("",{providedIn:"root",factory:lv});function lv(){const e=fe(Se);let t=!0;return function Eg(...e){const t=Qa(e),i=function FE(e,t){return"number"==typeof Fu(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):yg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Sg()))}let Ef=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(nd(e)&&!t)return e;e=t}return null}function Sf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Sf(t);for(;i&&Sf(i);)i=Sf(i);return i||null}}const hv=new W("",{providedIn:"root",factory:()=>!1});class mv extends n_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function vv(){return tc??=new mv,tc}function yv(e,t){return e[t]??vv()}function bv(e,t){const i=vv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new mv)}const re={};function R(e){Dv(ve(),A(),cn()+e,!1)}function Dv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):L_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),f_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[Yt]=s,h[Oo]=function nM(){return tM++}(),h[Hi]=u,h[Jg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Tf(e,t,i,n,r){const s=v_(),o=cd(),l=e.data[t]=function nN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function tT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;s<i;s++)t.push(n),e.blueprint.push(n),e.data.push(null);return r}function wv(e,t,i,n,r){const s=yv(t,ll),o=cn(),a=2&n;try{if(Sr(-1),a&&t.length>pe&&Dv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&bv(t,ll),Sr(o),Si(a?3:1,r)}}function Mf(e,t,i){if(td(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;o<s;o++){const a=e.data[o];a.contentQueries&&a.contentQueries(1,i[o],o)}}finally{kt(n)}}}function If(e,t,i){m_()&&(function cN(e,t,i,n){const r=i.directiveStart,s=i.directiveEnd;Cr(i)&&function _N(e,t,i){const n=yn(t,e),r=Cv(i);let o=16;i.signals?o=4096:i.onPush&&(o=64);const a=ic(e,nc(e,r,null,o,n,t,null,e[ps].rendererFactory.createRenderer(n,i),null,null,null));e[t.index]=a}(t,i,e.data[r+i.componentOffset]),e.firstCreatePass||Dl(i,t),Zt(n,t);const o=i.initialInputs;for(let a=r;a<s;a++){const l=e.data[a],c=Tr(t,e,a,i);Zt(c,t),null!==o&&mN(0,a-r,c,l,0,o),ii(l)&&(On(i.index,t)[vt]=Tr(t,e,a,i))}}(e,t,i,yn(i,t)),64==(64&i.flags)&&Iv(e,t,i))}function Nf(e,t,i=yn){const n=t.localNames;if(null!==n){let r=t.index+1;for(let s=0;s<n.length;s+=2){const o=n[s+1],a=-1===o?i(t,e):e[o];e[r++]=a}}}function Cv(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=Af(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):t}function Af(e,t,i,n,r,s,o,a,l,c,u){const h=pe+n,g=h+r,_=function JI(e,t){const i=[];for(let n=0;n<t;n++)i.push(n<e?null:re);return i}(h,g),y="function"==typeof c?c():c;return _[H]={type:e,blueprint:_,template:i,queries:null,viewQuery:a,declTNode:t,data:_.slice().fill(null,h),bindingStartIndex:h,expandoStartIndex:g,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:y,incompleteFirstPass:!1,ssrId:u}}let Ev=e=>null;function Sv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Tv(i,t,r,s):n.hasOwnProperty(r)&&Tv(i,t,n[r],s)}return i}function Tv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(Ff(e,i,u,n,r),Cr(t)&&function sN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function rN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function Of(e,t,i,n){if(m_()){const r=null===n?null:{"":-1},s=function dN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];if($g(t,o.selectors,!1))if(n||(n=[]),ii(o))if(null!==o.findHostDirectiveDefs){const a=[];r=r||new Map,o.findHostDirectiveDefs(o,a,r),n.unshift(...a,o),xf(e,t,a.length)}else n.unshift(o),xf(e,t,0);else r=r||new Map,o.findHostDirectiveDefs?.(o,n,r),n.push(o)}return null===n?null:[n,r]}(e,i);let o,a;null===s?o=a=null:[o,a]=s,null!==o&&Mv(e,t,i,o,r,a),r&&function fN(e,t,i){if(t){const n=e.localNames=[];for(let r=0;r<t.length;r+=2){const s=i[t[r+1]];if(null==s)throw new F(-301,!1);n.push(t[r],s)}}}(i,n,r)}i.mergedAttrs=To(i.mergedAttrs,i.attrs)}function Mv(e,t,i,n,r,s){for(let c=0;c<n.length;c++)Dd(Dl(i,t),e,n[c].type);!function pN(e,t,i){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+i,e.providerIndexes=t}(i,e.data.length,n.length);for(let c=0;c<n.length;c++){const u=n[c];u.providersResolver&&u.providersResolver(u)}let o=!1,a=!1,l=Qo(e,t,n.length,null);for(let c=0;c<n.length;c++){const u=n[c];i.mergedAttrs=To(i.mergedAttrs,u.hostAttrs),gN(e,i,t,l,u),hN(l,u,r),null!==u.contentQueries&&(i.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(i.flags|=64);const h=u.type.prototype;!o&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(i.index),o=!0),!a&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(i.index),a=!0),l++}!function iN(e,t,i){const r=t.directiveEnd,s=e.data,o=t.attrs,a=[];let l=null,c=null;for(let u=t.directiveStart;u<r;u++){const h=s[u],g=i?i.get(h):null,y=g?g.outputs:null;l=Sv(h.inputs,u,l,g?g.inputs:null),c=Sv(h.outputs,u,c,y);const b=null===l||null===o||jg(t)?null:vN(l,u,o);a.push(b)}null!==l&&(l.hasOwnProperty("class")&&(t.flags|=8),l.hasOwnProperty("style")&&(t.flags|=16)),t.initialInputs=a,t.inputs=l,t.outputs=c}(e,i,s)}function Iv(e,t,i){const n=i.directiveStart,r=i.directiveEnd,s=i.index,o=function iT(){return K.lFrame.currentDirectiveIndex}();try{Sr(s);for(let a=n;a<r;a++){const l=e.data[a],c=t[a];dd(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&uN(l,c)}}finally{Sr(-1),dd(o)}}function uN(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function xf(e,t,i){t.componentOffset=i,(e.components??=[]).push(t.index)}function hN(e,t,i){if(i){if(t.exportAs)for(let n=0;n<t.exportAs.length;n++)i[t.exportAs[n]]=e;ii(t)&&(i[""]=e)}}function gN(e,t,i,n,r){e.data[n]=r;const s=r.factory||(r.factory=Er(r.type)),o=new Po(s,ii(r),v);e.blueprint[n]=o,i[n]=o,function aN(e,t,i,n,r){const s=r.hostBindings;if(s){let o=e.hostBindingOpCodes;null===o&&(o=e.hostBindingOpCodes=[]);const a=~t.index;(function lN(e){let t=e.length;for(;t>0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Rf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function mN(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a<o.length;)Nv(n,i,o[a++],o[a++],o[a++])}function Nv(e,t,i,n,r){const s=kt(null);try{const o=e.inputTransforms;null!==o&&o.hasOwnProperty(n)&&(r=o[n].call(t,r)),null!==e.setInput?e.setInput(t,r,i,n):t[n]=r}finally{kt(s)}}function vN(e,t,i){let n=null,r=0;for(;r<i.length;){const s=i[r];if(0!==s)if(5!==s){if("number"==typeof s)break;if(e.hasOwnProperty(s)){null===n&&(n=[]);const o=e[s];for(let a=0;a<o.length;a+=2)if(o[a]===t){n.push(s,o[a+1],i[r+1]);break}}r+=2}else r+=2;else r+=4}return n}function Av(e,t,i,n){return[e,!0,!1,t,null,0,n,i,null,null,null]}function Ov(e,t){const i=e.contentQueries;if(null!==i)for(let n=0;n<i.length;n+=2){const s=i[n+1];if(-1!==s){const o=e.data[s];hd(i[n]),o.contentQueries(2,t[s],s)}}}function ic(e,t){return e[No]?e[Zg][ni]=t:e[No]=t,e[Zg]=t,t}function Pf(e,t,i){hd(0);const n=kt(null);try{t(e,i)}finally{kt(n)}}function xv(e){return e[hs]||(e[hs]=[])}function Rv(e){return e.cleanup||(e.cleanup=[])}function Fv(e,t){const i=e[tr],n=i?i.get(Ar,null):null;n&&n.handleError(t)}function Ff(e,t,i,n,r){for(let s=0;s<i.length;){const o=i[s++],a=i[s++];Nv(e.data[o],t[o],n,a,r)}}function yN(e,t){const i=On(t,e),n=i[H];!function bN(e,t){for(let i=t.length;i<e.blueprint.length;i++)t.push(e.blueprint[i])}(n,i);const r=i[ht];null!==r&&null===i[Hi]&&(i[Hi]=pf(r,i[tr])),kf(n,i,i[vt])}function kf(e,t,i){pd(t);try{const n=e.viewQuery;null!==n&&Pf(1,n,i);const r=e.template;null!==r&&wv(e,t,r,1,i),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&Ov(e,t),e.staticViewQueries&&Pf(2,e.viewQuery,i);const s=e.components;null!==s&&function DN(e,t){for(let i=0;i<t.length;i++)yN(e,t[i])}(t,s)}catch(n){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),n}finally{t[ie]&=-5,gd()}}let kv=(()=>{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new PS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o<t.length;o++){const a=t[o];"number"==typeof a?s=a:1==s?r=Vu(r,a):2==s&&(n=Vu(n,a+": "+t[++o]+";"))}i?e.styles=n:e.stylesWithoutHost=n,i?e.classes=r:e.classesWithoutHost=r}function Ko(e,t,i,n,r=!1){for(;null!==i;){const s=t[i.index];null!==s&&n.push(We(s)),rn(s)&&Lv(s,n);const o=i.type;if(8&o)Ko(e,t,i.child,n);else if(32&o){const a=Fd(i,t);let l;for(;l=a();)n.push(l)}else if(16&o){const a=wm(t,i);if(Array.isArray(a))n.push(...a);else{const l=jo(t[yt]);Ko(l[H],l,a,n,!0)}}i=r?i.projectionNext:i.next}return n}function Lv(e,t){for(let i=Ht;i<e.length;i++){const n=e[i],r=n[H].firstChild;null!==r&&Ko(n[H],n,r,t)}e[Ci]!==e[ht]&&t.push(e[Ci])}function sc(e,t,i,n=!0){const r=t[ps],s=r.rendererFactory,o=r.afterRenderEventManager;s.begin?.(),o?.begin();try{Bv(e,t,e.template,i)}catch(l){throw n&&Fv(t,l),l}finally{s.end?.(),r.effectManager?.flush(),o?.end()}}function Bv(e,t,i,n){const r=t[ie];if(256!=(256&r)){t[ps].effectManager?.flush(),pd(t);try{f_(t),function b_(e){return K.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==i&&wv(e,t,i,2,n);const o=3==(3&r);if(o){const c=e.preOrderCheckHooks;null!==c&&vl(t,c,null)}else{const c=e.preOrderHooks;null!==c&&yl(t,c,0,null),_d(t,0)}if(function EN(e){for(let t=um(e);null!==t;t=dm(t)){if(!t[Qg])continue;const i=t[ms];for(let n=0;n<i.length;n++){GS(i[n])}}}(t),Vv(t,2),null!==e.contentQueries&&Ov(e,t),o){const c=e.contentCheckHooks;null!==c&&vl(t,c)}else{const c=e.contentHooks;null!==c&&yl(t,c,1),_d(t,1)}!function ZI(e,t){const i=e.hostBindingOpCodes;if(null===i)return;const n=yv(t,cl);try{for(let r=0;r<i.length;r++){const s=i[r];if(s<0)Sr(~s);else{const o=s,a=i[++r],l=i[++r];nT(a,o),n.runInContext(l,2,t[o])}}}finally{null===t[cl]&&bv(t,cl),Sr(-1)}}(e,t);const a=e.components;null!==a&&Uv(t,a,0);const l=e.viewQuery;if(null!==l&&Pf(2,l,n),o){const c=e.viewCheckHooks;null!==c&&vl(t,c)}else{const c=e.viewHooks;null!==c&&yl(t,c,2),_d(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),t[ie]&=-73,h_(t)}finally{gd()}}}function Vv(e,t){for(let i=um(e);null!==i;i=dm(i))for(let n=Ht;n<i.length;n++)Hv(i[n],t)}function SN(e,t,i){Hv(On(t,e),i)}function Hv(e,t){if(!function jS(e){return 128==(128&e[ie])}(e))return;const i=e[H];if(80&e[ie]&&0===t||1024&e[ie]||2===t)Bv(i,e,i.template,e[vt]);else if(e[Io]>0){Vv(e,1);const r=e[H].components;null!==r&&Uv(e,r,1)}}function Uv(e,t,i){for(let n=0;n<t.length;n++)SN(e,t[n],i)}class Xo{get rootNodes(){const t=this._lView,i=t[H];return Ko(i,t,i.firstChild,[])}constructor(t,i){this._lView=t,this._cdRefInjectingView=i,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[vt]}set context(t){this._lView[vt]=t}get destroyed(){return 256==(256&this._lView[ie])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[tt];if(rn(t)){const i=t[8],n=i?i.indexOf(this):-1;n>-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Ld(this._lView[H],this._lView)}onDestroy(t){!function g_(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function _M(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class TN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class jv extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function $v(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class IN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,vf,n);return r!==vf||i===vf?r:this.parentInjector.get(t,i,n)}}class ea extends Qm{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=$v(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return $v(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function _S(e){return e.map(gS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof zn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new IN(t,s):t,a=o.get(mf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(SI,null),effectManager:o.get(kv,null),afterRenderEventManager:o.get(Ef,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function QI(e,t,i,n){const s=n.get(hv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function KI(e){Ev(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function MN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=pf(y,o,!0));const P=Af(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;pd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function AN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function ON(e,t,i,n,r,s,o){const a=r[H];!function xN(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Tm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=pf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Cv(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&xf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=d_(P,pe),y&&function PN(e,t,i,n){if(n)Xu(e,i,["ng-version",TI.full]);else{const{attrs:r,classes:s}=function mS(e){const t=[],i=[];let n=1,r=2;for(;n<e.length;){let s=e[n];if("string"==typeof s)2===r?""!==s&&t.push(s,e[++n]):8===r&&i.push(s);else{if(!ti(r))break;r=s}n++}return{attrs:t,classes:i}}(t.selectors[0]);r&&Xu(e,i,r),s&&s.length>0&&Sm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function FN(e,t,i){const n=e.projection=[];for(let r=0;r<t.length;r++){const s=i[r];n.push(null!=s?Array.from(s):null)}}(J,this.ngContentSelectors,i),V=function RN(e,t,i,n,r,s){const o=Ut(),a=r[H],l=yn(o,r);Mv(a,r,o,i,null,n);for(let u=0;u<i.length;u++)Zt(Tr(r,a,o.directiveStart+u,o),r);Iv(a,r,o),l&&Zt(l,r);const c=Tr(r,a,o.directiveStart+o.componentOffset,o);if(e[vt]=r[vt]=c,null!==s)for(const u of s)u(c,t);return Mf(a,o,e),c}(Bt,ue,_e,lt,O,[kN]),kf(P,O,null)}finally{gd()}return new NN(this.componentType,V,Vs(J,O),O,J)}}class NN extends yI{constructor(t,i,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.previousInputValues=null,this.instance=i,this.hostView=this.changeDetectorRef=new TN(r),this.componentType=t}setInput(t,i){const n=this._tNode.inputs;let r;if(null!==n&&(r=n[t])){if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),i))return;const s=this._rootLView;Ff(s[H],s,r,t,i),this.previousInputValues.set(t,i),Jo(On(this._tNode.index,s))}}get injector(){return new un(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}function kN(){const e=Ut();ml(A()[H],e)}function Oe(e){let t=function Gv(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),i=!0;const n=[e];for(;t;){let r;if(ii(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new F(903,!1);r=t.\u0275dir}if(r){if(i){n.push(r);const o=e;o.inputs=oc(e.inputs),o.inputTransforms=oc(e.inputTransforms),o.declaredInputs=oc(e.declaredInputs),o.outputs=oc(e.outputs);const a=r.hostBindings;a&&HN(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&BN(e,l),c&&VN(e,c),Ka(e.inputs,r.inputs),Ka(e.declaredInputs,r.declaredInputs),Ka(e.outputs,r.outputs),null!==r.inputTransforms&&(null===o.inputTransforms&&(o.inputTransforms={}),Ka(o.inputTransforms,r.inputTransforms)),ii(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(e),a===Oe&&(i=!1)}}t=Object.getPrototypeOf(t)}!function LN(e){let t=0,i=null;for(let n=e.length-1;n>=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function BN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function VN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function HN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Lf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Qt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Qt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Qt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function dA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));Of(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Af(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=oy(c,l,h,e);_l()&&kl(c,l,g,h),Zt(g,l),ic(l,l[u]=Av(g,l,g,h)),dl(h)&&If(c,l,h),null!=o&&Nf(l,h,a)}let oy=function ay(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function $f(e,t,i,n,r){const o=r?"class":"style";Ff(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function gA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return Of(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=ly(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Tm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function WS(){return K.lFrame.elementDepthCount}()&&Zt(c,r),function qS(){K.lFrame.elementDepthCount++}(),u&&(If(s,r,l),Mf(s,l,r)),null!==n&&Nf(r,l),j}function U(){let e=Ut();cd()?ud():(e=e.parent,Ti(e,!1));const t=e;(function ZS(e){return K.skipHydrationRootTNode===e})(t)&&function XS(){K.skipHydrationRootTNode=null}(),function YS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),td(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function pT(e){return 0!=(8&e.flags)}(t)&&$f(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function gT(e){return 0!=(16&e.flags)}(t)&&$f(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let ly=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function I_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function dy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function hy(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Rv(e),u=t[vt],h=xv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function DA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===i&&r[s+1]===n){const a=t[hs],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=gy(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=gy(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D<b;D+=2){const V=t[y[D]][y[D+1]].subscribe(s),J=h.length;h.push(s,V),c&&c.push(r,n.index,J,-(J+1))}}}(s,r,r[ne],o,e,t,n),ce}function py(e,t,i,n){try{return Si(6,t,i),!1!==i(n)}catch(r){return Fv(e,r),!1}finally{Si(7,t,i)}}function gy(e,t,i,n,r){return function s(o){if(o===Function)return n;Jo(e.componentOffset>-1?On(e.index,t):t);let l=py(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=py(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function sT(e){return(K.lFrame.contextLView=function oT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function wA(e,t){let i=null;const n=function dS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r<t.length;r++){const s=t[r];if("*"!==s){if(null===n?$g(e,s,!0):pS(n,s))return r}else i=r}return i}function Wf(e){const t=A()[yt][Yt];if(!t.projection){const n=t.projection=Vo(e?e.length:1,null),r=n.slice();let s=t.child;for(;null!==s;){const o=e?wA(s,e):0;null!==o&&(r[o]?r[o].projectionNext=s:n[o]=s,r[o]=s),s=s.next}}}function qf(e,t=0,i){const n=A(),r=ve(),s=js(r,pe+e,16,null,i||null);null===s.projection&&(s.projection=t),ud(),(!n[Hi]||ys())&&32!=(32&s.flags)&&function EM(e,t,i){Em(t[ne],0,t,i,Vd(e,i,t),vm(i.parent||t[Yt],i,t))}(r,n,s)}function Pn(e,t,i){return hc(e,"",t,"",i),Pn}function hc(e,t,i,n,r){const s=A(),o=Gs(s,t,i,n);return o!==re&&Rn(ve(),ot(),s,e,o,s[ne],r,!1),hc}function pc(e,t){return e<<17|t<<2}function ar(e){return e>>17&32767}function Yf(e){return 2|e}function xr(e){return(131068&e)>>2}function Zf(e,t){return-131069&e|t<<2}function Jf(e){return 1|e}function Ey(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];IA(e[a],t)&&(l=!0,e[a+1]=n?Jf(u):Yf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Yf(s):Jf(s))}function IA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Sy(e){return e.substring(Ot.key,Ot.keyEnd)}function Ty(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function xA(e,t,i){for(;t<i&&e.charCodeAt(t)>32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t<i&&e.charCodeAt(t)<=32;)t++;return t}function De(e,t){return function ri(e,t,i,n){const r=A(),s=ve(),o=ji(2);s.firstUpdatePass&&Ry(s,e,o,n),t!==re&&Qt(r,o,t)&&Fy(s,s.data[cn()],r,r[ne],e,r[o+1]=function $A(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Nt(or(e)))),e}(t,i),n,o)}(e,t,null,!0),De}function Rr(e){!function si(e,t,i,n){const r=ve(),s=ji(2);r.firstUpdatePass&&Ry(r,null,s,n);const o=A();if(i!==re&&Qt(o,s,i)){const a=r.data[cn()];if(Ly(a,n)&&!xy(r,s)){let l=n?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(i=Vu(l,i||"")),$f(r,a,o,i,n)}else!function jA(e,t,i,n,r,s,o,a){r===re&&(r=Ee);let l=0,c=0,u=0<r.length?r[0]:null,h=0<s.length?s[0]:null;for(;null!==u||null!==h;){const g=l<r.length?r[l+1]:void 0,_=c<s.length?s[c+1]:void 0;let b,y=null;u===h?(l+=2,c+=2,g!==_&&(y=h,b=_)):null===h||null!==u&&u<h?(l+=2,y=u):(c+=2,y=h,b=_),null!==y&&Fy(e,t,i,n,y,b,o,a),u=l<r.length?r[l]:null,h=c<s.length?s[c]:null}}(r,a,o,o[ne],o[s+1],o[s+1]=function HA(e,t,i){if(null==i||""===i)return Ee;const n=[],r=or(i);if(Array.isArray(r))for(let s=0;s<r.length;s++)e(n,r[s],!0);else if("object"==typeof r)for(const s in r)r.hasOwnProperty(s)&&e(n,s,r[s]);else"string"==typeof r&&t(n,r);return n}(e,t,i),n,s)}}(UA,xi,e,!0)}function xi(e,t){for(let i=function AA(e){return function Iy(e){Ot.key=0,Ot.keyEnd=0,Ot.value=0,Ot.valueEnd=0,Ot.textEnd=e.length}(e),Ty(e,Ks(e,0,Ot.textEnd))}(t);i>=0;i=Ty(t,i))xn(e,Sy(t),!0)}function xy(e,t){return t>=e.expandoStartIndex}function Ry(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=xy(e,i);Ly(s,n)&&null===t&&!o&&(t=!1),t=function kA(e,t,i,n){const r=function fd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Qf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Qf(r,e,t,i,n),null===s){let l=function LA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Qf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function BA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function VA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s<r;s++)n=oa(n,e[s].hostAttrs,i);return oa(n,t.attrs,i)}(e,t,n)}return void 0!==s&&(n?t.residualClasses=s:t.residualStyles=s),i}(r,s,t,n),function TA(e,t,i,n,r,s){let o=s?t.classBindings:t.styleBindings,a=ar(o),l=xr(o);e[n]=i;let u,c=!1;if(Array.isArray(i)?(u=i[1],(null===u||Ns(i,u)>0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Zf(e[g+1],n)),e[a+1]=function EA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Zf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Zf(e[l+1],n),l=n;c&&(e[n+1]=Yf(e[n+1])),Ey(e,u,n,!0),Ey(e,u,n,!1),function MA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Jf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Qf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a<o&&(s=t[a],n=oa(n,s.hostAttrs,r),s!==e);)a++;return null!==e&&(i.directiveStylingLast=a),n}function oa(e,t,i){const n=i?1:2;let r=-1;if(null!==t)for(let s=0;s<t.length;s++){const o=t[s];"number"==typeof o?r=o:r===n&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),xn(e,o,!!i||t[++s]))}return void 0===e?null:e}function UA(e,t,i){const n=String(t);""!==n&&!n.includes(" ")&&xn(e,n,i)}function Fy(e,t,i,n,r,s,o,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function SA(e){return 1==(1&e)}(c)?ky(l,t,i,r,xr(c),o):void 0;gc(u)||(gc(s)||function CA(e){return 2==(2&e)}(c)&&(s=ky(l,null,i,r,a,o)),function TM(e,t,i,n,r){if(t)r?e.addClass(i,n):e.removeClass(i,n);else{let s=-1===n.indexOf("-")?void 0:sr.DashCase;null==r?e.removeStyle(i,n,s):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),s|=sr.Important),e.setStyle(i,n,r,s))}}(n,o,gl(cn(),i),r,s))}function ky(e,t,i,n,r,s){const o=null===t;let a;for(;r>0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Ed(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Ed(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Ed(l,n))}return a}function gc(e){return void 0!==e}function Ly(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=By(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let By=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function hm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function Yn(e,t,i){const n=A();return Qt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),Yn}const eo="en-US";let o0=eo;function eh(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s<e.length;s++)eh(e[s],t,i,n,r);else{const s=ve(),o=A(),a=Ut();let l=Ir(e)?e:X(e.provide);const c=zm(e),u=1048575&a.providerIndexes,h=a.directiveStart,g=a.providerIndexes>>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=nh(l,t,r?u:u+g,h);-1===y?(Dd(Dl(a,o),s,l),th(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=nh(l,t,u+g,h),y=nh(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){Dd(Dl(a,o),s,l);const T=function cx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,O0(s,r,n&&!i),s}(r?lx:ax,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),th(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else th(s,e,_>-1?_:y,O0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function th(e,t,i,n){const r=Ir(t),s=function nI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function O0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function nh(e,t,i,n){for(let r=i;r<n;r++)if(t[r]===e)return r;return-1}function ax(e,t,i,n){return ih(this.multi,[])}function lx(e,t,i,n){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Tr(i,i[H],this.providerFactory.index,n);s=a.slice(0,o),ih(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],ih(r,s);return s}function ih(e,t){for(let i=0;i<e.length;i++)t.push((0,e[i])());return t}function $e(e,t=[]){return i=>{i.providersResolver=(n,r)=>function ox(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);eh(i,n.data,n.blueprint,r,!0),eh(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class ux{}class rh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new jv(this);const r=function An(e,t){const i=e[Fg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=iv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class sh extends ux{constructor(t){super(),this.moduleType=t}create(t){return new rh(this.moduleType,t,[])}}class x0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new jv(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let px=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=Um(0,n.type),s=r.length>0?function hx(e,t,i=null){return new x0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(zn))}),t})();function Zn(e){e.getStandaloneInjector=t=>t.get(px).getOrCreateStandaloneInjector(e)}function Lx(){return this._results[Symbol.iterator]()}class lh{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=lh.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=Lx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function Gn(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function NT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(i&&(r=i(r),s=i(s)),s!==r)return!1}return!0}(n._results,r,i))&&(n._results=r,n.length=r.length,n.last=r[this.length-1],n.first=r[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}function Vx(e,t,i,n=!0){const r=t[H];if(function vM(e,t,i,n){const r=Ht+n,s=i.length;n>0&&(i[r-1][ni]=t),n<s-Ht?(t[ni]=i[r],$_(i,Ht+n,t)):(i.push(t),t[ni]=null),t[tt]=i;const o=t[Ao];null!==o&&i!==o&&function yM(e,t){const i=e[ms];t[yt]!==t[tt][tt][yt]&&(e[Qg]=!0),null===i?e[ms]=[t]:i.push(t)}(o,t);const a=t[wi];null!==a&&a.insertView(e),t[ie]|=128}(r,t,e,i),n){const s=Ud(i,e),o=t[ne],a=Fl(o,e[Ci]);null!==a&&function gM(e,t,i,n,r,s){n[ht]=r,n[Yt]=t,Go(e,n,i,1,r,s)}(r,e[Yt],o,t,a,s)}}let nt=(()=>{class t{}return t.__NG_ELEMENT_ID__=jx,t})();const Hx=nt,Ux=class extends Hx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Bx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),kf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function jx(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Ux(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=Yx,t})();function Yx(){return J0(Ut(),A())}const Zx=Cn,Y0=class extends Zx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(vd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=Z0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(zn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function $S(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Y0(c,c[Yt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Vx(a,r,o,!n),t.attachToViewContainerRef(),$_(ch(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=Z0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(ch(this._lContainer),i),Ld(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(ch(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function Z0(e){return e[8]}function ch(e){return e[8]||(e[8]=[])}function J0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Av(n,t,null,e),t[e.index]=i,ic(t,i)),Q0(i,t,e,n),new Y0(i,e,t)}let Q0=function K0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Jx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function CM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class uh{constructor(t){this.queryList=t,this.matches=null}clone(){return new uh(this.queryList)}setDirty(){this.queryList.setDirty()}}class dh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s<n;s++){const o=i.getByIndex(s);r.push(this.queries[o.indexInDeclarationView].clone())}return new dh(r)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let i=0;i<this.queries.length;i++)null!==i1(t,i).matches&&this.queries[i].setDirty()}}class X0{constructor(t,i,n=null){this.predicate=t,this.flags=i,this.read=n}}class fh{constructor(t=[]){this.queries=t}elementStart(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].elementStart(t,i)}elementEnd(t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementEnd(t)}embeddedTView(t){let i=null;for(let n=0;n<this.length;n++){const r=null!==i?i.length:0,s=this.getByIndex(n).embeddedTView(t,r);s&&(s.indexInDeclarationView=n,null!==i?i.push(s):i=[s])}return null!==i?new fh(i):null}template(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].template(t,i)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class hh{constructor(t,i=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=i}elementStart(t,i){this.isApplyingToNode(i)&&this.matchTNode(t,i)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,i){this.elementStart(t,i)}embeddedTView(t,i){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,i),new hh(this.metadata)):null}isApplyingToNode(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const i=this._declarationNodeIndex;let n=t.parent;for(;null!==n&&8&n.type&&n.index!==i;)n=n.parent;return i===(null!==n?n.index:-1)}return this._appliesToNextNode}matchTNode(t,i){const n=this.metadata.predicate;if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=n[r];this.matchTNodeWithReadOption(t,i,Xx(i,s)),this.matchTNodeWithReadOption(t,i,Cl(i,t,s,!1,!1))}else n===nt?4&i.type&&this.matchTNodeWithReadOption(t,i,-1):this.matchTNodeWithReadOption(t,i,Cl(i,t,n,!1,!1))}matchTNodeWithReadOption(t,i,n){if(null!==n){const r=this.metadata.read;if(null!==r)if(r===Fe||r===Cn||r===nt&&4&i.type)this.addMatch(i.index,-2);else{const s=Cl(i,t,r,!1,!1);null!==s&&this.addMatch(i.index,s)}else this.addMatch(i.index,n)}}addMatch(t,i){null===this.matches?this.matches=[t,i]:this.matches.push(t,i)}}function Xx(e,t){const i=e.localNames;if(null!==i)for(let n=0;n<i.length;n+=2)if(i[n]===t)return i[n+1];return null}function tR(e,t,i,n){return-1===i?function eR(e,t){return 11&e.type?Vs(e,t):4&e.type?bc(e,t):null}(t,e):-2===i?function nR(e,t,i){return i===Fe?Vs(t,e):i===nt?bc(t,e):i===Cn?J0(t,e):void 0}(e,t,n):Tr(e,e[H],i,t)}function e1(e,t,i,n){const r=t[wi].queries[n];if(null===r.matches){const s=e.data,o=i.matches,a=[];for(let l=0;l<o.length;l+=2){const c=o[l];a.push(c<0?null:tR(t,s[c],o[l+1],i.metadata.read))}r.matches=a}return r.matches}function ph(e,t,i,n){const r=e.queries.getByIndex(i),s=r.matches;if(null!==s){const o=e1(e,t,r,i);for(let a=0;a<s.length;a+=2){const l=s[a];if(l>0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h<u.length;h++){const g=u[h];g[Ao]===g[tt]&&ph(g[H],g,c,n)}if(null!==u[ms]){const h=u[ms];for(let g=0;g<h.length;g++){const _=h[g];ph(_[H],_,c,n)}}}}}return n}function se(e){const t=A(),i=ve(),n=w_();hd(n+1);const r=i1(i,n);if(e.dirty&&function US(e){return 4==(4&e[ie])}(t)===(2==(2&r.metadata.flags))){if(null===r.matches)e.reset([]);else{const s=r.crossesNgTemplate?ph(i,t,n,[]):e1(i,t,r,n);e.reset(s,CI),e.notifyOnChanges()}return!0}return!1}function at(e,t,i){const n=ve();n.firstCreatePass&&(n1(n,new X0(e,t,i),-1),2==(2&t)&&(n.staticViewQueries=!0)),t1(n,A(),t)}function pt(e,t,i,n){const r=ve();if(r.firstCreatePass){const s=Ut();n1(r,new X0(t,i,n),s.index),function rR(e,t){const i=e.contentQueries||(e.contentQueries=[]);t!==(i.length?i[i.length-1]:-1)&&i.push(e.queries.length-1,t)}(r,e),2==(2&i)&&(r.staticContentQueries=!0)}t1(r,A(),i)}function oe(){return function iR(e,t){return e[wi].queries[t].queryList}(A(),w_())}function t1(e,t,i){const n=new lh(4==(4&i));(function tN(e,t,i,n){const r=xv(t);r.push(i),e.firstCreatePass&&Rv(e).push(n,r.length-1)})(e,t,n,n.destroy),null===t[wi]&&(t[wi]=new dh),t[wi].queries.push(new uh(n))}function n1(e,t,i){null===e.queries&&(e.queries=new fh),e.queries.track(new hh(t,i))}function i1(e,t){return e.queries.getByIndex(t)}function En(e,t){return bc(e,t)}const D1=new W("Application Initializer");let yh=(()=>{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(D1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(dy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function TR(){return typeof $localize<"u"&&$localize.locale||eo}()});let bh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new jE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S1=new W(""),Ec=new W("");let Sh,Ch=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Sh||(function ZR(e){Sh=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Eh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Eh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Sh?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const T1=new W("AllowMultipleToken"),Th=new W("PlatformDestroyListeners"),M1=new W("appBootstrapListener");function A1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Mh();if(!o||o.injector.get(T1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function KR(e){if(lr&&!lr.get(T1,!1))throw new F(400,!1);(function I1(){!function xS(e){i_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(x1);(function N1(e){e.get(Wm,null)?.forEach(i=>i())})(e)}(function O1(e=[],t){return Jt.create({name:t,providers:[{provide:tf,useValue:"platform"},{provide:Th,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function eP(e){const t=Mh();if(!t)throw new F(401,!1);return t}()}}function Mh(){return lr?.get(x1)??null}let x1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function tP(e="zone.js",t){return"noop"===e?new BI:"zone.js"===e?new Se(t):e}(r?.ngZone,function R1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function fx(e,t,i){return new rh(e,t,i)}(n.moduleType,this.injector,function B1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(iP,{optional:!0});return()=>t.initialize()}},{provide:L1,useFactory:nP},{provide:av,useFactory:lv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function P1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(yh);return l.runInitializers(),l.donePromise.then(()=>(function a0(e){$n(e,"Expected localeId to be defined"),"string"==typeof e&&(o0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=F1({},r);return function JR(e,t,i){const n=new sh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Th,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function F1(e,t){return Array.isArray(t)?t.reduce(F1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(L1),this.zoneIsStable=fe(av),this.componentTypes=[],this.components=[],this.isStable=fe(bh).hasPendingTasks.pipe(Bu(n=>n?ds(!1):this.zoneIsStable),function Tg(e,t=yi){return e=e??$E,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Sg()),this._injector=fe(zn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Qm;if(!this._injector.get(yh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function QR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Jt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(S1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(M1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const L1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function nP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let iP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=sP,t})();function sP(e){return function oP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class j1{constructor(){}supports(t){return ac(t)}create(t){return new fP(t)}}const dP=(e,t)=>t;class fP{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||dP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex<G1(n,r,s)?i:n,a=G1(o,r,s),l=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(i=i._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let g=0;g<c;g++){const _=g<s.length?s[g]:s[g]=0,y=_+g;u<=y&&y<c&&(s[g]=_+1)}s[o.previousIndex]=u-c}}a!==l&&t(o,a,l)}}forEachPreviousItem(t){let i;for(i=this._previousItHead;null!==i;i=i._nextPrevious)t(i)}forEachAddedItem(t){let i;for(i=this._additionsHead;null!==i;i=i._nextAdded)t(i)}forEachMovedItem(t){let i;for(i=this._movesHead;null!==i;i=i._nextMoved)t(i)}forEachRemovedItem(t){let i;for(i=this._removalsHead;null!==i;i=i._nextRemoved)t(i)}forEachIdentityChange(t){let i;for(i=this._identityChangesHead;null!==i;i=i._nextIdentityChange)t(i)}diff(t){if(null==t&&(t=[]),!ac(t))throw new F(900,!1);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let r,s,o,i=this._itHead,n=!1;if(Array.isArray(t)){this.length=t.length;for(let a=0;a<this.length;a++)s=t[a],o=this._trackByFn(a,s),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,s,o,a)),Object.is(i.item,s)||this._addIdentityChange(i,s)):(i=this._mismatch(i,s,o,a),n=!0),i=i._next}else r=0,function qN(e,t){if(Array.isArray(e))for(let i=0;i<e.length;i++)t(e[i]);else{const i=e[Symbol.iterator]();let n;for(;!(n=i.next()).done;)t(n.value)}}(t,a=>{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new hP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new $1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new $1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hP{constructor(t,i){this.item=t,this.trackById=i,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class pP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class $1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new pP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function G1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n<i.length&&(r=i[n]),n+t+r}function W1(){return new Ic([new j1])}let Ic=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||W1()),deps:[[t,new Md,new Td]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:W1}),t})();const yP=A1(null,"core",[]);let bP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Ph(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let Fh=null;function ba(){return Fh}class RP{}const Kt=new W("DocumentToken");function fb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class vF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new vF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),gb(l,s)}});for(let s=0,o=r.length;s<o;s++){const l=r.get(s).context;l.index=s,l.count=o,l.ngForOf=this._ngForOf}n.forEachIdentityChange(s=>{gb(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function gb(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new yF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){_b("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){_b("ngIfElse",n),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class yF{constructor(){this.$implicit=null,this.ngIf=null}}function _b(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let yb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Db(e){return"server"===e}class wb{}class vk extends RP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Xh extends vk{static makeCurrent(){!function xP(e){Fh||(Fh=e)}(new Xh)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function yk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function bk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return fb(document.cookie,t)}}let jc,Ea=null,wk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ep=new W("EventManagerPlugins");let Mb=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(ep),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Ib{constructor(t){this._doc=t}}const tp="ng-app-id";let Nb=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Db(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${tp}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(tp),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(tp,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Wl),L(qm,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const np={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},ip=/%COMP%/g,Tk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function Ob(e,t){return t.map(i=>i.replace(ip,e))}let xb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=Db(l),this.defaultRenderer=new rp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Pb?s.applyToHost(n):s instanceof sp&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Pb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Ak(c,u,n,r,a,l,this.nonce,g);default:o=new sp(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Mb),L(Nb),L(Wl),L(Tk),L(Kt),L(Nr),L(Se),L(qm))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class rp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(np[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Rb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Rb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=np[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=np[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Rb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Ak extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=Ob(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class sp extends rp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?Ob(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Pb extends sp{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Mk(e){return"_ngcontent-%COMP%".replace(ip,e)}(c),this.hostAttr=function Ik(e){return"_nghost-%COMP%".replace(ip,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ok=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Fb=["alt","control","meta","shift"],xk={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Rk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Pk=(()=>{var e;class t extends Ib{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),Fb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=xk[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),Fb.forEach(a=>{a!==s&&(0,Rk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Bk=A1(yP,"browser",[{provide:Nr,useValue:"browser"},{provide:Wm,useValue:function Fk(){Xh.makeCurrent()},multi:!0},{provide:Kt,useFactory:function Lk(){return function OM(e){Gd=e}(document),document},deps:[]}]),Vk=new W(""),Bb=[{provide:Ec,useClass:class Dk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:S1,useClass:Ch,deps:[Se,Eh,Ec]},{provide:Ch,useClass:Ch,deps:[Se,Eh,Ec]}],Vb=[{provide:tf,useValue:"root"},{provide:Ar,useFactory:function kk(){return new Ar},deps:[]},{provide:ep,useClass:Ok,multi:!0,deps:[Kt,Se,Nr]},{provide:ep,useClass:Pk,multi:!0,deps:[Kt]},xb,Nb,Mb,{provide:mf,useExisting:xb},{provide:wb,useClass:wk,deps:[]},[]];let Hk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Vk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Vb,...Bb],imports:[yb,bP]}),t})();typeof window<"u"&&window;let Xt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s<this.elementLookup.length;s++)this.elementLookup[s].id==n&&(r=s);return r}addElementObject(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullTagHTML(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].object=r}addElementTagHTML(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullObject(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].tagHtml=r}addElementAll(n,r,s,o){let a=this.elementLookup.find(l=>{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new ap(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new ap(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new ap(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class ap{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let $t=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function $b(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,$b(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function Gb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Zk{encodeKey(t){return zb(t)}encodeValue(t){return zb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Qk=/%(\d[a-f0-9])/gi,Kk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function zb(e){return encodeURIComponent(e).replace(Qk,(t,i)=>Kk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Zk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Jk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Xk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function Wb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function qb(e){return typeof Blob<"u"&&e instanceof Blob}function Yb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function e2(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Xk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":a<i.length-1?"&":"")+o}}else this.params=new ur,this.urlWithParams=i}serializeBody(){return null===this.body?null:Wb(this.body)||qb(this.body)||Yb(this.body)||function t2(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof ur?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||Yb(this.body)?null:qb(this.body)?this.body.type||null:Wb(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof ur?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(t={}){const i=t.method||this.method,n=t.url||this.url,r=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,a=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let l=t.headers||this.headers,c=t.params||this.params;const u=t.context??this.context;return void 0!==t.setHeaders&&(l=Object.keys(t.setHeaders).reduce((h,g)=>h.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class lp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class cp extends lp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new cp({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends lp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Zb extends lp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function up(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function Yk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,up(s,r))}post(n,r,s={}){return this.request("POST",n,up(s,r))}put(n,r,s={}){return this.request("PUT",n,up(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Kb(e,t){return t(e)}function i2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const s2=new W(""),Ta=new W(""),Xb=new W("");function o2(){let e=null;return(t,i)=>{null===e&&(e=(fe(s2,{optional:!0})??[]).reduceRight(i2,Kb));const n=fe(bh),r=n.add();return e(t,i).pipe(Gb(()=>n.remove(r)))}}let eD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(bh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(Xb,[])]));this.chain=s.reduceRight((o,a)=>function r2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Kb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(Gb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(zn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const u2=/^\)\]\}',?\n/;let nD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Bu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function d2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new cp({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(u2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Zb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Zb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(wb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const dp=new W("XSRF_ENABLED"),iD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),rD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class sD{}let p2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=fb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt),L(Nr),L(iD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function g2(e,t){const i=e.url.toLowerCase();if(!fe(dp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(sD).getToken(),r=fe(rD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function _2(...e){const t=[Wc,nD,eD,{provide:$c,useExisting:eD},{provide:Gc,useExisting:nD},{provide:Ta,useValue:g2,multi:!0},{provide:dp,useValue:!0},{provide:sD,useClass:p2}];for(const i of e)t.push(...i.\u0275providers);return function Kd(e){return{\u0275providers:e}}(t)}const oD=new W("LEGACY_INTERCEPTOR_FN");let v2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[_2(Br(dr.LegacyInterceptors,[{provide:oD,useFactory:o2},{provide:Ta,useExisting:oD,multi:!0}]))]}),t})(),aD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),lD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s<this.modals.length;s++){let o=this.modals[s];if(null!=o&&o.key==n){r=s;break}}return r>=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o<this.contextKeyVal.length;o++){let a=this.contextKeyVal[o];a.key==n&&(a.value=r,s=!0)}0==s&&this.contextKeyVal.push(new E2(n,r))}getContext(){return this.contextKeyVal}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextKeyVal.length;s++)if(this.contextKeyVal[s].key==n){r=s;break}return r>=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class E2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Xt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),S2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=$t.injector.get(Bn);const r=this.http.get(this.backend_URI).pipe($b((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function qk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(aD),L(lD),L(Xt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Bn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(S2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T2=["child"];function M2(e,t){}let cD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(T2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,M2,0,0,"ng-template",null,0,En)}}),t})();function uD(e){let t=[],i="",n=0;for(let r=0;r<e.length;r++){let s=e.charAt(r);if("("==s)n+=1,i+=s;else if(")"==s){if(n-=1,i+=s,n<0){console.log("ERROR - BRACKE LEVEL LOWER THAN 0");break}}else","==s&&0==n?(t.push(i),i=""):i+=s}return t.push(i),t}function dD(e){$t.injector.get(Ma).contextMenus.length>0&&(e.preventDefault(),e.stopPropagation(),fD())}function fD(){let e=$t.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function hD(e,t){let i=$t.injector.get(Xt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=uD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function I2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=fD()&&null!=$t.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&$t.injector.get(Su).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function pD(e){let t=$t.injector.get(Yc),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,n=/^(\w+)$|^(\w+\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))((?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?)*\))$/;console.log("Replacing context"),console.log(e);let r=i.exec(e);for(;null!=r;){let s=r[0],o=r[1]||r[2]||r[3],a=r[4]||r[5]||r[6],l=r[7]||r[8]||r[9],c=t.retrieveContextValue(o);if(null==c){if(null==!l)throw new Error("Missing required value for "+o);c=l}let u=/^[0-9]*$/.test(c),h=n.test(c),g=c.length>1&&'"'==c[0]&&'"'==c.slice(-1),_=!u&&!h&&!g;if(null!=a){if("str"!=a&&"int"!=a&&"const"!=a)throw new Error("Not a valid type "+a+". Should be str, int or const.");if("str"!=a||g){if("int"==a&&!u)throw new Error("Expected a number but got "+c)}else c='"'+c+'"';if("const"==a&&!h)throw new Error("Expected a constant that can be parsed to an atom, but got: "+c)}null==a&&_&&(c='"'+c+'"'),e=e.replace(s,c),i=/_context_value\((?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\)))(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*("[^"]*"|\w+)\s*\))))?(?:,\s*(?:"([^"]*)"|(\w+)|(\w+\(\s*(?:"[^"]*"|\w+)\s*\))))?\)/g,r=i.exec(e)}return e}function gD(e,t){let i=$t.injector.get(Bn),n=e.policy;n=pD(n),e.policy=n,i.policyPost(e)}function _D(e,t){let i=$t.injector.get(Yc),n=e.policy;if(n=pD(n),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=uD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c<o.length;c++)l=l+","+o[c];return void i.addContext(a,l)}}let r="The value of context event should be a tuple of size 2, but got "+e.policy;console.error(r),$t.injector.get(Bn).postMessage(r,"warning")}let Fi=(()=>{var e;class t{constructor(n){this.frontendService=n,document.onclick=dD,document.oncontextmenu=dD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{if("context"==l.interactionType&&_D(l,null),"update"==l.interactionType&&hD(l,null),"call"==l.interactionType||"callback"==l.interactionType){console.log("call");try{gD(l)}catch(c){$t.injector.get(Bn).postMessage(c.message,"warning")}}});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{hD(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{_D(g,l)}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{gD(h[0])}catch(_){$t.injector.get(Bn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function mD(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function Gt(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return Gt(e,t,i).pipe(mD(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(vD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(vD(e,t)):[];if(!r&&Pu(e))return us(o=>Gt(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function vD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Zc={setInterval(e,t,...i){const{delegate:n}=Zc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Zc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},yD={now:()=>(yD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=yD.now;const bD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Zc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Zc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=bD;function DD(e=0,t,i=H2){let n=-1;return null!=t&&(bg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function wD(e){return 1===e.length&&j2(e[0])?e[0]:e}function CD(...e){return 1===(e=wD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n<e.length;n++)i.push(Ft(e[n]).subscribe(ft(t,r=>{if(i){for(let s=0;s<i.length;s++)s!==n&&i[s].unsubscribe();i=null}t.next(r)})))}}(e))}function fp(...e){const t=ku(e),i=wD(e);return i.length?new ze(n=>{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o<i.length;o++)Ft(i[o]).subscribe(ft(n,a=>{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Jc(...e){return function G2(){return yg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function ED(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function hp(...e){const t=ku(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l<r;l++)Ft(e[l]).subscribe(ft(n,c=>{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function SD(e,t){return t?i=>Jc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(SD(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let TD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends TD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>pp),multi:!0};let pp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Qc),multi:!0},lL=new W("CompositionEventMode");let Qc=(()=>{var e;class t extends TD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Wn),v(Fe),v(lL,8))},e.\u0275dir=k({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const zt=new W("NgValidators"),hr=new W("NgAsyncValidators");function kD(e){return null!=e}function LD(e){return fc(e)?wo(e):e}function BD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function VD(e,t){return t.map(i=>i(e))}function HD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function gp(e){return null!=e?function UD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return BD(VD(i,t))}}(HD(e)):null}function jD(e){if(!e)return null;const t=e.filter(kD);return 0==t.length?null:function(i){return function rL(...e){const t=ku(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let h=!1;Ft(i[u]).subscribe(ft(s,g=>{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(mD(t)):r}(VD(i,t).map(LD)).pipe(Pt(BD))}}function _p(e){return null!=e?jD(HD(e)):null}function $D(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function GD(e){return e._rawValidators}function zD(e){return e._rawAsyncValidators}function mp(e){return e?Array.isArray(e)?e:[e]:[]}function Xc(e,t){return Array.isArray(e)?e.includes(t):e===t}function WD(e,t){const i=mp(t);return mp(e).forEach(r=>{Xc(i,r)||i.push(r)}),i}function qD(e,t){return mp(t).filter(i=>!Xc(e,i))}class YD{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=gp(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=_p(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends YD{get formDirective(){return null}get path(){return null}}class pr extends YD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class ZD{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let JD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Oe]}),t})(),QD=(()=>{var e;class t extends ZD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Oe]}),t})();const Na="VALID",tu="INVALID",ao="PENDING",Aa="DISABLED";function bp(e){return(nu(e)?e.validators:e)||null}function Dp(e,t){return(nu(t)?t.asyncValidators:e)||null}function nu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function XD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function ew(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class iu{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===tu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(WD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(qD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(qD(t,this._rawAsyncValidators))}hasValidator(t){return Xc(this._rawValidators,t)}hasAsyncValidator(t){return Xc(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=LD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?tu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(tu)?tu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){nu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?gp(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?_p(e):e||null}(this._rawAsyncValidators)}}class Hr extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){ew(this,0,t),Object.keys(t).forEach(n=>{XD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class tw extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){wp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&nw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&nw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function su(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),au(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function ou(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function wp(e,t){const i=GD(e);null!==t.validator?e.setValidators($D(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=zD(e);null!==t.asyncValidator?e.setAsyncValidators($D(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();ou(t._rawValidators,r),ou(t._rawAsyncValidators,r)}function au(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=zD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return ou(t._rawValidators,n),ou(t._rawAsyncValidators,n),i}function nw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function sw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function ow(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends iu{constructor(t=null,i,n){super(bp(i),Dp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),nu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=ow(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){sw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){sw(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){ow(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let dw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Mp=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>lu)};let lu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(au(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){su(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function rw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(su(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function iw(e,t){wp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return au(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){wp(this.form,this),this._oldForm&&au(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Ap)};let Ap=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Sp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Qc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Ep(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function ru(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(zt,10),v(hr,10),v(Kn,10),v(Mp,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>cu),multi:!0};function vw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let cu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=vw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),yw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(vw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(cu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>Op),multi:!0};function bw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Op=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l<a.length;l++){const u=this._getOptionValue(a[l].value);s.push(u)}}else{const a=r.options;for(let l=0;l<a.length;l++){const c=a[l];if(c.selected){const u=this._getOptionValue(c.value);s.push(u)}}}this.value=s,n(s)}}_registerOption(n){const r=(this._idCounter++).toString();return this._optionMap.set(r,n),r}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r)._value,n))return r;return null}_getOptionValue(n){const r=function HL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r)._value:n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([VL]),Oe]}),t})(),Dw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(bw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn),v(Op,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Ow=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[hw]}),t})();class xw extends iu{constructor(t,i,n){super(bp(i),Dp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){ew(this,0,t),t.forEach((n,r)=>{XD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function Rw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return Rw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new tw(s,r)}control(n,r,s){let o={};return this.useNonNullable?(Rw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new xw(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof iu?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Mp,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Ow]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function uu(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Pw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Vn="top",di="bottom",fi="right",Hn="left",Rp="auto",Pa=[Vn,di,fi,Hn],lo="start",Fa="end",Fw="viewport",ka="popper",kw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),Lw=[].concat(Pa,[Rp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Un(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Un(e).Element||e instanceof Element}function Xn(e){return e instanceof Un(e).HTMLElement||e instanceof HTMLElement}function Pp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Un(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,du=Math.min,co=Math.round;function Fp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Bw(){return!/^((?!chrome|android).)*safari/i.test(Fp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Un(e):window).visualViewport,l=!Bw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function kp(e){var t=Un(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Lp(e){return uo(gr(e)).left+kp(e).scrollLeft}function Yi(e){return Un(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function fu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Pp(e)?e.host:null)||gr(e)}function Bp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Vw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Bp(e)?e:Vw(fu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Vw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Un(n),o=r?[s].concat(s.visualViewport||[],Bp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(fu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Hw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Un(e),i=Hw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Hw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(Fp());if(/Trident/i.test(Fp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=fu(e);for(Pp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Uw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Pp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Vp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function jw(e,t,i){return t===Fw?Vp(function fB(e,t){var i=Un(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Bw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Lp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Vp(function hB(e){var t,i=gr(e),n=kp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Lp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Hp(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function $w(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Vn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Hn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Hp(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function zw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Ww(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function Up(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Fw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=zw("number"!=typeof D?D:Ww(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(fu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Uw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=jw(e,c,n);return l.top=zr(u.top,l.top),l.right=du(u.right,l.right),l.bottom=du(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},jw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=$w({reference:J,element:P,strategy:"absolute",placement:r}),_e=Vp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Vn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Rp)return[];var t=uu(e);return[Pw(e),t,Pw(t)]}(D):[uu(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Rp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?Lw:l,u=fo(t.placement),h=u?a?kw:kw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=Up(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt<O.length;Dt++){var Bt=O[Dt],pi=ki(Bt),gn=fo(Bt)===lo,Xr=[Vn,di].indexOf(pi)>=0,es=Xr?"width":"height",jn=Up(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Hn:gn?di:Vn;V[es]>J[es]&&(gi=uu(gi));var Tu=uu(gi),ts=[];if(s&&ts.push(jn[pi]<=0),a&&ts.push(jn[gi]<=0,jn[Tu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var og=function(_r){var Za=O.find(function(Nu){var ns=ue.get(Nu);if(ns)return ns.slice(0,_r).every(function(ag){return ag})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==og(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,du(t,i))}function jp(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=Up(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Hp(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Vn:Hn,es="y"===O?di:fi,jn="y"===O?"height":"width",gi=J[O],Tu=gi+D[Xr],ts=gi-D[es],Mu=_?-_e[jn]/2:0,og=C===lo?ue[jn]:_e[jn],Ya=C===lo?-_e[jn]:-ue[jn],Iu=t.elements.arrow,mo=_&&Iu?jp(Iu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Nu=_r[es],ns=Va(0,ue[jn],mo[jn]),ag=P?ue[jn]/2-Mu-ns-Za-Dt.mainAxis:og-ns-Za-Dt.mainAxis,aj=P?-ue[jn]/2+Mu+ns+Nu+Dt.mainAxis:Ya+ns+Nu+Dt.mainAxis,lg=t.elements.arrow&&Ba(t.elements.arrow),lj=lg?"y"===O?lg.clientTop||0:lg.clientLeft||0:0,uE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-uE,dE=Va(_?du(Tu,gi+ag-uE-lj):Tu,gi,_?zr(ts,uj):ts);J[O]=dE,pi[O]=dE-gi}if(a){var fE,is=J[V],Au="y"===V?"height":"width",hE=is+D["x"===O?Vn:Hn],pE=is-D["x"===O?di:fi],cg=-1!==[Vn,Hn].indexOf(T),gE=null!=(fE=Bt?.[V])?fE:0,_E=cg?hE:is-ue[Au]-_e[Au]-gE+Dt.altAxis,mE=cg?is+ue[Au]+_e[Au]-gE-Dt.altAxis:pE,vE=_&&cg?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(_E,is,mE):Va(_?_E:hE,is,_?mE:pE);J[V]=vE,pi[V]=vE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Hp(a),u=[Hn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return zw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:Ww(t,Pa))}(r.padding,i),g=jp(s),_="y"===l?Vn:Hn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Uw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Bp(s))&&(a=function xB(e){return e!==Un(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):kp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Lp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var qw={placement:"bottom",modifiers:[],strategy:"absolute"};function Yw(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return!t.some(function(n){return!(n&&"function"==typeof n.getBoundingClientRect)})}function VB(e){void 0===e&&(e={});var i=e.defaultModifiers,n=void 0===i?[]:i,r=e.defaultOptions,s=void 0===r?qw:r;return function(a,l,c){void 0===c&&(c=s);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},qw,s),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},h=[],g=!1,_={state:u,setOptions:function(T){var C="function"==typeof T?T(u.options):T;b(),u.options=Object.assign({},s,u.options,C),u.scrollParents={reference:Gr(a)?La(a):a.contextElement?La(a.contextElement):[],popper:La(l)};var P=function kB(e){var t=FB(e);return dB.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}(function BB(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}([].concat(n,u.options.modifiers)));return u.orderedModifiers=P.filter(function(O){return O.enabled}),function y(){u.orderedModifiers.forEach(function(D){var C=D.options,O=D.effect;if("function"==typeof O){var V=O({state:u,name:D.name,instance:_,options:void 0===C?{}:C});h.push(V||function(){})}})}(),_.update()},forceUpdate:function(){if(!g){var T=u.elements,C=T.reference,P=T.popper;if(Yw(C,P)){u.rects={reference:PB(C,Ba(P),"fixed"===u.options.strategy),popper:jp(P)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(Dt){return u.modifiersData[Dt.name]=Object.assign({},Dt.data)});for(var O=0;O<u.orderedModifiers.length;O++)if(!0!==u.reset){var V=u.orderedModifiers[O],J=V.fn,ue=V.options;"function"==typeof J&&(u=J({state:u,options:void 0===ue?{}:ue,name:V.name,instance:_})||u)}else u.reset=!1,O=-1}}},update:LB(function(){return new Promise(function(D){_.forceUpdate(),D(u)})}),destroy:function(){b(),g=!0}};if(!Yw(a,l))return _;function b(){h.forEach(function(D){return D()}),h=[]}return _.setOptions(c).then(function(D){!g&&c.onFirstUpdate&&c.onFirstUpdate(D)}),_}}var hu={passive:!0},GB={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Zw(e){var t,i=e.popper,n=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,h=e.isFixed,g=o.x,_=void 0===g?0:g,y=o.y,b=void 0===y?0:y,D="function"==typeof u?u({x:_,y:b}):{x:_,y:b};_=D.x,b=D.y;var T=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),P=Hn,O=Vn,V=window;if(c){var J=Ba(i),ue="clientHeight",_e="clientWidth";J===Un(i)&&"static"!==Yi(J=gr(i)).position&&"absolute"===a&&(ue="scrollHeight",_e="scrollWidth"),(r===Vn||(r===Hn||r===fi)&&s===Fa)&&(O=di,b-=(h&&J===V&&V.visualViewport?V.visualViewport.height:J[ue])-n.height,b*=l?1:-1),r!==Hn&&(r!==Vn&&r!==di||s!==Fa)||(P=fi,_-=(h&&J===V&&V.visualViewport?V.visualViewport.width:J[_e])-n.width,_*=l?1:-1)}var gn,Bt=Object.assign({position:a},c&&GB),pi=!0===u?function zB(e,t){var n=e.y,r=t.devicePixelRatio||1;return{x:co(e.x*r)/r||0,y:co(n*r)/r||0}}({x:_,y:b},Un(i)):{x:_,y:b};return _=pi.x,b=pi.y,Object.assign({},Bt,l?((gn={})[O]=C?"0":"",gn[P]=T?"0":"",gn.transform=(V.devicePixelRatio||1)<=1?"translate("+_+"px, "+b+"px)":"translate3d("+_+"px, "+b+"px, 0)",gn):((t={})[O]=C?b+"px":"",t[P]=T?_+"px":"",t.transform="",t))}var QB=VB({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function HB(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,s=void 0===r||r,o=n.resize,a=void 0===o||o,l=Un(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",i.update,hu)}),a&&l.addEventListener("resize",i.update,hu),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",i.update,hu)}),a&&l.removeEventListener("resize",i.update,hu)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function jB(e){var t=e.state;t.modifiersData[e.name]=$w({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function WB(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=void 0===n||n,s=i.adaptive,o=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:ki(t.placement),variation:fo(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,Zw(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,Zw(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function YB(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},s=t.elements[i];!Xn(s)||!Li(s)||(Object.assign(s.style,n),Object.keys(r).forEach(function(o){var a=r[o];!1===a?s.removeAttribute(o):s.setAttribute(o,!0===a?"":a)}))})},effect:function ZB(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],s=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]).reduce(function(l,c){return l[c]="",l},{});!Xn(r)||!Li(r)||(Object.assign(r.style,a),Object.keys(s).forEach(function(l){r.removeAttribute(l)}))})}},requires:["computeStyles"]}]});const eV={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function XB(e){var t=e.state,n=e.name,r=e.options.offset,s=void 0===r?[0,0]:r,o=Lw.reduce(function(u,h){return u[h]=function KB(e,t,i){var n=ki(e),r=[Hn,Vn].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Hn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Jw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function tC(e=document){const t=e?.activeElement;return t?t.shadowRoot?tC(t.shadowRoot):t:null}const nC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=nC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Jc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=Gt(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));CD(DD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=nC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(Wn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Zn],ngContentSelectors:Jw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(Wf(),qf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),fC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),gC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Yp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const yu=(e,t)=>!!t&&t.some(i=>i.contains(e)),bC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function DC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=Gt(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),ED(g=>g.preventDefault())),u=Gt(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!yu(_,o)&&("inside"===i?yu(_,s)&&bC(_,a):"outside"===i?!yu(_,s):bC(_,a)||!yu(_,s))}),Mt(r)),h=Gt(t,"mouseup").pipe(hp(u),ci(([g,_])=>_),function Y2(e,t=bD){const i=DD(e,t);return SD(()=>i)}(0),Mt(r));CD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const wC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function CC(e){const t=Array.from(e.querySelectorAll(wC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/  +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function SC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function TC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let kC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),ig=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(Yn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),rg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,ig,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Cu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),LC=(()=>{var e;class t extends Cu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Cu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function MC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||TC)(SC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||TC)(SC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function NC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),DC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===tC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(wC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else Gt(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&Gt(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Kt),v(Se),v(Fe),v(Wn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,rg,5),pt(s,Cu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),BC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Zn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class VC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Kw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),fp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=fp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};fp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{Gt(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;Gt(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),ED(()=>r=!1),Bu(()=>Gt(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),Gt(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=CC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Kt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Zn],ngContentSelectors:Jw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(Wf(),j(0,"div",0,1)(2,"div",2),qf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=Gt(t,"focusin").pipe(Mt(i),Pt(s=>s.target));Gt(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),hp(r)).subscribe(([s,o])=>{const[a,l]=CC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&Gt(t,"click").pipe(Mt(i),hp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new VC,c=(n=s.injector||n).get(zn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Ph(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Ph(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Ph(s,{environmentInjector:r,elementInjector:Jt.create({providers:[{provide:VC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Jt),L(zn),L(Kt),L(LH),L(mf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),UC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[HC]}),t})(),GC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),KC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),lE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,dC,fC,gC,Yp,kC,BC,UC,GC,lE,KC,eE,tE,nE,iE,rE,sE,oE,aE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Bn),v(Kt),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,LC,rg,ig]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=$t.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Lm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Jd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"-&gt;"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!")}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){let r=n.target,s=r.parentNode;if(null!==s&&"g"==s.nodeName){let o=s.getElementsByTagName("title")[0];if(null!==o){const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Bn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,dw,yw,Dw,Qc,pp,cu,JD,QD,lu,Ap],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let cE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n),o=this.attributeService.findAttribute("size",n);if(null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element){if("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef)null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close();else{null!=o&&console.log(o.value);let a=null;a=null!=o?{ariaLabelledBy:"modal-basic-title",size:o.value}:{ariaLabelledBy:"modal-basic-title"},this.modalRef=this.modalService.open(this.content,a),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(l=>{if(this.closeResult=`Closed with: ${l}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}this.modalRef=null},l=>{if(this.closeResult=`Dismissed ${this.getDismissReason(l)}`,null!=this.element)for(let c=0;c<this.element.attributes.length;c++){let u=this.element.attributes[c];("shown"==u.key||"visible"==u.key)&&(u.value="hidden")}null!=this.element&&this.modalRefService.removeModalByKey(this.element.id),this.modalRef=null})}this.cd.detectChanges()}}getDismissReason(n){return n===Wa.ESC?"by pressing ESC":n===Wa.BACKDROP_CLICK?"by clicking on a backdrop":`with: ${n}`}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(gt),v(Tn),v(Xt),v(HC),v(lD))},e.\u0275cmp=et({type:e,selectors:[["app-modal"]],viewQuery:function(n,r){if(1&n&&(at(kU,5,Cn),at(LU,5,nt)),2&n){let s;se(s=oe())&&(r.child=s.first),se(s=oe())&&(r.content=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["content",""],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"element","parentLayout"]],template:function(n,r){1&n&&B(0,BU,6,3,"ng-template",null,0,En)}}),t})(),VU=(()=>{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:cD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:cE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Su=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Xt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r<n.attributes.length;r++){let s=n.attributes[r].value;s=this.stringSanitizer(s),n.attributes[r].value=s;let o=n.attributes[r].key;o=this.stringSanitizer(o),n.attributes[r].key=o,"image"!=o&&(s=s.replace("\\n","<br>"))}for(let r=0;r<n.when.length;r++){void 0!==n.when[r].event&&(n.when[r].actionType=n.when[r].event),void 0!==n.when[r].interaction_type&&(n.when[r].interactionType=n.when[r].interaction_type);let s=n.when[r].policy;s=this.stringSanitizer(s),n.when[r].policy=s;let o=n.when[r].actionType;o=this.stringSanitizer(o),n.when[r].actionType=o;let a=n.when[r].interactionType;a=this.stringSanitizer(a),n.when[r].interactionType=a}n.children.forEach(r=>{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Su),v(Tn),v(gt),v(Bn),v(Xt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Bn),v(Fi),v(Tn),v(Xt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){$t.injector.get(Xt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Bn),v(gt),v(Xt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,$t.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Jt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:D1,useFactory:sj,deps:[aD],multi:!0}],imports:[Hk,QL,JL,yb,v2,oU,Yp]}),t})();(function zg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(cE,[cD],[]),Bk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,qt)=>{"use strict";qt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},qt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct<en;Ct+=4)le=$[Z.charCodeAt(Ct)]<<18|$[Z.charCodeAt(Ct+1)]<<12|$[Z.charCodeAt(Ct+2)]<<6|$[Z.charCodeAt(Ct+3)],xe[It++]=le>>16&255,xe[It++]=le>>8&255,xe[It++]=255&le;return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},qt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;It<en;It+=16383)Ke.push(dt(Z,It,It+16383>en?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe<be;xe+=3)Ke.push(He((Z[xe]<<16&16711680)+(Z[xe+1]<<8&65280)+(255&Z[xe+2])));return Ke.join("")}$["-".charCodeAt(0)]=62,$["_".charCodeAt(0)]=63},7:(_i,qt,Be)=>{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;qt.lW=M,qt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m<d;m+=1)f[m]=255&p[m];return f}function Qe(p,d,f){if(d<0||p.byteLength<d)throw new RangeError('"offset" is outside of buffer bounds');if(p.byteLength<d+(f||0))throw new RangeError('"length" is outside of buffer bounds');var m;return m=void 0===d&&void 0===f?new Uint8Array(p):void 0===f?new Uint8Array(p,d):new Uint8Array(p,d,f),Object.setPrototypeOf(m,M.prototype),m}function xe(p){if(p>=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;Ce<N;Ce++)if(he(p,Ce)===he(d,-1===rt?0:Ce-rt)){if(-1===rt&&(rt=Ce),Ce-rt+1===q)return rt*I}else-1!==rt&&(Ce-=Ce-rt),rt=-1}else for(f+q>N&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xe<q;Xe++)if(he(p,Ce+Xe)!==he(d,Xe)){Le=!1;break}if(Le)return Ce}return-1}function vi(p,d,f,m){f=Number(f)||0;var w=p.length-f;m?(m=Number(m))>w&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N<m;++N){var q=parseInt(d.substr(2*N,2),16);if(S(q))return N;p[f+N]=q}return N}function vo(p,d,f,m){return Qi(Zi(d,p.length-f),p,f,m)}function vr(p,d,f,m){return Qi(function Ja(p){for(var d=[],f=0;f<p.length;++f)d.push(255&p.charCodeAt(f));return d}(d),p,f,m)}function rs(p,d,f,m){return Qi(Ji(d),p,f,m)}function yr(p,d,f,m){return Qi(function Dr(p,d){for(var f,m,I=[],N=0;N<p.length&&!((d-=2)<0);++N)m=(f=p.charCodeAt(N))>>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w<f;){var he,Ce,rt,Le,I=p[w],N=null,q=I>239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;m<d;)f+=String.fromCharCode.apply(String,p.slice(m,m+=br));return f}(m)}!(M.TYPED_ARRAY_SUPPORT=function ye(){try{var p=new Uint8Array(1),d={foo:function(){return 42}};return Object.setPrototypeOf(d,Uint8Array.prototype),Object.setPrototypeOf(p,d),42===p.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}}),Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}}),M.poolSize=8192,M.from=function(p,d,f){return ut(p,d,f)},Object.setPrototypeOf(M.prototype,Uint8Array.prototype),Object.setPrototypeOf(M,Uint8Array),M.alloc=function(p,d,f){return function dt(p,d,f){return He(p),p<=0?Ve(p):void 0!==d?"string"==typeof f?Ve(p).fill(d,f):Ve(p).fill(d):Ve(p)}(p,d,f)},M.allocUnsafe=function(p){return wt(p)},M.allocUnsafeSlow=function(p){return wt(p)},M.isBuffer=function(d){return null!=d&&!0===d._isBuffer&&d!==M.prototype},M.compare=function(d,f){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),tn(f,Uint8Array)&&(f=M.from(f,f.offset,f.byteLength)),!M.isBuffer(d)||!M.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(d===f)return 0;for(var m=d.length,w=f.length,I=0,N=Math.min(m,w);I<N;++I)if(d[I]!==f[I]){m=d[I],w=f[I];break}return m<w?-1:w<m?1:0},M.isEncoding=function(d){switch(String(d).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},M.concat=function(d,f){if(!Array.isArray(d))throw new TypeError('"list" argument must be an Array of Buffers');if(0===d.length)return M.alloc(0);var m;if(void 0===f)for(f=0,m=0;m<d.length;++m)f+=d[m].length;var w=M.allocUnsafe(f),I=0;for(m=0;m<d.length;++m){var N=d[m];if(tn(N,Uint8Array))I+N.length>w.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;f<d;f+=2)Et(this,f,f+1);return this},M.prototype.swap32=function(){var d=this.length;if(d%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var f=0;f<d;f+=4)Et(this,f,f+3),Et(this,f+1,f+2);return this},M.prototype.swap64=function(){var d=this.length;if(d%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var f=0;f<d;f+=8)Et(this,f,f+7),Et(this,f+1,f+6),Et(this,f+2,f+5),Et(this,f+3,f+4);return this},M.prototype.toLocaleString=M.prototype.toString=function(){var d=this.length;return 0===d?"":0===arguments.length?yo(this,0,d):Ct.apply(this,arguments)},M.prototype.equals=function(d){if(!M.isBuffer(d))throw new TypeError("Argument must be a Buffer");return this===d||0===M.compare(this,d)},M.prototype.inspect=function(){var d="",f=qt.h2;return d=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(d+=" ... "),"<Buffer "+d+">"},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le<he;++Le)if(Ce[Le]!==rt[Le]){N=Ce[Le],q=rt[Le];break}return N<q?-1:q<N?1:0},M.prototype.includes=function(d,f,m){return-1!==this.indexOf(d,f,m)},M.prototype.indexOf=function(d,f,m){return mr(this,d,f,m,!0)},M.prototype.lastIndexOf=function(d,f,m){return mr(this,d,f,m,!1)},M.prototype.write=function(d,f,m,w){if(void 0===f)w="utf8",m=this.length,f=0;else if(void 0===m&&"string"==typeof f)w=f,m=this.length,f=0;else{if(!isFinite(f))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");f>>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(127&p[w]);return m}function os(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(p[w]);return m}function bo(p,d,f){var m=p.length;(!d||d<0)&&(d=0),(!f||f<0||f>m)&&(f=m);for(var w="",I=d;I<f;++I)w+=E[p[I]];return w}function as(p,d,f){for(var m=p.slice(d,f),w="",I=0;I<m.length-1;I+=2)w+=String.fromCharCode(m[I]+256*m[I+1]);return w}function ee(p,d,f){if(p%1!=0||p<0)throw new RangeError("offset is not uint");if(p+d>f)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||d<I)throw new RangeError('"value" argument is out of bounds');if(f+m>p.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f<d&&(f=d);var w=this.subarray(d,f);return Object.setPrototypeOf(w,M.prototype),w},M.prototype.readUintLE=M.prototype.readUIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w},M.prototype.readUintBE=M.prototype.readUIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w>=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q<m&&(N*=256);)this[f+q]=d/N&255;return f+m},M.prototype.writeUintBE=M.prototype.writeUIntBE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N<m&&(q*=256);)d<0&&0===he&&0!==this[f+N-1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w<m&&(w=m),w===m||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(m<0||m>=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f<w-m&&(w=d.length-f+m);var I=w-m;return this===d&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(f,m,w):Uint8Array.prototype.set.call(d,this.subarray(m,w),f),I},M.prototype.fill=function(d,f,m,w){if("string"==typeof d){if("string"==typeof f?(w=f,f=0,m=this.length):"string"==typeof m&&(w=m,m=this.length),void 0!==w&&"string"!=typeof w)throw new TypeError("encoding must be a string");if("string"==typeof w&&!M.isEncoding(w))throw new TypeError("Unknown encoding: "+w);if(1===d.length){var I=d.charCodeAt(0);("utf8"===w&&I<128||"latin1"===w)&&(d=I)}}else"number"==typeof d?d&=255:"boolean"==typeof d&&(d=Number(d));if(f<0||this.length<f||this.length<m)throw new RangeError("Out of range index");if(m<=f)return this;var N;if(f>>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N<m;++N)this[N]=d;else{var q=M.isBuffer(d)?d:M.from(d,w),he=q.length;if(0===he)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(N=0;N<m-f;++N)this[N+f]=q[N%he]}return this};var cs=/[^+/0-9A-Za-z-_]/g;function Zi(p,d){d=d||1/0;for(var f,m=p.length,w=null,I=[],N=0;N<m;++N){if((f=p.charCodeAt(N))>55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w<m&&!(w+f>=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,qt)=>{qt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<<Ve)-1,ut=M>>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},qt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<<ut)-1,dt=He>>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<<ke|Ve,ut+=ke;ut>0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d<S.length;d++)p+=E[d-1]+tn(S[d],S.raw[d]);return p},Qi=":";function tn(S,E){return E.charAt(0)===Qi?S.substring(function as(S,E){for(let p=1,d=1;p<S.length;p++,d++)if("\\"===E[d])d++;else if(S[p]===_i)return p;throw new Error(`Unterminated $localize metadata block in "${E}".`)}(S,E)+1):S}globalThis.$localize=Ji}},_i=>{var qt=$=>_i(_i.s=$);qt(614),qt(362)}]);
\ No newline at end of file
diff --git a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js b/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js
deleted file mode 100644
index f2d598b0..00000000
--- a/clinguin/client/presentation/frontends/angular_frontend/clinguin_angular_frontend/main.68af7957abc58eb3.js
+++ /dev/null
@@ -1,1 +0,0 @@
-(self.webpackChunkClinGraphViz=self.webpackChunkClinGraphViz||[]).push([[179],{362:(_i,Wt,Be)=>{"use strict";function $(e){return"function"==typeof e}function ct(e){const i=e(n=>{Error.call(n),n.stack=(new Error).stack});return i.prototype=Object.create(Error.prototype),i.prototype.constructor=i,i}const Je=ct(e=>function(i){e(this),this.message=i?`${i.length} errors occurred during unsubscription:\n${i.map((n,r)=>`${r+1}) ${n.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=i});function ke(e,t){if(e){const i=e.indexOf(t);0<=i&&e.splice(i,1)}}class de{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:i}=this;if(i)if(this._parentage=null,Array.isArray(i))for(const s of i)s.remove(this);else i.remove(this);const{initialTeardown:n}=this;if($(n))try{n()}catch(s){t=s instanceof Je?s.errors:[s]}const{_finalizers:r}=this;if(r){this._finalizers=null;for(const s of r)try{M(s)}catch(o){t=t??[],o instanceof Je?t=[...t,...o.errors]:t.push(o)}}if(t)throw new Je(t)}}add(t){var i;if(t&&t!==this)if(this.closed)M(t);else{if(t instanceof de){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(i=this._finalizers)&&void 0!==i?i:[]).push(t)}}_hasParent(t){const{_parentage:i}=this;return i===t||Array.isArray(i)&&i.includes(t)}_addParent(t){const{_parentage:i}=this;this._parentage=Array.isArray(i)?(i.push(t),i):i?[i,t]:t}_removeParent(t){const{_parentage:i}=this;i===t?this._parentage=null:Array.isArray(i)&&ke(i,t)}remove(t){const{_finalizers:i}=this;i&&ke(i,t),t instanceof de&&t._removeParent(this)}}de.EMPTY=(()=>{const e=new de;return e.closed=!0,e})();const ye=de.EMPTY;function Ve(e){return e instanceof de||e&&"closed"in e&&$(e.remove)&&$(e.add)&&$(e.unsubscribe)}function M(e){$(e)?e():e.unsubscribe()}const ut={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},He={setTimeout(e,t,...i){const{delegate:n}=He;return n?.setTimeout?n.setTimeout(e,t,...i):setTimeout(e,t,...i)},clearTimeout(e){const{delegate:t}=He;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function dt(e){He.setTimeout(()=>{const{onUnhandledError:t}=ut;if(!t)throw e;t(e)})}function wt(){}const Z=Qe("C",void 0,void 0);function Qe(e,t,i){return{kind:e,value:t,error:i}}let Ke=null;function xe(e){if(ut.useDeprecatedSynchronousErrorHandling){const t=!Ke;if(t&&(Ke={errorThrown:!1,error:null}),e(),t){const{errorThrown:i,error:n}=Ke;if(Ke=null,i)throw n}}else e()}class en extends de{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Ve(t)&&t.add(this)):this.destination=rs}static create(t,i,n){return new mi(t,i,n)}next(t){this.isStopped?vr(function be(e){return Qe("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?vr(function le(e){return Qe("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?vr(Z,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ct=Function.prototype.bind;function Et(e,t){return Ct.call(e,t)}class mr{constructor(t){this.partialObserver=t}next(t){const{partialObserver:i}=this;if(i.next)try{i.next(t)}catch(n){vi(n)}}error(t){const{partialObserver:i}=this;if(i.error)try{i.error(t)}catch(n){vi(n)}else vi(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(i){vi(i)}}}class mi extends en{constructor(t,i,n){let r;if(super(),$(t)||!t)r={next:t??void 0,error:i??void 0,complete:n??void 0};else{let s;this&&ut.useDeprecatedNextContext?(s=Object.create(t),s.unsubscribe=()=>this.unsubscribe(),r={next:t.next&&Et(t.next,s),error:t.error&&Et(t.error,s),complete:t.complete&&Et(t.complete,s)}):r=t}this.destination=new mr(r)}}function vi(e){ut.useDeprecatedSynchronousErrorHandling?function It(e){ut.useDeprecatedSynchronousErrorHandling&&Ke&&(Ke.errorThrown=!0,Ke.error=e)}(e):dt(e)}function vr(e,t){const{onStoppedNotification:i}=ut;i&&He.setTimeout(()=>i(e,t))}const rs={closed:!0,next:wt,error:function vo(e){throw e},complete:wt},yr="function"==typeof Symbol&&Symbol.observable||"@@observable";function yi(e){return e}let ze=(()=>{class e{constructor(i){i&&(this._subscribe=i)}lift(i){const n=new e;return n.source=this,n.operator=i,n}subscribe(i,n,r){const s=function bo(e){return e&&e instanceof en||function os(e){return e&&$(e.next)&&$(e.error)&&$(e.complete)}(e)&&Ve(e)}(i)?i:new mi(i,n,r);return xe(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(i){try{return this._subscribe(i)}catch(n){i.error(n)}}forEach(i,n){return new(n=ss(n))((r,s)=>{const o=new mi({next:a=>{try{i(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:r});this.subscribe(o)})}_subscribe(i){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(i)}[yr](){return this}pipe(...i){return function br(e){return 0===e.length?yi:1===e.length?e[0]:function(i){return e.reduce((n,r)=>r(n),i)}}(i)(this)}toPromise(i){return new(i=ss(i))((n,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>n(s))})}}return e.create=t=>new e(t),e})();function ss(e){var t;return null!==(t=e??ut.Promise)&&void 0!==t?t:Promise}const as=ct(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let ee=(()=>{class e extends ze{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(i){const n=new Rt(this,this);return n.operator=i,n}_throwIfClosed(){if(this.closed)throw new as}next(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(i)}})}error(i){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=i;const{observers:n}=this;for(;n.length;)n.shift().error(i)}})}complete(){xe(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:i}=this;for(;i.length;)i.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var i;return(null===(i=this.observers)||void 0===i?void 0:i.length)>0}_trySubscribe(i){return this._throwIfClosed(),super._trySubscribe(i)}_subscribe(i){return this._throwIfClosed(),this._checkFinalizedStatuses(i),this._innerSubscribe(i)}_innerSubscribe(i){const{hasError:n,isStopped:r,observers:s}=this;return n||r?ye:(this.currentObservers=null,s.push(i),new de(()=>{this.currentObservers=null,ke(s,i)}))}_checkFinalizedStatuses(i){const{hasError:n,thrownError:r,isStopped:s}=this;n?i.error(r):s&&i.complete()}asObservable(){const i=new ze;return i.source=this,i}}return e.create=(t,i)=>new Rt(t,i),e})();class Rt extends ee{constructor(t,i){super(),this.destination=t,this.source=i}next(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.next)||void 0===n||n.call(i,t)}error(t){var i,n;null===(n=null===(i=this.destination)||void 0===i?void 0:i.error)||void 0===n||n.call(i,t)}complete(){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===i||i.call(t)}_subscribe(t){var i,n;return null!==(n=null===(i=this.source)||void 0===i?void 0:i.subscribe(t))&&void 0!==n?n:ye}}function mt(e){return t=>{if(function ls(e){return $(e?.lift)}(t))return t.lift(function(i){try{return e(i,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function ft(e,t,i,n,r){return new cs(e,t,i,n,r)}class cs extends en{constructor(t,i,n,r,s,o){super(t),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=i?function(a){try{i(a)}catch(l){t.error(l)}}:super._next,this._error=r?function(a){try{r(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:i}=this;super.unsubscribe(),!i&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function Pt(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>{n.next(e.call(t,s,r++))}))})}function Xe(e){return this instanceof Xe?(this.v=e,this):new Xe(e)}function Ki(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function q(e){var t="function"==typeof Symbol&&Symbol.iterator,i=t&&e[t],n=0;if(i)return i.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),i={},n("next"),n("throw"),n("return"),i[Symbol.asyncIterator]=function(){return this},i);function n(s){i[s]=e[s]&&function(o){return new Promise(function(a,l){!function r(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=e[s](o)).done,o.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Fu=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function dg(e){return $(e?.then)}function fg(e){return $(e[yr])}function hg(e){return Symbol.asyncIterator&&$(e?.[Symbol.asyncIterator])}function pg(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const gg=function SE(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function _g(e){return $(e?.[gg])}function mg(e){return function bi(e,t,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,n=i.apply(e,t||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(g){n[g]&&(r[g]=function(_){return new Promise(function(y,b){s.push([g,_,y,b])>1||a(g,_)})})}function a(g,_){try{!function l(g){g.value instanceof Xe?Promise.resolve(g.value.v).then(c,u):h(s[0][2],g)}(n[g](_))}catch(y){h(s[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function h(g,_){g(_),s.shift(),s.length&&a(s[0][0],s[0][1])}}(this,arguments,function*(){const i=e.getReader();try{for(;;){const{value:n,done:r}=yield Xe(i.read());if(r)return yield Xe(void 0);yield yield Xe(n)}}finally{i.releaseLock()}})}function vg(e){return $(e?.getReader)}function Ft(e){if(e instanceof ze)return e;if(null!=e){if(fg(e))return function TE(e){return new ze(t=>{const i=e[yr]();if($(i.subscribe))return i.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Fu(e))return function ME(e){return new ze(t=>{for(let i=0;i<e.length&&!t.closed;i++)t.next(e[i]);t.complete()})}(e);if(dg(e))return function IE(e){return new ze(t=>{e.then(i=>{t.closed||(t.next(i),t.complete())},i=>t.error(i)).then(null,dt)})}(e);if(hg(e))return yg(e);if(_g(e))return function NE(e){return new ze(t=>{for(const i of e)if(t.next(i),t.closed)return;t.complete()})}(e);if(vg(e))return function AE(e){return yg(mg(e))}(e)}throw pg(e)}function yg(e){return new ze(t=>{(function OE(e,t){var i,n,r,s;return function m(e,t,i,n){return new(i||(i=Promise))(function(s,o){function a(u){try{c(n.next(u))}catch(h){o(h)}}function l(u){try{c(n.throw(u))}catch(h){o(h)}}function c(u){u.done?s(u.value):function r(s){return s instanceof i?s:new i(function(o){o(s)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(i=Ki(e);!(n=yield i.next()).done;)if(t.next(n.value),t.closed)return}catch(o){r={error:o}}finally{try{n&&!n.done&&(s=i.return)&&(yield s.call(i))}finally{if(r)throw r.error}}t.complete()})})(e,t).catch(i=>t.error(i))})}function Xi(e,t,i,n=0,r=!1){const s=t.schedule(function(){i(),r?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!r)return s}function us(e,t,i=1/0){return $(t)?us((n,r)=>Pt((s,o)=>t(n,s,r,o))(Ft(e(n,r))),i):("number"==typeof t&&(i=t),mt((n,r)=>function xE(e,t,i,n,r,s,o,a){const l=[];let c=0,u=0,h=!1;const g=()=>{h&&!l.length&&!c&&t.complete()},_=b=>c<n?y(b):l.push(b),y=b=>{s&&t.next(b),c++;let D=!1;Ft(i(b,u++)).subscribe(ft(t,T=>{r?.(T),s?_(T):t.next(T)},()=>{D=!0},void 0,()=>{if(D)try{for(c--;l.length&&c<n;){const T=l.shift();o?Xi(t,o,()=>y(T)):y(T)}g()}catch(T){t.error(T)}}))};return e.subscribe(ft(t,_,()=>{h=!0,g()})),()=>{a?.()}}(n,r,e,i)))}function bg(e=1/0){return us(yi,e)}const Do=new ze(e=>e.complete());function Dg(e){return e&&$(e.schedule)}function ku(e){return e[e.length-1]}function Lu(e){return $(ku(e))?e.pop():void 0}function Qa(e){return Dg(ku(e))?e.pop():void 0}function wg(e,t=0){return mt((i,n)=>{i.subscribe(ft(n,r=>Xi(n,e,()=>n.next(r),t),()=>Xi(n,e,()=>n.complete(),t),r=>Xi(n,e,()=>n.error(r),t)))})}function Cg(e,t=0){return mt((i,n)=>{n.add(e.schedule(()=>i.subscribe(n),t))})}function Eg(e,t){if(!e)throw new Error("Iterable cannot be null");return new ze(i=>{Xi(i,t,()=>{const n=e[Symbol.asyncIterator]();Xi(i,t,()=>{n.next().then(r=>{r.done?i.complete():i.next(r.value)})},0,!0)})})}function wo(e,t){return t?function HE(e,t){if(null!=e){if(fg(e))return function FE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(Fu(e))return function LE(e,t){return new ze(i=>{let n=0;return t.schedule(function(){n===e.length?i.complete():(i.next(e[n++]),i.closed||this.schedule())})})}(e,t);if(dg(e))return function kE(e,t){return Ft(e).pipe(Cg(t),wg(t))}(e,t);if(hg(e))return Eg(e,t);if(_g(e))return function BE(e,t){return new ze(i=>{let n;return Xi(i,t,()=>{n=e[gg](),Xi(i,t,()=>{let r,s;try{({value:r,done:s}=n.next())}catch(o){return void i.error(o)}s?i.complete():i.next(r)},0,!0)}),()=>$(n?.return)&&n.return()})}(e,t);if(vg(e))return function VE(e,t){return Eg(mg(e),t)}(e,t)}throw pg(e)}(e,t):Ft(e)}class UE extends ee{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const i=super._subscribe(t);return!i.closed&&t.next(this._value),i}getValue(){const{hasError:t,thrownError:i,_value:n}=this;if(t)throw i;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function ds(...e){return wo(e,Qa(e))}function Tg(e={}){const{connector:t=(()=>new ee),resetOnError:i=!0,resetOnComplete:n=!0,resetOnRefCountZero:r=!0}=e;return s=>{let o,a,l,c=0,u=!1,h=!1;const g=()=>{a?.unsubscribe(),a=void 0},_=()=>{g(),o=l=void 0,u=h=!1},y=()=>{const b=o;_(),b?.unsubscribe()};return mt((b,D)=>{c++,!h&&!u&&g();const T=l=l??t();D.add(()=>{c--,0===c&&!h&&!u&&(a=Bu(y,r))}),T.subscribe(D),!o&&c>0&&(o=new mi({next:C=>T.next(C),error:C=>{h=!0,g(),a=Bu(_,i,C),T.error(C)},complete:()=>{u=!0,g(),a=Bu(_,n),T.complete()}}),Ft(b).subscribe(o))})(s)}}function Bu(e,t,...i){if(!0===t)return void e();if(!1===t)return;const n=new mi({next:()=>{n.unsubscribe(),e()}});return Ft(t(...i)).subscribe(n)}function Vu(e,t){return mt((i,n)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&n.complete();i.subscribe(ft(n,l=>{r?.unsubscribe();let c=0;const u=s++;Ft(e(l,u)).subscribe(r=ft(n,h=>n.next(t?t(l,h,u,c++):h),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function jE(e,t){return e===t}function Re(e){for(let t in e)if(e[t]===Re)return t;throw Error("Could not find renamed property on target object.")}function Ka(e,t){for(const i in t)t.hasOwnProperty(i)&&!e.hasOwnProperty(i)&&(e[i]=t[i])}function Nt(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(Nt).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const i=t.indexOf("\n");return-1===i?t:t.substring(0,i)}function Hu(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const $E=Re({__forward_ref__:Re});function ae(e){return e.__forward_ref__=ae,e.toString=function(){return Nt(this())},e}function X(e){return Uu(e)?e():e}function Uu(e){return"function"==typeof e&&e.hasOwnProperty($E)&&e.__forward_ref__===ae}function ju(e){return e&&!!e.\u0275providers}const Ig="https://g.co/ng/security#xss";class F extends Error{constructor(t,i){super(function Xa(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,i)),this.code=t}}function te(e){return"string"==typeof e?e:null==e?"":String(e)}function $u(e,t){throw new F(-201,!1)}function jn(e,t){null==e&&function Q(e,t,i,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${i} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function G(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Ae(e){return{providers:e.providers||[],imports:e.imports||[]}}function el(e){return Ng(e,nl)||Ng(e,Ag)}function Ng(e,t){return e.hasOwnProperty(t)?e[t]:null}function tl(e){return e&&(e.hasOwnProperty(Gu)||e.hasOwnProperty(JE))?e[Gu]:null}const nl=Re({\u0275prov:Re}),Gu=Re({\u0275inj:Re}),Ag=Re({ngInjectableDef:Re}),JE=Re({ngInjectorDef:Re});var ge=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(ge||{});let zu;function _n(e){const t=zu;return zu=e,t}function xg(e,t,i){const n=el(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:i&ge.Optional?null:void 0!==t?t:void $u(Nt(e))}const Ue=globalThis,Co={},Ju="__NG_DI_FLAG__",il="ngTempTokenPath",XE=/\n/gm,Pg="__source";let fs;function er(e){const t=fs;return fs=e,t}function nS(e,t=ge.Default){if(void 0===fs)throw new F(-203,!1);return null===fs?xg(e,void 0,t):fs.get(e,t&ge.Optional?null:void 0,t)}function L(e,t=ge.Default){return(function Og(){return zu}()||nS)(X(e),t)}function fe(e,t=ge.Default){return L(e,rl(t))}function rl(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Qu(e){const t=[];for(let i=0;i<e.length;i++){const n=X(e[i]);if(Array.isArray(n)){if(0===n.length)throw new F(900,!1);let r,s=ge.Default;for(let o=0;o<n.length;o++){const a=n[o],l=iS(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}t.push(L(r,s))}else t.push(L(n))}return t}function Eo(e,t){return e[Ju]=t,e.prototype[Ju]=t,e}function iS(e){return e[Ju]}function Bi(e){return{toString:e}.toString()}var sl=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(sl||{}),ei=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(ei||{});const Di={},Ee=[],ol=Re({\u0275cmp:Re}),Ku=Re({\u0275dir:Re}),Xu=Re({\u0275pipe:Re}),kg=Re({\u0275mod:Re}),Vi=Re({\u0275fac:Re}),So=Re({__NG_ELEMENT_ID__:Re}),Lg=Re({__NG_ENV_ID__:Re});function Bg(e,t,i){let n=e.length;for(;;){const r=e.indexOf(t,i);if(-1===r)return r;if(0===r||e.charCodeAt(r-1)<=32){const s=t.length;if(r+s===n||e.charCodeAt(r+s)<=32)return r}i=r+1}}function ed(e,t,i){let n=0;for(;n<i.length;){const r=i[n];if("number"==typeof r){if(0!==r)break;n++;const s=i[n++],o=i[n++],a=i[n++];e.setAttribute(t,o,a,s)}else{const s=r,o=i[++n];Hg(s)?e.setProperty(t,s,o):e.setAttribute(t,s,o),n++}}return n}function Vg(e){return 3===e||4===e||6===e}function Hg(e){return 64===e.charCodeAt(0)}function To(e,t){if(null!==t&&0!==t.length)if(null===e||0===e.length)e=t.slice();else{let i=-1;for(let n=0;n<t.length;n++){const r=t[n];"number"==typeof r?i=r:0===i||Ug(e,i,r,null,-1===i||2===i?t[++n]:null)}}return e}function Ug(e,t,i,n,r){let s=0,o=e.length;if(-1===t)o=-1;else for(;s<e.length;){const a=e[s++];if("number"==typeof a){if(a===t){o=-1;break}if(a>t){o=s-1;break}}}for(;s<e.length;){const a=e[s];if("number"==typeof a)break;if(a===i){if(null===n)return void(null!==r&&(e[s+1]=r));if(n===e[s+1])return void(e[s+2]=r)}s++,null!==n&&s++,null!==r&&s++}-1!==o&&(e.splice(o,0,t),s=o+1),e.splice(s++,0,i),null!==n&&e.splice(s++,0,n),null!==r&&e.splice(s++,0,r)}const jg="ng-template";function oS(e,t,i){let n=0,r=!0;for(;n<e.length;){let s=e[n++];if("string"==typeof s&&r){const o=e[n++];if(i&&"class"===s&&-1!==Bg(o.toLowerCase(),t,0))return!0}else{if(1===s){for(;n<e.length&&"string"==typeof(s=e[n++]);)if(s.toLowerCase()===t)return!0;return!1}"number"==typeof s&&(r=!1)}}return!1}function $g(e){return 4===e.type&&e.value!==jg}function aS(e,t,i){return t===(4!==e.type||i?e.value:jg)}function lS(e,t,i){let n=4;const r=e.attrs||[],s=function dS(e){for(let t=0;t<e.length;t++)if(Vg(e[t]))return t;return e.length}(r);let o=!1;for(let a=0;a<t.length;a++){const l=t[a];if("number"!=typeof l){if(!o)if(4&n){if(n=2|1&n,""!==l&&!aS(e,l,i)||""===l&&1===t.length){if(ti(n))return!1;o=!0}}else{const c=8&n?l:t[++a];if(8&n&&null!==e.attrs){if(!oS(e.attrs,c,i)){if(ti(n))return!1;o=!0}continue}const h=cS(8&n?"class":l,r,$g(e),i);if(-1===h){if(ti(n))return!1;o=!0;continue}if(""!==c){let g;g=h>s?"":r[h+1].toLowerCase();const _=8&n?g:null;if(_&&-1!==Bg(_,c,0)||2&n&&c!==g){if(ti(n))return!1;o=!0}}}}else{if(!o&&!ti(n)&&!ti(l))return!1;if(o&&ti(l))continue;o=!1,n=l|1&n}}return ti(n)||o}function ti(e){return 0==(1&e)}function cS(e,t,i,n){if(null===t)return-1;let r=0;if(n||!i){let s=!1;for(;r<t.length;){const o=t[r];if(o===e)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=t[++r];for(;"string"==typeof a;)a=t[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function fS(e,t){let i=e.indexOf(4);if(i>-1)for(i++;i<e.length;){const n=e[i];if("number"==typeof n)return-1;if(n===t)return i;i++}return-1}(t,e)}function Gg(e,t,i=!1){for(let n=0;n<t.length;n++)if(lS(e,t[n],i))return!0;return!1}function hS(e,t){e:for(let i=0;i<t.length;i++){const n=t[i];if(e.length===n.length){for(let r=0;r<e.length;r++)if(e[r]!==n[r])continue e;return!0}}return!1}function zg(e,t){return e?":not("+t.trim()+")":t}function pS(e){let t=e[0],i=1,n=2,r="",s=!1;for(;i<e.length;){let o=e[i];if("string"==typeof o)if(2&n){const a=e[++i];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&n?r+="."+o:4&n&&(r+=" "+o);else""!==r&&!ti(o)&&(t+=zg(s,r),r=""),n=o,s=s||!ti(n);i++}return""!==r&&(t+=zg(s,r)),t}function et(e){return Bi(()=>{const t=Yg(e),i={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===sl.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||ei.Emulated,styles:e.styles||Ee,_:null,schemas:e.schemas||null,tView:null,id:""};Zg(i);const n=e.dependencies;return i.directiveDefs=al(n,!1),i.pipeDefs=al(n,!0),i.id=function DS(e){let t=0;const i=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,e.vars,e.decls,e.encapsulation,e.standalone,e.signals,e.exportAs,JSON.stringify(e.inputs),JSON.stringify(e.outputs),Object.getOwnPropertyNames(e.type.prototype),!!e.contentQueries,!!e.viewQuery].join("|");for(const r of i)t=Math.imul(31,t)+r.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(i),i})}function mS(e){return me(e)||Vt(e)}function vS(e){return null!==e}function Pe(e){return Bi(()=>({type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function qg(e,t){if(null==e)return Di;const i={};for(const n in e)if(e.hasOwnProperty(n)){let r=e[n],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),i[r]=n,t&&(t[r]=s)}return i}function k(e){return Bi(()=>{const t=Yg(e);return Zg(t),t})}function me(e){return e[ol]||null}function Vt(e){return e[Ku]||null}function nn(e){return e[Xu]||null}function Yg(e){const t={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:t,inputTransforms:null,inputConfig:e.inputs||Di,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:qg(e.inputs,t),outputs:qg(e.outputs)}}function Zg(e){e.features?.forEach(t=>t(e))}function al(e,t){if(!e)return null;const i=t?nn:mS;return()=>("function"==typeof e?e():e).map(n=>i(n)).filter(vS)}const ht=0,H=1,ie=2,tt=3,ni=4,Io=5,qt=6,hs=7,vt=8,tr=9,ps=10,ne=11,No=12,Jg=13,gs=14,yt=15,Ao=16,_s=17,wi=18,Oo=19,Qg=20,nr=21,Hi=22,ll=23,cl=24,pe=25,td=1,Kg=2,Ci=7,ms=9,Ht=11;function vn(e){return Array.isArray(e)&&"object"==typeof e[td]}function rn(e){return Array.isArray(e)&&!0===e[td]}function nd(e){return 0!=(4&e.flags)}function Cr(e){return e.componentOffset>-1}function dl(e){return 1==(1&e.flags)}function ii(e){return!!e.template}function id(e){return 0!=(512&e[ie])}function Er(e,t){return e.hasOwnProperty(Vi)?e[Vi]:null}let MS=Ue.WeakRef??class TS{constructor(t){this.ref=t}deref(){return this.ref}},NS=0,Ei=null,fl=!1;function kt(e){const t=Ei;return Ei=e,t}class i_{constructor(){this.id=NS++,this.ref=function IS(e){return new MS(e)}(this),this.producers=new Map,this.consumers=new Map,this.trackingVersion=0,this.valueVersion=0}consumerPollProducersForChange(){for(const[t,i]of this.producers){const n=i.producerNode.deref();if(null!=n&&i.atTrackingVersion===this.trackingVersion){if(n.producerPollStatus(i.seenValueVersion))return!0}else this.producers.delete(t),n?.consumers.delete(this.id)}return!1}producerMayHaveChanged(){const t=fl;fl=!0;try{for(const[i,n]of this.consumers){const r=n.consumerNode.deref();null!=r&&r.trackingVersion===n.atTrackingVersion?r.onConsumerDependencyMayHaveChanged():(this.consumers.delete(i),r?.producers.delete(this.id))}}finally{fl=t}}producerAccessed(){if(fl)throw new Error("");if(null===Ei)return;let t=Ei.producers.get(this.id);void 0===t?(t={consumerNode:Ei.ref,producerNode:this.ref,seenValueVersion:this.valueVersion,atTrackingVersion:Ei.trackingVersion},Ei.producers.set(this.id,t),this.consumers.set(Ei.id,t)):(t.seenValueVersion=this.valueVersion,t.atTrackingVersion=Ei.trackingVersion)}get hasProducers(){return this.producers.size>0}get producerUpdatesAllowed(){return!1!==Ei?.consumerAllowSignalWrites}producerPollStatus(t){return this.valueVersion!==t||(this.onProducerUpdateValueVersion(),this.valueVersion!==t)}}let r_=null;const o_=()=>{};class RS extends i_{constructor(t,i,n){super(),this.watch=t,this.schedule=i,this.dirty=!1,this.cleanupFn=o_,this.registerOnCleanup=r=>{this.cleanupFn=r},this.consumerAllowSignalWrites=n}notify(){this.dirty||this.schedule(this),this.dirty=!0}onConsumerDependencyMayHaveChanged(){this.notify()}onProducerUpdateValueVersion(){}run(){if(this.dirty=!1,0!==this.trackingVersion&&!this.consumerPollProducersForChange())return;const t=kt(this);this.trackingVersion++;try{this.cleanupFn(),this.cleanupFn=o_,this.watch(this.registerOnCleanup)}finally{kt(t)}}cleanup(){this.cleanupFn()}}class PS{constructor(t,i,n){this.previousValue=t,this.currentValue=i,this.firstChange=n}isFirstChange(){return this.firstChange}}function sn(){return a_}function a_(e){return e.type.prototype.ngOnChanges&&(e.setInput=kS),FS}function FS(){const e=c_(this),t=e?.current;if(t){const i=e.previous;if(i===Di)e.previous=t;else for(let n in t)i[n]=t[n];e.current=null,this.ngOnChanges(t)}}function kS(e,t,i,n){const r=this.declaredInputs[i],s=c_(e)||function LS(e,t){return e[l_]=t}(e,{previous:Di,current:null}),o=s.current||(s.current={}),a=s.previous,l=a[r];o[r]=new PS(l&&l.currentValue,t,a===Di),e[n]=t}sn.ngInherit=!0;const l_="__ngSimpleChanges__";function c_(e){return e[l_]||null}const Si=function(e,t,i){};function We(e){for(;Array.isArray(e);)e=e[ht];return e}function gl(e,t){return We(t[e])}function yn(e,t){return We(t[e.index])}function f_(e,t){return e.data[t]}function On(e,t){const i=t[e];return vn(i)?i:i[ht]}function ir(e,t){return null==t?null:e[t]}function h_(e){e[_s]=0}function $S(e){1024&e[ie]||(e[ie]|=1024,g_(e,1))}function p_(e){1024&e[ie]&&(e[ie]&=-1025,g_(e,-1))}function g_(e,t){let i=e[tt];if(null===i)return;i[Io]+=t;let n=i;for(i=i[tt];null!==i&&(1===t&&1===n[Io]||-1===t&&0===n[Io]);)i[Io]+=t,n=i,i=i[tt]}const K={lFrame:T_(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function v_(){return K.bindingsEnabled}function ys(){return null!==K.skipHydrationRootTNode}function A(){return K.lFrame.lView}function ve(){return K.lFrame.tView}function on(e){return K.lFrame.contextLView=e,e[vt]}function an(e){return K.lFrame.contextLView=null,e}function Ut(){let e=y_();for(;null!==e&&64===e.type;)e=e.parent;return e}function y_(){return K.lFrame.currentTNode}function Ti(e,t){const i=K.lFrame;i.currentTNode=e,i.isParent=t}function ud(){return K.lFrame.isParent}function dd(){K.lFrame.isParent=!1}function bs(){return K.lFrame.bindingIndex++}function ji(e){const t=K.lFrame,i=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,i}function tT(e,t){const i=K.lFrame;i.bindingIndex=i.bindingRootIndex=e,fd(t)}function fd(e){K.lFrame.currentDirectiveIndex=e}function C_(){return K.lFrame.currentQueryIndex}function pd(e){K.lFrame.currentQueryIndex=e}function iT(e){const t=e[H];return 2===t.type?t.declTNode:1===t.type?e[qt]:null}function E_(e,t,i){if(i&ge.SkipSelf){let r=t,s=e;for(;!(r=r.parent,null!==r||i&ge.Host||(r=iT(s),null===r||(s=s[gs],10&r.type))););if(null===r)return!1;t=r,e=s}const n=K.lFrame=S_();return n.currentTNode=t,n.lView=e,!0}function gd(e){const t=S_(),i=e[H];K.lFrame=t,t.currentTNode=i.firstChild,t.lView=e,t.tView=i,t.contextLView=e,t.bindingIndex=i.bindingStartIndex,t.inI18n=!1}function S_(){const e=K.lFrame,t=null===e?null:e.child;return null===t?T_(e):t}function T_(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function M_(){const e=K.lFrame;return K.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const I_=M_;function _d(){const e=M_();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function cn(){return K.lFrame.selectedIndex}function Sr(e){K.lFrame.selectedIndex=e}function ot(){const e=K.lFrame;return f_(e.tView,e.selectedIndex)}let A_=!0;function _l(){return A_}function rr(e){A_=e}function ml(e,t){for(let i=t.directiveStart,n=t.directiveEnd;i<n;i++){const s=e.data[i].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(e.contentHooks??=[]).push(-i,o),a&&((e.contentHooks??=[]).push(i,a),(e.contentCheckHooks??=[]).push(i,a)),l&&(e.viewHooks??=[]).push(-i,l),c&&((e.viewHooks??=[]).push(i,c),(e.viewCheckHooks??=[]).push(i,c)),null!=u&&(e.destroyHooks??=[]).push(i,u)}}function vl(e,t,i){O_(e,t,3,i)}function yl(e,t,i,n){(3&e[ie])===i&&O_(e,t,i,n)}function md(e,t){let i=e[ie];(3&i)===t&&(i&=8191,i+=1,e[ie]=i)}function O_(e,t,i,n){const s=n??-1,o=t.length-1;let a=0;for(let l=void 0!==n?65535&e[_s]:0;l<o;l++)if("number"==typeof t[l+1]){if(a=t[l],null!=n&&a>=n)break}else t[l]<0&&(e[_s]+=65536),(a<s||-1==s)&&(dT(e,i,t,l),e[_s]=(4294901760&e[_s])+l+2),l++}function x_(e,t){Si(4,e,t);const i=kt(null);try{t.call(e)}finally{kt(i),Si(5,e,t)}}function dT(e,t,i,n){const r=i[n]<0,s=i[n+1],a=e[r?-i[n]:i[n]];r?e[ie]>>13<e[_s]>>16&&(3&e[ie])===t&&(e[ie]+=8192,x_(a,s)):x_(a,s)}const Ds=-1;class Po{constructor(t,i,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=i,this.injectImpl=n}}function yd(e){return e!==Ds}function Fo(e){return 32767&e}function ko(e,t){let i=function gT(e){return e>>16}(e),n=t;for(;i>0;)n=n[gs],i--;return n}let bd=!0;function bl(e){const t=bd;return bd=e,t}const R_=255,P_=5;let _T=0;const Mi={};function Dl(e,t){const i=F_(e,t);if(-1!==i)return i;const n=t[H];n.firstCreatePass&&(e.injectorIndex=t.length,Dd(n.data,e),Dd(t,null),Dd(n.blueprint,null));const r=wl(e,t),s=e.injectorIndex;if(yd(r)){const o=Fo(r),a=ko(r,t),l=a[H].data;for(let c=0;c<8;c++)t[s+c]=a[o+c]|l[o+c]}return t[s+8]=r,s}function Dd(e,t){e.push(0,0,0,0,0,0,0,0,t)}function F_(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function wl(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let i=0,n=null,r=t;for(;null!==r;){if(n=j_(r),null===n)return Ds;if(i++,r=r[gs],-1!==n.injectorIndex)return n.injectorIndex|i<<16}return Ds}function wd(e,t,i){!function mT(e,t,i){let n;"string"==typeof i?n=i.charCodeAt(0)||0:i.hasOwnProperty(So)&&(n=i[So]),null==n&&(n=i[So]=_T++);const r=n&R_;t.data[e+(r>>P_)]|=1<<r}(e,t,i)}function k_(e,t,i){if(i&ge.Optional||void 0!==e)return e;$u()}function L_(e,t,i,n){if(i&ge.Optional&&void 0===n&&(n=null),!(i&(ge.Self|ge.Host))){const r=e[tr],s=_n(void 0);try{return r?r.get(t,n,i&ge.Optional):xg(t,n,i&ge.Optional)}finally{_n(s)}}return k_(n,0,i)}function B_(e,t,i,n=ge.Default,r){if(null!==e){if(2048&t[ie]&&!(n&ge.Self)){const o=function CT(e,t,i,n,r){let s=e,o=t;for(;null!==s&&null!==o&&2048&o[ie]&&!(512&o[ie]);){const a=V_(s,o,i,n|ge.Self,Mi);if(a!==Mi)return a;let l=s.parent;if(!l){const c=o[Qg];if(c){const u=c.get(i,Mi,n);if(u!==Mi)return u}l=j_(o),o=o[gs]}s=l}return r}(e,t,i,n,Mi);if(o!==Mi)return o}const s=V_(e,t,i,n,Mi);if(s!==Mi)return s}return L_(t,i,n,r)}function V_(e,t,i,n,r){const s=function bT(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(So)?e[So]:void 0;return"number"==typeof t?t>=0?t&R_:wT:t}(i);if("function"==typeof s){if(!E_(t,e,n))return n&ge.Host?k_(r,0,n):L_(t,i,n,r);try{let o;if(o=s(n),null!=o||n&ge.Optional)return o;$u()}finally{I_()}}else if("number"==typeof s){let o=null,a=F_(e,t),l=Ds,c=n&ge.Host?t[yt][qt]:null;for((-1===a||n&ge.SkipSelf)&&(l=-1===a?wl(e,t):t[a+8],l!==Ds&&U_(n,!1)?(o=t[H],a=Fo(l),t=ko(l,t)):a=-1);-1!==a;){const u=t[H];if(H_(s,a,u.data)){const h=yT(a,t,i,o,n,c);if(h!==Mi)return h}l=t[a+8],l!==Ds&&U_(n,t[H].data[a+8]===c)&&H_(s,a,t)?(o=u,a=Fo(l),t=ko(l,t)):a=-1}}return r}function yT(e,t,i,n,r,s){const o=t[H],a=o.data[e+8],u=Cl(a,o,i,null==n?Cr(a)&&bd:n!=o&&0!=(3&a.type),r&ge.Host&&s===a);return null!==u?Tr(t,o,u,a):Mi}function Cl(e,t,i,n,r){const s=e.providerIndexes,o=t.data,a=1048575&s,l=e.directiveStart,u=s>>20,g=r?a+u:e.directiveEnd;for(let _=n?a:a+u;_<g;_++){const y=o[_];if(_<l&&i===y||_>=l&&y.type===i)return _}if(r){const _=o[l];if(_&&ii(_)&&_.type===i)return l}return null}function Tr(e,t,i,n){let r=e[i];const s=t.data;if(function fT(e){return e instanceof Po}(r)){const o=r;o.resolving&&function GE(e,t){const i=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new F(-200,`Circular dependency in DI detected for ${e}${i}`)}(function Ne(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():te(e)}(s[i]));const a=bl(o.canSeeViewProviders);o.resolving=!0;const c=o.injectImpl?_n(o.injectImpl):null;E_(e,n,ge.Default);try{r=e[i]=o.factory(void 0,s,e,n),t.firstCreatePass&&i>=n.directiveStart&&function uT(e,t,i){const{ngOnChanges:n,ngOnInit:r,ngDoCheck:s}=t.type.prototype;if(n){const o=a_(t);(i.preOrderHooks??=[]).push(e,o),(i.preOrderCheckHooks??=[]).push(e,o)}r&&(i.preOrderHooks??=[]).push(0-e,r),s&&((i.preOrderHooks??=[]).push(e,s),(i.preOrderCheckHooks??=[]).push(e,s))}(i,s[i],t)}finally{null!==c&&_n(c),bl(a),o.resolving=!1,I_()}}return r}function H_(e,t,i){return!!(i[t+(e>>P_)]&1<<e)}function U_(e,t){return!(e&ge.Self||e&ge.Host&&t)}class un{constructor(t,i){this._tNode=t,this._lView=i}get(t,i,n){return B_(this._tNode,this._lView,t,rl(n),i)}}function wT(){return new un(Ut(),A())}function St(e){return Bi(()=>{const t=e.prototype.constructor,i=t[Vi]||Cd(t),n=Object.prototype;let r=Object.getPrototypeOf(e.prototype).constructor;for(;r&&r!==n;){const s=r[Vi]||Cd(r);if(s&&s!==i)return s;r=Object.getPrototypeOf(r)}return s=>new s})}function Cd(e){return Uu(e)?()=>{const t=Cd(X(e));return t&&t()}:Er(e)}function j_(e){const t=e[H],i=t.type;return 2===i?t.declTNode:1===i?e[qt]:null}const Es="__parameters__";function Ts(e,t,i){return Bi(()=>{const n=function Ed(e){return function(...i){if(e){const n=e(...i);for(const r in n)this[r]=n[r]}}}(t);function r(...s){if(this instanceof r)return n.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const h=l.hasOwnProperty(Es)?l[Es]:Object.defineProperty(l,Es,{value:[]})[Es];for(;h.length<=u;)h.push(null);return(h[u]=h[u]||[]).push(o),l}}return i&&(r.prototype=Object.create(i.prototype)),r.prototype.ngMetadataName=e,r.annotationCls=r,r})}function Is(e,t){e.forEach(i=>Array.isArray(i)?Is(i,t):t(i))}function G_(e,t,i){t>=e.length?e.push(i):e.splice(t,0,i)}function El(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Vo(e,t){const i=[];for(let n=0;n<e;n++)i.push(t);return i}function xn(e,t,i){let n=Ns(e,t);return n>=0?e[1|n]=i:(n=~n,function AT(e,t,i,n){let r=e.length;if(r==t)e.push(i,n);else if(1===r)e.push(n,e[0]),e[0]=i;else{for(r--,e.push(e[r-1],e[r]);r>t;)e[r]=e[r-2],r--;e[t]=i,e[t+1]=n}}(e,n,t,i)),n}function Sd(e,t){const i=Ns(e,t);if(i>=0)return e[1|i]}function Ns(e,t){return function z_(e,t,i){let n=0,r=e.length>>i;for(;r!==n;){const s=n+(r-n>>1),o=e[s<<i];if(t===o)return s<<i;o>t?r=s:n=s+1}return~(r<<i)}(e,t,1)}const Md=Eo(Ts("Optional"),8),Id=Eo(Ts("SkipSelf"),4);function Al(e){return 128==(128&e.flags)}var sr=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(sr||{});const xd=new Map;let eM=0;const Pd="__ngContext__";function Yt(e,t){vn(t)?(e[Pd]=t[Oo],function nM(e){xd.set(e[Oo],e)}(t)):e[Pd]=t}let Fd;function kd(e,t){return Fd(e,t)}function jo(e){const t=e[tt];return rn(t)?t[tt]:t}function dm(e){return hm(e[No])}function fm(e){return hm(e[ni])}function hm(e){for(;null!==e&&!rn(e);)e=e[ni];return e}function xs(e,t,i,n,r){if(null!=n){let s,o=!1;rn(n)?s=n:vn(n)&&(o=!0,n=n[ht]);const a=We(n);0===e&&null!==i?null==r?mm(t,i,a):Mr(t,i,a,r||null,!0):1===e&&null!==i?Mr(t,i,a,r||null,!0):2===e?function Ll(e,t,i){const n=Fl(e,t);n&&function DM(e,t,i,n){e.removeChild(t,i,n)}(e,n,t,i)}(t,a,o):3===e&&t.destroyNode(a),null!=s&&function EM(e,t,i,n,r){const s=i[Ci];s!==We(i)&&xs(t,e,n,s,r);for(let a=Ht;a<i.length;a++){const l=i[a];Go(l[H],l,e,t,n,s)}}(t,e,s,i,r)}}function Rl(e,t,i){return e.createElement(t,i)}function gm(e,t){const i=e[ms],n=i.indexOf(t);p_(t),i.splice(n,1)}function Pl(e,t){if(e.length<=Ht)return;const i=Ht+t,n=e[i];if(n){const r=n[Ao];null!==r&&r!==e&&gm(r,n),t>0&&(e[i-1][ni]=n[ni]);const s=El(e,Ht+t);!function hM(e,t){Go(e,t,t[ne],2,null,null),t[ht]=null,t[qt]=null}(n[H],n);const o=s[wi];null!==o&&o.detachView(s[H]),n[tt]=null,n[ni]=null,n[ie]&=-129}return n}function Bd(e,t){if(!(256&t[ie])){const i=t[ne];t[ll]?.destroy(),t[cl]?.destroy(),i.destroyNode&&Go(e,t,i,3,null,null),function _M(e){let t=e[No];if(!t)return Vd(e[H],e);for(;t;){let i=null;if(vn(t))i=t[No];else{const n=t[Ht];n&&(i=n)}if(!i){for(;t&&!t[ni]&&t!==e;)vn(t)&&Vd(t[H],t),t=t[tt];null===t&&(t=e),vn(t)&&Vd(t[H],t),i=t&&t[ni]}t=i}}(t)}}function Vd(e,t){if(!(256&t[ie])){t[ie]&=-129,t[ie]|=256,function bM(e,t){let i;if(null!=e&&null!=(i=e.destroyHooks))for(let n=0;n<i.length;n+=2){const r=t[i[n]];if(!(r instanceof Po)){const s=i[n+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];Si(4,a,l);try{l.call(a)}finally{Si(5,a,l)}}else{Si(4,r,s);try{s.call(r)}finally{Si(5,r,s)}}}}}(e,t),function yM(e,t){const i=e.cleanup,n=t[hs];if(null!==i)for(let s=0;s<i.length-1;s+=2)if("string"==typeof i[s]){const o=i[s+3];o>=0?n[o]():n[-o].unsubscribe(),s+=2}else i[s].call(n[i[s+1]]);null!==n&&(t[hs]=null);const r=t[nr];if(null!==r){t[nr]=null;for(let s=0;s<r.length;s++)(0,r[s])()}}(e,t),1===t[H].type&&t[ne].destroy();const i=t[Ao];if(null!==i&&rn(t[tt])){i!==t[tt]&&gm(i,t);const n=t[wi];null!==n&&n.detachView(e)}!function iM(e){xd.delete(e[Oo])}(t)}}function Hd(e,t,i){return function _m(e,t,i){let n=t;for(;null!==n&&40&n.type;)n=(t=n).parent;if(null===n)return i[ht];{const{componentOffset:r}=n;if(r>-1){const{encapsulation:s}=e.data[n.directiveStart+r];if(s===ei.None||s===ei.Emulated)return null}return yn(n,i)}}(e,t.parent,i)}function Mr(e,t,i,n,r){e.insertBefore(t,i,n,r)}function mm(e,t,i){e.appendChild(t,i)}function vm(e,t,i,n,r){null!==n?Mr(e,t,i,n,r):mm(e,t,i)}function Fl(e,t){return e.parentNode(t)}function ym(e,t,i){return Dm(e,t,i)}let Ud,Bl,zd,Vl,Dm=function bm(e,t,i){return 40&e.type?yn(e,i):null};function kl(e,t,i,n){const r=Hd(e,n,t),s=t[ne],a=ym(n.parent||t[qt],n,t);if(null!=r)if(Array.isArray(i))for(let l=0;l<i.length;l++)vm(s,r,i[l],a,!1);else vm(s,r,i,a,!1);void 0!==Ud&&Ud(s,n,t,i,r)}function $o(e,t){if(null!==t){const i=t.type;if(3&i)return yn(t,e);if(4&i)return jd(-1,e[t.index]);if(8&i){const n=t.child;if(null!==n)return $o(e,n);{const r=e[t.index];return rn(r)?jd(-1,r):We(r)}}if(32&i)return kd(t,e)()||We(e[t.index]);{const n=Cm(e,t);return null!==n?Array.isArray(n)?n[0]:$o(jo(e[yt]),n):$o(e,t.next)}}return null}function Cm(e,t){return null!==t?e[yt][qt].projection[t.projection]:null}function jd(e,t){const i=Ht+e+1;if(i<t.length){const n=t[i],r=n[H].firstChild;if(null!==r)return $o(n,r)}return t[Ci]}function $d(e,t,i,n,r,s,o){for(;null!=i;){const a=n[i.index],l=i.type;if(o&&0===t&&(a&&Yt(We(a),n),i.flags|=2),32!=(32&i.flags))if(8&l)$d(e,t,i.child,n,r,s,!1),xs(t,e,r,a,s);else if(32&l){const c=kd(i,n);let u;for(;u=c();)xs(t,e,r,u,s);xs(t,e,r,a,s)}else 16&l?Sm(e,t,n,i,r,s):xs(t,e,r,a,s);i=o?i.projectionNext:i.next}}function Go(e,t,i,n,r,s){$d(i,n,e.firstChild,t,r,s,!1)}function Sm(e,t,i,n,r,s){const o=i[yt],l=o[qt].projection[n.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)xs(t,e,r,l[c],s);else{let c=l;const u=o[tt];Al(n)&&(c.flags|=128),$d(e,t,c,u,r,s,!0)}}function Tm(e,t,i){""===i?e.removeAttribute(t,"class"):e.setAttribute(t,"class",i)}function Mm(e,t,i){const{mergedAttrs:n,classes:r,styles:s}=i;null!==n&&ed(e,t,n),null!==r&&Tm(e,t,r),null!==s&&function TM(e,t,i){e.setAttribute(t,"style",i)}(e,t,s)}function Rs(e){return function Gd(){if(void 0===Bl&&(Bl=null,Ue.trustedTypes))try{Bl=Ue.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Bl}()?.createHTML(e)||e}function Ps(){if(void 0!==zd)return zd;if(typeof document<"u")return document;throw new F(210,!1)}function Im(e){return function Wd(){if(void 0===Vl&&(Vl=null,Ue.trustedTypes))try{Vl=Ue.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vl}()?.createHTML(e)||e}class Om{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ig})`}}function or(e){return e instanceof Om?e.changingThisBreaksApplicationSecurity:e}function zo(e,t){const i=function kM(e){return e instanceof Om&&e.getTypeName()||null}(e);if(null!=i&&i!==t){if("ResourceURL"===i&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${i} (see ${Ig})`)}return i===t}class LM{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t="<body><remove></remove>"+t;try{const i=(new window.DOMParser).parseFromString(Rs(t),"text/html").body;return null===i?this.inertDocumentHelper.getInertBodyElement(t):(i.removeChild(i.firstChild),i)}catch{return null}}}class BM{constructor(t){this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(t){const i=this.inertDocument.createElement("template");return i.innerHTML=Rs(t),i}}const HM=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function qd(e){return(e=String(e)).match(HM)?e:"unsafe:"+e}function $i(e){const t={};for(const i of e.split(","))t[i]=!0;return t}function Wo(...e){const t={};for(const i of e)for(const n in i)i.hasOwnProperty(n)&&(t[n]=!0);return t}const Rm=$i("area,br,col,hr,img,wbr"),Pm=$i("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Fm=$i("rp,rt"),Yd=Wo(Rm,Wo(Pm,$i("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Wo(Fm,$i("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Wo(Fm,Pm)),Zd=$i("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),km=Wo(Zd,$i("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),$i("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),UM=$i("script,style,template");class jM{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let i=t.firstChild,n=!0;for(;i;)if(i.nodeType===Node.ELEMENT_NODE?n=this.startElement(i):i.nodeType===Node.TEXT_NODE?this.chars(i.nodeValue):this.sanitizedSomething=!0,n&&i.firstChild)i=i.firstChild;else for(;i;){i.nodeType===Node.ELEMENT_NODE&&this.endElement(i);let r=this.checkClobberedElement(i,i.nextSibling);if(r){i=r;break}i=this.checkClobberedElement(i,i.parentNode)}return this.buf.join("")}startElement(t){const i=t.nodeName.toLowerCase();if(!Yd.hasOwnProperty(i))return this.sanitizedSomething=!0,!UM.hasOwnProperty(i);this.buf.push("<"),this.buf.push(i);const n=t.attributes;for(let r=0;r<n.length;r++){const s=n.item(r),o=s.name,a=o.toLowerCase();if(!km.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=s.value;Zd[a]&&(l=qd(l)),this.buf.push(" ",o,'="',Lm(l),'"')}return this.buf.push(">"),!0}endElement(t){const i=t.nodeName.toLowerCase();Yd.hasOwnProperty(i)&&!Rm.hasOwnProperty(i)&&(this.buf.push("</"),this.buf.push(i),this.buf.push(">"))}chars(t){this.buf.push(Lm(t))}checkClobberedElement(t,i){if(i&&(t.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return i}}const $M=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,GM=/([^\#-~ |!])/g;function Lm(e){return e.replace(/&/g,"&amp;").replace($M,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(GM,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}let Hl;function Jd(e){return"content"in e&&function WM(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var Fs=function(e){return e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL",e}(Fs||{});function Bm(e){const t=qo();return t?Im(t.sanitize(Fs.HTML,e)||""):zo(e,"HTML")?Im(or(e)):function zM(e,t){let i=null;try{Hl=Hl||function xm(e){const t=new BM(e);return function VM(){try{return!!(new window.DOMParser).parseFromString(Rs(""),"text/html")}catch{return!1}}()?new LM(t):t}(e);let n=t?String(t):"";i=Hl.getInertBodyElement(n);let r=5,s=n;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,n=s,s=i.innerHTML,i=Hl.getInertBodyElement(n)}while(n!==s);return Rs((new jM).sanitizeChildren(Jd(i)||i))}finally{if(i){const n=Jd(i)||i;for(;n.firstChild;)n.removeChild(n.firstChild)}}}(Ps(),te(e))}function Qd(e){const t=qo();return t?t.sanitize(Fs.URL,e)||"":zo(e,"URL")?or(e):qd(te(e))}function qo(){const e=A();return e&&e[ps].sanitizer}class W{constructor(t,i){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof i?this.__NG_ELEMENT_ID__=i:void 0!==i&&(this.\u0275prov=G({token:this,providedIn:i.providedIn||"root",factory:i.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const Ul=new W("ENVIRONMENT_INITIALIZER"),Hm=new W("INJECTOR",-1),Um=new W("INJECTOR_DEF_TYPES");class Kd{get(t,i=Co){if(i===Co){const n=new Error(`NullInjectorError: No provider for ${Nt(t)}!`);throw n.name="NullInjectorError",n}return i}}function XM(...e){return{\u0275providers:jm(0,e),\u0275fromNgModule:!0}}function jm(e,...t){const i=[],n=new Set;let r;const s=o=>{i.push(o)};return Is(t,o=>{const a=o;jl(a,s,[],n)&&(r||=[],r.push(a))}),void 0!==r&&$m(r,s),i}function $m(e,t){for(let i=0;i<e.length;i++){const{ngModule:n,providers:r}=e[i];ef(r,s=>{t(s,n)})}}function jl(e,t,i,n){if(!(e=X(e)))return!1;let r=null,s=tl(e);const o=!s&&me(e);if(s||o){if(o&&!o.standalone)return!1;r=e}else{const l=e.ngModule;if(s=tl(l),!s)return!1;r=l}const a=n.has(r);if(o){if(a)return!1;if(n.add(r),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const c of l)jl(c,t,i,n)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let c;n.add(r);try{Is(s.imports,u=>{jl(u,t,i,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&$m(c,t)}if(!a){const c=Er(r)||(()=>new r);t({provide:r,useFactory:c,deps:Ee},r),t({provide:Um,useValue:r,multi:!0},r),t({provide:Ul,useValue:()=>L(r),multi:!0},r)}const l=s.providers;if(null!=l&&!a){const c=e;ef(l,u=>{t(u,c)})}}}return r!==e&&void 0!==e.providers}function ef(e,t){for(let i of e)ju(i)&&(i=i.\u0275providers),Array.isArray(i)?ef(i,t):t(i)}const eI=Re({provide:String,useValue:Re});function tf(e){return null!==e&&"object"==typeof e&&eI in e}function Ir(e){return"function"==typeof e}const nf=new W("Set Injector scope."),$l={},nI={};let rf;function Gl(){return void 0===rf&&(rf=new Kd),rf}class Gn{}class zl extends Gn{get destroyed(){return this._destroyed}constructor(t,i,n,r){super(),this.parent=i,this.source=n,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,af(t,o=>this.processProvider(o)),this.records.set(Hm,ks(void 0,this)),r.has("environment")&&this.records.set(Gn,ks(void 0,this));const s=this.records.get(nf);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(Um.multi,Ee,ge.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const i of this._ngOnDestroyHooks)i.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const i of t)i()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const i=er(this),n=_n(void 0);try{return t()}finally{er(i),_n(n)}}get(t,i=Co,n=ge.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(Lg))return t[Lg](this);n=rl(n);const s=er(this),o=_n(void 0);try{if(!(n&ge.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function aI(e){return"function"==typeof e||"object"==typeof e&&e instanceof W}(t)&&el(t);l=c&&this.injectableDefInScope(c)?ks(sf(t),$l):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&ge.Self?Gl():this.parent).get(t,i=n&ge.Optional&&i===Co?null:i)}catch(a){if("NullInjectorError"===a.name){if((a[il]=a[il]||[]).unshift(Nt(t)),s)throw a;return function rS(e,t,i,n){const r=e[il];throw t[Pg]&&r.unshift(t[Pg]),e.message=function sS(e,t,i,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let r=Nt(t);if(Array.isArray(t))r=t.map(Nt).join(" -> ");else if("object"==typeof t){let s=[];for(let o in t)if(t.hasOwnProperty(o)){let a=t[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):Nt(a)))}r=`{${s.join(", ")}}`}return`${i}${n?"("+n+")":""}[${r}]: ${e.replace(XE,"\n  ")}`}("\n"+e.message,r,i,n),e.ngTokenPath=r,e[il]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{_n(o),er(s)}}resolveInjectorInitializers(){const t=er(this),i=_n(void 0);try{const r=this.get(Ul.multi,Ee,ge.Self);for(const s of r)s()}finally{er(t),_n(i)}}toString(){const t=[],i=this.records;for(const n of i.keys())t.push(Nt(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new F(205,!1)}processProvider(t){let i=Ir(t=X(t))?t:X(t&&t.provide);const n=function rI(e){return tf(e)?ks(void 0,e.useValue):ks(Wm(e),$l)}(t);if(Ir(t)||!0!==t.multi)this.records.get(i);else{let r=this.records.get(i);r||(r=ks(void 0,$l,!0),r.factory=()=>Qu(r.multi),this.records.set(i,r)),i=t,r.multi.push(t)}this.records.set(i,n)}hydrate(t,i){return i.value===$l&&(i.value=nI,i.value=i.factory()),"object"==typeof i.value&&i.value&&function oI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(i.value)&&this._ngOnDestroyHooks.add(i.value),i.value}injectableDefInScope(t){if(!t.providedIn)return!1;const i=X(t.providedIn);return"string"==typeof i?"any"===i||this.scopes.has(i):this.injectorDefTypes.has(i)}removeOnDestroy(t){const i=this._onDestroyHooks.indexOf(t);-1!==i&&this._onDestroyHooks.splice(i,1)}}function sf(e){const t=el(e),i=null!==t?t.factory:Er(e);if(null!==i)return i;if(e instanceof W)throw new F(204,!1);if(e instanceof Function)return function iI(e){const t=e.length;if(t>0)throw Vo(t,"?"),new F(204,!1);const i=function ZE(e){return e&&(e[nl]||e[Ag])||null}(e);return null!==i?()=>i.factory(e):()=>new e}(e);throw new F(204,!1)}function Wm(e,t,i){let n;if(Ir(e)){const r=X(e);return Er(r)||sf(r)}if(tf(e))n=()=>X(e.useValue);else if(function zm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Qu(e.deps||[]));else if(function Gm(e){return!(!e||!e.useExisting)}(e))n=()=>L(X(e.useExisting));else{const r=X(e&&(e.useClass||e.provide));if(!function sI(e){return!!e.deps}(e))return Er(r)||sf(r);n=()=>new r(...Qu(e.deps))}return n}function ks(e,t,i=!1){return{factory:e,value:t,multi:i?[]:void 0}}function af(e,t){for(const i of e)Array.isArray(i)?af(i,t):i&&ju(i)?af(i.\u0275providers,t):t(i)}const Wl=new W("AppId",{providedIn:"root",factory:()=>lI}),lI="ng",qm=new W("Platform Initializer"),Nr=new W("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Ym=new W("CSP nonce",{providedIn:"root",factory:()=>Ps().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Zm=(e,t,i)=>null;function gf(e,t,i=!1){return Zm(e,t,i)}class vI{}class Km{}class bI{resolveComponentFactory(t){throw function yI(e){const t=Error(`No component factory found for ${Nt(e)}.`);return t.ngComponent=e,t}(t)}}let Kl=(()=>{class t{}return t.NULL=new bI,t})();function DI(){return Vs(Ut(),A())}function Vs(e,t){return new Fe(yn(e,t))}let Fe=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=DI,t})();function wI(e){return e instanceof Fe?e.nativeElement:e}class vf{}let zn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function CI(){const e=A(),i=On(Ut().index,e);return(vn(i)?i:e)[ne]}(),t})(),EI=(()=>{var e;class t{}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>null}),t})();class Xl{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const SI=new Xl("16.2.3"),yf={};function iv(e,t=null,i=null,n){const r=rv(e,t,i,n);return r.resolveInjectorInitializers(),r}function rv(e,t=null,i=null,n,r=new Set){const s=[i||Ee,XM(e)];return n=n||("object"==typeof e?void 0:Nt(e)),new zl(s,t||Gl(),n||null,r)}let Zt=(()=>{var e;class t{static create(n,r){if(Array.isArray(n))return iv({name:""},r,n,"");{const s=n.name??"";return iv({name:s},n.parent,n.providers,s)}}}return(e=t).THROW_IF_NOT_FOUND=Co,e.NULL=new Kd,e.\u0275prov=G({token:e,providedIn:"any",factory:()=>L(Hm)}),e.__NG_ELEMENT_ID__=-1,t})();function wf(e){return t=>{setTimeout(e,void 0,t)}}const Y=class xI extends ee{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,i,n){let r=t,s=i||(()=>null),o=n;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=wf(s),r&&(r=wf(r)),o&&(o=wf(o)));const a=super.subscribe({next:r,error:s,complete:o});return t instanceof de&&t.add(a),a}};function sv(...e){}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:i=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new F(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!n&&i,r.shouldCoalesceRunChangeDetection=n,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function RI(){const e="function"==typeof Ue.requestAnimationFrame;let t=Ue[e?"requestAnimationFrame":"setTimeout"],i=Ue[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&i){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const r=i[Zone.__symbol__("OriginalDelegate")];r&&(i=r)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:i}}().nativeRequestAnimationFrame,function kI(e){const t=()=>{!function FI(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(Ue,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,Ef(e),e.isCheckStableRunning=!0,Cf(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),Ef(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(i,n,r,s,o,a)=>{try{return ov(e),i.invokeTask(r,s,o,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||e.shouldCoalesceRunChangeDetection)&&t(),av(e)}},onInvoke:(i,n,r,s,o,a,l)=>{try{return ov(e),i.invoke(r,s,o,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),av(e)}},onHasTask:(i,n,r,s)=>{i.hasTask(r,s),n===r&&("microTask"==s.change?(e._hasPendingMicrotasks=s.microTask,Ef(e),Cf(e)):"macroTask"==s.change&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(i,n,r,s)=>(i.handleError(r,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new F(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new F(909,!1)}run(t,i,n){return this._inner.run(t,i,n)}runTask(t,i,n,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,t,PI,sv,sv);try{return s.runTask(o,i,n)}finally{s.cancelTask(o)}}runGuarded(t,i,n){return this._inner.runGuarded(t,i,n)}runOutsideAngular(t){return this._outer.run(t)}}const PI={};function Cf(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function Ef(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function ov(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function av(e){e._nesting--,Cf(e)}class LI{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,i,n){return t.apply(i,n)}runGuarded(t,i,n){return t.apply(i,n)}runOutsideAngular(t){return t()}runTask(t,i,n,r){return t.apply(i,n)}}const lv=new W("",{providedIn:"root",factory:cv});function cv(){const e=fe(Se);let t=!0;return function Sg(...e){const t=Qa(e),i=function PE(e,t){return"number"==typeof ku(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?Ft(n[0]):bg(i)(wo(n,t)):Do}(new ze(r=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{r.next(t),r.complete()})}),new ze(r=>{let s;e.runOutsideAngular(()=>{s=e.onStable.subscribe(()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,r.next(!0))})})});const o=e.onUnstable.subscribe(()=>{Se.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{r.next(!1)}))});return()=>{s.unsubscribe(),o.unsubscribe()}}).pipe(Tg()))}let Sf=(()=>{var e;class t{constructor(){this.callbacks=new Set,this.deferredCallbacks=new Set,this.renderDepth=0,this.runningCallbacks=!1}begin(){if(this.runningCallbacks)throw new F(102,!1);this.renderDepth++}end(){if(this.renderDepth--,0===this.renderDepth)try{this.runningCallbacks=!0;for(const n of this.callbacks)n.invoke()}finally{this.runningCallbacks=!1;for(const n of this.deferredCallbacks)this.callbacks.add(n);this.deferredCallbacks.clear()}}register(n){(this.runningCallbacks?this.deferredCallbacks:this.callbacks).add(n)}unregister(n){this.callbacks.delete(n),this.deferredCallbacks.delete(n)}ngOnDestroy(){this.callbacks.clear(),this.deferredCallbacks.clear()}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function Jo(e){for(;e;){e[ie]|=64;const t=jo(e);if(id(e)&&!t)return e;e=t}return null}function Tf(e){return e.ngOriginalError}class Ar{constructor(){this._console=console}handleError(t){const i=this._findOriginalError(t);this._console.error("ERROR",t),i&&this._console.error("ORIGINAL ERROR",i)}_findOriginalError(t){let i=t&&Tf(t);for(;i&&Tf(i);)i=Tf(i);return i||null}}const pv=new W("",{providedIn:"root",factory:()=>!1});class vv extends i_{constructor(){super(...arguments),this.consumerAllowSignalWrites=!1,this._lView=null}set lView(t){this._lView=t}onConsumerDependencyMayHaveChanged(){Jo(this._lView)}onProducerUpdateValueVersion(){}get hasReadASignal(){return this.hasProducers}runInContext(t,i,n){const r=kt(this);this.trackingVersion++;try{t(i,n)}finally{kt(r)}}destroy(){this.trackingVersion++}}let tc=null;function yv(){return tc??=new vv,tc}function bv(e,t){return e[t]??yv()}function Dv(e,t){const i=yv();i.hasReadASignal&&(e[t]=tc,i.lView=e,tc=new vv)}const re={};function R(e){wv(ve(),A(),cn()+e,!1)}function wv(e,t,i,n){if(!n)if(3==(3&t[ie])){const s=e.preOrderCheckHooks;null!==s&&vl(t,s,i)}else{const s=e.preOrderHooks;null!==s&&yl(t,s,0,i)}Sr(i)}function v(e,t=ge.Default){const i=A();return null===i?L(e,t):B_(Ut(),i,X(e),t)}function nc(e,t,i,n,r,s,o,a,l,c,u){const h=t.blueprint.slice();return h[ht]=r,h[ie]=140|n,(null!==c||e&&2048&e[ie])&&(h[ie]|=2048),h_(h),h[tt]=h[gs]=e,h[vt]=i,h[ps]=o||e&&e[ps],h[ne]=a||e&&e[ne],h[tr]=l||e&&e[tr]||null,h[qt]=s,h[Oo]=function tM(){return eM++}(),h[Hi]=u,h[Qg]=c,h[yt]=2==t.type?e[yt]:h,h}function js(e,t,i,n,r){let s=e.data[t];if(null===s)s=function Mf(e,t,i,n,r){const s=y_(),o=ud(),l=e.data[t]=function tN(e,t,i,n,r,s){let o=t?t.injectorIndex:-1,a=0;return ys()&&(a|=128),{type:i,index:n,insertBeforeIndex:null,injectorIndex:o,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,i,t,n,r);return null===e.firstChild&&(e.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l,l.prev=s)),l}(e,t,i,n,r),function eT(){return K.lFrame.inI18n}()&&(s.flags|=32);else if(64&s.type){s.type=i,s.value=n,s.attrs=r;const o=function Ro(){const e=K.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Ti(s,!0),s}function Qo(e,t,i,n){if(0===i)return-1;const r=t.length;for(let s=0;s<i;s++)t.push(n),e.blueprint.push(n),e.data.push(null);return r}function Cv(e,t,i,n,r){const s=bv(t,ll),o=cn(),a=2&n;try{if(Sr(-1),a&&t.length>pe&&wv(e,t,pe,!1),Si(a?2:0,r),a)s.runInContext(i,n,r);else{const c=kt(null);try{i(n,r)}finally{kt(c)}}}finally{a&&null===t[ll]&&Dv(t,ll),Sr(o),Si(a?3:1,r)}}function If(e,t,i){if(nd(t)){const n=kt(null);try{const s=t.directiveEnd;for(let o=t.directiveStart;o<s;o++){const a=e.data[o];a.contentQueries&&a.contentQueries(1,i[o],o)}}finally{kt(n)}}}function Nf(e,t,i){v_()&&(function lN(e,t,i,n){const r=i.directiveStart,s=i.directiveEnd;Cr(i)&&function gN(e,t,i){const n=yn(t,e),r=Ev(i);let o=16;i.signals?o=4096:i.onPush&&(o=64);const a=ic(e,nc(e,r,null,o,n,t,null,e[ps].rendererFactory.createRenderer(n,i),null,null,null));e[t.index]=a}(t,i,e.data[r+i.componentOffset]),e.firstCreatePass||Dl(i,t),Yt(n,t);const o=i.initialInputs;for(let a=r;a<s;a++){const l=e.data[a],c=Tr(t,e,a,i);Yt(c,t),null!==o&&_N(0,a-r,c,l,0,o),ii(l)&&(On(i.index,t)[vt]=Tr(t,e,a,i))}}(e,t,i,yn(i,t)),64==(64&i.flags)&&Nv(e,t,i))}function Af(e,t,i=yn){const n=t.localNames;if(null!==n){let r=t.index+1;for(let s=0;s<n.length;s+=2){const o=n[s+1],a=-1===o?i(t,e):e[o];e[r++]=a}}}function Ev(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=Of(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):t}function Of(e,t,i,n,r,s,o,a,l,c,u){const h=pe+n,g=h+r,_=function ZI(e,t){const i=[];for(let n=0;n<t;n++)i.push(n<e?null:re);return i}(h,g),y="function"==typeof c?c():c;return _[H]={type:e,blueprint:_,template:i,queries:null,viewQuery:a,declTNode:t,data:_.slice().fill(null,h),bindingStartIndex:h,expandoStartIndex:g,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:y,incompleteFirstPass:!1,ssrId:u}}let Sv=e=>null;function Tv(e,t,i,n){for(let r in e)if(e.hasOwnProperty(r)){i=null===i?{}:i;const s=e[r];null===n?Mv(i,t,r,s):n.hasOwnProperty(r)&&Mv(i,t,n[r],s)}return i}function Mv(e,t,i,n){e.hasOwnProperty(i)?e[i].push(t,n):e[i]=[t,n]}function Rn(e,t,i,n,r,s,o,a){const l=yn(t,i);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(kf(e,i,u,n,r),Cr(t)&&function rN(e,t){const i=On(t,e);16&i[ie]||(i[ie]|=64)}(i,t.index)):3&t.type&&(n=function iN(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),r=null!=o?o(r,t.value||"",n):r,s.setProperty(l,n,r))}function xf(e,t,i,n){if(v_()){const r=null===n?null:{"":-1},s=function uN(e,t){const i=e.directiveRegistry;let n=null,r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];if(Gg(t,o.selectors,!1))if(n||(n=[]),ii(o))if(null!==o.findHostDirectiveDefs){const a=[];r=r||new Map,o.findHostDirectiveDefs(o,a,r),n.unshift(...a,o),Rf(e,t,a.length)}else n.unshift(o),Rf(e,t,0);else r=r||new Map,o.findHostDirectiveDefs?.(o,n,r),n.push(o)}return null===n?null:[n,r]}(e,i);let o,a;null===s?o=a=null:[o,a]=s,null!==o&&Iv(e,t,i,o,r,a),r&&function dN(e,t,i){if(t){const n=e.localNames=[];for(let r=0;r<t.length;r+=2){const s=i[t[r+1]];if(null==s)throw new F(-301,!1);n.push(t[r],s)}}}(i,n,r)}i.mergedAttrs=To(i.mergedAttrs,i.attrs)}function Iv(e,t,i,n,r,s){for(let c=0;c<n.length;c++)wd(Dl(i,t),e,n[c].type);!function hN(e,t,i){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+i,e.providerIndexes=t}(i,e.data.length,n.length);for(let c=0;c<n.length;c++){const u=n[c];u.providersResolver&&u.providersResolver(u)}let o=!1,a=!1,l=Qo(e,t,n.length,null);for(let c=0;c<n.length;c++){const u=n[c];i.mergedAttrs=To(i.mergedAttrs,u.hostAttrs),pN(e,i,t,l,u),fN(l,u,r),null!==u.contentQueries&&(i.flags|=4),(null!==u.hostBindings||null!==u.hostAttrs||0!==u.hostVars)&&(i.flags|=64);const h=u.type.prototype;!o&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(i.index),o=!0),!a&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(i.index),a=!0),l++}!function nN(e,t,i){const r=t.directiveEnd,s=e.data,o=t.attrs,a=[];let l=null,c=null;for(let u=t.directiveStart;u<r;u++){const h=s[u],g=i?i.get(h):null,y=g?g.outputs:null;l=Tv(h.inputs,u,l,g?g.inputs:null),c=Tv(h.outputs,u,c,y);const b=null===l||null===o||$g(t)?null:mN(l,u,o);a.push(b)}null!==l&&(l.hasOwnProperty("class")&&(t.flags|=8),l.hasOwnProperty("style")&&(t.flags|=16)),t.initialInputs=a,t.inputs=l,t.outputs=c}(e,i,s)}function Nv(e,t,i){const n=i.directiveStart,r=i.directiveEnd,s=i.index,o=function nT(){return K.lFrame.currentDirectiveIndex}();try{Sr(s);for(let a=n;a<r;a++){const l=e.data[a],c=t[a];fd(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&cN(l,c)}}finally{Sr(-1),fd(o)}}function cN(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function Rf(e,t,i){t.componentOffset=i,(e.components??=[]).push(t.index)}function fN(e,t,i){if(i){if(t.exportAs)for(let n=0;n<t.exportAs.length;n++)i[t.exportAs[n]]=e;ii(t)&&(i[""]=e)}}function pN(e,t,i,n,r){e.data[n]=r;const s=r.factory||(r.factory=Er(r.type)),o=new Po(s,ii(r),v);e.blueprint[n]=o,i[n]=o,function oN(e,t,i,n,r){const s=r.hostBindings;if(s){let o=e.hostBindingOpCodes;null===o&&(o=e.hostBindingOpCodes=[]);const a=~t.index;(function aN(e){let t=e.length;for(;t>0;){const i=e[--t];if("number"==typeof i&&i<0)return i}return 0})(o)!=a&&o.push(a),o.push(i,n,s)}}(e,t,n,Qo(e,i,r.hostVars,re),r)}function Ii(e,t,i,n,r,s){const o=yn(e,t);!function Pf(e,t,i,n,r,s,o){if(null==s)e.removeAttribute(t,r,i);else{const a=null==o?te(s):o(s,n||"",r);e.setAttribute(t,r,a,i)}}(t[ne],o,s,e.value,i,n,r)}function _N(e,t,i,n,r,s){const o=s[t];if(null!==o)for(let a=0;a<o.length;)Av(n,i,o[a++],o[a++],o[a++])}function Av(e,t,i,n,r){const s=kt(null);try{const o=e.inputTransforms;null!==o&&o.hasOwnProperty(n)&&(r=o[n].call(t,r)),null!==e.setInput?e.setInput(t,r,i,n):t[n]=r}finally{kt(s)}}function mN(e,t,i){let n=null,r=0;for(;r<i.length;){const s=i[r];if(0!==s)if(5!==s){if("number"==typeof s)break;if(e.hasOwnProperty(s)){null===n&&(n=[]);const o=e[s];for(let a=0;a<o.length;a+=2)if(o[a]===t){n.push(s,o[a+1],i[r+1]);break}}r+=2}else r+=2;else r+=4}return n}function Ov(e,t,i,n){return[e,!0,!1,t,null,0,n,i,null,null,null]}function xv(e,t){const i=e.contentQueries;if(null!==i)for(let n=0;n<i.length;n+=2){const s=i[n+1];if(-1!==s){const o=e.data[s];pd(i[n]),o.contentQueries(2,t[s],s)}}}function ic(e,t){return e[No]?e[Jg][ni]=t:e[No]=t,e[Jg]=t,t}function Ff(e,t,i){pd(0);const n=kt(null);try{t(e,i)}finally{kt(n)}}function Rv(e){return e[hs]||(e[hs]=[])}function Pv(e){return e.cleanup||(e.cleanup=[])}function kv(e,t){const i=e[tr],n=i?i.get(Ar,null):null;n&&n.handleError(t)}function kf(e,t,i,n,r){for(let s=0;s<i.length;){const o=i[s++],a=i[s++];Av(e.data[o],t[o],n,a,r)}}function vN(e,t){const i=On(t,e),n=i[H];!function yN(e,t){for(let i=t.length;i<e.blueprint.length;i++)t.push(e.blueprint[i])}(n,i);const r=i[ht];null!==r&&null===i[Hi]&&(i[Hi]=gf(r,i[tr])),Lf(n,i,i[vt])}function Lf(e,t,i){gd(t);try{const n=e.viewQuery;null!==n&&Ff(1,n,i);const r=e.template;null!==r&&Cv(e,t,r,1,i),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&xv(e,t),e.staticViewQueries&&Ff(2,e.viewQuery,i);const s=e.components;null!==s&&function bN(e,t){for(let i=0;i<t.length;i++)vN(e,t[i])}(t,s)}catch(n){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),n}finally{t[ie]&=-5,_d()}}let Lv=(()=>{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,r,s){const o=typeof Zone>"u"?null:Zone.current,a=new RS(n,u=>{this.all.has(u)&&this.queue.set(u,o)},s);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=r?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,r]of this.queue)this.queue.delete(n),r?r.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:()=>new e}),t})();function rc(e,t,i){let n=i?e.styles:null,r=i?e.classes:null,s=0;if(null!==t)for(let o=0;o<t.length;o++){const a=t[o];"number"==typeof a?s=a:1==s?r=Hu(r,a):2==s&&(n=Hu(n,a+": "+t[++o]+";"))}i?e.styles=n:e.stylesWithoutHost=n,i?e.classes=r:e.classesWithoutHost=r}function Ko(e,t,i,n,r=!1){for(;null!==i;){const s=t[i.index];null!==s&&n.push(We(s)),rn(s)&&Bv(s,n);const o=i.type;if(8&o)Ko(e,t,i.child,n);else if(32&o){const a=kd(i,t);let l;for(;l=a();)n.push(l)}else if(16&o){const a=Cm(t,i);if(Array.isArray(a))n.push(...a);else{const l=jo(t[yt]);Ko(l[H],l,a,n,!0)}}i=r?i.projectionNext:i.next}return n}function Bv(e,t){for(let i=Ht;i<e.length;i++){const n=e[i],r=n[H].firstChild;null!==r&&Ko(n[H],n,r,t)}e[Ci]!==e[ht]&&t.push(e[Ci])}function sc(e,t,i,n=!0){const r=t[ps],s=r.rendererFactory,o=r.afterRenderEventManager;s.begin?.(),o?.begin();try{Vv(e,t,e.template,i)}catch(l){throw n&&kv(t,l),l}finally{s.end?.(),r.effectManager?.flush(),o?.end()}}function Vv(e,t,i,n){const r=t[ie];if(256!=(256&r)){t[ps].effectManager?.flush(),gd(t);try{h_(t),function D_(e){return K.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==i&&Cv(e,t,i,2,n);const o=3==(3&r);if(o){const c=e.preOrderCheckHooks;null!==c&&vl(t,c,null)}else{const c=e.preOrderHooks;null!==c&&yl(t,c,0,null),md(t,0)}if(function CN(e){for(let t=dm(e);null!==t;t=fm(t)){if(!t[Kg])continue;const i=t[ms];for(let n=0;n<i.length;n++){$S(i[n])}}}(t),Hv(t,2),null!==e.contentQueries&&xv(e,t),o){const c=e.contentCheckHooks;null!==c&&vl(t,c)}else{const c=e.contentHooks;null!==c&&yl(t,c,1),md(t,1)}!function YI(e,t){const i=e.hostBindingOpCodes;if(null===i)return;const n=bv(t,cl);try{for(let r=0;r<i.length;r++){const s=i[r];if(s<0)Sr(~s);else{const o=s,a=i[++r],l=i[++r];tT(a,o),n.runInContext(l,2,t[o])}}}finally{null===t[cl]&&Dv(t,cl),Sr(-1)}}(e,t);const a=e.components;null!==a&&jv(t,a,0);const l=e.viewQuery;if(null!==l&&Ff(2,l,n),o){const c=e.viewCheckHooks;null!==c&&vl(t,c)}else{const c=e.viewHooks;null!==c&&yl(t,c,2),md(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),t[ie]&=-73,p_(t)}finally{_d()}}}function Hv(e,t){for(let i=dm(e);null!==i;i=fm(i))for(let n=Ht;n<i.length;n++)Uv(i[n],t)}function EN(e,t,i){Uv(On(t,e),i)}function Uv(e,t){if(!function US(e){return 128==(128&e[ie])}(e))return;const i=e[H];if(80&e[ie]&&0===t||1024&e[ie]||2===t)Vv(i,e,i.template,e[vt]);else if(e[Io]>0){Hv(e,1);const r=e[H].components;null!==r&&jv(e,r,1)}}function jv(e,t,i){for(let n=0;n<t.length;n++)EN(e,t[n],i)}class Xo{get rootNodes(){const t=this._lView,i=t[H];return Ko(i,t,i.firstChild,[])}constructor(t,i){this._lView=t,this._cdRefInjectingView=i,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[vt]}set context(t){this._lView[vt]=t}get destroyed(){return 256==(256&this._lView[ie])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[tt];if(rn(t)){const i=t[8],n=i?i.indexOf(this):-1;n>-1&&(Pl(t,n),El(i,n))}this._attachedToViewContainer=!1}Bd(this._lView[H],this._lView)}onDestroy(t){!function __(e,t){if(256==(256&e[ie]))throw new F(911,!1);null===e[nr]&&(e[nr]=[]),e[nr].push(t)}(this._lView,t)}markForCheck(){Jo(this._cdRefInjectingView||this._lView)}detach(){this._lView[ie]&=-129}reattach(){this._lView[ie]|=128}detectChanges(){sc(this._lView[H],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new F(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function gM(e,t){Go(e,t,t[ne],2,null,null)}(this._lView[H],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new F(902,!1);this._appRef=t}}class SN extends Xo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;sc(t[H],t,t[vt],!1)}checkNoChanges(){}get context(){return null}}class $v extends Kl{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const i=me(t);return new ea(i,this.ngModule)}}function Gv(e){const t=[];for(let i in e)e.hasOwnProperty(i)&&t.push({propName:e[i],templateName:i});return t}class MN{constructor(t,i){this.injector=t,this.parentInjector=i}get(t,i,n){n=rl(n);const r=this.injector.get(t,yf,n);return r!==yf||i===yf?r:this.parentInjector.get(t,i,n)}}class ea extends Km{get inputs(){const t=this.componentDef,i=t.inputTransforms,n=Gv(t.inputs);if(null!==i)for(const r of n)i.hasOwnProperty(r.propName)&&(r.transform=i[r.propName]);return n}get outputs(){return Gv(this.componentDef.outputs)}constructor(t,i){super(),this.componentDef=t,this.ngModule=i,this.componentType=t.type,this.selector=function gS(e){return e.map(pS).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!i}create(t,i,n,r){let s=(r=r||this.ngModule)instanceof Gn?r:r?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new MN(t,s):t,a=o.get(vf,null);if(null===a)throw new F(407,!1);const h={rendererFactory:a,sanitizer:o.get(EI,null),effectManager:o.get(Lv,null),afterRenderEventManager:o.get(Sf,null)},g=a.createRenderer(null,this.componentDef),_=this.componentDef.selectors[0][0]||"div",y=n?function JI(e,t,i,n){const s=n.get(pv,!1)||i===ei.ShadowDom,o=e.selectRootElement(t,s);return function QI(e){Sv(e)}(o),o}(g,n,this.componentDef.encapsulation,o):Rl(g,_,function TN(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(_)),T=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let C=null;null!==y&&(C=gf(y,o,!0));const P=Of(0,null,null,1,0,null,null,null,null,null,null),O=nc(null,P,null,T,null,null,h,g,o,null,C);let V,J;gd(O);try{const ue=this.componentDef;let _e,lt=null;ue.findHostDirectiveDefs?(_e=[],lt=new Map,ue.findHostDirectiveDefs(ue,_e,lt),_e.push(ue)):_e=[ue];const Dt=function NN(e,t){const i=e[H],n=pe;return e[n]=t,js(i,n,2,"#host",null)}(O,y),Bt=function AN(e,t,i,n,r,s,o){const a=r[H];!function ON(e,t,i,n){for(const r of e)t.mergedAttrs=To(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(rc(t,t.mergedAttrs,!0),null!==i&&Mm(n,i,t))}(n,e,t,o);let l=null;null!==t&&(l=gf(t,r[tr]));const c=s.rendererFactory.createRenderer(t,i);let u=16;i.signals?u=4096:i.onPush&&(u=64);const h=nc(r,Ev(i),null,u,r[e.index],e,s,c,null,null,l);return a.firstCreatePass&&Rf(a,e,n.length-1),ic(r,h),r[e.index]=h}(Dt,y,ue,_e,O,h,g);J=f_(P,pe),y&&function RN(e,t,i,n){if(n)ed(e,i,["ng-version",SI.full]);else{const{attrs:r,classes:s}=function _S(e){const t=[],i=[];let n=1,r=2;for(;n<e.length;){let s=e[n];if("string"==typeof s)2===r?""!==s&&t.push(s,e[++n]):8===r&&i.push(s);else{if(!ti(r))break;r=s}n++}return{attrs:t,classes:i}}(t.selectors[0]);r&&ed(e,i,r),s&&s.length>0&&Tm(e,i,s.join(" "))}}(g,ue,y,n),void 0!==i&&function PN(e,t,i){const n=e.projection=[];for(let r=0;r<t.length;r++){const s=i[r];n.push(null!=s?Array.from(s):null)}}(J,this.ngContentSelectors,i),V=function xN(e,t,i,n,r,s){const o=Ut(),a=r[H],l=yn(o,r);Iv(a,r,o,i,null,n);for(let u=0;u<i.length;u++)Yt(Tr(r,a,o.directiveStart+u,o),r);Nv(a,r,o),l&&Yt(l,r);const c=Tr(r,a,o.directiveStart+o.componentOffset,o);if(e[vt]=r[vt]=c,null!==s)for(const u of s)u(c,t);return If(a,o,e),c}(Bt,ue,_e,lt,O,[FN]),Lf(P,O,null)}finally{_d()}return new IN(this.componentType,V,Vs(J,O),O,J)}}class IN extends vI{constructor(t,i,n,r,s){super(),this.location=n,this._rootLView=r,this._tNode=s,this.previousInputValues=null,this.instance=i,this.hostView=this.changeDetectorRef=new SN(r),this.componentType=t}setInput(t,i){const n=this._tNode.inputs;let r;if(null!==n&&(r=n[t])){if(this.previousInputValues??=new Map,this.previousInputValues.has(t)&&Object.is(this.previousInputValues.get(t),i))return;const s=this._rootLView;kf(s[H],s,r,t,i),this.previousInputValues.set(t,i),Jo(On(this._tNode.index,s))}}get injector(){return new un(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}function FN(){const e=Ut();ml(A()[H],e)}function Oe(e){let t=function zv(e){return Object.getPrototypeOf(e.prototype).constructor}(e.type),i=!0;const n=[e];for(;t;){let r;if(ii(e))r=t.\u0275cmp||t.\u0275dir;else{if(t.\u0275cmp)throw new F(903,!1);r=t.\u0275dir}if(r){if(i){n.push(r);const o=e;o.inputs=oc(e.inputs),o.inputTransforms=oc(e.inputTransforms),o.declaredInputs=oc(e.declaredInputs),o.outputs=oc(e.outputs);const a=r.hostBindings;a&&VN(e,a);const l=r.viewQuery,c=r.contentQueries;if(l&&LN(e,l),c&&BN(e,c),Ka(e.inputs,r.inputs),Ka(e.declaredInputs,r.declaredInputs),Ka(e.outputs,r.outputs),null!==r.inputTransforms&&(null===o.inputTransforms&&(o.inputTransforms={}),Ka(o.inputTransforms,r.inputTransforms)),ii(r)&&r.data.animation){const u=e.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(e),a===Oe&&(i=!1)}}t=Object.getPrototypeOf(t)}!function kN(e){let t=0,i=null;for(let n=e.length-1;n>=0;n--){const r=e[n];r.hostVars=t+=r.hostVars,r.hostAttrs=To(r.hostAttrs,i=To(i,r.hostAttrs))}}(n)}function oc(e){return e===Di?{}:e===Ee?[]:e}function LN(e,t){const i=e.viewQuery;e.viewQuery=i?(n,r)=>{t(n,r),i(n,r)}:t}function BN(e,t){const i=e.contentQueries;e.contentQueries=i?(n,r,s)=>{t(n,r,s),i(n,r,s)}:t}function VN(e,t){const i=e.hostBindings;e.hostBindings=i?(n,r)=>{t(n,r),i(n,r)}:t}function ac(e){return!!function Bf(e){return null!==e&&("function"==typeof e||"object"==typeof e)}(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function Jt(e,t,i){return!Object.is(e[t],i)&&(e[t]=i,!0)}function Te(e,t,i,n){const r=A();return Jt(r,bs(),t)&&(ve(),Ii(ot(),r,e,t,i,n)),Te}function Gs(e,t,i,n){return Jt(e,bs(),i)?t+te(i)+n:re}function B(e,t,i,n,r,s,o,a){const l=A(),c=ve(),u=e+pe,h=c.firstCreatePass?function uA(e,t,i,n,r,s,o,a,l){const c=t.consts,u=js(t,e,4,o||null,ir(c,a));xf(t,i,u,ir(c,l)),ml(t,u);const h=u.tView=Of(2,u,n,r,s,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),h.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,i,n,r,s,o):c.data[u];Ti(h,!1);const g=ay(c,l,h,e);_l()&&kl(c,l,g,h),Yt(g,l),ic(l,l[u]=Ov(g,l,g,h)),dl(h)&&Nf(c,l,h),null!=o&&Af(l,h,a)}let ay=function ly(e,t,i,n){return rr(!0),t[ne].createComment("")};function x(e,t,i){const n=A();return Jt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!1),x}function Gf(e,t,i,n,r){const o=r?"class":"style";kf(e,i,t.inputs[o],o,n)}function j(e,t,i,n){const r=A(),s=ve(),o=pe+e,a=r[ne],l=s.firstCreatePass?function pA(e,t,i,n,r,s){const o=t.consts,l=js(t,e,2,n,ir(o,r));return xf(t,i,l,ir(o,s)),null!==l.attrs&&rc(l,l.attrs,!1),null!==l.mergedAttrs&&rc(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(o,s,r,t,i,n):s.data[o],c=cy(s,r,l,a,t,e);r[o]=c;const u=dl(l);return Ti(l,!0),Mm(a,c,l),32!=(32&l.flags)&&_l()&&kl(s,r,c,l),0===function zS(){return K.lFrame.elementDepthCount}()&&Yt(c,r),function WS(){K.lFrame.elementDepthCount++}(),u&&(Nf(s,r,l),If(s,l,r)),null!==n&&Af(r,l),j}function U(){let e=Ut();ud()?dd():(e=e.parent,Ti(e,!1));const t=e;(function YS(e){return K.skipHydrationRootTNode===e})(t)&&function KS(){K.skipHydrationRootTNode=null}(),function qS(){K.lFrame.elementDepthCount--}();const i=ve();return i.firstCreatePass&&(ml(i,e),nd(e)&&i.queries.elementEnd(e)),null!=t.classesWithoutHost&&function hT(e){return 0!=(8&e.flags)}(t)&&Gf(i,t,A(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function pT(e){return 0!=(16&e.flags)}(t)&&Gf(i,t,A(),t.stylesWithoutHost,!1),U}function je(e,t,i,n){return j(e,t,i,n),U(),je}let cy=(e,t,i,n,r,s)=>(rr(!0),Rl(n,r,function N_(){return K.lFrame.currentNamespace}()));function Dn(){return A()}function fc(e){return!!e&&"function"==typeof e.then}function fy(e){return!!e&&"function"==typeof e.subscribe}function ce(e,t,i,n){const r=A(),s=ve(),o=Ut();return function py(e,t,i,n,r,s,o){const a=dl(n),c=e.firstCreatePass&&Pv(e),u=t[vt],h=Rv(t);let g=!0;if(3&n.type||o){const b=yn(n,t),D=o?o(b):b,T=h.length,C=o?O=>o(We(O[n.index])):n.index;let P=null;if(!o&&a&&(P=function bA(e,t,i,n){const r=e.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===i&&r[s+1]===n){const a=t[hs],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(e,t,r,n.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=_y(n,t,u,s,!1);const O=i.listen(D,r,s);h.push(s,O),c&&c.push(r,C,T,T+1)}}else s=_y(n,t,u,s,!1);const _=n.outputs;let y;if(g&&null!==_&&(y=_[r])){const b=y.length;if(b)for(let D=0;D<b;D+=2){const V=t[y[D]][y[D+1]].subscribe(s),J=h.length;h.push(s,V),c&&c.push(r,n.index,J,-(J+1))}}}(s,r,r[ne],o,e,t,n),ce}function gy(e,t,i,n){try{return Si(6,t,i),!1!==i(n)}catch(r){return kv(e,r),!1}finally{Si(7,t,i)}}function _y(e,t,i,n,r){return function s(o){if(o===Function)return n;Jo(e.componentOffset>-1?On(e.index,t):t);let l=gy(t,i,n,o),c=s.__ngNextListenerFn__;for(;c;)l=gy(t,i,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&o.preventDefault(),l}}function z(e=1){return function rT(e){return(K.lFrame.contextLView=function sT(e,t){for(;e>0;)t=t[gs],e--;return t}(e,K.lFrame.contextLView))[vt]}(e)}function DA(e,t){let i=null;const n=function uS(e){const t=e.attrs;if(null!=t){const i=t.indexOf(5);if(!(1&i))return t[i+1]}return null}(e);for(let r=0;r<t.length;r++){const s=t[r];if("*"!==s){if(null===n?Gg(e,s,!0):hS(n,s))return r}else i=r}return i}function qf(e){const t=A()[yt][qt];if(!t.projection){const n=t.projection=Vo(e?e.length:1,null),r=n.slice();let s=t.child;for(;null!==s;){const o=e?DA(s,e):0;null!==o&&(r[o]?r[o].projectionNext=s:n[o]=s,r[o]=s),s=s.next}}}function Yf(e,t=0,i){const n=A(),r=ve(),s=js(r,pe+e,16,null,i||null);null===s.projection&&(s.projection=t),dd(),(!n[Hi]||ys())&&32!=(32&s.flags)&&function CM(e,t,i){Sm(t[ne],0,t,i,Hd(e,i,t),ym(i.parent||t[qt],i,t))}(r,n,s)}function Pn(e,t,i){return hc(e,"",t,"",i),Pn}function hc(e,t,i,n,r){const s=A(),o=Gs(s,t,i,n);return o!==re&&Rn(ve(),ot(),s,e,o,s[ne],r,!1),hc}function pc(e,t){return e<<17|t<<2}function ar(e){return e>>17&32767}function Zf(e){return 2|e}function xr(e){return(131068&e)>>2}function Jf(e,t){return-131069&e|t<<2}function Qf(e){return 1|e}function Sy(e,t,i,n,r){const s=e[i+1],o=null===t;let a=n?ar(s):xr(s),l=!1;for(;0!==a&&(!1===l||o);){const u=e[a+1];MA(e[a],t)&&(l=!0,e[a+1]=n?Qf(u):Zf(u)),a=n?ar(u):xr(u)}l&&(e[i+1]=n?Zf(s):Qf(s))}function MA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Ns(e,t)>=0}const Ot={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Ty(e){return e.substring(Ot.key,Ot.keyEnd)}function My(e,t){const i=Ot.textEnd;return i===t?-1:(t=Ot.keyEnd=function OA(e,t,i){for(;t<i&&e.charCodeAt(t)>32;)t++;return t}(e,Ot.key=t,i),Ks(e,t,i))}function Ks(e,t,i){for(;t<i&&e.charCodeAt(t)<=32;)t++;return t}function De(e,t){return function ri(e,t,i,n){const r=A(),s=ve(),o=ji(2);s.firstUpdatePass&&Py(s,e,o,n),t!==re&&Jt(r,o,t)&&ky(s,s.data[cn()],r,r[ne],e,r[o+1]=function jA(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=Nt(or(e)))),e}(t,i),n,o)}(e,t,null,!0),De}function Rr(e){!function si(e,t,i,n){const r=ve(),s=ji(2);r.firstUpdatePass&&Py(r,null,s,n);const o=A();if(i!==re&&Jt(o,s,i)){const a=r.data[cn()];if(By(a,n)&&!Ry(r,s)){let l=n?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(i=Hu(l,i||"")),Gf(r,a,o,i,n)}else!function UA(e,t,i,n,r,s,o,a){r===re&&(r=Ee);let l=0,c=0,u=0<r.length?r[0]:null,h=0<s.length?s[0]:null;for(;null!==u||null!==h;){const g=l<r.length?r[l+1]:void 0,_=c<s.length?s[c+1]:void 0;let b,y=null;u===h?(l+=2,c+=2,g!==_&&(y=h,b=_)):null===h||null!==u&&u<h?(l+=2,y=u):(c+=2,y=h,b=_),null!==y&&ky(e,t,i,n,y,b,o,a),u=l<r.length?r[l]:null,h=c<s.length?s[c]:null}}(r,a,o,o[ne],o[s+1],o[s+1]=function VA(e,t,i){if(null==i||""===i)return Ee;const n=[],r=or(i);if(Array.isArray(r))for(let s=0;s<r.length;s++)e(n,r[s],!0);else if("object"==typeof r)for(const s in r)r.hasOwnProperty(s)&&e(n,s,r[s]);else"string"==typeof r&&t(n,r);return n}(e,t,i),n,s)}}(HA,xi,e,!0)}function xi(e,t){for(let i=function NA(e){return function Ny(e){Ot.key=0,Ot.keyEnd=0,Ot.value=0,Ot.valueEnd=0,Ot.textEnd=e.length}(e),My(e,Ks(e,0,Ot.textEnd))}(t);i>=0;i=My(t,i))xn(e,Ty(t),!0)}function Ry(e,t){return t>=e.expandoStartIndex}function Py(e,t,i,n){const r=e.data;if(null===r[i+1]){const s=r[cn()],o=Ry(e,i);By(s,n)&&null===t&&!o&&(t=!1),t=function FA(e,t,i,n){const r=function hd(e){const t=K.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let s=n?t.residualClasses:t.residualStyles;if(null===r)0===(n?t.classBindings:t.styleBindings)&&(i=oa(i=Kf(null,e,t,i,n),t.attrs,n),s=null);else{const o=t.directiveStylingLast;if(-1===o||e[o]!==r)if(i=Kf(r,e,t,i,n),null===s){let l=function kA(e,t,i){const n=i?t.classBindings:t.styleBindings;if(0!==xr(n))return e[ar(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Kf(null,e,t,l[1],n),l=oa(l,t.attrs,n),function LA(e,t,i,n){e[ar(i?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else s=function BA(e,t,i){let n;const r=t.directiveEnd;for(let s=1+t.directiveStylingLast;s<r;s++)n=oa(n,e[s].hostAttrs,i);return oa(n,t.attrs,i)}(e,t,n)}return void 0!==s&&(n?t.residualClasses=s:t.residualStyles=s),i}(r,s,t,n),function SA(e,t,i,n,r,s){let o=s?t.classBindings:t.styleBindings,a=ar(o),l=xr(o);e[n]=i;let u,c=!1;if(Array.isArray(i)?(u=i[1],(null===u||Ns(i,u)>0)&&(c=!0)):u=i,r)if(0!==l){const g=ar(e[a+1]);e[n+1]=pc(g,a),0!==g&&(e[g+1]=Jf(e[g+1],n)),e[a+1]=function CA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=pc(a,0),0!==a&&(e[a+1]=Jf(e[a+1],n)),a=n;else e[n+1]=pc(l,0),0===a?a=n:e[l+1]=Jf(e[l+1],n),l=n;c&&(e[n+1]=Zf(e[n+1])),Sy(e,u,n,!0),Sy(e,u,n,!1),function TA(e,t,i,n,r){const s=r?e.residualClasses:e.residualStyles;null!=s&&"string"==typeof t&&Ns(s,t)>=0&&(i[n+1]=Qf(i[n+1]))}(t,u,e,n,s),o=pc(a,l),s?t.classBindings=o:t.styleBindings=o}(r,s,t,i,o,n)}}function Kf(e,t,i,n,r){let s=null;const o=i.directiveEnd;let a=i.directiveStylingLast;for(-1===a?a=i.directiveStart:a++;a<o&&(s=t[a],n=oa(n,s.hostAttrs,r),s!==e);)a++;return null!==e&&(i.directiveStylingLast=a),n}function oa(e,t,i){const n=i?1:2;let r=-1;if(null!==t)for(let s=0;s<t.length;s++){const o=t[s];"number"==typeof o?r=o:r===n&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),xn(e,o,!!i||t[++s]))}return void 0===e?null:e}function HA(e,t,i){const n=String(t);""!==n&&!n.includes(" ")&&xn(e,n,i)}function ky(e,t,i,n,r,s,o,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function EA(e){return 1==(1&e)}(c)?Ly(l,t,i,r,xr(c),o):void 0;gc(u)||(gc(s)||function wA(e){return 2==(2&e)}(c)&&(s=Ly(l,null,i,r,a,o)),function SM(e,t,i,n,r){if(t)r?e.addClass(i,n):e.removeClass(i,n);else{let s=-1===n.indexOf("-")?void 0:sr.DashCase;null==r?e.removeStyle(i,n,s):("string"==typeof r&&r.endsWith("!important")&&(r=r.slice(0,-10),s|=sr.Important),e.setStyle(i,n,r,s))}}(n,o,gl(cn(),i),r,s))}function Ly(e,t,i,n,r,s){const o=null===t;let a;for(;r>0;){const l=e[r],c=Array.isArray(l),u=c?l[1]:l,h=null===u;let g=i[r+1];g===re&&(g=h?Ee:void 0);let _=h?Sd(g,n):u===n?g:void 0;if(c&&!gc(_)&&(_=Sd(l,n)),gc(_)&&(a=_,o))return a;const y=e[r+1];r=o?ar(y):xr(y)}if(null!==t){let l=s?t.residualClasses:t.residualStyles;null!=l&&(a=Sd(l,n))}return a}function gc(e){return void 0!==e}function By(e,t){return 0!=(e.flags&(t?8:16))}function qe(e,t=""){const i=A(),n=ve(),r=e+pe,s=n.firstCreatePass?js(n,r,1,t,null):n.data[r],o=Vy(n,i,s,t,e);i[r]=o,_l()&&kl(n,i,o,s),Ti(s,!1)}let Vy=(e,t,i,n,r)=>(rr(!0),function xl(e,t){return e.createText(t)}(t[ne],n));function jt(e){return Ri("",e,""),jt}function Ri(e,t,i){const n=A(),r=Gs(n,e,t,i);return r!==re&&function zi(e,t,i){const n=gl(t,e);!function pm(e,t,i){e.setValue(t,i)}(e[ne],n,i)}(n,cn(),r),Ri}function qn(e,t,i){const n=A();return Jt(n,bs(),t)&&Rn(ve(),ot(),n,e,t,n[ne],i,!0),qn}const eo="en-US";let a0=eo;function th(e,t,i,n,r){if(e=X(e),Array.isArray(e))for(let s=0;s<e.length;s++)th(e[s],t,i,n,r);else{const s=ve(),o=A(),a=Ut();let l=Ir(e)?e:X(e.provide);const c=Wm(e),u=1048575&a.providerIndexes,h=a.directiveStart,g=a.providerIndexes>>20;if(Ir(e)||!e.multi){const _=new Po(c,r,v),y=ih(l,t,r?u:u+g,h);-1===y?(wd(Dl(a,o),s,l),nh(s,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(_),o.push(_)):(i[y]=_,o[y]=_)}else{const _=ih(l,t,u+g,h),y=ih(l,t,u,u+g),D=y>=0&&i[y];if(r&&!D||!r&&!(_>=0&&i[_])){wd(Dl(a,o),s,l);const T=function lx(e,t,i,n,r){const s=new Po(e,i,v);return s.multi=[],s.index=t,s.componentProviders=0,x0(s,r,n&&!i),s}(r?ax:ox,i.length,r,n,c);!r&&D&&(i[y].providerFactory=T),nh(s,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,r&&(a.providerIndexes+=1048576),i.push(T),o.push(T)}else nh(s,e,_>-1?_:y,x0(i[r?y:_],c,!r&&n));!r&&n&&D&&i[y].componentProviders++}}}function nh(e,t,i,n){const r=Ir(t),s=function tI(e){return!!e.useClass}(t);if(r||s){const l=(s?X(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(i);-1===u?c.push(i,[n,l]):c[u+1].push(n,l)}else c.push(i,l)}}}function x0(e,t,i){return i&&e.componentProviders++,e.multi.push(t)-1}function ih(e,t,i,n){for(let r=i;r<n;r++)if(t[r]===e)return r;return-1}function ox(e,t,i,n){return rh(this.multi,[])}function ax(e,t,i,n){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Tr(i,i[H],this.providerFactory.index,n);s=a.slice(0,o),rh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],rh(r,s);return s}function rh(e,t){for(let i=0;i<e.length;i++)t.push((0,e[i])());return t}function $e(e,t=[]){return i=>{i.providersResolver=(n,r)=>function sx(e,t,i){const n=ve();if(n.firstCreatePass){const r=ii(e);th(i,n.data,n.blueprint,r,!0),th(t,n.data,n.blueprint,r,!1)}}(n,r?r(e):e,t)}}class Fr{}class cx{}class sh extends Fr{constructor(t,i,n){super(),this._parent=i,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new $v(this);const r=function An(e,t){const i=e[kg]||null;if(!i&&!0===t)throw new Error(`Type ${Nt(e)} does not have '\u0275mod' property.`);return i}(t);this._bootstrapComponents=function Gi(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=rv(t,i,[{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver},...n],Nt(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(i=>i()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class oh extends cx{constructor(t){super(),this.moduleType=t}create(t){return new sh(this.moduleType,t,[])}}class R0 extends Fr{constructor(t){super(),this.componentFactoryResolver=new $v(this),this.instance=null;const i=new zl([...t.providers,{provide:Fr,useValue:this},{provide:Kl,useValue:this.componentFactoryResolver}],t.parent||Gl(),t.debugName,new Set(["environment"]));this.injector=i,t.runEnvironmentInitializers&&i.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let hx=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const r=jm(0,n.type),s=r.length>0?function fx(e,t,i=null){return new R0({providers:e,parent:t,debugName:i,runEnvironmentInitializers:!0}).injector}([r],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,s)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=G({token:e,providedIn:"environment",factory:()=>new e(L(Gn))}),t})();function Yn(e){e.getStandaloneInjector=t=>t.get(hx).getOrCreateStandaloneInjector(e)}function kx(){return this._results[Symbol.iterator]()}class ch{get changes(){return this._changes||(this._changes=new Y)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const i=ch.prototype;i[Symbol.iterator]||(i[Symbol.iterator]=kx)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,i){return this._results.reduce(t,i)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,i){const n=this;n.dirty=!1;const r=function $n(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function IT(e,t,i){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++){let r=e[n],s=t[n];if(i&&(r=i(r),s=i(s)),s!==r)return!1}return!0}(n._results,r,i))&&(n._results=r,n.length=r.length,n.last=r[this.length-1],n.first=r[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}function Bx(e,t,i,n=!0){const r=t[H];if(function mM(e,t,i,n){const r=Ht+n,s=i.length;n>0&&(i[r-1][ni]=t),n<s-Ht?(t[ni]=i[r],G_(i,Ht+n,t)):(i.push(t),t[ni]=null),t[tt]=i;const o=t[Ao];null!==o&&i!==o&&function vM(e,t){const i=e[ms];t[yt]!==t[tt][tt][yt]&&(e[Kg]=!0),null===i?e[ms]=[t]:i.push(t)}(o,t);const a=t[wi];null!==a&&a.insertView(e),t[ie]|=128}(r,t,e,i),n){const s=jd(i,e),o=t[ne],a=Fl(o,e[Ci]);null!==a&&function pM(e,t,i,n,r,s){n[ht]=r,n[qt]=t,Go(e,n,i,1,r,s)}(r,e[qt],o,t,a,s)}}let nt=(()=>{class t{}return t.__NG_ELEMENT_ID__=Ux,t})();const Vx=nt,Hx=class extends Vx{constructor(t,i,n){super(),this._declarationLView=t,this._declarationTContainer=i,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,i){return this.createEmbeddedViewImpl(t,i)}createEmbeddedViewImpl(t,i,n){const r=function Lx(e,t,i,n){const r=t.tView,a=nc(e,r,i,4096&e[ie]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[Ao]=e[t.index];const c=e[wi];return null!==c&&(a[wi]=c.createEmbeddedView(r)),Lf(r,a,i),a}(this._declarationLView,this._declarationTContainer,t,{injector:i,hydrationInfo:n});return new Xo(r)}};function Ux(){return bc(Ut(),A())}function bc(e,t){return 4&e.type?new Hx(t,e,Vs(e,t)):null}let Cn=(()=>{class t{}return t.__NG_ELEMENT_ID__=qx,t})();function qx(){return Q0(Ut(),A())}const Yx=Cn,Z0=class extends Yx{constructor(t,i,n){super(),this._lContainer=t,this._hostTNode=i,this._hostLView=n}get element(){return Vs(this._hostTNode,this._hostLView)}get injector(){return new un(this._hostTNode,this._hostLView)}get parentInjector(){const t=wl(this._hostTNode,this._hostLView);if(yd(t)){const i=ko(t,this._hostLView),n=Fo(t);return new un(i[H].data[n+8],i)}return new un(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const i=J0(this._lContainer);return null!==i&&i[t]||null}get length(){return this._lContainer.length-Ht}createEmbeddedView(t,i,n){let r,s;"number"==typeof n?r=n:null!=n&&(r=n.index,s=n.injector);const a=t.createEmbeddedViewImpl(i||{},s,null);return this.insertImpl(a,r,false),a}createComponent(t,i,n,r,s){const o=t&&!function Bo(e){return"function"==typeof e}(t);let a;if(o)a=i;else{const b=i||{};a=b.index,n=b.injector,r=b.projectableNodes,s=b.environmentInjector||b.ngModuleRef}const l=o?t:new ea(me(t)),c=n||this.parentInjector;if(!s&&null==l.ngModule){const D=(o?c:this.parentInjector).get(Gn,null);D&&(s=D)}me(l.componentType??{});const _=l.create(c,r,null,s);return this.insertImpl(_.hostView,a,false),_}insert(t,i){return this.insertImpl(t,i,!1)}insertImpl(t,i,n){const r=t._lView;if(function jS(e){return rn(e[tt])}(r)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=r[tt],u=new Z0(c,c[qt],c[tt]);u.detach(u.indexOf(t))}}const o=this._adjustIndex(i),a=this._lContainer;return Bx(a,r,o,!n),t.attachToViewContainerRef(),G_(uh(a),o,t),t}move(t,i){return this.insert(t,i)}indexOf(t){const i=J0(this._lContainer);return null!==i?i.indexOf(t):-1}remove(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);n&&(El(uh(this._lContainer),i),Bd(n[H],n))}detach(t){const i=this._adjustIndex(t,-1),n=Pl(this._lContainer,i);return n&&null!=El(uh(this._lContainer),i)?new Xo(n):null}_adjustIndex(t,i=0){return t??this.length+i}};function J0(e){return e[8]}function uh(e){return e[8]||(e[8]=[])}function Q0(e,t){let i;const n=t[e.index];return rn(n)?i=n:(i=Ov(n,t,null,e),t[e.index]=i,ic(t,i)),K0(i,t,e,n),new Z0(i,e,t)}let K0=function X0(e,t,i,n){if(e[Ci])return;let r;r=8&i.type?We(n):function Zx(e,t){const i=e[ne],n=i.createComment(""),r=yn(t,e);return Mr(i,Fl(i,r),n,function wM(e,t){return e.nextSibling(t)}(i,r),!1),n}(t,i),e[Ci]=r};class dh{constructor(t){this.queryList=t,this.matches=null}clone(){return new dh(this.queryList)}setDirty(){this.queryList.setDirty()}}class fh{constructor(t=[]){this.queries=t}createEmbeddedView(t){const i=t.queries;if(null!==i){const n=null!==t.contentQueries?t.contentQueries[0]:i.length,r=[];for(let s=0;s<n;s++){const o=i.getByIndex(s);r.push(this.queries[o.indexInDeclarationView].clone())}return new fh(r)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let i=0;i<this.queries.length;i++)null!==r1(t,i).matches&&this.queries[i].setDirty()}}class e1{constructor(t,i,n=null){this.predicate=t,this.flags=i,this.read=n}}class hh{constructor(t=[]){this.queries=t}elementStart(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].elementStart(t,i)}elementEnd(t){for(let i=0;i<this.queries.length;i++)this.queries[i].elementEnd(t)}embeddedTView(t){let i=null;for(let n=0;n<this.length;n++){const r=null!==i?i.length:0,s=this.getByIndex(n).embeddedTView(t,r);s&&(s.indexInDeclarationView=n,null!==i?i.push(s):i=[s])}return null!==i?new hh(i):null}template(t,i){for(let n=0;n<this.queries.length;n++)this.queries[n].template(t,i)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class ph{constructor(t,i=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=i}elementStart(t,i){this.isApplyingToNode(i)&&this.matchTNode(t,i)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,i){this.elementStart(t,i)}embeddedTView(t,i){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,i),new ph(this.metadata)):null}isApplyingToNode(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const i=this._declarationNodeIndex;let n=t.parent;for(;null!==n&&8&n.type&&n.index!==i;)n=n.parent;return i===(null!==n?n.index:-1)}return this._appliesToNextNode}matchTNode(t,i){const n=this.metadata.predicate;if(Array.isArray(n))for(let r=0;r<n.length;r++){const s=n[r];this.matchTNodeWithReadOption(t,i,Kx(i,s)),this.matchTNodeWithReadOption(t,i,Cl(i,t,s,!1,!1))}else n===nt?4&i.type&&this.matchTNodeWithReadOption(t,i,-1):this.matchTNodeWithReadOption(t,i,Cl(i,t,n,!1,!1))}matchTNodeWithReadOption(t,i,n){if(null!==n){const r=this.metadata.read;if(null!==r)if(r===Fe||r===Cn||r===nt&&4&i.type)this.addMatch(i.index,-2);else{const s=Cl(i,t,r,!1,!1);null!==s&&this.addMatch(i.index,s)}else this.addMatch(i.index,n)}}addMatch(t,i){null===this.matches?this.matches=[t,i]:this.matches.push(t,i)}}function Kx(e,t){const i=e.localNames;if(null!==i)for(let n=0;n<i.length;n+=2)if(i[n]===t)return i[n+1];return null}function eR(e,t,i,n){return-1===i?function Xx(e,t){return 11&e.type?Vs(e,t):4&e.type?bc(e,t):null}(t,e):-2===i?function tR(e,t,i){return i===Fe?Vs(t,e):i===nt?bc(t,e):i===Cn?Q0(t,e):void 0}(e,t,n):Tr(e,e[H],i,t)}function t1(e,t,i,n){const r=t[wi].queries[n];if(null===r.matches){const s=e.data,o=i.matches,a=[];for(let l=0;l<o.length;l+=2){const c=o[l];a.push(c<0?null:eR(t,s[c],o[l+1],i.metadata.read))}r.matches=a}return r.matches}function gh(e,t,i,n){const r=e.queries.getByIndex(i),s=r.matches;if(null!==s){const o=t1(e,t,r,i);for(let a=0;a<s.length;a+=2){const l=s[a];if(l>0)n.push(o[a/2]);else{const c=s[a+1],u=t[-l];for(let h=Ht;h<u.length;h++){const g=u[h];g[Ao]===g[tt]&&gh(g[H],g,c,n)}if(null!==u[ms]){const h=u[ms];for(let g=0;g<h.length;g++){const _=h[g];gh(_[H],_,c,n)}}}}}return n}function se(e){const t=A(),i=ve(),n=C_();pd(n+1);const r=r1(i,n);if(e.dirty&&function HS(e){return 4==(4&e[ie])}(t)===(2==(2&r.metadata.flags))){if(null===r.matches)e.reset([]);else{const s=r.crossesNgTemplate?gh(i,t,n,[]):t1(i,t,r,n);e.reset(s,wI),e.notifyOnChanges()}return!0}return!1}function at(e,t,i){const n=ve();n.firstCreatePass&&(i1(n,new e1(e,t,i),-1),2==(2&t)&&(n.staticViewQueries=!0)),n1(n,A(),t)}function pt(e,t,i,n){const r=ve();if(r.firstCreatePass){const s=Ut();i1(r,new e1(t,i,n),s.index),function iR(e,t){const i=e.contentQueries||(e.contentQueries=[]);t!==(i.length?i[i.length-1]:-1)&&i.push(e.queries.length-1,t)}(r,e),2==(2&i)&&(r.staticContentQueries=!0)}n1(r,A(),i)}function oe(){return function nR(e,t){return e[wi].queries[t].queryList}(A(),C_())}function n1(e,t,i){const n=new ch(4==(4&i));(function eN(e,t,i,n){const r=Rv(t);r.push(i),e.firstCreatePass&&Pv(e).push(n,r.length-1)})(e,t,n,n.destroy),null===t[wi]&&(t[wi]=new fh),t[wi].queries.push(new dh(n))}function i1(e,t,i){null===e.queries&&(e.queries=new hh),e.queries.track(new ph(t,i))}function r1(e,t){return e.queries.getByIndex(t)}function En(e,t){return bc(e,t)}const w1=new W("Application Initializer");let bh=(()=>{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,r)=>{this.resolve=n,this.reject=r}),this.appInits=fe(w1,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const s of this.appInits){const o=s();if(fc(o))n.push(o);else if(fy(o)){const a=new Promise((l,c)=>{o.subscribe({complete:l,error:c})});n.push(a)}}const r=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const oi=new W("LocaleId",{providedIn:"root",factory:()=>fe(oi,ge.Optional|ge.SkipSelf)||function SR(){return typeof $localize<"u"&&$localize.locale||eo}()});let Dh=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new UE(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const T1=new W(""),Ec=new W("");let Th,Eh=(()=>{var e;class t{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Th||(function YR(e){Th=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Se.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let o=-1;r&&r>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==o),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:o,updateCb:s})}whenStable(n,r,s){if(s&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Se),L(Sh),L(Ec))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})(),Sh=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Th?.findTestabilityInTree(this,n,r)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),lr=null;const M1=new W("AllowMultipleToken"),Mh=new W("PlatformDestroyListeners"),I1=new W("appBootstrapListener");function O1(e,t,i=[]){const n=`Platform: ${t}`,r=new W(n);return(s=[])=>{let o=Ih();if(!o||o.injector.get(M1,!1)){const a=[...i,...s,{provide:r,useValue:!0}];e?e(a):function QR(e){if(lr&&!lr.get(M1,!1))throw new F(400,!1);(function N1(){!function OS(e){r_=e}(()=>{throw new F(600,!1)})})(),lr=e;const t=e.get(R1);(function A1(e){e.get(qm,null)?.forEach(i=>i())})(e)}(function x1(e=[],t){return Zt.create({name:t,providers:[{provide:nf,useValue:"platform"},{provide:Mh,useValue:new Set([()=>lr=null])},...e]})}(a,n))}return function XR(e){const t=Ih();if(!t)throw new F(401,!1);return t}()}}function Ih(){return lr?.get(R1)??null}let R1=(()=>{var e;class t{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function eP(e="zone.js",t){return"noop"===e?new LI:"zone.js"===e?new Se(t):e}(r?.ngZone,function P1(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}({eventCoalescing:r?.ngZoneEventCoalescing,runCoalescing:r?.ngZoneRunCoalescing}));return s.run(()=>{const o=function dx(e,t,i){return new sh(e,t,i)}(n.moduleType,this.injector,function V1(e){return[{provide:Se,useFactory:e},{provide:Ul,multi:!0,useFactory:()=>{const t=fe(nP,{optional:!0});return()=>t.initialize()}},{provide:B1,useFactory:tP},{provide:lv,useFactory:cv}]}(()=>s)),a=o.injector.get(Ar,null);return s.runOutsideAngular(()=>{const l=s.onError.subscribe({next:c=>{a.handleError(c)}});o.onDestroy(()=>{Sc(this._modules,o),l.unsubscribe()})}),function F1(e,t,i){try{const n=i();return fc(n)?n.catch(r=>{throw t.runOutsideAngular(()=>e.handleError(r)),r}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(a,s,()=>{const l=o.injector.get(bh);return l.runInitializers(),l.donePromise.then(()=>(function l0(e){jn(e,"Expected localeId to be defined"),"string"==typeof e&&(a0=e.toLowerCase().replace(/_/g,"-"))}(o.injector.get(oi,eo)||eo),this._moduleDoBootstrap(o),o))})})}bootstrapModule(n,r=[]){const s=k1({},r);return function ZR(e,t,i){const n=new oh(i);return Promise.resolve(n)}(0,0,n).then(o=>this.bootstrapModuleFactory(o,s))}_moduleDoBootstrap(n){const r=n.injector.get(kr);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new F(-403,!1);n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new F(404,!1);this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r());const n=this._injector.get(Mh,null);n&&(n.forEach(r=>r()),n.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();function k1(e,t){return Array.isArray(t)?t.reduce(k1,e):{...e,...t}}let kr=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=fe(B1),this.zoneIsStable=fe(lv),this.componentTypes=[],this.components=[],this.isStable=fe(Dh).hasPendingTasks.pipe(Vu(n=>n?ds(!1):this.zoneIsStable),function Mg(e,t=yi){return e=e??jE,mt((i,n)=>{let r,s=!0;i.subscribe(ft(n,o=>{const a=t(o);(s||!e(r,a))&&(s=!1,r=a,n.next(o))}))})}(),Tg()),this._injector=fe(Gn)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Km;if(!this._injector.get(bh).done)throw!s&&function Mo(e){const t=me(e)||Vt(e)||nn(e);return null!==t&&t.standalone}(n),new F(405,!1);let a;a=s?n:this._injector.get(Kl).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function JR(e){return e.isBoundToModule}(a)?void 0:this._injector.get(Fr),u=a.create(Zt.NULL,[],r||a.selector,l),h=u.location.nativeElement,g=u.injector.get(T1,null);return g?.registerApplication(h),u.onDestroy(()=>{this.detachView(u.hostView),Sc(this.components,u),g?.unregisterApplication(h)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new F(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Sc(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const r=this._injector.get(I1,[]);r.push(...this._bootstrapListeners),r.forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Sc(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new F(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Sc(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}const B1=new W("",{providedIn:"root",factory:()=>fe(Ar).handleError.bind(void 0)});function tP(){const e=fe(Se),t=fe(Ar);return i=>e.runOutsideAngular(()=>t.handleError(i))}let nP=(()=>{var e;class t{constructor(){this.zone=fe(Se),this.applicationRef=fe(kr)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();let gt=(()=>{class t{}return t.__NG_ELEMENT_ID__=rP,t})();function rP(e){return function sP(e,t,i){if(Cr(e)&&!i){const n=On(e.index,t);return new Xo(n,n)}return 47&e.type?new Xo(t[yt],t):null}(Ut(),A(),16==(16&e))}class $1{constructor(){}supports(t){return ac(t)}create(t){return new dP(t)}}const uP=(e,t)=>t;class dP{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||uP}forEachItem(t){let i;for(i=this._itHead;null!==i;i=i._next)t(i)}forEachOperation(t){let i=this._itHead,n=this._removalsHead,r=0,s=null;for(;i||n;){const o=!n||i&&i.currentIndex<z1(n,r,s)?i:n,a=z1(o,r,s),l=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(i=i._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let g=0;g<c;g++){const _=g<s.length?s[g]:s[g]=0,y=_+g;u<=y&&y<c&&(s[g]=_+1)}s[o.previousIndex]=u-c}}a!==l&&t(o,a,l)}}forEachPreviousItem(t){let i;for(i=this._previousItHead;null!==i;i=i._nextPrevious)t(i)}forEachAddedItem(t){let i;for(i=this._additionsHead;null!==i;i=i._nextAdded)t(i)}forEachMovedItem(t){let i;for(i=this._movesHead;null!==i;i=i._nextMoved)t(i)}forEachRemovedItem(t){let i;for(i=this._removalsHead;null!==i;i=i._nextRemoved)t(i)}forEachIdentityChange(t){let i;for(i=this._identityChangesHead;null!==i;i=i._nextIdentityChange)t(i)}diff(t){if(null==t&&(t=[]),!ac(t))throw new F(900,!1);return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let r,s,o,i=this._itHead,n=!1;if(Array.isArray(t)){this.length=t.length;for(let a=0;a<this.length;a++)s=t[a],o=this._trackByFn(a,s),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,s,o,a)),Object.is(i.item,s)||this._addIdentityChange(i,s)):(i=this._mismatch(i,s,o,a),n=!0),i=i._next}else r=0,function WN(e,t){if(Array.isArray(e))for(let i=0;i<e.length;i++)t(e[i]);else{const i=e[Symbol.iterator]();let n;for(;!(n=i.next()).done;)t(n.value)}}(t,a=>{o=this._trackByFn(r,a),null!==i&&Object.is(i.trackById,o)?(n&&(i=this._verifyReinsertion(i,a,o,r)),Object.is(i.item,a)||this._addIdentityChange(i,a)):(i=this._mismatch(i,a,o,r),n=!0),i=i._next,r++}),this.length=r;return this._truncate(i),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,i,n,r){let s;return null===t?s=this._itTail:(s=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._reinsertAfter(t,s,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,r))?(Object.is(t.item,i)||this._addIdentityChange(t,i),this._moveAfter(t,s,r)):t=this._addAfter(new fP(i,n),s,r),t}_verifyReinsertion(t,i,n,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==s?t=this._reinsertAfter(s,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const i=t._next;this._addToRemovals(this._unlink(t)),t=i}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,i,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,s=t._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(t,i,n),this._addToMoves(t,n),t}_moveAfter(t,i,n){return this._unlink(t),this._insertAfter(t,i,n),this._addToMoves(t,n),t}_addAfter(t,i,n){return this._insertAfter(t,i,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,i,n){const r=null===i?this._itHead:i._next;return t._next=r,t._prev=i,null===r?this._itTail=t:r._prev=t,null===i?this._itHead=t:i._next=t,null===this._linkedRecords&&(this._linkedRecords=new G1),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const i=t._prev,n=t._next;return null===i?this._itHead=n:i._next=n,null===n?this._itTail=i:n._prev=i,t}_addToMoves(t,i){return t.previousIndex===i||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new G1),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,i){return t.item=i,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class fP{constructor(t,i){this.item=t,this.trackById=i,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class hP{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,i){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===i||i<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const i=t._prevDup,n=t._nextDup;return null===i?this._head=n:i._nextDup=n,null===n?this._tail=i:n._prevDup=i,null===this._head}}class G1{constructor(){this.map=new Map}put(t){const i=t.trackById;let n=this.map.get(i);n||(n=new hP,this.map.set(i,n)),n.add(t)}get(t,i){const r=this.map.get(t);return r?r.get(t,i):null}remove(t){const i=t.trackById;return this.map.get(i).remove(t)&&this.map.delete(i),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function z1(e,t,i){const n=e.previousIndex;if(null===n)return n;let r=0;return i&&n<i.length&&(r=i[n]),n+t+r}function q1(){return new Ic([new $1])}let Ic=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new t(n)}static extend(n){return{provide:t,useFactory:r=>t.create(n,r||q1()),deps:[[t,new Id,new Md]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new F(901,!1)}}return(e=t).\u0275prov=G({token:e,providedIn:"root",factory:q1}),t})();const vP=O1(null,"core",[]);let yP=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function Fh(e,t){const i=me(e),n=t.elementInjector||Gl();return new ea(i).create(n,t.projectableNodes,t.hostElement,t.environmentInjector)}let kh=null;function ba(){return kh}class xP{}const Qt=new W("DocumentToken");function hb(e,t){t=encodeURIComponent(t);for(const i of e.split(";")){const n=i.indexOf("="),[r,s]=-1==n?[i,""]:[i.slice(0,n),i.slice(n+1)];if(r.trim()===t)return decodeURIComponent(s)}return null}class mF{constructor(t,i,n,r){this.$implicit=t,this.ngForOf=i,this.index=n,this.count=r}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let kn=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,r,s){this._viewContainer=n,this._template=r,this._differs=s,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const r=this._viewContainer;n.forEachOperation((s,o,a)=>{if(null==s.previousIndex)r.createEmbeddedView(this._template,new mF(s.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)r.remove(null===o?void 0:o);else if(null!==o){const l=r.get(o);r.move(l,a),_b(l,s)}});for(let s=0,o=r.length;s<o;s++){const l=r.get(s).context;l.index=s,l.count=o,l.ngForOf=this._ngForOf}n.forEachIdentityChange(s=>{_b(r.get(s.currentIndex),s)})}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt),v(Ic))},e.\u0275dir=k({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function _b(e,t){e.context.$implicit=t.item}let Ln=(()=>{var e;class t{constructor(n,r){this._viewContainer=n,this._context=new vF,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){mb("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){mb("ngIfElse",n),this._elseTemplateRef=n,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(n,r){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Cn),v(nt))},e.\u0275dir=k({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class vF{constructor(){this.$implicit=null,this.ngIf=null}}function mb(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${Nt(t)}'.`)}let bb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();function wb(e){return"server"===e}class Cb{}class mk extends xP{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class ep extends mk{static makeCurrent(){!function OP(e){kh||(kh=e)}(new ep)}onAndCancel(t,i,n){return t.addEventListener(i,n),()=>{t.removeEventListener(i,n)}}dispatchEvent(t,i){t.dispatchEvent(i)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,i){return(i=i||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,i){return"window"===i?window:"document"===i?t:"body"===i?t.body:null}getBaseHref(t){const i=function vk(){return Ea=Ea||document.querySelector("base"),Ea?Ea.getAttribute("href"):null}();return null==i?null:function yk(e){jc=jc||document.createElement("a"),jc.setAttribute("href",e);const t=jc.pathname;return"/"===t.charAt(0)?t:`/${t}`}(i)}resetBaseElement(){Ea=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hb(document.cookie,t)}}let jc,Ea=null,Dk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const tp=new W("EventManagerPlugins");let Ib=(()=>{var e;class t{constructor(n,r){this._zone=r,this._eventNameToPlugin=new Map,n.forEach(s=>{s.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,r,s){return this._findPluginFor(r).addEventListener(n,r,s)}getZone(){return this._zone}_findPluginFor(n){let r=this._eventNameToPlugin.get(n);if(r)return r;if(r=this._plugins.find(o=>o.supports(n)),!r)throw new F(5101,!1);return this._eventNameToPlugin.set(n,r),r}}return(e=t).\u0275fac=function(n){return new(n||e)(L(tp),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class Nb{constructor(t){this._doc=t}}const np="ng-app-id";let Ab=(()=>{var e;class t{constructor(n,r,s,o={}){this.doc=n,this.appId=r,this.nonce=s,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=wb(o),this.resetHostNodes()}addStyles(n){for(const r of n)1===this.changeUsageCount(r,1)&&this.onStyleAdded(r)}removeStyles(n){for(const r of n)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(r=>r.remove()),n.clear());for(const r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const r of this.getAllStyles())this.addStyleToHost(n,r)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const r of this.hostNodes)this.addStyleToHost(r,n)}onStyleRemoved(n){const r=this.styleRef;r.get(n)?.elements?.forEach(s=>s.remove()),r.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${np}="${this.appId}"]`);if(n?.length){const r=new Map;return n.forEach(s=>{null!=s.textContent&&r.set(s.textContent,s)}),r}return null}changeUsageCount(n,r){const s=this.styleRef;if(s.has(n)){const o=s.get(n);return o.usage+=r,o.usage}return s.set(n,{usage:r,elements:[]}),r}getStyleElement(n,r){const s=this.styleNodesInDOM,o=s?.get(r);if(o?.parentNode===n)return s.delete(r),o.removeAttribute(np),o;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=r,this.platformIsServer&&a.setAttribute(np,this.appId),a}}addStyleToHost(n,r){const s=this.getStyleElement(n,r);n.appendChild(s);const o=this.styleRef,a=o.get(r)?.elements;a?a.push(s):o.set(r,{elements:[s],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt),L(Wl),L(Ym,8),L(Nr))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const ip={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},rp=/%COMP%/g,Sk=new W("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function xb(e,t){return t.map(i=>i.replace(rp,e))}let Rb=(()=>{var e;class t{constructor(n,r,s,o,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=r,this.appId=s,this.removeStylesOnCompDestroy=o,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=wb(l),this.defaultRenderer=new sp(n,a,c,this.platformIsServer)}createRenderer(n,r){if(!n||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===ei.ShadowDom&&(r={...r,encapsulation:ei.Emulated});const s=this.getOrCreateRenderer(n,r);return s instanceof Fb?s.applyToHost(n):s instanceof op&&s.applyStyles(),s}getOrCreateRenderer(n,r){const s=this.rendererByCompId;let o=s.get(r.id);if(!o){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,h=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(r.encapsulation){case ei.Emulated:o=new Fb(c,u,r,this.appId,h,a,l,g);break;case ei.ShadowDom:return new Nk(c,u,n,r,a,l,this.nonce,g);default:o=new op(c,u,r,h,a,l,g)}s.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ib),L(Ab),L(Wl),L(Sk),L(Qt),L(Nr),L(Se),L(Ym))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();class sp{constructor(t,i,n,r){this.eventManager=t,this.doc=i,this.ngZone=n,this.platformIsServer=r,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,i){return i?this.doc.createElementNS(ip[i]||i,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,i){(Pb(t)?t.content:t).appendChild(i)}insertBefore(t,i,n){t&&(Pb(t)?t.content:t).insertBefore(i,n)}removeChild(t,i){t&&t.removeChild(i)}selectRootElement(t,i){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new F(-5104,!1);return i||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,i,n,r){if(r){i=r+":"+i;const s=ip[r];s?t.setAttributeNS(s,i,n):t.setAttribute(i,n)}else t.setAttribute(i,n)}removeAttribute(t,i,n){if(n){const r=ip[n];r?t.removeAttributeNS(r,i):t.removeAttribute(`${n}:${i}`)}else t.removeAttribute(i)}addClass(t,i){t.classList.add(i)}removeClass(t,i){t.classList.remove(i)}setStyle(t,i,n,r){r&(sr.DashCase|sr.Important)?t.style.setProperty(i,n,r&sr.Important?"important":""):t.style[i]=n}removeStyle(t,i,n){n&sr.DashCase?t.style.removeProperty(i):t.style[i]=""}setProperty(t,i,n){t[i]=n}setValue(t,i){t.nodeValue=i}listen(t,i,n){if("string"==typeof t&&!(t=ba().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${i}`);return this.eventManager.addEventListener(t,i,this.decoratePreventDefault(n))}decoratePreventDefault(t){return i=>{if("__ngUnwrap__"===i)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(i)):t(i))&&i.preventDefault()}}}function Pb(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class Nk extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,l),this.sharedStylesHost=i,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=xb(r.id,r.styles);for(const u of c){const h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=u,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,i){return super.appendChild(this.nodeOrShadowRoot(t),i)}insertBefore(t,i,n){return super.insertBefore(this.nodeOrShadowRoot(t),i,n)}removeChild(t,i){return super.removeChild(this.nodeOrShadowRoot(t),i)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class op extends sp{constructor(t,i,n,r,s,o,a,l){super(t,s,o,a),this.sharedStylesHost=i,this.removeStylesOnCompDestroy=r,this.styles=l?xb(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class Fb extends op{constructor(t,i,n,r,s,o,a,l){const c=r+"-"+n.id;super(t,i,n,s,o,a,l,c),this.contentAttr=function Tk(e){return"_ngcontent-%COMP%".replace(rp,e)}(c),this.hostAttr=function Mk(e){return"_nghost-%COMP%".replace(rp,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,i){const n=super.createElement(t,i);return super.setAttribute(n,this.contentAttr,""),n}}let Ak=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return!0}addEventListener(n,r,s){return n.addEventListener(r,s,!1),()=>this.removeEventListener(n,r,s)}removeEventListener(n,r,s){return n.removeEventListener(r,s)}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const kb=["alt","control","meta","shift"],Ok={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},xk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Rk=(()=>{var e;class t extends Nb{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,r,s){const o=t.parseEventName(r),a=t.eventCallback(o.fullKey,s,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ba().onAndCancel(n,o.domEventName,a))}static parseEventName(n){const r=n.toLowerCase().split("."),s=r.shift();if(0===r.length||"keydown"!==s&&"keyup"!==s)return null;const o=t._normalizeKey(r.pop());let a="",l=r.indexOf("code");if(l>-1&&(r.splice(l,1),a="code."),kb.forEach(u=>{const h=r.indexOf(u);h>-1&&(r.splice(h,1),a+=u+".")}),a+=o,0!=r.length||0===o.length)return null;const c={};return c.domEventName=s,c.fullKey=a,c}static matchEventFullKeyCode(n,r){let s=Ok[n.key]||n.key,o="";return r.indexOf("code.")>-1&&(s=n.code,o="code."),!(null==s||!s)&&(s=s.toLowerCase()," "===s?s="space":"."===s&&(s="dot"),kb.forEach(a=>{a!==s&&(0,xk[a])(n)&&(o+=a+".")}),o+=s,o===r)}static eventCallback(n,r,s){return o=>{t.matchEventFullKeyCode(o,n)&&s.runGuarded(()=>r(o))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const Lk=O1(vP,"browser",[{provide:Nr,useValue:"browser"},{provide:qm,useValue:function Pk(){ep.makeCurrent()},multi:!0},{provide:Qt,useFactory:function kk(){return function AM(e){zd=e}(document),document},deps:[]}]),Bk=new W(""),Vb=[{provide:Ec,useClass:class bk{addToWindow(t){Ue.getAngularTestability=(n,r=!0)=>{const s=t.findTestabilityInTree(n,r);if(null==s)throw new F(5103,!1);return s},Ue.getAllAngularTestabilities=()=>t.getAllTestabilities(),Ue.getAllAngularRootElements=()=>t.getAllRootElements(),Ue.frameworkStabilizers||(Ue.frameworkStabilizers=[]),Ue.frameworkStabilizers.push(n=>{const r=Ue.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&n(o)};r.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,i,n){return null==i?null:t.getTestability(i)??(n?ba().isShadowRoot(i)?this.findTestabilityInTree(t,i.host,!0):this.findTestabilityInTree(t,i.parentElement,!0):null)}},deps:[]},{provide:T1,useClass:Eh,deps:[Se,Sh,Ec]},{provide:Eh,useClass:Eh,deps:[Se,Sh,Ec]}],Hb=[{provide:nf,useValue:"root"},{provide:Ar,useFactory:function Fk(){return new Ar},deps:[]},{provide:tp,useClass:Ak,multi:!0,deps:[Qt,Se,Nr]},{provide:tp,useClass:Rk,multi:!0,deps:[Qt]},Rb,Ab,Ib,{provide:vf,useExisting:Rb},{provide:Cb,useClass:Dk,deps:[]},[]];let Vk=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:Wl,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Bk,12))},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[...Hb,...Vb],imports:[bb,yP]}),t})();typeof window<"u"&&window;let Kt=(()=>{var e;class t{constructor(){this.elementLookup=[]}findElementIndex(n){let r=-1;for(let s=0;s<this.elementLookup.length;s++)this.elementLookup[s].id==n&&(r=s);return r}addElementObject(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullTagHTML(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].object=r}addElementTagHTML(n,r,s){let o=this.findElementIndex(n);if(o<0){let a=this.initializeElementLookupDtoNullObject(n,s,r);this.elementLookup.push(a)}else this.elementLookup[o].tagHtml=r}addElementAll(n,r,s,o){let a=this.elementLookup.find(l=>{});if(null==a){let l=this.initializeElementLookupDtoAll(n,r,o,s);this.elementLookup.push(l)}else null==a.tagHtml&&(a.tagHtml=s),null==a.object&&(a.object=null)}getElement(n){return this.elementLookup.find(s=>s.id==n)??null}initializeElementLookupDtoAll(n,r,s,o){return new lp(n,r,s,o)}initializeElementLookupDtoNullObject(n,r,s){return new lp(n,null,r,s)}initializeElementLookupDtoNullTagHTML(n,r,s){return new lp(n,s,r,null)}clearElementLookupDict(){this.elementLookup.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class lp{constructor(t,i,n,r){this.id=t,this.object=i,this.element=n,this.tagHtml=r}}let Xt=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Gb(e){return mt((t,i)=>{let s,n=null,r=!1;n=t.subscribe(ft(i,void 0,void 0,o=>{s=Ft(e(o,Gb(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(i)):r=!0})),r&&(n.unsubscribe(),n=null,s.subscribe(i))})}function ci(e,t){return mt((i,n)=>{let r=0;i.subscribe(ft(n,s=>e.call(t,s,r++)&&n.next(s)))})}function zb(e){return mt((t,i)=>{try{t.subscribe(i)}finally{i.add(e)}})}class $c{}class Gc{}class Pi{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(i=>{const n=i.indexOf(":");if(n>0){const r=i.slice(0,n),s=r.toLowerCase(),o=i.slice(n+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((i,n)=>{this.setHeaderEntries(n,i)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([i,n])=>{this.setHeaderEntries(i,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const i=this.headers.get(t.toLowerCase());return i&&i.length>0?i[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,i){return this.clone({name:t,value:i,op:"a"})}set(t,i){return this.clone({name:t,value:i,op:"s"})}delete(t,i){return this.clone({name:t,value:i,op:"d"})}maybeSetNormalizedName(t,i){this.normalizedNames.has(i)||this.normalizedNames.set(i,t)}init(){this.lazyInit&&(this.lazyInit instanceof Pi?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(i=>{this.headers.set(i,t.headers.get(i)),this.normalizedNames.set(i,t.normalizedNames.get(i))})}clone(t){const i=new Pi;return i.lazyInit=this.lazyInit&&this.lazyInit instanceof Pi?this.lazyInit:this,i.lazyUpdate=(this.lazyUpdate||[]).concat([t]),i}applyUpdate(t){const i=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,i);const r=("a"===t.op?this.headers.get(i):void 0)||[];r.push(...n),this.headers.set(i,r);break;case"d":const s=t.value;if(s){let o=this.headers.get(i);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(i),this.normalizedNames.delete(i)):this.headers.set(i,o)}else this.headers.delete(i),this.normalizedNames.delete(i)}}setHeaderEntries(t,i){const n=(Array.isArray(i)?i:[i]).map(s=>s.toString()),r=t.toLowerCase();this.headers.set(r,n),this.maybeSetNormalizedName(t,r)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(i=>t(this.normalizedNames.get(i),this.headers.get(i)))}}class Yk{encodeKey(t){return Wb(t)}encodeValue(t){return Wb(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const Jk=/%(\d[a-f0-9])/gi,Qk={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function Wb(e){return encodeURIComponent(e).replace(Jk,(t,i)=>Qk[i]??t)}function zc(e){return`${e}`}class ur{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new Yk,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function Zk(e,t){const i=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,s)),t.decodeValue(r.slice(s+1))],l=i.get(o)||[];l.push(a),i.set(o,l)}),i}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(i=>{const n=t.fromObject[i],r=Array.isArray(n)?n.map(zc):[zc(n)];this.map.set(i,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const i=this.map.get(t);return i?i[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,i){return this.clone({param:t,value:i,op:"a"})}appendAll(t){const i=[];return Object.keys(t).forEach(n=>{const r=t[n];Array.isArray(r)?r.forEach(s=>{i.push({param:n,value:s,op:"a"})}):i.push({param:n,value:r,op:"a"})}),this.clone(i)}set(t,i){return this.clone({param:t,value:i,op:"s"})}delete(t,i){return this.clone({param:t,value:i,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const i=this.encoder.encodeKey(t);return this.map.get(t).map(n=>i+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const i=new ur({encoder:this.encoder});return i.cloneFrom=this.cloneFrom||this,i.updates=(this.updates||[]).concat(t),i}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const i=("a"===t.op?this.map.get(t.param):void 0)||[];i.push(zc(t.value)),this.map.set(t.param,i);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const r=n.indexOf(zc(t.value));-1!==r&&n.splice(r,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class Kk{constructor(){this.map=new Map}set(t,i){return this.map.set(t,i),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function qb(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function Yb(e){return typeof Blob<"u"&&e instanceof Blob}function Zb(e){return typeof FormData<"u"&&e instanceof FormData}class Sa{constructor(t,i,n,r){let s;if(this.url=i,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function Xk(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==n?n:null,s=r):s=n,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Pi),this.context||(this.context=new Kk),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=i;else{const a=i.indexOf("?");this.urlWithParams=i+(-1===a?"?":a<i.length-1?"&":"")+o}}else this.params=new ur,this.urlWithParams=i}serializeBody(){return null===this.body?null:qb(this.body)||Yb(this.body)||Zb(this.body)||function e2(e){return typeof URLSearchParams<"u"&&e instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof ur?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||Zb(this.body)?null:Yb(this.body)?this.body.type||null:qb(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof ur?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(t={}){const i=t.method||this.method,n=t.url||this.url,r=t.responseType||this.responseType,s=void 0!==t.body?t.body:this.body,o=void 0!==t.withCredentials?t.withCredentials:this.withCredentials,a=void 0!==t.reportProgress?t.reportProgress:this.reportProgress;let l=t.headers||this.headers,c=t.params||this.params;const u=t.context??this.context;return void 0!==t.setHeaders&&(l=Object.keys(t.setHeaders).reduce((h,g)=>h.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((h,g)=>h.set(g,t.setParams[g]),c)),new Sa(i,n,s,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:o})}}var so=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(so||{});class cp{constructor(t,i=200,n="OK"){this.headers=t.headers||new Pi,this.status=void 0!==t.status?t.status:i,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class up extends cp{constructor(t={}){super(t),this.type=so.ResponseHeader}clone(t={}){return new up({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class oo extends cp{constructor(t={}){super(t),this.type=so.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new oo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class Jb extends cp{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function dp(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Wc=(()=>{var e;class t{constructor(n){this.handler=n}request(n,r,s={}){let o;if(n instanceof Sa)o=n;else{let c,u;c=s.headers instanceof Pi?s.headers:new Pi(s.headers),s.params&&(u=s.params instanceof ur?s.params:new ur({fromObject:s.params})),o=new Sa(n,r,void 0!==s.body?s.body:null,{headers:c,context:s.context,params:u,reportProgress:s.reportProgress,responseType:s.responseType||"json",withCredentials:s.withCredentials})}const a=ds(o).pipe(function qk(e,t){return $(t)?us(e,t,1):us(e,1)}(c=>this.handler.handle(c)));if(n instanceof Sa||"events"===s.observe)return a;const l=a.pipe(ci(c=>c instanceof oo));switch(s.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(Pt(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(Pt(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(Pt(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${s.observe}}`)}}delete(n,r={}){return this.request("DELETE",n,r)}get(n,r={}){return this.request("GET",n,r)}head(n,r={}){return this.request("HEAD",n,r)}jsonp(n,r){return this.request("JSONP",n,{params:(new ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,r={}){return this.request("OPTIONS",n,r)}patch(n,r,s={}){return this.request("PATCH",n,dp(s,r))}post(n,r,s={}){return this.request("POST",n,dp(s,r))}put(n,r,s={}){return this.request("PUT",n,dp(s,r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L($c))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function Xb(e,t){return t(e)}function n2(e,t){return(i,n)=>t.intercept(i,{handle:r=>e(r,n)})}const r2=new W(""),Ta=new W(""),eD=new W("");function s2(){let e=null;return(t,i)=>{null===e&&(e=(fe(r2,{optional:!0})??[]).reduceRight(n2,Xb));const n=fe(Dh),r=n.add();return e(t,i).pipe(zb(()=>n.remove(r)))}}let tD=(()=>{var e;class t extends $c{constructor(n,r){super(),this.backend=n,this.injector=r,this.chain=null,this.pendingTasks=fe(Dh)}handle(n){if(null===this.chain){const s=Array.from(new Set([...this.injector.get(Ta),...this.injector.get(eD,[])]));this.chain=s.reduceRight((o,a)=>function i2(e,t,i){return(n,r)=>i.runInContext(()=>t(n,s=>e(s,r)))}(o,a,this.injector),Xb)}const r=this.pendingTasks.add();return this.chain(n,s=>this.backend.handle(s)).pipe(zb(()=>this.pendingTasks.remove(r)))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Gc),L(Gn))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const c2=/^\)\]\}',?\n/;let iD=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new F(-2800,!1);const r=this.xhrFactory;return(r.\u0275loadImpl?wo(r.\u0275loadImpl()):ds(null)).pipe(Vu(()=>new ze(o=>{const a=r.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((D,T)=>a.setRequestHeader(D,T.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const D=n.detectContentTypeHeader();null!==D&&a.setRequestHeader("Content-Type",D)}if(n.responseType){const D=n.responseType.toLowerCase();a.responseType="json"!==D?D:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const D=a.statusText||"OK",T=new Pi(a.getAllResponseHeaders()),C=function u2(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new up({headers:T,status:a.status,statusText:D,url:C}),c},h=()=>{let{headers:D,status:T,statusText:C,url:P}=u(),O=null;204!==T&&(O=typeof a.response>"u"?a.responseText:a.response),0===T&&(T=O?200:0);let V=T>=200&&T<300;if("json"===n.responseType&&"string"==typeof O){const J=O;O=O.replace(c2,"");try{O=""!==O?JSON.parse(O):null}catch(ue){O=J,V&&(V=!1,O={error:ue,text:O})}}V?(o.next(new oo({body:O,headers:D,status:T,statusText:C,url:P||void 0})),o.complete()):o.error(new Jb({error:O,headers:D,status:T,statusText:C,url:P||void 0}))},g=D=>{const{url:T}=u(),C=new Jb({error:D,status:a.status||0,statusText:a.statusText||"Unknown Error",url:T||void 0});o.error(C)};let _=!1;const y=D=>{_||(o.next(u()),_=!0);let T={type:so.DownloadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),"text"===n.responseType&&a.responseText&&(T.partialText=a.responseText),o.next(T)},b=D=>{let T={type:so.UploadProgress,loaded:D.loaded};D.lengthComputable&&(T.total=D.total),o.next(T)};return a.addEventListener("load",h),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",b)),a.send(l),o.next({type:so.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",h),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",b)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Cb))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();const fp=new W("XSRF_ENABLED"),rD=new W("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),sD=new W("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class oD{}let h2=(()=>{var e;class t{constructor(n,r,s){this.doc=n,this.platform=r,this.cookieName=s,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hb(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt),L(Nr),L(rD))},e.\u0275prov=G({token:e,factory:e.\u0275fac}),t})();function p2(e,t){const i=e.url.toLowerCase();if(!fe(fp)||"GET"===e.method||"HEAD"===e.method||i.startsWith("http://")||i.startsWith("https://"))return t(e);const n=fe(oD).getToken(),r=fe(sD);return null!=n&&!e.headers.has(r)&&(e=e.clone({headers:e.headers.set(r,n)})),t(e)}var dr=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(dr||{});function Br(e,t){return{\u0275kind:e,\u0275providers:t}}function g2(...e){const t=[Wc,iD,tD,{provide:$c,useExisting:tD},{provide:Gc,useExisting:iD},{provide:Ta,useValue:p2,multi:!0},{provide:fp,useValue:!0},{provide:oD,useClass:h2}];for(const i of e)t.push(...i.\u0275providers);return function Xd(e){return{\u0275providers:e}}(t)}const aD=new W("LEGACY_INTERCEPTOR_FN");let m2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[g2(Br(dr.LegacyInterceptors,[{provide:aD,useFactory:s2},{provide:Ta,useExisting:aD,multi:!0}]))]}),t})(),lD=(()=>{var e;class t{constructor(n){this.http=n}load(){return this.http.get("/assets/config.json").toPromise().then(r=>(Object.assign(this,r),r))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),cD=(()=>{var e;class t{constructor(){this.modals=[]}registerModal(n,r){this.modals.push({key:n,modalRef:r})}removeModalByKey(n){let r=-1;for(let s=0;s<this.modals.length;s++){let o=this.modals[s];if(null!=o&&o.key==n){r=s;break}}return r>=0&&delete this.modals[r],r}closeRemoveAllModals(){this.modals.forEach(n=>{n.modalRef.close()}),this.modals.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Yc=(()=>{var e;class t{constructor(){this.contextKeyVal=[]}addContext(n,r){let s=!1;for(let o=0;o<this.contextKeyVal.length;o++){let a=this.contextKeyVal[o];a.key==n&&(a.value=r,s=!0)}0==s&&this.contextKeyVal.push(new C2(n,r))}getContext(){return this.contextKeyVal}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextKeyVal.length;s++)if(this.contextKeyVal[s].key==n){r=s;break}return r>=0?this.contextKeyVal[r].value:""}clearContext(){this.contextKeyVal.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class C2{constructor(t,i){this.key=t,this.value=i}}let Ma=(()=>{var e;class t{constructor(n){this.elementLookupService=n,this.contextMenus=[]}registerContextMenu(n,r){this.contextMenus.push({key:n,contextMenu:r}),this.elementLookupService.addElementTagHTML(n,null,r)}removeContextMenuByKey(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0&&delete this.contextMenus[r],r}retrieveContextValue(n){let r=-1;for(let s=0;s<this.contextMenus.length;s++)if(this.contextMenus[s].key==n){r=s;break}return r>=0?this.contextMenus[r].contextMenu:null}removeAllContextMenus(){this.contextMenus.length=0}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Kt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),E2=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.http=n,this.configService=r,this.modalRefService=s,this.elementLookupService=o,this.contextService=a,this.contextMenuService=l,this.backend_URI="http://localhost:8000",this.backend_URI=r.serverUrl+":"+r.serverPort}get(){this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let n=Xt.injector.get(Qn);const r=this.http.get(this.backend_URI).pipe(Gb((s,o)=>(console.error("Error occurred during the HTTP request:",s),n.postMessage("error connection"),function Wk(e,t){const i=$(e)?e:()=>e,n=r=>r.error(i());return new ze(t?r=>t.schedule(n,0,r):n)}(()=>new Error(s.error)))));return r}post(n,r){let s=[];r.forEach(a=>s.push(Object.assign({},a))),this.modalRefService.closeRemoveAllModals(),this.elementLookupService.clearElementLookupDict(),this.contextService.clearContext(),this.contextMenuService.removeAllContextMenus();let o=null;return o=this.http.post(this.backend_URI+"/backend",s.length>0?{function:n,context:s}:{function:n}),o}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Wc),L(lD),L(cD),L(Kt),L(Yc),L(Ma))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Qn=(()=>{var e;class t{constructor(n,r,s){this.httpService=n,this.httpClient=r,this.contextService=s,this.frontendJson=new ee,this.menuBar=new ee,this.messageLists=new ee,this.contextMenus=new ee,this.lastData=null,this.backend_URI="http://localhost:8000"}initialGet(){this.httpService.get().subscribe({next:n=>{this.lastData=n,this.frontendJson.next(n)}})}policyPost(n){let r=this.contextService.getContext();this.httpService.post(n.policy,r).subscribe({next:s=>{this.lastData=s,this.frontendJson.next(s)}})}uncheckedPost(n){this.httpClient.post(this.backend_URI+"/backend",n).subscribe({next:r=>{this.lastData=r,this.frontendJson.next(r)}})}detectCreateMenuBar(n){"menu_bar"==n.type?this.menuBar.next(n):n.children.forEach(r=>{this.detectCreateMenuBar(r)})}getAllMessagesContextMenus(n,r,s){"message"==n.type?r.push(n):"context_menu"==n.type?s.push(n):n.children.forEach(o=>{this.getAllMessagesContextMenus(o,r,s)})}postMessage(n,r="danger"){let s=[this.getErrorMessage(n)];this.messageLists.next(s)}getErrorMessage(n,r="danger"){return{id:"client_error",type:"message",parent:"window",attributes:[{id:"client_error",key:"message",value:n},{id:"client_error",key:"title",value:"Error"},{id:"client_error",key:"type",value:r}],when:[],children:[]}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(E2),L(Wc),L(Yc))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tn=(()=>{var e;class t{constructor(){}attrBackgroundColor(n,r){n.style.backgroundColor=r.value}attrHeight(n,r){n.style.height=r.value+"px"}attrWidth(n,r){n.style.width=r.value+"px"}setBorderHelper(n,r){let s=Number(this.findGetAttributeValue("border_width",r,"0")),o=this.findGetAttributeValue("border_color",r,"black");this.setBorder(n,s,o,"solid")}setBorder(n,r,s,o){r>0&&(n.style.border=String(r)+"px "+o+" "+s)}addAttributes(n,r){let s=[{key:"background_color",value:this.attrBackgroundColor},{key:"height",value:this.attrHeight},{key:"width",value:this.attrWidth}];r.forEach(o=>{let a=s.findIndex(l=>l.key==o.key);a>=0&&s[a].value(n,o)}),this.setHover(n,r)}addGeneralAttributes(n,r){this.setGrid(n,r),this.setBorderHelper(n,r)}setGrid(n,r){let s=this.findAttribute("grid_row",r),o=this.findAttribute("grid_row_span",r),a=this.findAttribute("grid_column",r),l=this.findAttribute("grid_column_span",r),c=1;null!=o&&(c=Number(o.value));let u=1;if(null!=l&&(u=Number(l.value)),null!=s){let h=Number(s.value)+1;n.style.gridRow=String(h)+"/span "+String(c)}if(null!=a){let h=Number(a.value)+1;n.style.gridColumn=String(h)+"/span "+String(u)}}setHover(n,r){let s=this.findGetAttributeValue("on_hover",r,"false"),o=this.findGetAttributeValue("on_hover_background_color",r,"white"),a=this.findGetAttributeValue("on_hover_foreground_color",r,"black"),l=this.findGetAttributeValue("on_hover_border_color",r,"white"),c=this.findGetAttributeValue("background_color",r,"white"),u=this.findGetAttributeValue("foreground_color",r,"black"),h=Number(this.findGetAttributeValue("border_width",r,"0")),g=this.findGetAttributeValue("border_color",r,"black"),_="solid";"true"==s&&(n.onmouseenter=y=>{n.style.backgroundColor=o,n.style.color=a,this.setBorder(n,h,l,_)},n.onmouseleave=y=>{n.style.backgroundColor=c,n.style.color=u,this.setBorder(n,h,g,_)})}textAttributes(n,r){}addClasses(n,r,s,o,a="class"){s.forEach(function(c){n.classList.add(c)});let l=!1;r.forEach(function(c){if(c.key==a){l=!0;let u=String(c.value);n.classList.add(u)}}),l||o.forEach(function(c){n.classList.add(c)})}setAttributesDirectly(n,r){r.forEach(s=>{n.style[s.key]=s.value})}findAttribute(n,r){let s=null,o=r.findIndex(a=>a.key==n);return o>=0&&(s=r[o]),s}findGetAttributeValue(n,r,s){let o=s,a=r.findIndex(l=>l.key==n);return a>=0&&(o=r[a].value),o}setAbsoulteRelativePositions(n,r,s){let o=Number(this.findGetAttributeValue("pos_x",s.attributes,"-1")),a=Number(this.findGetAttributeValue("pos_y",s.attributes,"-1"));o>=0&&"absstatic"==n&&(r.style.left=String(o)+"px"),o>=0&&"relstatic"==n&&(r.style.left=String(o)+"%"),a>=0&&"absstatic"==n&&(r.style.top=String(a)+"px"),a>=0&&"relstatic"==n&&(r.style.top=String(a)+"%"),(a>=0||o>=0)&&("absstatic"==n||"relstatic"==n)&&(r.style.position="absolute");let l=this.findAttribute("grid_row",s.attributes),c=this.findAttribute("grid_column",s.attributes);null==l&&"grid"==n&&(r.style.gridRow="1"),null==c&&"grid"==n&&(r.style.gridColumn="1")}setChildLayout(n,r){let s=this.findAttribute("child_layout",r),o=this.findAttribute("flex_direction",r);if(null!=s){let a=s?.value;"grid"==a?n.style.display="grid":"flex"==a?(n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"):("absstatic"==a||"relstatic"==a)&&(n.style.position="relative",n.style.display="flex")}else n.style.display="flex",n.style.flexDirection=null!=o?o.value:"column"}setVisibility(n,r){let s=this.findAttribute("visibility",r);null!=s&&("hidden"==s.value||"collapse"==s.value?n.style.visibility="collapse":("shown"==s.value||"visible"==s.value)&&(n.style.visibility="visible"))}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const S2=["child"];function T2(e,t){}let uD=(()=>{var e;class t{constructor(n,r,s,o){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.children=[]}ngAfterViewInit(){if(null!=this.element){"modal"!=this.element.type&&this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findGetAttributeValue("child_layout",this.element.attributes,"flex");this.element.children.forEach(r=>{let s=this.childBearerService.bearChild(this.child,r,n);null!=s&&this.children.push(s)}),this.cd.detectChanges()}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-container"]],viewQuery:function(n,r){if(1&n&&at(S2,5,Cn),2&n){let s;se(s=oe())&&(r.child=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["child",""]],template:function(n,r){1&n&&B(0,T2,0,0,"ng-template",null,0,En)}}),t})();function dD(e){let t=[],i="",n=0;for(let r=0;r<e.length;r++){let s=e.charAt(r);if("("==s)n+=1,i+=s;else if(")"==s){if(n-=1,i+=s,n<0){console.log("ERROR - BRACKE LEVEL LOWER THAN 0");break}}else","==s&&0==n?(t.push(i),i=""):i+=s}return t.push(i),t}function fD(e){Xt.injector.get(Ma).contextMenus.length>0&&(e.preventDefault(),e.stopPropagation(),hD())}function hD(){let e=Xt.injector.get(Ma),t=!1;return e.contextMenus.forEach(i=>{let n=document.getElementById(i.key);null!=n&&"block"==n.style.display&&(n.style.display="none",t=!0)}),t}function pD(e,t){let i=Xt.injector.get(Kt),n=e.policy;n=n.substring(1),n=n.slice(0,-1);let r=dD(n),s=r[0],o=r[1],a=r[2],l=i.getElement(s);if(null!=l){if("context_menu"==l.element.type&&null!=t)return void("visibility"!=o||"visible"!=a?console.error("For updates to context menu only tuples of form (_,visibility,visible) are valid, but got: "+s+","+o+","+a):function M2(e,t){if(t.preventDefault(),t.stopPropagation(),1!=hD()&&null!=Xt.injector.get(Ma).retrieveContextValue(e)&&"pageX"in t&&"pageY"in t&&"number"==typeof t.pageX&&"number"==typeof t.pageY){let r=document.getElementById(e);null!=r&&("block"==r.style.display?r.style.display="none":(r.style.display="block",r.style.left=t.pageX+"px",r.style.top=t.pageY+"px"))}}(s,t));let c=l.element.attributes,u=!1;for(let h in c)c[h].key==o&&(u=!0,c[h]={id:s,key:o,value:a});0==u&&c.push({id:s,key:o,value:a}),l.element.attributes=c,null!=l.object&&"setAttributes"in l.object&&null!=l.object.setAttributes&&"function"==typeof l.object.setAttributes&&l.object.setAttributes(c),null==l.object&&l.element.type.startsWith("svg")&&null!=l.tagHtml&&l.tagHtml.style.setProperty(o,a.replaceAll('"',"")),null!=l.tagHtml&&Xt.injector.get(Tu).setChildTagAttributes(l.tagHtml,l.element)}else console.log("COULD NOT FIND ELEMENT FOR when:"+s+"::"+o+"::"+a),console.log(e)}function Zc(e,t){let i=Xt.injector.get(Yc),n=/_context_value\(([^)]*)\)/;t&&(n=/_context_value_optional\(([^)]*)\)/);let r=n.exec(e);for(;null!=r;){let a=function(l){return/^[0-9]*$/.test(l)},s=r[1],o=i.retrieveContextValue(s);if(0==o.length&&!t)throw new Error("Missing required value for "+s);!a(o)&&o.length>0&&o[0]===o[0].toUpperCase()&&'"'!=o[0]&&(o='"'+o+'"'),e=e.replace(n,o),r=n.exec(e)}return e}function gD(e,t){let i=Xt.injector.get(Yc),n=e.policy;if(n=Zc(n,!0),n=Zc(n,!1),"("==n[0]){n=n.substring(1),n=n.slice(0,-1);let o=dD(n);if(o.length>=2){o.length>2&&(console.log("ATTENTION, CONTEXT LENGTH GREATER THAN 2 FOR"),console.log(e));let a=o[0],l=o[1];if(null!=t){let u=t.target;if(null!=u&&"value"in u&&null!=l.match(/_value/g)&&"string"==typeof u.value){if(""==u.value)return void console.log("EVENT TARGET IS EMPTY");l=l.replace("_value",u.value)}}for(let c=2;c<o.length;c++)l=l+","+o[c];return void i.addContext(a,l)}}let r="The value of context event should be a tuple of size 2, but got "+e.policy;console.error(r),Xt.injector.get(Qn).postMessage(r,"warning")}let Fi=(()=>{var e;class t{constructor(n){this.frontendService=n,document.onclick=fD,document.oncontextmenu=fD}findCallback(n,r){let s=null,o=r.findIndex(a=>a.actionType==n);return o>=0&&(s=r[o]),s}setCallbacks(n,r){this.handleEvent(n,r,"click","click"),this.handleEvent(n,r,"input","input"),this.handleEvent(n,r,"right_click","contextmenu"),this.handleEvent(n,r,"mouseenter","mouseenter"),this.handleEvent(n,r,"mouseleave","mouseleave"),this.handleEvent(n,r,"load","load"),this.handleEvent(n,r,"dblclick","dblclick")}handleEvent(n,r,s="",o=""){let a=[];if(r.forEach(l=>{l.actionType==s&&a.push(l)}),a.length>0&&""!=o){if("load"==s)return void a.forEach(l=>{"context"==l.interactionType&&gD(l,null),"update"==l.interactionType&&pD(l,null)});"click"==s&&(n.style.cursor="pointer"),n.addEventListener(o,function(l){a.sort(function(g,_){return g.interactionType<_.interactionType?1:g.interactionType>_.interactionType?-1:0});const c=a.filter(g=>"update"==g.interactionType),u=a.filter(g=>"context"==g.interactionType),h=a.filter(g=>"call"==g.interactionType||"callback"==g.interactionType);c.forEach(g=>{try{pD(g,l)}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}}),u.forEach(g=>{try{gD(g,l)}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}}),h.length>1&&(h[0].policy="("+h.map(g=>g.policy).join(",")+")"),h.forEach(g=>{try{!function I2(e,t){let i=Xt.injector.get(Qn),n=e.policy;n=Zc(n,!0),n=Zc(n,!1),e.policy=n,i.policyPost(e)}(h[0])}catch(_){Xt.injector.get(Qn).postMessage(_.message,"warning")}})})}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const{isArray:N2}=Array;function _D(e){return Pt(t=>function A2(e,t){return N2(t)?e(...t):e(t)}(e,t))}const O2=["addListener","removeListener"],x2=["addEventListener","removeEventListener"],R2=["on","off"];function $t(e,t,i,n){if($(i)&&(n=i,i=void 0),n)return $t(e,t,i).pipe(_D(n));const[r,s]=function k2(e){return $(e.addEventListener)&&$(e.removeEventListener)}(e)?x2.map(o=>a=>e[o](t,a,i)):function P2(e){return $(e.addListener)&&$(e.removeListener)}(e)?O2.map(mD(e,t)):function F2(e){return $(e.on)&&$(e.off)}(e)?R2.map(mD(e,t)):[];if(!r&&Fu(e))return us(o=>$t(o,t,i))(Ft(e));if(!r)throw new TypeError("Invalid event target");return new ze(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function mD(e,t){return i=>n=>e[i](t,n)}class L2 extends de{constructor(t,i){super()}schedule(t,i=0){return this}}const Jc={setInterval(e,t,...i){const{delegate:n}=Jc;return n?.setInterval?n.setInterval(e,t,...i):setInterval(e,t,...i)},clearInterval(e){const{delegate:t}=Jc;return(t?.clearInterval||clearInterval)(e)},delegate:void 0},vD={now:()=>(vD.delegate||Date).now(),delegate:void 0};class Ia{constructor(t,i=Ia.now){this.schedulerActionCtor=t,this.now=i}schedule(t,i=0,n){return new this.schedulerActionCtor(this,t).schedule(n,i)}}Ia.now=vD.now;const yD=new class V2 extends Ia{constructor(t,i=Ia.now){super(t,i),this.actions=[],this._active=!1}flush(t){const{actions:i}=this;if(this._active)return void i.push(t);let n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}}}(class B2 extends L2{constructor(t,i){super(t,i),this.scheduler=t,this.work=i,this.pending=!1}schedule(t,i=0){var n;if(this.closed)return this;this.state=t;const r=this.id,s=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(s,r,i)),this.pending=!0,this.delay=i,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(s,this.id,i),this}requestAsyncId(t,i,n=0){return Jc.setInterval(t.flush.bind(t,this),n)}recycleAsyncId(t,i,n=0){if(null!=n&&this.delay===n&&!1===this.pending)return i;null!=i&&Jc.clearInterval(i)}execute(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const n=this._execute(t,i);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,i){let r,n=!1;try{this.work(t)}catch(s){n=!0,r=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:t,scheduler:i}=this,{actions:n}=i;this.work=this.state=this.scheduler=null,this.pending=!1,ke(n,this),null!=t&&(this.id=this.recycleAsyncId(i,t,null)),this.delay=null,super.unsubscribe()}}}),H2=yD;function bD(e=0,t,i=H2){let n=-1;return null!=t&&(Dg(t)?i=t:n=t),new ze(r=>{let s=function U2(e){return e instanceof Date&&!isNaN(e)}(e)?+e-i.now():e;s<0&&(s=0);let o=0;return i.schedule(function(){r.closed||(r.next(o++),0<=n?this.schedule(void 0,n):r.complete())},s)})}const{isArray:j2}=Array;function DD(e){return 1===e.length&&j2(e[0])?e[0]:e}function wD(...e){return 1===(e=DD(e)).length?Ft(e[0]):new ze(function $2(e){return t=>{let i=[];for(let n=0;i&&!t.closed&&n<e.length;n++)i.push(Ft(e[n]).subscribe(ft(t,r=>{if(i){for(let s=0;s<i.length;s++)s!==n&&i[s].unsubscribe();i=null}t.next(r)})))}}(e))}function hp(...e){const t=Lu(e),i=DD(e);return i.length?new ze(n=>{let r=i.map(()=>[]),s=i.map(()=>!1);n.add(()=>{r=s=null});for(let o=0;!n.closed&&o<i.length;o++)Ft(i[o]).subscribe(ft(n,a=>{if(r[o].push(a),r.every(l=>l.length)){const l=r.map(c=>c.shift());n.next(t?t(...l):l),r.some((c,u)=>!c.length&&s[u])&&n.complete()}},()=>{s[o]=!0,!r[o].length&&n.complete()}));return()=>{r=s=null}}):Do}function Qc(...e){return function G2(){return bg(1)}()(wo(e,Qa(e)))}function Mt(e){return mt((t,i)=>{Ft(e).subscribe(ft(i,()=>i.complete(),wt)),!i.closed&&t.subscribe(i)})}function ui(e){return e<=0?()=>Do:mt((t,i)=>{let n=0;t.subscribe(ft(i,r=>{++n<=e&&(i.next(r),e<=n&&i.complete())}))})}function CD(e,t,i){const n=$(e)||t||i?{next:e,error:t,complete:i}:e;return n?mt((r,s)=>{var o;null===(o=n.subscribe)||void 0===o||o.call(n);let a=!0;r.subscribe(ft(s,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),s.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),s.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),s.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):yi}function pp(...e){const t=Lu(e);return mt((i,n)=>{const r=e.length,s=new Array(r);let o=e.map(()=>!1),a=!1;for(let l=0;l<r;l++)Ft(e[l]).subscribe(ft(n,c=>{s[l]=c,!a&&!o[l]&&(o[l]=!0,(a=o.every(yi))&&(o=null))},wt));i.subscribe(ft(n,l=>{if(a){const c=[l,...s];n.next(t?t(...c):c)}}))})}function ED(e,t){return t?i=>Qc(t.pipe(ui(1),function W2(){return mt((e,t)=>{e.subscribe(ft(t,wt))})}()),i.pipe(ED(e))):us((i,n)=>Ft(e(i,n)).pipe(ui(1),function q2(e){return Pt(()=>e)}(i)))}const{isArray:Q2}=Array,{getPrototypeOf:K2,prototype:X2,keys:eL}=Object;function iL(e,t){return e.reduce((i,n,r)=>(i[n]=t[r],i),{})}let SD=(()=>{var e;class t{constructor(n,r){this._renderer=n,this._elementRef=r,this.onChange=s=>{},this.onTouched=()=>{}}setProperty(n,r){this._renderer.setProperty(this._elementRef.nativeElement,n,r)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zn),v(Fe))},e.\u0275dir=k({type:e}),t})(),Vr=(()=>{var e;class t extends SD{}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,features:[Oe]}),t})();const Kn=new W("NgValueAccessor"),sL={provide:Kn,useExisting:ae(()=>gp),multi:!0};let gp=(()=>{var e;class t extends Vr{writeValue(n){this.setProperty("checked",n)}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.checked)})("blur",function(){return r.onTouched()})},features:[$e([sL]),Oe]}),t})();const oL={provide:Kn,useExisting:ae(()=>Kc),multi:!0},lL=new W("CompositionEventMode");let Kc=(()=>{var e;class t extends SD{constructor(n,r,s){super(n,r),this._compositionMode=s,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function aL(){const e=ba()?ba().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(zn),v(Fe),v(lL,8))},e.\u0275dir=k({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,r){1&n&&ce("input",function(o){return r._handleInput(o.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(o){return r._compositionEnd(o.target.value)})},features:[$e([oL]),Oe]}),t})();const Gt=new W("NgValidators"),hr=new W("NgAsyncValidators");function FD(e){return null!=e}function kD(e){return fc(e)?wo(e):e}function LD(e){let t={};return e.forEach(i=>{t=null!=i?{...t,...i}:t}),0===Object.keys(t).length?null:t}function BD(e,t){return t.map(i=>i(e))}function VD(e){return e.map(t=>function uL(e){return!e.validate}(t)?t:i=>t.validate(i))}function _p(e){return null!=e?function HD(e){if(!e)return null;const t=e.filter(FD);return 0==t.length?null:function(i){return LD(BD(i,t))}}(VD(e)):null}function UD(e){if(!e)return null;const t=e.filter(FD);return 0==t.length?null:function(i){return function rL(...e){const t=Lu(e),{args:i,keys:n}=function tL(e){if(1===e.length){const t=e[0];if(Q2(t))return{args:t,keys:null};if(function nL(e){return e&&"object"==typeof e&&K2(e)===X2}(t)){const i=eL(t);return{args:i.map(n=>t[n]),keys:i}}}return{args:e,keys:null}}(e),r=new ze(s=>{const{length:o}=i;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let h=!1;Ft(i[u]).subscribe(ft(s,g=>{h||(h=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!h)&&(c||s.next(n?iL(n,a):a),s.complete())}))}});return t?r.pipe(_D(t)):r}(BD(i,t).map(kD)).pipe(Pt(LD))}}function mp(e){return null!=e?UD(VD(e)):null}function jD(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function $D(e){return e._rawValidators}function GD(e){return e._rawAsyncValidators}function vp(e){return e?Array.isArray(e)?e:[e]:[]}function eu(e,t){return Array.isArray(e)?e.includes(t):e===t}function zD(e,t){const i=vp(t);return vp(e).forEach(r=>{eu(i,r)||i.push(r)}),i}function WD(e,t){return vp(t).filter(i=>!eu(e,i))}class qD{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=_p(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=mp(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,i){return!!this.control&&this.control.hasError(t,i)}getError(t,i){return this.control?this.control.getError(t,i):null}}class hn extends qD{get formDirective(){return null}get path(){return null}}class pr extends qD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class YD{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let ZD=(()=>{var e;class t extends YD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(pr,2))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,r){2&n&&De("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},features:[Oe]}),t})(),JD=(()=>{var e;class t extends YD{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(hn,10))},e.\u0275dir=k({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,r){2&n&&De("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},features:[Oe]}),t})();const Na="VALID",nu="INVALID",ao="PENDING",Aa="DISABLED";function Dp(e){return(iu(e)?e.validators:e)||null}function wp(e,t){return(iu(t)?t.asyncValidators:e)||null}function iu(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}function KD(e,t,i){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new F(1e3,"");if(!n[i])throw new F(1001,"")}function XD(e,t,i){e._forEachChild((n,r)=>{if(void 0===i[r])throw new F(1002,"")})}class ru{constructor(t,i){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(i)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===Na}get invalid(){return this.status===nu}get pending(){return this.status==ao}get disabled(){return this.status===Aa}get enabled(){return this.status!==Aa}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(zD(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(zD(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(WD(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(WD(t,this._rawAsyncValidators))}hasValidator(t){return eu(this._rawValidators,t)}hasAsyncValidator(t){return eu(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(i=>{i.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(i=>{i.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=ao,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Aa,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const i=this._parentMarkedDirty(t.onlySelf);this.status=Na,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:i}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Na||this.status===ao)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(i=>i._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Aa:Na}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=ao,this._hasOwnPendingAsyncValidator=!0;const i=kD(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,i={}){this.errors=t,this._updateControlsErrors(!1!==i.emitEvent)}get(t){let i=t;return null==i||(Array.isArray(i)||(i=i.split(".")),0===i.length)?null:i.reduce((n,r)=>n&&n._find(r),this)}getError(t,i){const n=i?this.get(i):this;return n&&n.errors?n.errors[t]:null}hasError(t,i){return!!this.getError(t,i)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Aa:this.errors?nu:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ao)?ao:this._anyControlsHaveStatus(nu)?nu:Na}_anyControlsHaveStatus(t){return this._anyControls(i=>i.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){iu(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function pL(e){return Array.isArray(e)?_p(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function gL(e){return Array.isArray(e)?mp(e):e||null}(this._rawAsyncValidators)}}class Hr extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,i){return this.controls[t]?this.controls[t]:(this.controls[t]=i,i.setParent(this),i._registerOnCollectionChange(this._onCollectionChange),i)}addControl(t,i,n={}){this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}setControl(t,i,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],i&&this.registerControl(t,i),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,i={}){XD(this,0,t),Object.keys(t).forEach(n=>{KD(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(Object.keys(t).forEach(n=>{const r=this.controls[n];r&&r.patchValue(t[n],{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t={},i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this._reduceChildren({},(t,i,n)=>(t[n]=i.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(i,n)=>!!n._syncPendingControls()||i);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(i=>{const n=this.controls[i];n&&t(n,i)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[i,n]of Object.entries(this.controls))if(this.contains(i)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(i,n,r)=>((n.enabled||this.disabled)&&(i[r]=n.value),i))}_reduceChildren(t,i){let n=t;return this._forEachChild((r,s)=>{n=i(n,r,s)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}class ew extends Hr{}const Ur=new W("CallSetDisabledState",{providedIn:"root",factory:()=>Oa}),Oa="always";function xa(e,t,i=Oa){Cp(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===i)&&t.valueAccessor.setDisabledState?.(e.disabled),function mL(e,t){t.valueAccessor.registerOnChange(i=>{e._pendingValue=i,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&tw(e,t)})}(e,t),function yL(e,t){const i=(n,r)=>{t.valueAccessor.writeValue(n),r&&t.viewToModelUpdate(n)};e.registerOnChange(i),t._registerOnDestroy(()=>{e._unregisterOnChange(i)})}(e,t),function vL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&tw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function _L(e,t){if(t.valueAccessor.setDisabledState){const i=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(i),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(i)})}}(e,t)}function ou(e,t,i=!0){const n=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(n),t.valueAccessor.registerOnTouched(n)),lu(e,t),e&&(t._invokeOnDestroyCallbacks(),e._registerOnCollectionChange(()=>{}))}function au(e,t){e.forEach(i=>{i.registerOnValidatorChange&&i.registerOnValidatorChange(t)})}function Cp(e,t){const i=$D(e);null!==t.validator?e.setValidators(jD(i,t.validator)):"function"==typeof i&&e.setValidators([i]);const n=GD(e);null!==t.asyncValidator?e.setAsyncValidators(jD(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const r=()=>e.updateValueAndValidity();au(t._rawValidators,r),au(t._rawAsyncValidators,r)}function lu(e,t){let i=!1;if(null!==e){if(null!==t.validator){const r=$D(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.validator);s.length!==r.length&&(i=!0,e.setValidators(s))}}if(null!==t.asyncValidator){const r=GD(e);if(Array.isArray(r)&&r.length>0){const s=r.filter(o=>o!==t.asyncValidator);s.length!==r.length&&(i=!0,e.setAsyncValidators(s))}}}const n=()=>{};return au(t._rawValidators,n),au(t._rawAsyncValidators,n),i}function tw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}function rw(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}function sw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const jr=class extends ru{constructor(t=null,i,n){super(Dp(i),wp(n,i)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(i),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),iu(i)&&(i.nonNullable||i.initialValueIsDefault)&&(this.defaultValue=sw(t)?t.value:t)}setValue(t,i={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==i.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==i.emitViewToModelChange)),this.updateValueAndValidity(i)}patchValue(t,i={}){this.setValue(t,i)}reset(t=this.defaultValue,i={}){this._applyFormState(t),this.markAsPristine(i),this.markAsUntouched(i),this.setValue(this.value,i),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){rw(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){rw(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){sw(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}};let uw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=k({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})(),fw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const Ip=new W("NgModelWithFormControlWarning"),RL={provide:hn,useExisting:ae(()=>cu)};let cu=(()=>{var e;class t extends hn{constructor(n,r,s){super(),this.callSetDisabledState=s,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(n),this._setAsyncValidators(r)}ngOnChanges(n){this._checkFormPresent(),n.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(lu(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(n){const r=this.form.get(n.path);return xa(r,n,this.callSetDisabledState),r.updateValueAndValidity({emitEvent:!1}),this.directives.push(n),r}getControl(n){return this.form.get(n.path)}removeControl(n){ou(n.control||null,n,!1),function CL(e,t){const i=e.indexOf(t);i>-1&&e.splice(i,1)}(this.directives,n)}addFormGroup(n){this._setUpFormContainer(n)}removeFormGroup(n){this._cleanUpFormContainer(n)}getFormGroup(n){return this.form.get(n.path)}addFormArray(n){this._setUpFormContainer(n)}removeFormArray(n){this._cleanUpFormContainer(n)}getFormArray(n){return this.form.get(n.path)}updateModel(n,r){this.form.get(n.path).setValue(r)}onSubmit(n){return this.submitted=!0,function iw(e,t){e._syncPendingControls(),t.forEach(i=>{const n=i.control;"submit"===n.updateOn&&n._pendingChange&&(i.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_updateDomValue(){this.directives.forEach(n=>{const r=n.control,s=this.form.get(n.path);r!==s&&(ou(r||null,n),(e=>e instanceof jr)(s)&&(xa(s,n,this.callSetDisabledState),n.control=s))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(n){const r=this.form.get(n.path);(function nw(e,t){Cp(e,t)})(r,n),r.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(n){if(this.form){const r=this.form.get(n.path);r&&function bL(e,t){return lu(e,t)}(r,n)&&r.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Cp(this.form,this),this._oldForm&&lu(this._oldForm,this)}_checkFormPresent(){}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Gt,10),v(hr,10),v(Ur,8))},e.\u0275dir=k({type:e,selectors:[["","formGroup",""]],hostBindings:function(n,r){1&n&&ce("submit",function(o){return r.onSubmit(o)})("reset",function(){return r.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[$e([RL]),Oe,sn]}),t})();const kL={provide:pr,useExisting:ae(()=>Op)};let Op=(()=>{var e;class t extends pr{set isDisabled(n){}constructor(n,r,s,o,a){super(),this._ngModelWarningConfig=a,this._added=!1,this.name=null,this.update=new Y,this._ngModelWarningSent=!1,this._parent=n,this._setValidators(r),this._setAsyncValidators(s),this.valueAccessor=function Tp(e,t){if(!t)return null;let i,n,r;return Array.isArray(t),t.forEach(s=>{s.constructor===Kc?i=s:function wL(e){return Object.getPrototypeOf(e.constructor)===Vr}(s)?n=s:r=s}),r||n||i||null}(0,o)}ngOnChanges(n){this._added||this._setUpControl(),function Sp(e,t){if(!e.hasOwnProperty("model"))return!1;const i=e.model;return!!i.isFirstChange()||!Object.is(t,i.currentValue)}(n,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}get path(){return function su(e,t){return[...t.path,e]}(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return(e=t)._ngModelWarningSentOnce=!1,e.\u0275fac=function(n){return new(n||e)(v(hn,13),v(Gt,10),v(hr,10),v(Kn,10),v(Ip,8))},e.\u0275dir=k({type:e,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[$e([kL]),Oe,sn]}),t})();const LL={provide:Kn,useExisting:ae(()=>uu),multi:!0};function mw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let uu=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const s=mw(this._getOptionId(n),n);this.setProperty("value",s)}registerOnChange(n){this.onChange=r=>{this.value=this._getOptionValue(r),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r),n))return r;return null}_getOptionValue(n){const r=function BL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r):n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([LL]),Oe]}),t})(),vw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(mw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn),v(uu,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const VL={provide:Kn,useExisting:ae(()=>xp),multi:!0};function yw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let xp=(()=>{var e;class t extends Vr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let r;if(this.value=n,Array.isArray(n)){const s=n.map(o=>this._getOptionId(o));r=(o,a)=>{o._setSelected(s.indexOf(a.toString())>-1)}}else r=(s,o)=>{s._setSelected(!1)};this._optionMap.forEach(r)}registerOnChange(n){this.onChange=r=>{const s=[],o=r.selectedOptions;if(void 0!==o){const a=o;for(let l=0;l<a.length;l++){const u=this._getOptionValue(a[l].value);s.push(u)}}else{const a=r.options;for(let l=0;l<a.length;l++){const c=a[l];if(c.selected){const u=this._getOptionValue(c.value);s.push(u)}}}this.value=s,n(s)}}_registerOption(n){const r=(this._idCounter++).toString();return this._optionMap.set(r,n),r}_getOptionId(n){for(const r of this._optionMap.keys())if(this._compareWith(this._optionMap.get(r)._value,n))return r;return null}_getOptionValue(n){const r=function HL(e){return e.split(":")[0]}(n);return this._optionMap.has(r)?this._optionMap.get(r)._value:n}}return(e=t).\u0275fac=function(){let i;return function(r){return(i||(i=St(e)))(r||e)}}(),e.\u0275dir=k({type:e,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(n,r){1&n&&ce("change",function(o){return r.onChange(o.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},features:[$e([VL]),Oe]}),t})(),bw=(()=>{var e;class t{constructor(n,r,s){this._element=n,this._renderer=r,this._select=s,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(yw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(yw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn),v(xp,9))},e.\u0275dir=k({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})(),Aw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[fw]}),t})();class Ow extends ru{constructor(t,i,n){super(Dp(i),wp(n,i)),this.controls=t,this._initObservables(),this._setUpdateStrategy(i),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(t){return this.controls[this._adjustIndex(t)]}push(t,i={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}insert(t,i,n={}){this.controls.splice(t,0,i),this._registerControl(i),this.updateValueAndValidity({emitEvent:n.emitEvent})}removeAt(t,i={}){let n=this._adjustIndex(t);n<0&&(n=0),this.controls[n]&&this.controls[n]._registerOnCollectionChange(()=>{}),this.controls.splice(n,1),this.updateValueAndValidity({emitEvent:i.emitEvent})}setControl(t,i,n={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),i&&(this.controls.splice(r,0,i),this._registerControl(i)),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,i={}){XD(this,0,t),t.forEach((n,r)=>{KD(this,!1,r),this.at(r).setValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i)}patchValue(t,i={}){null!=t&&(t.forEach((n,r)=>{this.at(r)&&this.at(r).patchValue(n,{onlySelf:!0,emitEvent:i.emitEvent})}),this.updateValueAndValidity(i))}reset(t=[],i={}){this._forEachChild((n,r)=>{n.reset(t[r],{onlySelf:!0,emitEvent:i.emitEvent})}),this._updatePristine(i),this._updateTouched(i),this.updateValueAndValidity(i)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(i=>i._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((i,n)=>!!n._syncPendingControls()||i,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((i,n)=>{t(i,n)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(i=>i.enabled&&t(i))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(const t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){return this.at(t)??null}}function xw(e){return!!e&&(void 0!==e.asyncValidators||void 0!==e.validators||void 0!==e.updateOn)}let ZL=(()=>{var e;class t{constructor(){this.useNonNullable=!1}get nonNullable(){const n=new t;return n.useNonNullable=!0,n}group(n,r=null){const s=this._reduceControls(n);let o={};return xw(r)?o=r:null!==r&&(o.validators=r.validator,o.asyncValidators=r.asyncValidator),new Hr(s,o)}record(n,r=null){const s=this._reduceControls(n);return new ew(s,r)}control(n,r,s){let o={};return this.useNonNullable?(xw(r)?o=r:(o.validators=r,o.asyncValidators=s),new jr(n,{...o,nonNullable:!0})):new jr(n,r,s)}array(n,r,s){const o=n.map(a=>this._createControl(a));return new Ow(o,r,s)}_reduceControls(n){const r={};return Object.keys(n).forEach(s=>{r[s]=this._createControl(n[s])}),r}_createControl(n){return n instanceof jr||n instanceof ru?n:Array.isArray(n)?this.control(n[0],n.length>1?n[1]:null,n.length>2?n[2]:null):this.control(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),JL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Aw]}),t})(),QL=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Ip,useValue:n.warnOnNgModelWithFormControl??"always"},{provide:Ur,useValue:n.callSetDisabledState??Oa}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[Aw]}),t})();var KL={left:"right",right:"left",bottom:"top",top:"bottom"};function du(e){return e.replace(/left|right|bottom|top/g,function(t){return KL[t]})}function ki(e){return e.split("-")[0]}var XL={start:"end",end:"start"};function Rw(e){return e.replace(/start|end/g,function(t){return XL[t]})}var Bn="top",di="bottom",fi="right",Vn="left",Pp="auto",Pa=[Bn,di,fi,Vn],lo="start",Fa="end",Pw="viewport",ka="popper",Fw=Pa.reduce(function(e,t){return e.concat([t+"-"+lo,t+"-"+Fa])},[]),kw=[].concat(Pa,[Pp]).reduce(function(e,t){return e.concat([t,t+"-"+lo,t+"-"+Fa])},[]),dB=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Hn(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Gr(e){return e instanceof Hn(e).Element||e instanceof Element}function Xn(e){return e instanceof Hn(e).HTMLElement||e instanceof HTMLElement}function Fp(e){return!(typeof ShadowRoot>"u")&&(e instanceof Hn(e).ShadowRoot||e instanceof ShadowRoot)}function gr(e){return((Gr(e)?e.ownerDocument:e.document)||window.document).documentElement}var zr=Math.max,fu=Math.min,co=Math.round;function kp(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Lw(){return!/^((?!chrome|android).)*safari/i.test(kp())}function uo(e,t,i){void 0===t&&(t=!1),void 0===i&&(i=!1);var n=e.getBoundingClientRect(),r=1,s=1;t&&Xn(e)&&(r=e.offsetWidth>0&&co(n.width)/e.offsetWidth||1,s=e.offsetHeight>0&&co(n.height)/e.offsetHeight||1);var a=(Gr(e)?Hn(e):window).visualViewport,l=!Lw()&&i,c=(n.left+(l&&a?a.offsetLeft:0))/r,u=(n.top+(l&&a?a.offsetTop:0))/s,h=n.width/r,g=n.height/s;return{width:h,height:g,top:u,right:c+h,bottom:u+g,left:c,x:c,y:u}}function Lp(e){var t=Hn(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bp(e){return uo(gr(e)).left+Lp(e).scrollLeft}function Yi(e){return Hn(e).getComputedStyle(e)}function Li(e){return e?(e.nodeName||"").toLowerCase():null}function hu(e){return"html"===Li(e)?e:e.assignedSlot||e.parentNode||(Fp(e)?e.host:null)||gr(e)}function Vp(e){var t=Yi(e);return/auto|scroll|overlay|hidden/.test(t.overflow+t.overflowY+t.overflowX)}function Bw(e){return["html","body","#document"].indexOf(Li(e))>=0?e.ownerDocument.body:Xn(e)&&Vp(e)?e:Bw(hu(e))}function La(e,t){var i;void 0===t&&(t=[]);var n=Bw(e),r=n===(null==(i=e.ownerDocument)?void 0:i.body),s=Hn(n),o=r?[s].concat(s.visualViewport||[],Vp(n)?n:[]):n,a=t.concat(o);return r?a:a.concat(La(hu(o)))}function pB(e){return["table","td","th"].indexOf(Li(e))>=0}function Vw(e){return Xn(e)&&"fixed"!==Yi(e).position?e.offsetParent:null}function Ba(e){for(var t=Hn(e),i=Vw(e);i&&pB(i)&&"static"===Yi(i).position;)i=Vw(i);return i&&("html"===Li(i)||"body"===Li(i)&&"static"===Yi(i).position)?t:i||function gB(e){var t=/firefox/i.test(kp());if(/Trident/i.test(kp())&&Xn(e)&&"fixed"===Yi(e).position)return null;var r=hu(e);for(Fp(r)&&(r=r.host);Xn(r)&&["html","body"].indexOf(Li(r))<0;){var s=Yi(r);if("none"!==s.transform||"none"!==s.perspective||"paint"===s.contain||-1!==["transform","perspective"].indexOf(s.willChange)||t&&"filter"===s.willChange||t&&s.filter&&"none"!==s.filter)return r;r=r.parentNode}return null}(e)||t}function Hw(e,t){var i=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(i&&Fp(i)){var n=t;do{if(n&&e.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Hp(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Uw(e,t,i){return t===Pw?Hp(function fB(e,t){var i=Hn(e),n=gr(e),r=i.visualViewport,s=n.clientWidth,o=n.clientHeight,a=0,l=0;if(r){s=r.width,o=r.height;var c=Lw();(c||!c&&"fixed"===t)&&(a=r.offsetLeft,l=r.offsetTop)}return{width:s,height:o,x:a+Bp(e),y:l}}(e,i)):Gr(t)?function _B(e,t){var i=uo(e,!1,"fixed"===t);return i.top=i.top+e.clientTop,i.left=i.left+e.clientLeft,i.bottom=i.top+e.clientHeight,i.right=i.left+e.clientWidth,i.width=e.clientWidth,i.height=e.clientHeight,i.x=i.left,i.y=i.top,i}(t,i):Hp(function hB(e){var t,i=gr(e),n=Lp(e),r=null==(t=e.ownerDocument)?void 0:t.body,s=zr(i.scrollWidth,i.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),o=zr(i.scrollHeight,i.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),a=-n.scrollLeft+Bp(e),l=-n.scrollTop;return"rtl"===Yi(r||i).direction&&(a+=zr(i.clientWidth,r?r.clientWidth:0)-s),{width:s,height:o,x:a,y:l}}(gr(e)))}function fo(e){return e.split("-")[1]}function Up(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function jw(e){var l,t=e.reference,i=e.element,n=e.placement,r=n?ki(n):null,s=n?fo(n):null,o=t.x+t.width/2-i.width/2,a=t.y+t.height/2-i.height/2;switch(r){case Bn:l={x:o,y:t.y-i.height};break;case di:l={x:o,y:t.y+t.height};break;case fi:l={x:t.x+t.width,y:a};break;case Vn:l={x:t.x-i.width,y:a};break;default:l={x:t.x,y:t.y}}var c=r?Up(r):null;if(null!=c){var u="y"===c?"height":"width";switch(s){case lo:l[c]=l[c]-(t[u]/2-i[u]/2);break;case Fa:l[c]=l[c]+(t[u]/2-i[u]/2)}}return l}function Gw(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function zw(e,t){return t.reduce(function(i,n){return i[n]=e,i},{})}function jp(e,t){void 0===t&&(t={});var n=t.placement,r=void 0===n?e.placement:n,s=t.strategy,o=void 0===s?e.strategy:s,a=t.boundary,l=void 0===a?"clippingParents":a,c=t.rootBoundary,u=void 0===c?Pw:c,h=t.elementContext,g=void 0===h?ka:h,_=t.altBoundary,y=void 0!==_&&_,b=t.padding,D=void 0===b?0:b,T=Gw("number"!=typeof D?D:zw(D,Pa)),P=e.rects.popper,O=e.elements[y?g===ka?"reference":ka:g],V=function vB(e,t,i,n){var r="clippingParents"===t?function mB(e){var t=La(hu(e)),n=["absolute","fixed"].indexOf(Yi(e).position)>=0&&Xn(e)?Ba(e):e;return Gr(n)?t.filter(function(r){return Gr(r)&&Hw(r,n)&&"body"!==Li(r)}):[]}(e):[].concat(t),s=[].concat(r,[i]),a=s.reduce(function(l,c){var u=Uw(e,c,n);return l.top=zr(u.top,l.top),l.right=fu(u.right,l.right),l.bottom=fu(u.bottom,l.bottom),l.left=zr(u.left,l.left),l},Uw(e,s[0],n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(Gr(O)?O:O.contextElement||gr(e.elements.popper),l,u,o),J=uo(e.elements.reference),ue=jw({reference:J,element:P,strategy:"absolute",placement:r}),_e=Hp(Object.assign({},P,ue)),lt=g===ka?_e:J,Dt={top:V.top-lt.top+T.top,bottom:lt.bottom-V.bottom+T.bottom,left:V.left-lt.left+T.left,right:lt.right-V.right+T.right},Bt=e.modifiersData.offset;if(g===ka&&Bt){var pi=Bt[r];Object.keys(Dt).forEach(function(gn){var Xr=[fi,di].indexOf(gn)>=0?1:-1,es=[Bn,di].indexOf(gn)>=0?"y":"x";Dt[gn]+=pi[es]*Xr})}return Dt}const wB={name:"flip",enabled:!0,phase:"main",fn:function DB(e){var t=e.state,i=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0===o||o,l=i.fallbackPlacements,c=i.padding,u=i.boundary,h=i.rootBoundary,g=i.altBoundary,_=i.flipVariations,y=void 0===_||_,b=i.allowedAutoPlacements,D=t.options.placement,T=ki(D),P=l||(T!==D&&y?function bB(e){if(ki(e)===Pp)return[];var t=du(e);return[Rw(e),t,Rw(t)]}(D):[du(D)]),O=[D].concat(P).reduce(function(mo,_r){return mo.concat(ki(_r)===Pp?function yB(e,t){void 0===t&&(t={});var r=t.boundary,s=t.rootBoundary,o=t.padding,a=t.flipVariations,l=t.allowedAutoPlacements,c=void 0===l?kw:l,u=fo(t.placement),h=u?a?Fw:Fw.filter(function(y){return fo(y)===u}):Pa,g=h.filter(function(y){return c.indexOf(y)>=0});0===g.length&&(g=h);var _=g.reduce(function(y,b){return y[b]=jp(e,{placement:b,boundary:r,rootBoundary:s,padding:o})[ki(b)],y},{});return Object.keys(_).sort(function(y,b){return _[y]-_[b]})}(t,{placement:_r,boundary:u,rootBoundary:h,padding:c,flipVariations:y,allowedAutoPlacements:b}):_r)},[]),V=t.rects.reference,J=t.rects.popper,ue=new Map,_e=!0,lt=O[0],Dt=0;Dt<O.length;Dt++){var Bt=O[Dt],pi=ki(Bt),gn=fo(Bt)===lo,Xr=[Bn,di].indexOf(pi)>=0,es=Xr?"width":"height",Un=jp(t,{placement:Bt,boundary:u,rootBoundary:h,altBoundary:g,padding:c}),gi=Xr?gn?fi:Vn:gn?di:Bn;V[es]>J[es]&&(gi=du(gi));var Mu=du(gi),ts=[];if(s&&ts.push(Un[pi]<=0),a&&ts.push(Un[gi]<=0,Un[Mu]<=0),ts.every(function(mo){return mo})){lt=Bt,_e=!1;break}ue.set(Bt,ts)}if(_e)for(var ag=function(_r){var Za=O.find(function(Au){var ns=ue.get(Au);if(ns)return ns.slice(0,_r).every(function(lg){return lg})});if(Za)return lt=Za,"break"},Ya=y?3:1;Ya>0&&"break"!==ag(Ya);Ya--);t.placement!==lt&&(t.modifiersData[n]._skip=!0,t.placement=lt,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Va(e,t,i){return zr(e,fu(t,i))}function $p(e){var t=uo(e),i=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-i)<=1&&(i=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:i,height:n}}const TB={name:"preventOverflow",enabled:!0,phase:"main",fn:function SB(e){var t=e.state,i=e.options,n=e.name,r=i.mainAxis,s=void 0===r||r,o=i.altAxis,a=void 0!==o&&o,g=i.tether,_=void 0===g||g,y=i.tetherOffset,b=void 0===y?0:y,D=jp(t,{boundary:i.boundary,rootBoundary:i.rootBoundary,padding:i.padding,altBoundary:i.altBoundary}),T=ki(t.placement),C=fo(t.placement),P=!C,O=Up(T),V=function CB(e){return"x"===e?"y":"x"}(O),J=t.modifiersData.popperOffsets,ue=t.rects.reference,_e=t.rects.popper,lt="function"==typeof b?b(Object.assign({},t.rects,{placement:t.placement})):b,Dt="number"==typeof lt?{mainAxis:lt,altAxis:lt}:Object.assign({mainAxis:0,altAxis:0},lt),Bt=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,pi={x:0,y:0};if(J){if(s){var gn,Xr="y"===O?Bn:Vn,es="y"===O?di:fi,Un="y"===O?"height":"width",gi=J[O],Mu=gi+D[Xr],ts=gi-D[es],Iu=_?-_e[Un]/2:0,ag=C===lo?ue[Un]:_e[Un],Ya=C===lo?-_e[Un]:-ue[Un],Nu=t.elements.arrow,mo=_&&Nu?$p(Nu):{width:0,height:0},_r=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},Za=_r[Xr],Au=_r[es],ns=Va(0,ue[Un],mo[Un]),lg=P?ue[Un]/2-Iu-ns-Za-Dt.mainAxis:ag-ns-Za-Dt.mainAxis,aj=P?-ue[Un]/2+Iu+ns+Au+Dt.mainAxis:Ya+ns+Au+Dt.mainAxis,cg=t.elements.arrow&&Ba(t.elements.arrow),lj=cg?"y"===O?cg.clientTop||0:cg.clientLeft||0:0,cE=null!=(gn=Bt?.[O])?gn:0,uj=gi+aj-cE,uE=Va(_?fu(Mu,gi+lg-cE-lj):Mu,gi,_?zr(ts,uj):ts);J[O]=uE,pi[O]=uE-gi}if(a){var dE,is=J[V],Ou="y"===V?"height":"width",fE=is+D["x"===O?Bn:Vn],hE=is-D["x"===O?di:fi],ug=-1!==[Bn,Vn].indexOf(T),pE=null!=(dE=Bt?.[V])?dE:0,gE=ug?fE:is-ue[Ou]-_e[Ou]-pE+Dt.altAxis,_E=ug?is+ue[Ou]+_e[Ou]-pE-Dt.altAxis:hE,mE=_&&ug?function EB(e,t,i){var n=Va(e,t,i);return n>i?i:n}(gE,is,_E):Va(_?gE:fE,is,_?_E:hE);J[V]=mE,pi[V]=mE-is}t.modifiersData[n]=pi}},requiresIfExists:["offset"]},AB={name:"arrow",enabled:!0,phase:"main",fn:function IB(e){var t,i=e.state,n=e.name,r=e.options,s=i.elements.arrow,o=i.modifiersData.popperOffsets,a=ki(i.placement),l=Up(a),u=[Vn,fi].indexOf(a)>=0?"height":"width";if(s&&o){var h=function(t,i){return Gw("number"!=typeof(t="function"==typeof t?t(Object.assign({},i.rects,{placement:i.placement})):t)?t:zw(t,Pa))}(r.padding,i),g=$p(s),_="y"===l?Bn:Vn,y="y"===l?di:fi,b=i.rects.reference[u]+i.rects.reference[l]-o[l]-i.rects.popper[u],D=o[l]-i.rects.reference[l],T=Ba(s),C=T?"y"===l?T.clientHeight||0:T.clientWidth||0:0,J=C/2-g[u]/2+(b/2-D/2),ue=Va(h[_],J,C-g[u]-h[y]);i.modifiersData[n]=((t={})[l]=ue,t.centerOffset=ue-J,t)}},effect:function NB(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"==typeof r&&!(r=t.elements.popper.querySelector(r))||Hw(t.elements.popper,r)&&(t.elements.arrow=r))},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function PB(e,t,i){void 0===i&&(i=!1);var n=Xn(t),r=Xn(t)&&function RB(e){var t=e.getBoundingClientRect(),i=co(t.width)/e.offsetWidth||1,n=co(t.height)/e.offsetHeight||1;return 1!==i||1!==n}(t),s=gr(t),o=uo(e,r,i),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(n||!n&&!i)&&(("body"!==Li(t)||Vp(s))&&(a=function xB(e){return e!==Hn(e)&&Xn(e)?function OB(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}(e):Lp(e)}(t)),Xn(t)?((l=uo(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):s&&(l.x=Bp(s))),{x:o.left+a.scrollLeft-l.x,y:o.top+a.scrollTop-l.y,width:o.width,height:o.height}}function FB(e){var t=new Map,i=new Set,n=[];function r(s){i.add(s.name),[].concat(s.requires||[],s.requiresIfExists||[]).forEach(function(a){if(!i.has(a)){var l=t.get(a);l&&r(l)}}),n.push(s)}return e.forEach(function(s){t.set(s.name,s)}),e.forEach(function(s){i.has(s.name)||r(s)}),n}function LB(e){var t;return function(){return t||(t=new Promise(function(i){Promise.resolve().then(function(){t=void 0,i(e())})})),t}}var Ww={placement:"bottom",modifiers:[],strategy:"absolute"};function qw(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return!t.some(function(n){return!(n&&"function"==typeof n.getBoundingClientRect)})}function VB(e){void 0===e&&(e={});var i=e.defaultModifiers,n=void 0===i?[]:i,r=e.defaultOptions,s=void 0===r?Ww:r;return function(a,l,c){void 0===c&&(c=s);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},Ww,s),modifiersData:{},elements:{reference:a,popper:l},attributes:{},styles:{}},h=[],g=!1,_={state:u,setOptions:function(T){var C="function"==typeof T?T(u.options):T;b(),u.options=Object.assign({},s,u.options,C),u.scrollParents={reference:Gr(a)?La(a):a.contextElement?La(a.contextElement):[],popper:La(l)};var P=function kB(e){var t=FB(e);return dB.reduce(function(i,n){return i.concat(t.filter(function(r){return r.phase===n}))},[])}(function BB(e){var t=e.reduce(function(i,n){var r=i[n.name];return i[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,i},{});return Object.keys(t).map(function(i){return t[i]})}([].concat(n,u.options.modifiers)));return u.orderedModifiers=P.filter(function(O){return O.enabled}),function y(){u.orderedModifiers.forEach(function(D){var C=D.options,O=D.effect;if("function"==typeof O){var V=O({state:u,name:D.name,instance:_,options:void 0===C?{}:C});h.push(V||function(){})}})}(),_.update()},forceUpdate:function(){if(!g){var T=u.elements,C=T.reference,P=T.popper;if(qw(C,P)){u.rects={reference:PB(C,Ba(P),"fixed"===u.options.strategy),popper:$p(P)},u.reset=!1,u.placement=u.options.placement,u.orderedModifiers.forEach(function(Dt){return u.modifiersData[Dt.name]=Object.assign({},Dt.data)});for(var O=0;O<u.orderedModifiers.length;O++)if(!0!==u.reset){var V=u.orderedModifiers[O],J=V.fn,ue=V.options;"function"==typeof J&&(u=J({state:u,options:void 0===ue?{}:ue,name:V.name,instance:_})||u)}else u.reset=!1,O=-1}}},update:LB(function(){return new Promise(function(D){_.forceUpdate(),D(u)})}),destroy:function(){b(),g=!0}};if(!qw(a,l))return _;function b(){h.forEach(function(D){return D()}),h=[]}return _.setOptions(c).then(function(D){!g&&c.onFirstUpdate&&c.onFirstUpdate(D)}),_}}var pu={passive:!0},GB={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Yw(e){var t,i=e.popper,n=e.popperRect,r=e.placement,s=e.variation,o=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,h=e.isFixed,g=o.x,_=void 0===g?0:g,y=o.y,b=void 0===y?0:y,D="function"==typeof u?u({x:_,y:b}):{x:_,y:b};_=D.x,b=D.y;var T=o.hasOwnProperty("x"),C=o.hasOwnProperty("y"),P=Vn,O=Bn,V=window;if(c){var J=Ba(i),ue="clientHeight",_e="clientWidth";J===Hn(i)&&"static"!==Yi(J=gr(i)).position&&"absolute"===a&&(ue="scrollHeight",_e="scrollWidth"),(r===Bn||(r===Vn||r===fi)&&s===Fa)&&(O=di,b-=(h&&J===V&&V.visualViewport?V.visualViewport.height:J[ue])-n.height,b*=l?1:-1),r!==Vn&&(r!==Bn&&r!==di||s!==Fa)||(P=fi,_-=(h&&J===V&&V.visualViewport?V.visualViewport.width:J[_e])-n.width,_*=l?1:-1)}var gn,Bt=Object.assign({position:a},c&&GB),pi=!0===u?function zB(e,t){var n=e.y,r=t.devicePixelRatio||1;return{x:co(e.x*r)/r||0,y:co(n*r)/r||0}}({x:_,y:b},Hn(i)):{x:_,y:b};return _=pi.x,b=pi.y,Object.assign({},Bt,l?((gn={})[O]=C?"0":"",gn[P]=T?"0":"",gn.transform=(V.devicePixelRatio||1)<=1?"translate("+_+"px, "+b+"px)":"translate3d("+_+"px, "+b+"px, 0)",gn):((t={})[O]=C?b+"px":"",t[P]=T?_+"px":"",t.transform="",t))}var QB=VB({defaultModifiers:[{name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function HB(e){var t=e.state,i=e.instance,n=e.options,r=n.scroll,s=void 0===r||r,o=n.resize,a=void 0===o||o,l=Hn(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return s&&c.forEach(function(u){u.addEventListener("scroll",i.update,pu)}),a&&l.addEventListener("resize",i.update,pu),function(){s&&c.forEach(function(u){u.removeEventListener("scroll",i.update,pu)}),a&&l.removeEventListener("resize",i.update,pu)}},data:{}},{name:"popperOffsets",enabled:!0,phase:"read",fn:function jB(e){var t=e.state;t.modifiersData[e.name]=jw({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},{name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function WB(e){var t=e.state,i=e.options,n=i.gpuAcceleration,r=void 0===n||n,s=i.adaptive,o=void 0===s||s,a=i.roundOffsets,l=void 0===a||a,c={placement:ki(t.placement),variation:fo(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,Yw(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:o,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,Yw(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}},{name:"applyStyles",enabled:!0,phase:"write",fn:function YB(e){var t=e.state;Object.keys(t.elements).forEach(function(i){var n=t.styles[i]||{},r=t.attributes[i]||{},s=t.elements[i];!Xn(s)||!Li(s)||(Object.assign(s.style,n),Object.keys(r).forEach(function(o){var a=r[o];!1===a?s.removeAttribute(o):s.setAttribute(o,!0===a?"":a)}))})},effect:function ZB(e){var t=e.state,i={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,i.popper),t.styles=i,t.elements.arrow&&Object.assign(t.elements.arrow.style,i.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],s=t.attributes[n]||{},a=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:i[n]).reduce(function(l,c){return l[c]="",l},{});!Xn(r)||!Li(r)||(Object.assign(r.style,a),Object.keys(s).forEach(function(l){r.removeAttribute(l)}))})}},requires:["computeStyles"]}]});const eV={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function XB(e){var t=e.state,n=e.name,r=e.options.offset,s=void 0===r?[0,0]:r,o=kw.reduce(function(u,h){return u[h]=function KB(e,t,i){var n=ki(e),r=[Vn,Bn].indexOf(n)>=0?-1:1,s="function"==typeof i?i(Object.assign({},t,{placement:e})):i,o=s[0],a=s[1];return o=o||0,a=(a||0)*r,[Vn,fi].indexOf(n)>=0?{x:a,y:o}:{x:o,y:a}}(h,t.rects,s),u},{}),a=o[t.placement],c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=a.x,t.modifiersData.popperOffsets.y+=c),t.modifiersData[n]=o}};function lV(e,t){if(1&e){const i=Dn();j(0,"button",1),ce("click",function(){return on(i),an(z().close())}),U()}}const Zw=["*"],BV=["dialog"];function Wr(e){return"string"==typeof e}function qr(e){return null!=e}function ho(e){return(e||document.body).getBoundingClientRect()}function eC(e=document){const t=e?.activeElement;return t?t.shadowRoot?eC(t.shadowRoot):t:null}const tC={animation:!0,transitionTimerDelayMs:5},A3=()=>{},{transitionTimerDelayMs:O3}=tC,Ha=new Map,pn=(e,t,i,n)=>{let r=n.context||{};const s=Ha.get(t);if(s)switch(n.runningTransition){case"continue":return Do;case"stop":e.run(()=>s.transition$.complete()),r=Object.assign(s.context,r),Ha.delete(t)}const o=i(t,n.animation,r)||A3;if(!n.animation||"none"===window.getComputedStyle(t).transitionProperty)return e.run(()=>o()),ds(void 0).pipe(function I3(e){return t=>new ze(i=>t.subscribe({next:o=>e.run(()=>i.next(o)),error:o=>e.run(()=>i.error(o)),complete:()=>e.run(()=>i.complete())}))}(e));const a=new ee,l=new ee,c=a.pipe(function z2(...e){return t=>Qc(t,ds(...e))}(!0));Ha.set(t,{transition$:a,complete:()=>{l.next(),l.complete()},context:r});const u=function N3(e){const{transitionDelay:t,transitionDuration:i}=window.getComputedStyle(e);return 1e3*(parseFloat(t)+parseFloat(i))}(t);return e.runOutsideAngular(()=>{const h=$t(t,"transitionend").pipe(Mt(c),ci(({target:_})=>_===t));wD(bD(u+O3).pipe(Mt(c)),h,l).pipe(Mt(c)).subscribe(()=>{Ha.delete(t),e.run(()=>{o(),a.next(),a.complete()})})}),a.asObservable()};let Ua=(()=>{var e;class t{constructor(){this.animation=tC.animation}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),uC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const H3=({classList:e})=>{e.remove("show")};let U3=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.dismissible=!0,this.type="warning"}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),j3=(()=>{var e;class t{constructor(n,r,s,o){this._renderer=r,this._element=s,this._zone=o,this.closed=new Y,this.dismissible=n.dismissible,this.type=n.type,this.animation=n.animation}close(){const n=pn(this._zone,this._element.nativeElement,H3,{animation:this.animation,runningTransition:"continue"});return n.subscribe(()=>this.closed.emit()),n}ngOnChanges(n){const r=n.type;r&&!r.firstChange&&(this._renderer.removeClass(this._element.nativeElement,`alert-${r.previousValue}`),this._renderer.addClass(this._element.nativeElement,`alert-${r.currentValue}`))}ngOnInit(){this._renderer.addClass(this._element.nativeElement,`alert-${this.type}`)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(U3),v(zn),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-alert"]],hostAttrs:["role","alert",1,"alert","show"],hostVars:4,hostBindings:function(n,r){2&n&&De("fade",r.animation)("alert-dismissible",r.dismissible)},inputs:{animation:"animation",dismissible:"dismissible",type:"type"},outputs:{closed:"closed"},exportAs:["ngbAlert"],standalone:!0,features:[sn,Yn],ngContentSelectors:Zw,decls:2,vars:1,consts:function(){let i;return i=$localize`:@@ngb.alert.close:Close`,[["type","button","class","btn-close","aria-label",i,3,"click",4,"ngIf"],["type","button","aria-label",i,1,"btn-close",3,"click"]]},template:function(n,r){1&n&&(qf(),Yf(0),B(1,lV,1,0,"button",0)),2&n&&(R(1),x("ngIf",r.dismissible))},dependencies:[Ln],styles:["ngb-alert{display:block}\n"],encapsulation:2,changeDetection:0}),t})(),dC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),pC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),Zp=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();var Ge=function(e){return e[e.Tab=9]="Tab",e[e.Enter=13]="Enter",e[e.Escape=27]="Escape",e[e.Space=32]="Space",e[e.PageUp=33]="PageUp",e[e.PageDown=34]="PageDown",e[e.End=35]="End",e[e.Home=36]="Home",e[e.ArrowLeft=37]="ArrowLeft",e[e.ArrowUp=38]="ArrowUp",e[e.ArrowRight=39]="ArrowRight",e[e.ArrowDown=40]="ArrowDown",e}(Ge||{});const bu=(e,t)=>!!t&&t.some(i=>i.contains(e)),yC=(e,t)=>!t||null!=function M3(e,t){return!t||typeof e.closest>"u"?null:e.closest(t)}(e,t),cH=typeof navigator<"u"&&!!navigator.userAgent&&(/iPad|iPhone|iPod/.test(navigator.userAgent)||/Macintosh/.test(navigator.userAgent)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2||/Android/.test(navigator.userAgent));function bC(e,t,i,n,r,s,o,a){i&&e.runOutsideAngular((e=>cH?()=>setTimeout(()=>e(),100):e)(()=>{const c=$t(t,"keydown").pipe(Mt(r),ci(g=>g.which===Ge.Escape),CD(g=>g.preventDefault())),u=$t(t,"mousedown").pipe(Pt(g=>{const _=g.target;return 2!==g.button&&!bu(_,o)&&("inside"===i?bu(_,s)&&yC(_,a):"outside"===i?!bu(_,s):yC(_,a)||!bu(_,s))}),Mt(r)),h=$t(t,"mouseup").pipe(pp(u),ci(([g,_])=>_),function Y2(e,t=yD){const i=bD(e,t);return ED(()=>i)}(0),Mt(r));wD([c.pipe(Pt(g=>0)),h.pipe(Pt(g=>1))]).subscribe(g=>e.run(()=>n(g)))}))}const DC=["a[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","[contenteditable]",'[tabindex]:not([tabindex="-1"])'].join(", ");function wC(e){const t=Array.from(e.querySelectorAll(DC)).filter(i=>-1!==i.tabIndex);return[t[0],t[t.length-1]]}let dH=(()=>{var e;class t{constructor(n){this._element=n.documentElement}isRTL(){return"rtl"===(this._element.getAttribute("dir")||"").toLowerCase()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const fH=/\s+/,hH=/  +/gi,pH={top:["top"],bottom:["bottom"],start:["left","right"],left:["left"],end:["right","left"],right:["right"],"top-start":["top-start","top-end"],"top-left":["top-start"],"top-end":["top-end","top-start"],"top-right":["top-end"],"bottom-start":["bottom-start","bottom-end"],"bottom-left":["bottom-start"],"bottom-end":["bottom-end","bottom-start"],"bottom-right":["bottom-end"],"start-top":["left-start","right-start"],"left-top":["left-start"],"start-bottom":["left-end","right-end"],"left-bottom":["left-end"],"end-top":["right-start","left-start"],"right-top":["right-start"],"end-bottom":["right-end","left-end"],"right-bottom":["right-end"]},_H=/^left/,mH=/^right/,vH=/^start/,yH=/^end/;function EC({placement:e,baseClass:t},i){let n=Array.isArray(e)?e:e.split(fH),s=n.findIndex(c=>"auto"===c);s>=0&&["top","bottom","start","end","top-start","top-end","bottom-start","bottom-end","start-top","start-bottom","end-top","end-bottom"].forEach(function(c){null==n.find(u=>-1!==u.search("^"+c))&&n.splice(s++,1,c)});const o=n.map(c=>function gH(e,t){const[i,n]=pH[e];return t&&n||i}(c,i.isRTL()));return{placement:o.shift(),modifiers:[{name:"bootstrapClasses",enabled:!!t,phase:"write",fn({state:c}){const u=new RegExp(t+"(-[a-z]+)*","gi"),h=c.elements.popper,g=c.placement;let _=h.className;_=_.replace(u,""),_+=` ${function bH(e,t){let[i,n]=t.split("-");const r=i.replace(_H,"start").replace(mH,"end");let s=[r];if(n){let o=n;("left"===i||"right"===i)&&(o=o.replace(vH,"top").replace(yH,"bottom")),s.push(`${r}-${o}`)}return e&&(s=s.map(o=>`${e}-${o}`)),s.join(" ")}(t,g)}`,_=_.trim().replace(hH," "),h.className=_}},wB,TB,AB,{enabled:!0,name:"flip",options:{fallbackPlacements:o}},{enabled:!0,name:"preventOverflow",phase:"main",fn:function(){}}]}}function SC(e){return e}new Date(1882,10,12),new Date(2174,10,25);let FC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),OH=(()=>{var e;class t{constructor(){this.autoClose=!0,this.placement=["bottom-start","bottom-end","top-start","top-end"],this.popperOptions=n=>n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),rg=(()=>{var e;class t{set disabled(n){this._disabled=""===n||!0===n,this._renderer.setProperty(this.elementRef.nativeElement,"disabled",this._disabled)}get disabled(){return this._disabled}constructor(n,r){this.elementRef=n,this._renderer=r,this._disabled=!1}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(zn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownItem",""]],hostAttrs:[1,"dropdown-item"],hostVars:3,hostBindings:function(n,r){2&n&&(qn("tabIndex",r.disabled?-1:0),De("disabled",r.disabled))},inputs:{disabled:"disabled"},standalone:!0}),t})(),sg=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.placement="bottom",this.isOpen=!1,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownMenu",""]],contentQueries:function(n,r,s){if(1&n&&pt(s,rg,4),2&n){let o;se(o=oe())&&(r.menuItems=o)}},hostVars:4,hostBindings:function(n,r){1&n&&ce("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Enter",function(o){return r.dropdown.onKeyDown(o)})("keydown.Space",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&De("dropdown-menu",!0)("show",r.dropdown.isOpen())},standalone:!0}),t})(),Eu=(()=>{var e;class t{constructor(n,r){this.dropdown=n,this.nativeElement=r.nativeElement}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownAnchor",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0}),t})(),kC=(()=>{var e;class t extends Eu{constructor(n,r){super(n,r)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(ae(()=>za)),v(Fe))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdownToggle",""]],hostAttrs:[1,"dropdown-toggle"],hostVars:1,hostBindings:function(n,r){1&n&&ce("click",function(){return r.dropdown.toggle()})("keydown.ArrowUp",function(o){return r.dropdown.onKeyDown(o)})("keydown.ArrowDown",function(o){return r.dropdown.onKeyDown(o)})("keydown.Home",function(o){return r.dropdown.onKeyDown(o)})("keydown.End",function(o){return r.dropdown.onKeyDown(o)})("keydown.Tab",function(o){return r.dropdown.onKeyDown(o)})("keydown.Shift.Tab",function(o){return r.dropdown.onKeyDown(o)}),2&n&&Te("aria-expanded",r.dropdown.isOpen())},standalone:!0,features:[$e([{provide:Eu,useExisting:ae(()=>e)}]),Oe]}),t})(),za=(()=>{var e;class t{constructor(n,r,s,o,a,l){this._changeDetector=n,this._document=s,this._ngZone=o,this._elementRef=a,this._renderer=l,this._destroyCloseHandlers$=new ee,this._bodyContainer=null,this._open=!1,this.openChange=new Y,this.placement=r.placement,this.popperOptions=r.popperOptions,this.container=r.container,this.autoClose=r.autoClose,this._positioning=function TC(){const e=fe(dH);let t=null;return{createPopper(i){if(!t){let r=(i.updatePopperOptions||SC)(EC(i,e));t=QB(i.hostElement,i.targetElement,r)}},update(){t&&t.update()},setOptions(i){if(t){let r=(i.updatePopperOptions||SC)(EC(i,e));t.setOptions(r)}},destroy(){t&&(t.destroy(),t=null)}}}()}ngOnInit(){this.display||(this.display=this._elementRef.nativeElement.closest(".navbar")?"static":"dynamic")}ngAfterContentInit(){this._ngZone.onStable.pipe(ui(1)).subscribe(()=>{this._applyPlacementClasses(),this._open&&this._setCloseHandlers()})}ngOnChanges(n){if(n.container&&this._open&&this._applyContainer(this.container),n.placement&&!n.placement.firstChange&&(this._positioning.setOptions({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container}),this._applyPlacementClasses()),n.dropdownClass){const{currentValue:r,previousValue:s}=n.dropdownClass;this._applyCustomDropdownClass(r,s)}n.autoClose&&this._open&&(this.autoClose=n.autoClose.currentValue,this._setCloseHandlers())}isOpen(){return this._open}open(){this._open||(this._open=!0,this._applyContainer(this.container),this.openChange.emit(!0),this._setCloseHandlers(),this._anchor&&(this._anchor.nativeElement.focus(),"dynamic"===this.display&&this._ngZone.runOutsideAngular(()=>{this._positioning.createPopper({hostElement:this._anchor.nativeElement,targetElement:this._bodyContainer||this._menu.nativeElement,placement:this.placement,appendToBody:"body"===this.container,updatePopperOptions:n=>this.popperOptions(function IC(e){return t=>(t.modifiers.push(eV,{name:"offset",options:{offset:()=>e}}),t)}([0,2])(n))}),this._applyPlacementClasses(),this._zoneSubscription=this._ngZone.onStable.subscribe(()=>this._positionMenu())})))}_setCloseHandlers(){this._destroyCloseHandlers$.next(),bC(this._ngZone,this._document,this.autoClose,n=>{this.close(),0===n&&this._anchor.nativeElement.focus()},this._destroyCloseHandlers$,this._menu?[this._menu.nativeElement]:[],this._anchor?[this._anchor.nativeElement]:[],".dropdown-item,.dropdown-divider")}close(){this._open&&(this._open=!1,this._resetContainer(),this._positioning.destroy(),this._zoneSubscription?.unsubscribe(),this._destroyCloseHandlers$.next(),this.openChange.emit(!1),this._changeDetector.markForCheck())}toggle(){this.isOpen()?this.close():this.open()}ngOnDestroy(){this.close()}onKeyDown(n){const r=n.which,s=this._getMenuElements();let o=-1,a=null;const l=this._isEventFromToggle(n);if(!l&&s.length&&s.forEach((c,u)=>{c.contains(n.target)&&(a=c),c===eC(this._document)&&(o=u)}),r!==Ge.Space&&r!==Ge.Enter){if(r!==Ge.Tab){if(l||a){if(this.open(),s.length){switch(r){case Ge.ArrowDown:o=Math.min(o+1,s.length-1);break;case Ge.ArrowUp:if(this._isDropup()&&-1===o){o=s.length-1;break}o=Math.max(o-1,0);break;case Ge.Home:o=0;break;case Ge.End:o=s.length-1}s[o].focus()}n.preventDefault()}}else if(n.target&&this.isOpen()&&this.autoClose){if(this._anchor.nativeElement===n.target)return void("body"!==this.container||n.shiftKey?n.shiftKey&&this.close():(this._renderer.setAttribute(this._menu.nativeElement,"tabindex","0"),this._menu.nativeElement.focus(),this._renderer.removeAttribute(this._menu.nativeElement,"tabindex")));if("body"===this.container){const c=this._menu.nativeElement.querySelectorAll(DC);n.shiftKey&&n.target===c[0]?(this._anchor.nativeElement.focus(),n.preventDefault()):!n.shiftKey&&n.target===c[c.length-1]&&(this._anchor.nativeElement.focus(),this.close())}else $t(n.target,"focusout").pipe(ui(1)).subscribe(({relatedTarget:c})=>{this._elementRef.nativeElement.contains(c)||this.close()})}}else a&&(!0===this.autoClose||"inside"===this.autoClose)&&$t(a,"click").pipe(ui(1)).subscribe(()=>this.close())}_isDropup(){return this._elementRef.nativeElement.classList.contains("dropup")}_isEventFromToggle(n){return this._anchor.nativeElement.contains(n.target)}_getMenuElements(){const n=this._menu;return null==n?[]:n.menuItems.filter(r=>!r.disabled).map(r=>r.elementRef.nativeElement)}_positionMenu(){const n=this._menu;this.isOpen()&&n&&("dynamic"===this.display?(this._positioning.update(),this._applyPlacementClasses()):this._applyPlacementClasses(this._getFirstPlacement(this.placement)))}_getFirstPlacement(n){return Array.isArray(n)?n[0]:n.split(" ")[0]}_resetContainer(){const n=this._renderer;this._menu&&n.appendChild(this._elementRef.nativeElement,this._menu.nativeElement),this._bodyContainer&&(n.removeChild(this._document.body,this._bodyContainer),this._bodyContainer=null)}_applyContainer(n=null){if(this._resetContainer(),"body"===n){const r=this._renderer,s=this._menu.nativeElement,o=this._bodyContainer=this._bodyContainer||r.createElement("div");r.setStyle(o,"position","absolute"),r.setStyle(s,"position","static"),r.setStyle(o,"z-index","1055"),r.appendChild(o,s),r.appendChild(this._document.body,o)}this._applyCustomDropdownClass(this.dropdownClass)}_applyCustomDropdownClass(n,r){const s="body"===this.container?this._bodyContainer:this._elementRef.nativeElement;s&&(r&&this._renderer.removeClass(s,r),n&&this._renderer.addClass(s,n))}_applyPlacementClasses(n){const r=this._menu;if(r){n||(n=this._getFirstPlacement(this.placement));const s=this._renderer,o=this._elementRef.nativeElement;s.removeClass(o,"dropup"),s.removeClass(o,"dropdown");const{nativeElement:a}=r;"static"===this.display?(r.placement=null,s.setAttribute(a,"data-bs-popper","static")):(r.placement=n,s.removeAttribute(a,"data-bs-popper"));const l=-1!==n.search("^top")?"dropup":"dropdown";s.addClass(o,l);const c=this._bodyContainer;c&&(s.removeClass(c,"dropup"),s.removeClass(c,"dropdown"),s.addClass(c,l))}}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(OH),v(Qt),v(Se),v(Fe),v(zn))},e.\u0275dir=k({type:e,selectors:[["","ngbDropdown",""]],contentQueries:function(n,r,s){if(1&n&&(pt(s,sg,5),pt(s,Eu,5)),2&n){let o;se(o=oe())&&(r._menu=o.first),se(o=oe())&&(r._anchor=o.first)}},hostVars:2,hostBindings:function(n,r){2&n&&De("show",r.isOpen())},inputs:{autoClose:"autoClose",dropdownClass:"dropdownClass",_open:["open","_open"],placement:"placement",popperOptions:"popperOptions",container:"container",display:"display"},outputs:{openChange:"openChange"},exportAs:["ngbDropdown"],standalone:!0,features:[sn]}),t})(),LC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();class Kr{constructor(t,i,n){this.nodes=t,this.viewRef=i,this.componentRef=n}}let xH=(()=>{var e;class t{constructor(n,r){this._el=n,this._zone=r}ngOnInit(){this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{pn(this._zone,this._el.nativeElement,(n,r)=>{r&&ho(n),n.classList.add("show")},{animation:this.animation,runningTransition:"continue"})})}hide(){return pn(this._zone,this._el.nativeElement,({classList:n})=>n.remove("show"),{animation:this.animation,runningTransition:"stop"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-backdrop"]],hostAttrs:[2,"z-index","1055"],hostVars:6,hostBindings:function(n,r){2&n&&(Rr("modal-backdrop"+(r.backdropClass?" "+r.backdropClass:"")),De("show",!r.animation)("fade",r.animation))},inputs:{animation:"animation",backdropClass:"backdropClass"},standalone:!0,features:[Yn],decls:0,vars:0,template:function(n,r){},encapsulation:2}),t})();class BC{update(t){}close(t){}dismiss(t){}}const RH=["animation","ariaLabelledBy","ariaDescribedBy","backdrop","centered","fullscreen","keyboard","scrollable","size","windowClass","modalDialogClass"],PH=["animation","backdropClass"];class FH{_applyWindowOptions(t,i){RH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}_applyBackdropOptions(t,i){PH.forEach(n=>{qr(i[n])&&(t[n]=i[n])})}update(t){this._applyWindowOptions(this._windowCmptRef.instance,t),this._backdropCmptRef&&this._backdropCmptRef.instance&&this._applyBackdropOptions(this._backdropCmptRef.instance,t)}get componentInstance(){if(this._contentRef&&this._contentRef.componentRef)return this._contentRef.componentRef.instance}get closed(){return this._closed.asObservable().pipe(Mt(this._hidden))}get dismissed(){return this._dismissed.asObservable().pipe(Mt(this._hidden))}get hidden(){return this._hidden.asObservable()}get shown(){return this._windowCmptRef.instance.shown.asObservable()}constructor(t,i,n,r){this._windowCmptRef=t,this._contentRef=i,this._backdropCmptRef=n,this._beforeDismiss=r,this._closed=new ee,this._dismissed=new ee,this._hidden=new ee,t.instance.dismissEvent.subscribe(s=>{this.dismiss(s)}),this.result=new Promise((s,o)=>{this._resolve=s,this._reject=o}),this.result.then(null,()=>{})}close(t){this._windowCmptRef&&(this._closed.next(t),this._resolve(t),this._removeModalElements())}_dismiss(t){this._dismissed.next(t),this._reject(t),this._removeModalElements()}dismiss(t){if(this._windowCmptRef)if(this._beforeDismiss){const i=this._beforeDismiss();!function Qw(e){return e&&e.then}(i)?!1!==i&&this._dismiss(t):i.then(n=>{!1!==n&&this._dismiss(t)},()=>{})}else this._dismiss(t)}_removeModalElements(){const t=this._windowCmptRef.instance.hide(),i=this._backdropCmptRef?this._backdropCmptRef.instance.hide():ds(void 0);t.subscribe(()=>{const{nativeElement:n}=this._windowCmptRef.location;n.parentNode.removeChild(n),this._windowCmptRef.destroy(),this._contentRef&&this._contentRef.viewRef&&this._contentRef.viewRef.destroy(),this._windowCmptRef=null,this._contentRef=null}),i.subscribe(()=>{if(this._backdropCmptRef){const{nativeElement:n}=this._backdropCmptRef.location;n.parentNode.removeChild(n),this._backdropCmptRef.destroy(),this._backdropCmptRef=null}}),hp(t,i).subscribe(()=>{this._hidden.next(),this._hidden.complete()})}}var Wa=function(e){return e[e.BACKDROP_CLICK=0]="BACKDROP_CLICK",e[e.ESC=1]="ESC",e}(Wa||{});let kH=(()=>{var e;class t{constructor(n,r,s){this._document=n,this._elRef=r,this._zone=s,this._closed$=new ee,this._elWithFocus=null,this.backdrop=!0,this.keyboard=!0,this.dismissEvent=new Y,this.shown=new ee,this.hidden=new ee}get fullscreenClass(){return!0===this.fullscreen?" modal-fullscreen":Wr(this.fullscreen)?` modal-fullscreen-${this.fullscreen}-down`:""}dismiss(n){this.dismissEvent.emit(n)}ngOnInit(){this._elWithFocus=this._document.activeElement,this._zone.onStable.asObservable().pipe(ui(1)).subscribe(()=>{this._show()})}ngOnDestroy(){this._disableEventHandling()}hide(){const{nativeElement:n}=this._elRef,r={animation:this.animation,runningTransition:"stop"},a=hp(pn(this._zone,n,()=>n.classList.remove("show"),r),pn(this._zone,this._dialogEl.nativeElement,()=>{},r));return a.subscribe(()=>{this.hidden.next(),this.hidden.complete()}),this._disableEventHandling(),this._restoreFocus(),a}_show(){const n={animation:this.animation,runningTransition:"continue"};hp(pn(this._zone,this._elRef.nativeElement,(o,a)=>{a&&ho(o),o.classList.add("show")},n),pn(this._zone,this._dialogEl.nativeElement,()=>{},n)).subscribe(()=>{this.shown.next(),this.shown.complete()}),this._enableEventHandling(),this._setFocus()}_enableEventHandling(){const{nativeElement:n}=this._elRef;this._zone.runOutsideAngular(()=>{$t(n,"keydown").pipe(Mt(this._closed$),ci(s=>s.which===Ge.Escape)).subscribe(s=>{this.keyboard?requestAnimationFrame(()=>{s.defaultPrevented||this._zone.run(()=>this.dismiss(Wa.ESC))}):"static"===this.backdrop&&this._bumpBackdrop()});let r=!1;$t(this._dialogEl.nativeElement,"mousedown").pipe(Mt(this._closed$),CD(()=>r=!1),Vu(()=>$t(n,"mouseup").pipe(Mt(this._closed$),ui(1))),ci(({target:s})=>n===s)).subscribe(()=>{r=!0}),$t(n,"click").pipe(Mt(this._closed$)).subscribe(({target:s})=>{n===s&&("static"===this.backdrop?this._bumpBackdrop():!0===this.backdrop&&!r&&this._zone.run(()=>this.dismiss(Wa.BACKDROP_CLICK))),r=!1})})}_disableEventHandling(){this._closed$.next()}_setFocus(){const{nativeElement:n}=this._elRef;if(!n.contains(document.activeElement)){const r=n.querySelector("[ngbAutofocus]"),s=wC(n)[0];(r||s||n).focus()}}_restoreFocus(){const n=this._document.body,r=this._elWithFocus;let s;s=r&&r.focus&&n.contains(r)?r:n,this._zone.runOutsideAngular(()=>{setTimeout(()=>s.focus()),this._elWithFocus=null})}_bumpBackdrop(){"static"===this.backdrop&&pn(this._zone,this._elRef.nativeElement,({classList:n})=>(n.add("modal-static"),()=>n.remove("modal-static")),{animation:this.animation,runningTransition:"continue"})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Qt),v(Fe),v(Se))},e.\u0275cmp=et({type:e,selectors:[["ngb-modal-window"]],viewQuery:function(n,r){if(1&n&&at(BV,7),2&n){let s;se(s=oe())&&(r._dialogEl=s.first)}},hostAttrs:["role","dialog","tabindex","-1"],hostVars:7,hostBindings:function(n,r){2&n&&(Te("aria-modal",!0)("aria-labelledby",r.ariaLabelledBy)("aria-describedby",r.ariaDescribedBy),Rr("modal d-block"+(r.windowClass?" "+r.windowClass:"")),De("fade",r.animation))},inputs:{animation:"animation",ariaLabelledBy:"ariaLabelledBy",ariaDescribedBy:"ariaDescribedBy",backdrop:"backdrop",centered:"centered",fullscreen:"fullscreen",keyboard:"keyboard",scrollable:"scrollable",size:"size",windowClass:"windowClass",modalDialogClass:"modalDialogClass"},outputs:{dismissEvent:"dismiss"},standalone:!0,features:[Yn],ngContentSelectors:Zw,decls:4,vars:2,consts:[["role","document"],["dialog",""],[1,"modal-content"]],template:function(n,r){1&n&&(qf(),j(0,"div",0,1)(2,"div",2),Yf(3),U()()),2&n&&Rr("modal-dialog"+(r.size?" modal-"+r.size:"")+(r.centered?" modal-dialog-centered":"")+r.fullscreenClass+(r.scrollable?" modal-dialog-scrollable":"")+(r.modalDialogClass?" "+r.modalDialogClass:""))},styles:["ngb-modal-window .component-host-scrollable{display:flex;flex-direction:column;overflow:hidden}\n"],encapsulation:2}),t})(),LH=(()=>{var e;class t{constructor(n){this._document=n}hide(){const n=Math.abs(window.innerWidth-this._document.documentElement.clientWidth),r=this._document.body,s=r.style,{overflow:o,paddingRight:a}=s;if(n>0){const l=parseFloat(window.getComputedStyle(r).paddingRight);s.paddingRight=`${l+n}px`}return s.overflow="hidden",()=>{n>0&&(s.paddingRight=a),s.overflow=o}}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Qt))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),BH=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this._applicationRef=n,this._injector=r,this._environmentInjector=s,this._document=o,this._scrollBar=a,this._rendererFactory=l,this._ngZone=c,this._activeWindowCmptHasChanged=new ee,this._ariaHiddenValues=new Map,this._scrollBarRestoreFn=null,this._modalRefs=[],this._windowCmpts=[],this._activeInstances=new Y,this._activeWindowCmptHasChanged.subscribe(()=>{if(this._windowCmpts.length){const u=this._windowCmpts[this._windowCmpts.length-1];((e,t,i,n=!1)=>{e.runOutsideAngular(()=>{const r=$t(t,"focusin").pipe(Mt(i),Pt(s=>s.target));$t(t,"keydown").pipe(Mt(i),ci(s=>s.which===Ge.Tab),pp(r)).subscribe(([s,o])=>{const[a,l]=wC(t);(o===a||o===t)&&s.shiftKey&&(l.focus(),s.preventDefault()),o===l&&!s.shiftKey&&(a.focus(),s.preventDefault())}),n&&$t(t,"click").pipe(Mt(i),pp(r),Pt(s=>s[1])).subscribe(s=>s.focus())})})(this._ngZone,u.location.nativeElement,this._activeWindowCmptHasChanged),this._revertAriaHidden(),this._setAriaHidden(u.location.nativeElement)}})}_restoreScrollBar(){const n=this._scrollBarRestoreFn;n&&(this._scrollBarRestoreFn=null,n())}_hideScrollBar(){this._scrollBarRestoreFn||(this._scrollBarRestoreFn=this._scrollBar.hide())}open(n,r,s){const o=s.container instanceof HTMLElement?s.container:qr(s.container)?this._document.querySelector(s.container):this._document.body,a=this._rendererFactory.createRenderer(null,null);if(!o)throw new Error(`The specified modal container "${s.container||"body"}" was not found in the DOM.`);this._hideScrollBar();const l=new BC,c=(n=s.injector||n).get(Gn,null)||this._environmentInjector,u=this._getContentRef(n,c,r,l,s);let h=!1!==s.backdrop?this._attachBackdrop(o):void 0,g=this._attachWindowComponent(o,u.nodes),_=new FH(g,u,h,s.beforeDismiss);return this._registerModalRef(_),this._registerWindowCmpt(g),_.hidden.pipe(ui(1)).subscribe(()=>Promise.resolve(!0).then(()=>{this._modalRefs.length||(a.removeClass(this._document.body,"modal-open"),this._restoreScrollBar(),this._revertAriaHidden())})),l.close=y=>{_.close(y)},l.dismiss=y=>{_.dismiss(y)},l.update=y=>{_.update(y)},_.update(s),1===this._modalRefs.length&&a.addClass(this._document.body,"modal-open"),h&&h.instance&&h.changeDetectorRef.detectChanges(),g.changeDetectorRef.detectChanges(),_}get activeInstances(){return this._activeInstances}dismissAll(n){this._modalRefs.forEach(r=>r.dismiss(n))}hasOpenModals(){return this._modalRefs.length>0}_attachBackdrop(n){let r=Fh(xH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector});return this._applicationRef.attachView(r.hostView),n.appendChild(r.location.nativeElement),r}_attachWindowComponent(n,r){let s=Fh(kH,{environmentInjector:this._applicationRef.injector,elementInjector:this._injector,projectableNodes:r});return this._applicationRef.attachView(s.hostView),n.appendChild(s.location.nativeElement),s}_getContentRef(n,r,s,o,a){return s?s instanceof nt?this._createFromTemplateRef(s,o):Wr(s)?this._createFromString(s):this._createFromComponent(n,r,s,o,a):new Kr([])}_createFromTemplateRef(n,r){const o=n.createEmbeddedView({$implicit:r,close(a){r.close(a)},dismiss(a){r.dismiss(a)}});return this._applicationRef.attachView(o),new Kr([o.rootNodes],o)}_createFromString(n){const r=this._document.createTextNode(`${n}`);return new Kr([[r]])}_createFromComponent(n,r,s,o,a){const c=Fh(s,{environmentInjector:r,elementInjector:Zt.create({providers:[{provide:BC,useValue:o}],parent:n})}),u=c.location.nativeElement;return a.scrollable&&u.classList.add("component-host-scrollable"),this._applicationRef.attachView(c.hostView),new Kr([[u]],c.hostView,c)}_setAriaHidden(n){const r=n.parentElement;r&&n!==this._document.body&&(Array.from(r.children).forEach(s=>{s!==n&&"SCRIPT"!==s.nodeName&&(this._ariaHiddenValues.set(s,s.getAttribute("aria-hidden")),s.setAttribute("aria-hidden","true"))}),this._setAriaHidden(r))}_revertAriaHidden(){this._ariaHiddenValues.forEach((n,r)=>{n?r.setAttribute("aria-hidden",n):r.removeAttribute("aria-hidden")}),this._ariaHiddenValues.clear()}_registerModalRef(n){const r=()=>{const s=this._modalRefs.indexOf(n);s>-1&&(this._modalRefs.splice(s,1),this._activeInstances.emit(this._modalRefs))};this._modalRefs.push(n),this._activeInstances.emit(this._modalRefs),n.result.then(r,r)}_registerWindowCmpt(n){this._windowCmpts.push(n),this._activeWindowCmptHasChanged.next(),n.onDestroy(()=>{const r=this._windowCmpts.indexOf(n);r>-1&&(this._windowCmpts.splice(r,1),this._activeWindowCmptHasChanged.next())})}}return(e=t).\u0275fac=function(n){return new(n||e)(L(kr),L(Zt),L(Gn),L(Qt),L(LH),L(vf),L(Se))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VH=(()=>{var e;class t{constructor(n){this._ngbConfig=n,this.backdrop=!0,this.fullscreen=!1,this.keyboard=!0}get animation(){return void 0===this._animation?this._ngbConfig.animation:this._animation}set animation(n){this._animation=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Ua))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),VC=(()=>{var e;class t{constructor(n,r,s){this._injector=n,this._modalStack=r,this._config=s}open(n,r={}){const s={...this._config,animation:this._config.animation,...r};return this._modalStack.open(this._injector,n,s)}get activeInstances(){return this._modalStack.activeInstances}dismissAll(n){this._modalStack.dismissAll(n)}hasOpenModals(){return this._modalStack.hasOpenModals()}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt),L(BH),L(VH))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),HC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({providers:[VC]}),t})(),$C=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),QC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),XC=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),eE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),tE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),nE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),iE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),rE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),sE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();new W("live announcer delay",{providedIn:"root",factory:function iU(){return 100}});let oE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})(),aE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({}),t})();const sU=[uC,dC,pC,Zp,FC,LC,HC,$C,aE,QC,XC,eE,tE,nE,iE,rE,sE,oE];let oU=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Pe({type:e}),e.\u0275inj=Ae({imports:[sU,uC,dC,pC,Zp,FC,LC,HC,$C,aE,QC,XC,eE,tE,nE,iE,rE,sE,oE]}),t})();const aU=["ddbut"];function lU(e,t){if(1&e&&(j(0,"button",8),je(1,"i",null,9),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.element.id),R(3),jt(i.label)}}let cU=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.attributeService=n,this.cd=r,this.frontendService=s,this.elementLookupService=a,this.callbackHelperService=l,this.element=null,this.parentLayout="",this.buttonLabel="",this.dropDownMenuItems=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new uU(r,n);this.elementLookupService.addElementObject(n.id,s,n),this.dropDownMenuItems.push(s),this.cd.detectChanges();let o=document.getElementById(n.id);if(null!=o){s.setHtmlElement(o),s.setAttributes(n.attributes),this.callbackHelperService.setCallbacks(o,n.when);let a=o.children.item(0);null!=a&&this.attributeService.addClasses(a,n.attributes,["fa"],[],"icon")}}),this.cd.detectChanges(),this.setAttributes(this.element.attributes))}setAttributes(n){let r=this.attributeService.findAttribute("selected",n);null!=r&&(this.buttonLabel=r.value);let s=this.ddbut.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,["btn"],["btn-outline-dark"]),s.style.border_color=this.attributeService.findGetAttributeValue("border_color",n,"black"),this.cd.detectChanges()}onClick(n){this.frontendService.policyPost(n.when[0])}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(gt),v(Qn),v(Qt),v(Kt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-dropdown-menu"]],viewQuery:function(n,r){if(1&n&&at(aU,7),2&n){let s;se(s=oe())&&(r.ddbut=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:9,vars:3,consts:[[2,"display","table","min-height","100%","min-width","100%"],[2,"display","table-row","min-width","100%"],[2,"display","table-cell","vertical-align","middle","text-align","center"],["ngbDropdown","",1,"d-inline-block"],["type","button","ngbDropdownToggle","","ata-toggle","dropdown","aria-haspopup","true","aria-expanded","false",3,"id"],["ddbut",""],["ngbDropdownMenu",""],["ngbDropdownItem","",3,"id",4,"ngFor","ngForOf"],["ngbDropdownItem","",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"button",4,5),qe(6),U(),j(7,"div",6),B(8,lU,4,2,"button",7),U()()()()()),2&n&&(R(4),Pn("id",null==r.element?null:r.element.id),R(2),Ri(" ",r.buttonLabel," "),R(2),x("ngForOf",r.dropDownMenuItems))},dependencies:[kn,za,kC,sg,rg]}),t})();class uU{constructor(t,i){this.htmlElement=null,this.label=t,this.element=i}setHtmlElement(t){this.htmlElement=t}setAttributes(t){if(null!=this.htmlElement){let i=Xt.injector.get(Tn);i.addAttributes(this.htmlElement,t),i.textAttributes(this.htmlElement,t),i.setAttributesDirectly(this.htmlElement,t),i.addClasses(this.htmlElement,t,["dropdown-item"],[])}}}const dU=["label"],fU=["middleDiv"],hU=["outerDiv"];let pU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.elementLabel=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.callbackService.setCallbacks(this.label.nativeElement,this.element.when),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("label",n);null!=r&&(this.elementLabel=r.value);let s=this.label.nativeElement,o=this.middleDiv.nativeElement,a=this.outerDiv.nativeElement;this.attributeService.addAttributes(s,n),this.attributeService.textAttributes(s,n),this.attributeService.setAttributesDirectly(s,n),this.attributeService.addClasses(s,n,[],[]),this.setOuterDivStyles(a),this.setMiddleDivStyle(o),this.setParagraphStyle(s),this.cd.detectChanges()}setOuterDivStyles(n){n.style.display="table",n.style.minHeight="100%",n.style.minWidth="100%",n.style.overflow="hidden"}setMiddleDivStyle(n){n.style.minWidth="100%",n.style.display="table-row"}setParagraphStyle(n){n.style.display="table-cell",n.style.verticalAlign="middle",n.style.textAlign="center"}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-label"]],viewQuery:function(n,r){if(1&n&&(at(dU,7),at(fU,7),at(hU,7)),2&n){let s;se(s=oe())&&(r.label=s.first),se(s=oe())&&(r.middleDiv=s.first),se(s=oe())&&(r.outerDiv=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:6,vars:1,consts:[["outerDiv",""],["middleDiv",""],[3,"innerHTML"],["label",""]],template:function(n,r){1&n&&(j(0,"div",null,0)(2,"div",null,1),je(4,"p",2,3),U()()),2&n&&(R(4),x("innerHTML",r.elementLabel,Bm))}}),t})();const gU=["theButton"];let _U=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.buttonLabel="",this.disabledAttribute=!1}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theButton.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.buttonLabel=this.attributeService.findGetAttributeValue("label",n,"");let r=this.theButton.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addClasses(r,n,["btn"],["btn-info"]),this.attributeService.addGeneralAttributes(r,n),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=r.children.item(0);this.attributeService.addClasses(s,n,["fa"],[],"icon");let o=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==o?this.disabledAttribute=!1:"true"==o?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(o),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-button"]],viewQuery:function(n,r){if(1&n&&at(gU,5),2&n){let s;se(s=oe())&&(r.theButton=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:5,vars:2,consts:[["type","button"],["theButton",""],["icon",""]],template:function(n,r){1&n&&(j(0,"button",0,1),je(2,"i",null,2),qe(4),U()),2&n&&(Te("disabled",!!r.disabledAttribute||null),R(4),jt(r.buttonLabel))}}),t})();var mU=Be(7);const vU=["theImage"],yU=["svgContainer"];function bU(e,t){if(1&e&&(j(0,"div"),je(1,"img",1,2),U()),2&e){const i=z();R(1),x("src",i.imageSource,Qd)}}function DU(e,t){1&e&&je(0,"div",null,3)}let wU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.imageSource="",this.imageType=""}ngAfterViewInit(){if(null!=this.element){this.elementLookupService.addElementObject(this.element.id,this,this.element);let n=this.attributeService.findAttribute("image",this.element.attributes),r=this.attributeService.findAttribute("image_type",this.element.attributes);null!=n&&null!=r&&r.value.startsWith("clingraph")?this.svgImageHandler(this.element,n,r):this.defaultImageHandler(this.element,n),this.cd.detectChanges()}}setAttributes(n){console.log("TODO?")}svgImageHandler(n,r,s){const a=/\(([^,]+),\s*([^)]+)\)/;this.imageType="svg",this.cd.detectChanges();let l=mU.lW.from(r.value,"base64").toString("binary");this.svgContainer.nativeElement.innerHTML=l,this.cd.detectChanges();let c=this.svgContainer.nativeElement.querySelectorAll(".node, .edge"),u=[];n.children.forEach(g=>{let _=this.attributeService.findAttribute("clingraph_id",g.attributes);if(null!=_){let y=_.value;if("svg_edge"==g.type){const b=y.match(a);if(b){y=b[1].replaceAll('"',"")+"--"+b[2].replaceAll('"',"");let D=b[1].replaceAll('"',"")+"-&gt;"+b[2].replaceAll('"',"");u.push({key:D,value:g})}else console.error("Invalid edge format expected a tuple (X,Y) but got ",y)}u.push({key:y,value:g})}});let h=this.generateSvgNodeUiNodeAssociationList(c,u);this.addEventListeners(h),this.cd.detectChanges()}generateSvgNodeUiNodeAssociationList(n,r){let s=[];return n.forEach(o=>{let a=null;r.forEach(l=>{if(o.id==l.key)a=l.value;else for(const c of Array.from(o.children))"title"==c.tagName&&c.innerHTML==l.key&&(a=l.value)}),null!=a?(this.elementLookupService.addElementTagHTML(a.id,o,a),s.push({svg:o,ui:a})):(console.log("Warning: Could not find for the following svgElement a corresponding clingraph node or edge!"),console.log(o))}),s}addEventListeners(n){n.forEach(r=>{this.callbackService.setCallbacks(r.svg,r.ui.when)})}defaultImageHandler(n,r){this.imageType="normal",this.cd.detectChanges();let s=this.theImage.nativeElement;this.attributeService.addAttributes(s,n.attributes),this.attributeService.textAttributes(s,n.attributes),this.attributeService.setAttributesDirectly(s,n.attributes),this.callbackService.setCallbacks(s,n.when);let o=this.attributeService.findAttribute("image_path",n.attributes);null!=r?this.imageSource="data:image/png;base64,"+r.value:null!=o&&(this.imageSource=o.value)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-canvas"]],viewQuery:function(n,r){if(1&n&&(at(vU,5),at(yU,5)),2&n){let s;se(s=oe())&&(r.theImage=s.first),se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:2,consts:[[4,"ngIf"],[3,"src"],["theImage",""],["svgContainer",""]],template:function(n,r){1&n&&(B(0,bU,3,1,"div",0),B(1,DU,2,0,"div",0)),2&n&&(x("ngIf","normal"==r.imageType),R(1),x("ngIf","svg"==r.imageType))},dependencies:[Ln]}),t})(),CU=(()=>{var e;class t{constructor(){}toUserInputASP(n,r,s,o,a){return`user_input(${n},${r},${s},${o},${a})`}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const EU=["svgContainer"];function SU(e,t){if(1&e&&je(0,"textarea",13),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name)}}function TU(e,t){if(1&e){const i=Dn();j(0,"input",14),ce("click",function(r){return on(i),an(z(2).checkClick(r))}),U()}if(2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_checkbox_"+n.currID),x("formControlName",i.name)}}function MU(e,t){if(1&e&&je(0,"input",15),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("type",i.type)("formControlName",i.name)}}function IU(e,t){if(1&e&&(j(0,"option",17),qe(1),U()),2&e){const i=t.$implicit;Pn("value",i),R(1),jt(i)}}function NU(e,t){if(1&e&&(j(0,"select",13),B(1,IU,2,2,"option",16),U()),2&e){const i=z().$implicit,n=z();Pn("id",i.name+"_"+n.currID),x("formControlName",i.name),R(1),x("ngForOf",n.retrieveSelectOptions(i))}}function AU(e,t){if(1&e&&(j(0,"div")(1,"label"),qe(2),U(),je(3,"br"),B(4,SU,1,2,"textarea",10),B(5,TU,1,2,"input",11),B(6,MU,1,3,"input",12),B(7,NU,2,3,"select",10),U()),2&e){const i=t.$implicit;R(2),jt(i.name),R(2),x("ngIf","textarea"==i.type),R(1),x("ngIf","checkbox"==i.type),R(1),x("ngIf","textarea"!=i.type&&"checkbox"!=i.type&&"select"!=i.type),R(1),x("ngIf","select"==i.type)}}function OU(e,t){if(1&e&&(j(0,"h2",18),qe(1),U()),2&e){const i=z();R(1),jt(i.errStr)}}function xU(e,t){1&e&&(j(0,"h2"),qe(1,"No graph was created from your request."),U())}let RU=(()=>{var e;class t{constructor(n,r,s,o,a){this.attributeService=n,this.frontendService=r,this.fb=s,this.cd=o,this.aspService=a,this.element=null,this.optionsForm=new Hr({}),this.svgString="",this.type="",this.nodeOptionsList=[],this.currID="",this.optionsList=[],this.errStr=""}ngAfterViewInit(){if(null!=this.element){let n=this.attributeService.findAttribute("clingraph_interactive",this.element.attributes);if(null!=n){let r=n;this.svgString=r.data,this.svgContainer.nativeElement.innerHTML=this.svgString,this.nodeOptionsList=r.option_data,console.log("NodeOptions after init:",this.nodeOptionsList),console.log("form after init: ",this.optionsForm),this.cd.detectChanges()}}}retrieveSelectOptions(n){return"options"in n?n.options:[]}handleNodeClick(n){console.log("clicked");let r=n.target,s=r.parentNode;if(console.log(r),console.log(s),null!==s&&"g"==s.nodeName){console.log("past first");let o=s.getElementsByTagName("title")[0];if(console.log(o),null!==o){console.log("past second");const a=o.textContent;null!==a&&""!==a&&(s.id.startsWith("node")?(console.log("clicked node with ID: ",a),this.type="node",this.updateOptions(a,"node")):r.id.startsWith("edge")&&(console.log("clicked"),this.type="edge",this.updateOptions(a,"edge")))}}}checkClick(n){console.log("clicked box");let r=n.target;console.log(r.getAttribute("value")),console.log(r.getAttribute("checked")),console.log("form: ",this.optionsForm)}updateOptions(n,r){this.optionsList.forEach(o=>{o.state=this.optionsForm.value[o.name]}),this.currID=n;let s=this.nodeOptionsList.filter(o=>o.id==n&&o.compType==r);if(1!=s.length)console.log(`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`),this.errStr=`Something went wrong: There is more than one or no node/edge with id ${n} in the options list!`;else{this.optionsList=s.map(a=>a.options).flat();let o=new Hr({});this.optionsList.forEach(a=>{o.addControl(a.name,new jr("checkbox"==a.type?"true"==a.state||1==a.state:a.state))}),this.optionsForm=o,console.log("form after update: ",this.optionsForm),console.log(this.nodeOptionsList)}}submitForm(){this.errStr="";let n=[],r=this.optionsForm.value;console.log("Form: ",r),this.optionsList.forEach(a=>{a.state=r[a.name]}),this.nodeOptionsList.forEach(a=>{a.options.forEach(l=>{n.push(this.aspService.toUserInputASP(a.compType,a.id,l.type,l.name,l.state))})});let o={function:`graphUpdate(${n.join(",")})`};console.log(o),this.frontendService.uncheckedPost(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tn),v(Qn),v(ZL),v(gt),v(CU))},e.\u0275cmp=et({type:e,selectors:[["app-main-page"]],viewQuery:function(n,r){if(1&n&&at(EU,5),2&n){let s;se(s=oe())&&(r.svgContainer=s.first)}},inputs:{element:"element"},decls:13,vars:4,consts:[[1,"row"],[1,"col","left",2,"flex-grow","1"],[3,"formGroup","ngSubmit"],[4,"ngFor","ngForOf"],["type","submit","value","Submit"],[1,"col","right",2,"overflow","scroll","flex-grow","10"],["style","color: red;",4,"ngIf"],[3,"click"],["svgContainer",""],[4,"ngIf"],[3,"id","formControlName",4,"ngIf"],["type","checkbox",3,"id","formControlName","click",4,"ngIf"],[3,"id","type","formControlName",4,"ngIf"],[3,"id","formControlName"],["type","checkbox",3,"id","formControlName","click"],[3,"id","type","formControlName"],[3,"value",4,"ngFor","ngForOf"],[3,"value"],[2,"color","red"]],template:function(n,r){1&n&&(j(0,"div",0)(1,"div",1)(2,"label"),qe(3,"OPTIONS"),U(),je(4,"br"),j(5,"form",2),ce("ngSubmit",function(){return r.submitForm()}),B(6,AU,8,5,"div",3),je(7,"input",4),U()(),j(8,"div",5),B(9,OU,2,1,"h2",6),j(10,"div",7,8),ce("click",function(o){return r.handleNodeClick(o)}),U(),B(12,xU,2,0,"h2",9),U()()),2&n&&(R(5),x("formGroup",r.optionsForm),R(1),x("ngForOf",r.optionsList),R(3),x("ngIf",r.errStr.length>0),R(3),x("ngIf",r.svgString.length<=0))},dependencies:[kn,Ln,uw,vw,bw,Kc,gp,uu,ZD,JD,cu,Op],styles:['*[_ngcontent-%COMP%]{box-sizing:border-box}.col[_ngcontent-%COMP%]{float:left;padding:10px;height:300px}.left[_ngcontent-%COMP%]{width:25%}.right[_ngcontent-%COMP%]{width:75%}.row[_ngcontent-%COMP%]:after{content:"";display:table;clear:both}@media screen and (max-width: 600px){.col[_ngcontent-%COMP%]{width:100%}}']}),t})();const PU=["theTextfield"];let FU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.parentLayout="",this.placeholder="",this.disabledAttribute=!1,this.inputType="text"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.callbackService.setCallbacks(this.theTextfield.nativeElement,this.element.when),this.cd.detectChanges())}setAttributes(n){this.placeholder=this.attributeService.findGetAttributeValue("placeholder",n,""),this.inputType=this.attributeService.findGetAttributeValue("input_type",n,"text");let r=this.theTextfield.nativeElement;this.attributeService.setAttributesDirectly(r,n),this.attributeService.addAttributes(r,n),this.attributeService.textAttributes(r,n),this.attributeService.addGeneralAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),null!=this.element&&this.attributeService.setAbsoulteRelativePositions(this.parentLayout,r,this.element);let s=this.attributeService.findGetAttributeValue("disabled",n,"false");"false"==s?this.disabledAttribute=!1:"true"==s?this.disabledAttribute=!0:(console.log("NOT SUPPORTED VALUE FOR DISABLED (assuming not disabled): "),console.log(s),this.disabledAttribute=!1),this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-textfield"]],viewQuery:function(n,r){if(1&n&&at(PU,5),2&n){let s;se(s=oe())&&(r.theTextfield=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:3,vars:3,consts:[[1,"input-group"],["aria-describedby","basic-addon1",1,"form-control",3,"placeholder","type"],["theTextfield",""]],template:function(n,r){1&n&&(j(0,"div",0),je(1,"input",1,2),U()),2&n&&(R(1),Pn("type",r.inputType),x("placeholder",r.placeholder),Te("disabled",!!r.disabledAttribute||null))}}),t})();const kU=["child"],LU=["content"];function BU(e,t){if(1&e){const i=Dn();j(0,"div",1)(1,"h4",2),qe(2),U(),j(3,"button",3),ce("click",function(){return an(on(i).$implicit.dismiss("Cross click"))}),U()(),j(4,"div",4),je(5,"app-container",5),U()}if(2&e){const i=z();R(2),jt(i.modalTitle),R(3),x("element",i.element)("parentLayout",i.parentLayout)}}let lE=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.childBearerService=n,this.cd=r,this.attributeService=s,this.elementLookupService=o,this.modalService=a,this.modalRefService=l,this.element=null,this.parentLayout="",this.container_id="",this.container=null,this.modalTitle="",this.modalRef=null,this.closeResult=""}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("visible",n),s=this.attributeService.findAttribute("title",n);null!=s&&(this.modalTitle=s.value),null!=r&&null!=this.element&&("shown"!=r.value&&"visible"!=r.value||null!=this.modalRef?null!=this.modalRef&&("hidden"==r.value||"collapse"==r.value)&&this.modalRef.close():(this.modalRef=this.modalService.open(this.content,{ariaLabelledBy:"modal-basic-title"}),this.modalRefService.registerModal(this.element.id,this.modalRef),this.modalRef.result.then(o=>{if(this.closeResult=`Closed with: ${o}`,null!=this.element)for(let a=0;a<this.element.attributes.length;a++){let l=this.element.attributes[a];("shown"==l.key||"visible"==l.key)&&(l.value="hidden")}this.modalRef=null},o=>{if(this.closeResult=`Dismissed ${this.getDismissReason(o)}`,null!=this.element)for(let a=0;a<this.element.attributes.length;a++){let l=this.element.attributes[a];("shown"==l.key||"visible"==l.key)&&(l.value="hidden")}null!=this.element&&this.modalRefService.removeModalByKey(this.element.id),this.modalRef=null})),this.cd.detectChanges())}getDismissReason(n){return n===Wa.ESC?"by pressing ESC":n===Wa.BACKDROP_CLICK?"by clicking on a backdrop":`with: ${n}`}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(gt),v(Tn),v(Kt),v(VC),v(cD))},e.\u0275cmp=et({type:e,selectors:[["app-modal"]],viewQuery:function(n,r){if(1&n&&(at(kU,5,Cn),at(LU,5,nt)),2&n){let s;se(s=oe())&&(r.child=s.first),se(s=oe())&&(r.content=s.first)}},inputs:{element:"element",parentLayout:"parentLayout"},decls:2,vars:0,consts:[["content",""],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["type","button","aria-label","Close",1,"btn-close",3,"click"],[1,"modal-body"],[3,"element","parentLayout"]],template:function(n,r){1&n&&B(0,BU,6,3,"ng-template",null,0,En)}}),t})(),VU=(()=>{var e;class t{constructor(){}componentCreation(n,r){let s=[{key:"container",value:uD},{key:"dropdown_menu",value:cU},{key:"label",value:pU},{key:"button",value:_U},{key:"canvas",value:wU},{key:"clingraph_interactive",value:RU},{key:"textfield",value:FU},{key:"modal",value:lE}],o=null,a=s.findIndex(l=>l.key==r);return a>=0&&(o=n.createComponent(s[a].value)),null==o&&"menu_bar"!=r&&"context_menu"!=r&&"message"!=r&&console.log("Could not associate component key with an component: "+r),o}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Tu=(()=>{var e;class t{constructor(n,r,s){this.componentService=n,this.elementLookupService=r,this.attributeService=s}bearChild(n,r,s){let o=this.componentService.componentCreation(n,r.type);if(null!=o){o.setInput("element",r),o.setInput("parentLayout",s);let a=o.location.nativeElement;a.id=r.id,this.elementLookupService.addElementTagHTML(r.id,a,r),this.setAllTagAttributes(a,r,s)}return o}setAllTagAttributes(n,r,s){"button"!=r.type&&this.attributeService.setAbsoulteRelativePositions(s,n,r),this.setChildTagAttributes(n,r)}setChildTagAttributes(n,r){this.attributeService.setAttributesDirectly(n,r.attributes),this.attributeService.addGeneralAttributes(n,r.attributes),this.attributeService.addAttributes(n,r.attributes),"container"==r.type&&(this.attributeService.setChildLayout(n,r.attributes),this.attributeService.setVisibility(n,r.attributes),this.attributeService.addClasses(n,r.attributes,[],["p-2"]))}}return(e=t).\u0275fac=function(n){return new(n||e)(L(VU),L(Kt),L(Tn))},e.\u0275prov=G({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function HU(e,t){if(1&e){const i=Dn();j(0,"ngb-alert",1),ce("closed",function(){return on(i),an(z().messageClosed())}),j(1,"strong"),qe(2),U(),qe(3),U()}if(2&e){const i=z();x("type",i.attrType)("dismissible",!0),R(2),jt(i.attrTitle),R(1),Ri(" ",i.attrMessage,"\n")}}let UU=(()=>{var e;class t{constructor(n,r,s,o){this.cd=n,this.callbackService=r,this.attributeService=s,this.elementLookupService=o,this.element=null,this.attrType="",this.attrMessage="",this.attrTitle="",this.visible="shown"}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findGetAttributeValue("type",n,"warning"),s=this.attributeService.findGetAttributeValue("title",n,""),o=this.attributeService.findGetAttributeValue("message",n,"");this.visible=this.attributeService.findGetAttributeValue("visible",n,"shown"),"error"==r&&(r="danger"),this.attrType=r,this.attrTitle=s,this.attrMessage=o,this.cd.detectChanges()}messageClosed(){this.visible="hidden",this.cd.detectChanges()}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Fi),v(Tn),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-message"]],inputs:{element:"element"},decls:1,vars:1,consts:[[3,"type","dismissible","closed",4,"ngIf"],[3,"type","dismissible","closed"]],template:function(n,r){1&n&&B(0,HU,4,4,"ngb-alert",0),2&n&&x("ngIf","shown"==r.visible)},dependencies:[Ln,j3]}),t})();function jU(e,t){if(1&e&&(j(0,"li",2)(1,"a"),je(2,"i",3),qe(3),U()()),2&e){const i=t.$implicit;x("id",i.id),R(3),jt(i.text)}}let $U=(()=>{var e;class t{constructor(n,r,s){this.cd=n,this.attributeService=r,this.callbackService=s,this.element=null,this.menuId="",this.buttonList=[]}ngAfterViewInit(){null!=this.element&&(this.menuId="menu-"+this.element.id,this.element.children.forEach(n=>{let r=n.id,s=this.attributeService.findGetAttributeValue("label",n.attributes,"");this.buttonList.push({id:r,text:s,attributes:n.attributes})}),this.cd.detectChanges(),this.element.children.forEach(n=>{let r=document.getElementById(n.id);null!=r&&this.callbackService.setCallbacks(r,n.when)}),this.cd.detectChanges(),this.buttonList.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){this.attributeService.addClasses(r,n.attributes,["list-group-item","list-group-item-action"],[]);let s=r.children.item(0);if(null!=s){let o=s.children.item(0);null!=o&&this.attributeService.addClasses(o,n.attributes,["fa"],[],"icon")}}}))}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Tn),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-context-menu"]],inputs:{element:"element"},decls:2,vars:1,consts:[["id","menuId",1,"list-group"],[3,"id",4,"ngFor","ngForOf"],[3,"id"],["aria-hidden","true",1,"fa"]],template:function(n,r){1&n&&(j(0,"ul",0),B(1,jU,4,2,"li",1),U()),2&n&&(R(1),x("ngForOf",r.buttonList))},dependencies:[kn],styles:[".menu[_ngcontent-%COMP%]{display:flex;flex-direction:column;background-color:#fff;border-radius:10px;box-shadow:0 10px 20px #4040400d;padding:10px 0;list-style-type:none}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]{font:inherit;border:0;padding:10px 30px 10px 15px;width:100%;display:flex;align-items:center;position:relative;text-decoration:unset;color:#000;font-weight:500}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{background:#f1f3f7;color:#4b00ff}.menu[_ngcontent-%COMP%] > li[_ngcontent-%COMP%] > a[_ngcontent-%COMP%] > i[_ngcontent-%COMP%]{padding-right:10px}.menu[_ngcontent-%COMP%] > li.trash[_ngcontent-%COMP%] > a[_ngcontent-%COMP%]:hover{color:red}"]}),t})();const GU=["parent"],zU=["child"];function WU(e,t){}function qU(e,t){1&e&&(j(0,"div",3,4),B(2,WU,0,0,"ng-template",null,5,En),U()),2&e&&Pn("id",z().window_id)}function YU(e,t){1&e&&je(0,"app-message",8),2&e&&x("element",t.$implicit)}function ZU(e,t){if(1&e&&(j(0,"div",6),B(1,YU,1,1,"app-message",7),U()),2&e){const i=z();R(1),x("ngForOf",i.messageList)}}function JU(e,t){if(1&e&&je(0,"app-context-menu",9),2&e){const i=t.$implicit;x("id",i.id)("element",i)}}let QU=(()=>{var e;class t{constructor(n,r,s,o,a,l,c){this.childBearerService=n,this.attributeService=r,this.cd=s,this.frontendService=o,this.elementLookupService=a,this.contextMenuService=l,this.callbackService=c,this.element=null,this.children=[],this.window_id="",this.window=null,this.menuBar=null,this.messageList=[],this.contextMenuList=[]}ngAfterViewInit(){this.frontendService.messageLists.subscribe({next:n=>{this.messageList=n,this.cd.detectChanges()}}),this.frontendService.frontendJson.subscribe({next:n=>{this.children.forEach(l=>{this.child.clear()}),this.children=[],this.cleanValues(n),this.frontendService.detectCreateMenuBar(n);let r=[],s=[];this.frontendService.getAllMessagesContextMenus(n,r,s),this.frontendService.messageLists.next(r),this.frontendService.contextMenus.subscribe(l=>{l.forEach(c=>{this.contextMenuService.registerContextMenu(c.id,c)}),this.contextMenuList=l}),this.frontendService.contextMenus.next(s);let o=n.children[0];this.window_id=o.id,this.element=o,this.window=o,this.cd.detectChanges();let a=this.attributeService.findGetAttributeValue("child_layout",o.attributes,"flex");this.elementLookupService.addElementAll(this.window_id,this,this.parent.nativeElement,o),o.children.forEach(l=>{let c=this.childBearerService.bearChild(this.child,l,a);null!=c&&this.children.push(c)}),this.setAttributes(o.attributes),this.doCallbacks(o.when),this.cd.detectChanges()},error:n=>console.log(n)}),this.frontendService.initialGet()}setAttributes(n){let r=this.parent.nativeElement;this.attributeService.setChildLayout(r,n),this.attributeService.addAttributes(r,n),this.attributeService.addClasses(r,n,[],[]),this.cd.detectChanges()}doCallbacks(n){this.callbackService.setCallbacks(this.parent.nativeElement,n)}cleanValues(n){for(let r=0;r<n.attributes.length;r++){let s=n.attributes[r].value;s=this.stringSanitizer(s),n.attributes[r].value=s;let o=n.attributes[r].key;o=this.stringSanitizer(o),n.attributes[r].key=o,"image"!=o&&(s=s.replace("\\n","<br>"))}for(let r=0;r<n.when.length;r++){void 0!==n.when[r].event&&(n.when[r].actionType=n.when[r].event),void 0!==n.when[r].interaction_type&&(n.when[r].interactionType=n.when[r].interaction_type);let s=n.when[r].policy;s=this.stringSanitizer(s),n.when[r].policy=s;let o=n.when[r].actionType;o=this.stringSanitizer(o),n.when[r].actionType=o;let a=n.when[r].interactionType;a=this.stringSanitizer(a),n.when[r].interactionType=a}n.children.forEach(r=>{this.cleanValues(r)})}stringSanitizer(n){return null==n||(n.length>0&&'"'==n[0]&&(n=n.slice(1)),n.length>0&&'"'==n[n.length-1]&&(n=n.slice(0,-1))),n}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Tu),v(Tn),v(gt),v(Qn),v(Kt),v(Ma),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-new-main"]],viewQuery:function(n,r){if(1&n&&(at(GU,5),at(zU,5,Cn)),2&n){let s;se(s=oe())&&(r.parent=s.first),se(s=oe())&&(r.child=s.first)}},decls:3,vars:3,consts:[["style","margin-top: 5px; margin-bottom: 10px;margin-right: 10px;margin-left: 15px;",3,"id",4,"ngIf"],["style","position: fixed; bottom:0;",4,"ngIf"],["style","display: none; position: absolute;",3,"id","element",4,"ngFor","ngForOf"],[2,"margin-top","5px","margin-bottom","10px","margin-right","10px","margin-left","15px",3,"id"],["parent",""],["child",""],[2,"position","fixed","bottom","0"],[3,"element",4,"ngFor","ngForOf"],[3,"element"],[2,"display","none","position","absolute",3,"id","element"]],template:function(n,r){1&n&&(B(0,qU,4,1,"div",0),B(1,ZU,2,1,"div",1),B(2,JU,1,2,"app-context-menu",2)),2&n&&(x("ngIf",null!=r.window),R(1),x("ngIf",null!=r.window),R(1),x("ngForOf",r.contextMenuList))},dependencies:[kn,Ln,UU,$U]}),t})();const KU=["titleIcon"];function XU(e,t){if(1&e&&(j(0,"button",4),je(1,"i",null,5),qe(3),U()),2&e){const i=t.$implicit;Pn("id",i.id),R(3),Ri(" ",i.title,"")}}let ej=(()=>{var e;class t{constructor(n,r,s,o,a,l){this.cd=n,this.displayFrontend=r,this.callbackService=s,this.attributeService=o,this.elementLookupService=a,this.callBackHelperService=l,this.element=null,this.isCollapsed=!0,this.title="",this.menuBarButtons=[]}ngAfterViewInit(){null!=this.element&&(this.elementLookupService.addElementObject(this.element.id,this,this.element),this.element.children.forEach(n=>{let r=this.attributeService.findGetAttributeValue("label",n.attributes,""),s=new tj(n.id,r,n);this.elementLookupService.addElementObject(n.id,s,n),this.menuBarButtons.push(s)}),this.cd.detectChanges(),this.menuBarButtons.forEach(n=>{let r=document.getElementById(n.id);if(null!=r){n.setHtmlElement(r),n.setAttributes(n.element.attributes),this.attributeService.addClasses(r,n.element.attributes,["btn-sm","mx-1"],["btn-outline-dark","border-0"]),this.callBackHelperService.setCallbacks(r,n.element.when);let s=r.children.item(0);null!=s&&this.attributeService.addClasses(s,n.element.attributes,["fa"],[],"icon")}}),this.setAttributes(this.element.attributes),this.cd.detectChanges())}setAttributes(n){let r=this.attributeService.findAttribute("title",n);null!=r&&(this.title=r.value),this.attributeService.addClasses(this.titleIcon.nativeElement,n,["fa"],[],"icon"),this.cd.detectChanges()}policyExecutor(n){null!=n&&this.displayFrontend.policyPost(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(v(gt),v(Qn),v(Fi),v(Tn),v(Kt),v(Fi))},e.\u0275cmp=et({type:e,selectors:[["app-menu-bar"]],viewQuery:function(n,r){if(1&n&&at(KU,5),2&n){let s;se(s=oe())&&(r.titleIcon=s.first)}},inputs:{element:"element"},decls:7,vars:2,consts:[[1,"navbar","navbar-expand","bg-light","justify-content-between"],[1,"navbar-brand","mx-3","text-dark"],["titleIcon",""],["type","button","class","btn",3,"id",4,"ngFor","ngForOf"],["type","button",1,"btn",3,"id"],["icon",""]],template:function(n,r){1&n&&(j(0,"nav",0)(1,"a",1),je(2,"i",null,2),qe(4),U(),j(5,"div"),B(6,XU,4,2,"button",3),U()()),2&n&&(R(4),Ri(" ",r.title," "),R(2),x("ngForOf",r.menuBarButtons))},dependencies:[kn]}),t})();class tj{constructor(t,i,n){this.id="",this.title="",this.htmlElement=null,this.id=t,this.title=i,this.element=n}setHtmlElement(t){this.htmlElement=t}setAttributes(t){let i=t.find(n=>"label"==n.key);this.title=null!=i?i.value:""}}const nj=["contentWrapper"];function ij(e,t){1&e&&je(0,"app-menu-bar",3),2&e&&x("element",z().menuBar)}let rj=(()=>{var e;class t{constructor(n,r,s){this.frontendService=n,this.cd=r,this.elementLookupService=s,this.title="Clinguin",this.menuBar=null,this.messageList=[]}ngAfterViewInit(){this.frontendService.menuBar.subscribe({next:n=>{this.menuBar=null,this.cd.detectChanges(),this.menuBar=n,this.cd.detectChanges()}}),this.contentWrapper.nativeElement.addEventListener("click",function(){Xt.injector.get(Kt).elementLookup.forEach(r=>{"menu_bar_section"==r.element.type&&null!=r.object&&"collapsed"in r.object&&0==r.object.collapsed&&(r.object.collapsed=!0)})})}}return(e=t).\u0275fac=function(n){return new(n||e)(v(Qn),v(gt),v(Kt))},e.\u0275cmp=et({type:e,selectors:[["app-root"]],viewQuery:function(n,r){if(1&n&&at(nj,5),2&n){let s;se(s=oe())&&(r.contentWrapper=s.first)}},decls:4,vars:1,consts:[[3,"element",4,"ngIf"],[1,"content-wrapper"],["contentWrapper",""],[3,"element"]],template:function(n,r){1&n&&(B(0,ij,1,1,"app-menu-bar",0),j(1,"div",1,2),je(3,"app-new-main"),U()),2&n&&x("ngIf",null!=r.menuBar)},dependencies:[Ln,QU,ej],styles:["div.content-wrapper[_ngcontent-%COMP%]{padding-top:5%}"]}),t})();function sj(e){return()=>e.load()}let oj=(()=>{var e;class t{constructor(n){this.injector=n,Xt.injector=n}}return(e=t).\u0275fac=function(n){return new(n||e)(L(Zt))},e.\u0275mod=Pe({type:e,bootstrap:[rj]}),e.\u0275inj=Ae({providers:[{provide:w1,useFactory:sj,deps:[lD],multi:!0}],imports:[Vk,QL,JL,bb,m2,oU,Zp]}),t})();(function Wg(e,t,i){const n=e.\u0275cmp;n.directiveDefs=al(t,!1),n.pipeDefs=al(i,!0)})(lE,[uD],[]),Lk().bootstrapModule(oj).catch(e=>console.error(e))},919:(_i,Wt)=>{"use strict";Wt.byteLength=function Ve(Z){var le=ye(Z),Qe=le[1];return 3*(le[0]+Qe)/4-Qe},Wt.toByteArray=function ut(Z){var le,Ct,be=ye(Z),Qe=be[0],Ke=be[1],xe=new ct(function M(Z,le,be){return 3*(le+be)/4-be}(0,Qe,Ke)),It=0,en=Ke>0?Qe-4:Qe;for(Ct=0;Ct<en;Ct+=4)le=$[Z.charCodeAt(Ct)]<<18|$[Z.charCodeAt(Ct+1)]<<12|$[Z.charCodeAt(Ct+2)]<<6|$[Z.charCodeAt(Ct+3)],xe[It++]=le>>16&255,xe[It++]=le>>8&255,xe[It++]=255&le;return 2===Ke&&(le=$[Z.charCodeAt(Ct)]<<2|$[Z.charCodeAt(Ct+1)]>>4,xe[It++]=255&le),1===Ke&&(le=$[Z.charCodeAt(Ct)]<<10|$[Z.charCodeAt(Ct+1)]<<4|$[Z.charCodeAt(Ct+2)]>>2,xe[It++]=le>>8&255,xe[It++]=255&le),xe},Wt.fromByteArray=function wt(Z){for(var le,be=Z.length,Qe=be%3,Ke=[],It=0,en=be-Qe;It<en;It+=16383)Ke.push(dt(Z,It,It+16383>en?en:It+16383));return 1===Qe?Ke.push(Be[(le=Z[be-1])>>2]+Be[le<<4&63]+"=="):2===Qe&&Ke.push(Be[(le=(Z[be-2]<<8)+Z[be-1])>>10]+Be[le>>4&63]+Be[le<<2&63]+"="),Ke.join("")};for(var Be=[],$=[],ct=typeof Uint8Array<"u"?Uint8Array:Array,Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ke=0;ke<64;++ke)Be[ke]=Je[ke],$[Je.charCodeAt(ke)]=ke;function ye(Z){var le=Z.length;if(le%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var be=Z.indexOf("=");return-1===be&&(be=le),[be,be===le?0:4-be%4]}function He(Z){return Be[Z>>18&63]+Be[Z>>12&63]+Be[Z>>6&63]+Be[63&Z]}function dt(Z,le,be){for(var Ke=[],xe=le;xe<be;xe+=3)Ke.push(He((Z[xe]<<16&16711680)+(Z[xe+1]<<8&65280)+(255&Z[xe+2])));return Ke.join("")}$["-".charCodeAt(0)]=62,$["_".charCodeAt(0)]=63},7:(_i,Wt,Be)=>{"use strict";var ct=Be(919),Je=Be(601),ke="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;Wt.lW=M,Wt.h2=50;var de=2147483647;function Ve(p){if(p>de)throw new RangeError('The value "'+p+'" is invalid for option "size"');var d=new Uint8Array(p);return Object.setPrototypeOf(d,M.prototype),d}function M(p,d,f){if("number"==typeof p){if("string"==typeof d)throw new TypeError('The "string" argument must be of type string. Received type number');return wt(p)}return ut(p,d,f)}function ut(p,d,f){if("string"==typeof p)return function Z(p,d){if(("string"!=typeof d||""===d)&&(d="utf8"),!M.isEncoding(d))throw new TypeError("Unknown encoding: "+d);var f=0|en(p,d),m=Ve(f),w=m.write(p,d);return w!==f&&(m=m.slice(0,w)),m}(p,d);if(ArrayBuffer.isView(p))return function be(p){if(tn(p,Uint8Array)){var d=new Uint8Array(p);return Qe(d.buffer,d.byteOffset,d.byteLength)}return le(p)}(p);if(null==p)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p);if(tn(p,ArrayBuffer)||p&&tn(p.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(tn(p,SharedArrayBuffer)||p&&tn(p.buffer,SharedArrayBuffer)))return Qe(p,d,f);if("number"==typeof p)throw new TypeError('The "value" argument must not be of type number. Received type number');var m=p.valueOf&&p.valueOf();if(null!=m&&m!==p)return M.from(m,d,f);var w=function Ke(p){if(M.isBuffer(p)){var d=0|xe(p.length),f=Ve(d);return 0===f.length||p.copy(f,0,0,d),f}return void 0!==p.length?"number"!=typeof p.length||S(p.length)?Ve(0):le(p):"Buffer"===p.type&&Array.isArray(p.data)?le(p.data):void 0}(p);if(w)return w;if(typeof Symbol<"u"&&null!=Symbol.toPrimitive&&"function"==typeof p[Symbol.toPrimitive])return M.from(p[Symbol.toPrimitive]("string"),d,f);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof p)}function He(p){if("number"!=typeof p)throw new TypeError('"size" argument must be of type number');if(p<0)throw new RangeError('The value "'+p+'" is invalid for option "size"')}function wt(p){return He(p),Ve(p<0?0:0|xe(p))}function le(p){for(var d=p.length<0?0:0|xe(p.length),f=Ve(d),m=0;m<d;m+=1)f[m]=255&p[m];return f}function Qe(p,d,f){if(d<0||p.byteLength<d)throw new RangeError('"offset" is outside of buffer bounds');if(p.byteLength<d+(f||0))throw new RangeError('"length" is outside of buffer bounds');var m;return m=void 0===d&&void 0===f?new Uint8Array(p):void 0===f?new Uint8Array(p,d):new Uint8Array(p,d,f),Object.setPrototypeOf(m,M.prototype),m}function xe(p){if(p>=de)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+de.toString(16)+" bytes");return 0|p}function en(p,d){if(M.isBuffer(p))return p.length;if(ArrayBuffer.isView(p)||tn(p,ArrayBuffer))return p.byteLength;if("string"!=typeof p)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof p);var f=p.length,m=arguments.length>2&&!0===arguments[2];if(!m&&0===f)return 0;for(var w=!1;;)switch(d){case"ascii":case"latin1":case"binary":return f;case"utf8":case"utf-8":return Zi(p).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*f;case"hex":return f>>>1;case"base64":return Ji(p).length;default:if(w)return m?-1:Zi(p).length;d=(""+d).toLowerCase(),w=!0}}function Ct(p,d,f){var m=!1;if((void 0===d||d<0)&&(d=0),d>this.length||((void 0===f||f>this.length)&&(f=this.length),f<=0)||(f>>>=0)<=(d>>>=0))return"";for(p||(p="utf8");;)switch(p){case"hex":return bo(this,d,f);case"utf8":case"utf-8":return yo(this,d,f);case"ascii":return ss(this,d,f);case"latin1":case"binary":return os(this,d,f);case"base64":return yi(this,d,f);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return as(this,d,f);default:if(m)throw new TypeError("Unknown encoding: "+p);p=(p+"").toLowerCase(),m=!0}}function Et(p,d,f){var m=p[d];p[d]=p[f],p[f]=m}function mr(p,d,f,m,w){if(0===p.length)return-1;if("string"==typeof f?(m=f,f=0):f>2147483647?f=2147483647:f<-2147483648&&(f=-2147483648),S(f=+f)&&(f=w?0:p.length-1),f<0&&(f=p.length+f),f>=p.length){if(w)return-1;f=p.length-1}else if(f<0){if(!w)return-1;f=0}if("string"==typeof d&&(d=M.from(d,m)),M.isBuffer(d))return 0===d.length?-1:mi(p,d,f,m,w);if("number"==typeof d)return d&=255,"function"==typeof Uint8Array.prototype.indexOf?w?Uint8Array.prototype.indexOf.call(p,d,f):Uint8Array.prototype.lastIndexOf.call(p,d,f):mi(p,[d],f,m,w);throw new TypeError("val must be string, number or Buffer")}function mi(p,d,f,m,w){var Ce,I=1,N=p.length,q=d.length;if(void 0!==m&&("ucs2"===(m=String(m).toLowerCase())||"ucs-2"===m||"utf16le"===m||"utf-16le"===m)){if(p.length<2||d.length<2)return-1;I=2,N/=2,q/=2,f/=2}function he(bi,st){return 1===I?bi[st]:bi.readUInt16BE(st*I)}if(w){var rt=-1;for(Ce=f;Ce<N;Ce++)if(he(p,Ce)===he(d,-1===rt?0:Ce-rt)){if(-1===rt&&(rt=Ce),Ce-rt+1===q)return rt*I}else-1!==rt&&(Ce-=Ce-rt),rt=-1}else for(f+q>N&&(f=N-q),Ce=f;Ce>=0;Ce--){for(var Le=!0,Xe=0;Xe<q;Xe++)if(he(p,Ce+Xe)!==he(d,Xe)){Le=!1;break}if(Le)return Ce}return-1}function vi(p,d,f,m){f=Number(f)||0;var w=p.length-f;m?(m=Number(m))>w&&(m=w):m=w;var I=d.length;m>I/2&&(m=I/2);for(var N=0;N<m;++N){var q=parseInt(d.substr(2*N,2),16);if(S(q))return N;p[f+N]=q}return N}function vo(p,d,f,m){return Qi(Zi(d,p.length-f),p,f,m)}function vr(p,d,f,m){return Qi(function Ja(p){for(var d=[],f=0;f<p.length;++f)d.push(255&p.charCodeAt(f));return d}(d),p,f,m)}function rs(p,d,f,m){return Qi(Ji(d),p,f,m)}function yr(p,d,f,m){return Qi(function Dr(p,d){for(var f,m,I=[],N=0;N<p.length&&!((d-=2)<0);++N)m=(f=p.charCodeAt(N))>>8,I.push(f%256),I.push(m);return I}(d,p.length-f),p,f,m)}function yi(p,d,f){return ct.fromByteArray(0===d&&f===p.length?p:p.slice(d,f))}function yo(p,d,f){f=Math.min(p.length,f);for(var m=[],w=d;w<f;){var he,Ce,rt,Le,I=p[w],N=null,q=I>239?4:I>223?3:I>191?2:1;if(w+q<=f)switch(q){case 1:I<128&&(N=I);break;case 2:128==(192&(he=p[w+1]))&&(Le=(31&I)<<6|63&he)>127&&(N=Le);break;case 3:Ce=p[w+2],128==(192&(he=p[w+1]))&&128==(192&Ce)&&(Le=(15&I)<<12|(63&he)<<6|63&Ce)>2047&&(Le<55296||Le>57343)&&(N=Le);break;case 4:Ce=p[w+2],rt=p[w+3],128==(192&(he=p[w+1]))&&128==(192&Ce)&&128==(192&rt)&&(Le=(15&I)<<18|(63&he)<<12|(63&Ce)<<6|63&rt)>65535&&Le<1114112&&(N=Le)}null===N?(N=65533,q=1):N>65535&&(m.push((N-=65536)>>>10&1023|55296),N=56320|1023&N),m.push(N),w+=q}return function ze(p){var d=p.length;if(d<=br)return String.fromCharCode.apply(String,p);for(var f="",m=0;m<d;)f+=String.fromCharCode.apply(String,p.slice(m,m+=br));return f}(m)}!(M.TYPED_ARRAY_SUPPORT=function ye(){try{var p=new Uint8Array(1),d={foo:function(){return 42}};return Object.setPrototypeOf(d,Uint8Array.prototype),Object.setPrototypeOf(p,d),42===p.foo()}catch{return!1}}())&&typeof console<"u"&&"function"==typeof console.error&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(M.prototype,"parent",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.buffer}}),Object.defineProperty(M.prototype,"offset",{enumerable:!0,get:function(){if(M.isBuffer(this))return this.byteOffset}}),M.poolSize=8192,M.from=function(p,d,f){return ut(p,d,f)},Object.setPrototypeOf(M.prototype,Uint8Array.prototype),Object.setPrototypeOf(M,Uint8Array),M.alloc=function(p,d,f){return function dt(p,d,f){return He(p),p<=0?Ve(p):void 0!==d?"string"==typeof f?Ve(p).fill(d,f):Ve(p).fill(d):Ve(p)}(p,d,f)},M.allocUnsafe=function(p){return wt(p)},M.allocUnsafeSlow=function(p){return wt(p)},M.isBuffer=function(d){return null!=d&&!0===d._isBuffer&&d!==M.prototype},M.compare=function(d,f){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),tn(f,Uint8Array)&&(f=M.from(f,f.offset,f.byteLength)),!M.isBuffer(d)||!M.isBuffer(f))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(d===f)return 0;for(var m=d.length,w=f.length,I=0,N=Math.min(m,w);I<N;++I)if(d[I]!==f[I]){m=d[I],w=f[I];break}return m<w?-1:w<m?1:0},M.isEncoding=function(d){switch(String(d).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},M.concat=function(d,f){if(!Array.isArray(d))throw new TypeError('"list" argument must be an Array of Buffers');if(0===d.length)return M.alloc(0);var m;if(void 0===f)for(f=0,m=0;m<d.length;++m)f+=d[m].length;var w=M.allocUnsafe(f),I=0;for(m=0;m<d.length;++m){var N=d[m];if(tn(N,Uint8Array))I+N.length>w.length?M.from(N).copy(w,I):Uint8Array.prototype.set.call(w,N,I);else{if(!M.isBuffer(N))throw new TypeError('"list" argument must be an Array of Buffers');N.copy(w,I)}I+=N.length}return w},M.byteLength=en,M.prototype._isBuffer=!0,M.prototype.swap16=function(){var d=this.length;if(d%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var f=0;f<d;f+=2)Et(this,f,f+1);return this},M.prototype.swap32=function(){var d=this.length;if(d%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var f=0;f<d;f+=4)Et(this,f,f+3),Et(this,f+1,f+2);return this},M.prototype.swap64=function(){var d=this.length;if(d%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var f=0;f<d;f+=8)Et(this,f,f+7),Et(this,f+1,f+6),Et(this,f+2,f+5),Et(this,f+3,f+4);return this},M.prototype.toLocaleString=M.prototype.toString=function(){var d=this.length;return 0===d?"":0===arguments.length?yo(this,0,d):Ct.apply(this,arguments)},M.prototype.equals=function(d){if(!M.isBuffer(d))throw new TypeError("Argument must be a Buffer");return this===d||0===M.compare(this,d)},M.prototype.inspect=function(){var d="",f=Wt.h2;return d=this.toString("hex",0,f).replace(/(.{2})/g,"$1 ").trim(),this.length>f&&(d+=" ... "),"<Buffer "+d+">"},ke&&(M.prototype[ke]=M.prototype.inspect),M.prototype.compare=function(d,f,m,w,I){if(tn(d,Uint8Array)&&(d=M.from(d,d.offset,d.byteLength)),!M.isBuffer(d))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof d);if(void 0===f&&(f=0),void 0===m&&(m=d?d.length:0),void 0===w&&(w=0),void 0===I&&(I=this.length),f<0||m>d.length||w<0||I>this.length)throw new RangeError("out of range index");if(w>=I&&f>=m)return 0;if(w>=I)return-1;if(f>=m)return 1;if(this===d)return 0;for(var N=(I>>>=0)-(w>>>=0),q=(m>>>=0)-(f>>>=0),he=Math.min(N,q),Ce=this.slice(w,I),rt=d.slice(f,m),Le=0;Le<he;++Le)if(Ce[Le]!==rt[Le]){N=Ce[Le],q=rt[Le];break}return N<q?-1:q<N?1:0},M.prototype.includes=function(d,f,m){return-1!==this.indexOf(d,f,m)},M.prototype.indexOf=function(d,f,m){return mr(this,d,f,m,!0)},M.prototype.lastIndexOf=function(d,f,m){return mr(this,d,f,m,!1)},M.prototype.write=function(d,f,m,w){if(void 0===f)w="utf8",m=this.length,f=0;else if(void 0===m&&"string"==typeof f)w=f,m=this.length,f=0;else{if(!isFinite(f))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");f>>>=0,isFinite(m)?(m>>>=0,void 0===w&&(w="utf8")):(w=m,m=void 0)}var I=this.length-f;if((void 0===m||m>I)&&(m=I),d.length>0&&(m<0||f<0)||f>this.length)throw new RangeError("Attempt to write outside buffer bounds");w||(w="utf8");for(var N=!1;;)switch(w){case"hex":return vi(this,d,f,m);case"utf8":case"utf-8":return vo(this,d,f,m);case"ascii":case"latin1":case"binary":return vr(this,d,f,m);case"base64":return rs(this,d,f,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return yr(this,d,f,m);default:if(N)throw new TypeError("Unknown encoding: "+w);w=(""+w).toLowerCase(),N=!0}},M.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var br=4096;function ss(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(127&p[w]);return m}function os(p,d,f){var m="";f=Math.min(p.length,f);for(var w=d;w<f;++w)m+=String.fromCharCode(p[w]);return m}function bo(p,d,f){var m=p.length;(!d||d<0)&&(d=0),(!f||f<0||f>m)&&(f=m);for(var w="",I=d;I<f;++I)w+=E[p[I]];return w}function as(p,d,f){for(var m=p.slice(d,f),w="",I=0;I<m.length-1;I+=2)w+=String.fromCharCode(m[I]+256*m[I+1]);return w}function ee(p,d,f){if(p%1!=0||p<0)throw new RangeError("offset is not uint");if(p+d>f)throw new RangeError("Trying to access beyond buffer length")}function Rt(p,d,f,m,w,I){if(!M.isBuffer(p))throw new TypeError('"buffer" argument must be a Buffer instance');if(d>w||d<I)throw new RangeError('"value" argument is out of bounds');if(f+m>p.length)throw new RangeError("Index out of range")}function ls(p,d,f,m,w,I){if(f+m>p.length)throw new RangeError("Index out of range");if(f<0)throw new RangeError("Index out of range")}function mt(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,4),Je.write(p,d,f,m,23,4),f+4}function ft(p,d,f,m,w){return d=+d,f>>>=0,w||ls(p,0,f,8),Je.write(p,d,f,m,52,8),f+8}M.prototype.slice=function(d,f){var m=this.length;(d=~~d)<0?(d+=m)<0&&(d=0):d>m&&(d=m),(f=void 0===f?m:~~f)<0?(f+=m)<0&&(f=0):f>m&&(f=m),f<d&&(f=d);var w=this.subarray(d,f);return Object.setPrototypeOf(w,M.prototype),w},M.prototype.readUintLE=M.prototype.readUIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w},M.prototype.readUintBE=M.prototype.readUIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d+--f],I=1;f>0&&(I*=256);)w+=this[d+--f]*I;return w},M.prototype.readUint8=M.prototype.readUInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),this[d]},M.prototype.readUint16LE=M.prototype.readUInt16LE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]|this[d+1]<<8},M.prototype.readUint16BE=M.prototype.readUInt16BE=function(d,f){return d>>>=0,f||ee(d,2,this.length),this[d]<<8|this[d+1]},M.prototype.readUint32LE=M.prototype.readUInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),(this[d]|this[d+1]<<8|this[d+2]<<16)+16777216*this[d+3]},M.prototype.readUint32BE=M.prototype.readUInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),16777216*this[d]+(this[d+1]<<16|this[d+2]<<8|this[d+3])},M.prototype.readIntLE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=this[d],I=1,N=0;++N<f&&(I*=256);)w+=this[d+N]*I;return w>=(I*=128)&&(w-=Math.pow(2,8*f)),w},M.prototype.readIntBE=function(d,f,m){d>>>=0,f>>>=0,m||ee(d,f,this.length);for(var w=f,I=1,N=this[d+--w];w>0&&(I*=256);)N+=this[d+--w]*I;return N>=(I*=128)&&(N-=Math.pow(2,8*f)),N},M.prototype.readInt8=function(d,f){return d>>>=0,f||ee(d,1,this.length),128&this[d]?-1*(255-this[d]+1):this[d]},M.prototype.readInt16LE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d]|this[d+1]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt16BE=function(d,f){d>>>=0,f||ee(d,2,this.length);var m=this[d+1]|this[d]<<8;return 32768&m?4294901760|m:m},M.prototype.readInt32LE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]|this[d+1]<<8|this[d+2]<<16|this[d+3]<<24},M.prototype.readInt32BE=function(d,f){return d>>>=0,f||ee(d,4,this.length),this[d]<<24|this[d+1]<<16|this[d+2]<<8|this[d+3]},M.prototype.readFloatLE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!0,23,4)},M.prototype.readFloatBE=function(d,f){return d>>>=0,f||ee(d,4,this.length),Je.read(this,d,!1,23,4)},M.prototype.readDoubleLE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!0,52,8)},M.prototype.readDoubleBE=function(d,f){return d>>>=0,f||ee(d,8,this.length),Je.read(this,d,!1,52,8)},M.prototype.writeUintLE=M.prototype.writeUIntLE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=1,q=0;for(this[f]=255&d;++q<m&&(N*=256);)this[f+q]=d/N&255;return f+m},M.prototype.writeUintBE=M.prototype.writeUIntBE=function(d,f,m,w){d=+d,f>>>=0,m>>>=0,w||Rt(this,d,f,m,Math.pow(2,8*m)-1,0);var N=m-1,q=1;for(this[f+N]=255&d;--N>=0&&(q*=256);)this[f+N]=d/q&255;return f+m},M.prototype.writeUint8=M.prototype.writeUInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,255,0),this[f]=255&d,f+1},M.prototype.writeUint16LE=M.prototype.writeUInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeUint16BE=M.prototype.writeUInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,65535,0),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeUint32LE=M.prototype.writeUInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f+3]=d>>>24,this[f+2]=d>>>16,this[f+1]=d>>>8,this[f]=255&d,f+4},M.prototype.writeUint32BE=M.prototype.writeUInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,4294967295,0),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeIntLE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=0,q=1,he=0;for(this[f]=255&d;++N<m&&(q*=256);)d<0&&0===he&&0!==this[f+N-1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeIntBE=function(d,f,m,w){if(d=+d,f>>>=0,!w){var I=Math.pow(2,8*m-1);Rt(this,d,f,m,I-1,-I)}var N=m-1,q=1,he=0;for(this[f+N]=255&d;--N>=0&&(q*=256);)d<0&&0===he&&0!==this[f+N+1]&&(he=1),this[f+N]=(d/q>>0)-he&255;return f+m},M.prototype.writeInt8=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,1,127,-128),d<0&&(d=255+d+1),this[f]=255&d,f+1},M.prototype.writeInt16LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=255&d,this[f+1]=d>>>8,f+2},M.prototype.writeInt16BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,2,32767,-32768),this[f]=d>>>8,this[f+1]=255&d,f+2},M.prototype.writeInt32LE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),this[f]=255&d,this[f+1]=d>>>8,this[f+2]=d>>>16,this[f+3]=d>>>24,f+4},M.prototype.writeInt32BE=function(d,f,m){return d=+d,f>>>=0,m||Rt(this,d,f,4,2147483647,-2147483648),d<0&&(d=4294967295+d+1),this[f]=d>>>24,this[f+1]=d>>>16,this[f+2]=d>>>8,this[f+3]=255&d,f+4},M.prototype.writeFloatLE=function(d,f,m){return mt(this,d,f,!0,m)},M.prototype.writeFloatBE=function(d,f,m){return mt(this,d,f,!1,m)},M.prototype.writeDoubleLE=function(d,f,m){return ft(this,d,f,!0,m)},M.prototype.writeDoubleBE=function(d,f,m){return ft(this,d,f,!1,m)},M.prototype.copy=function(d,f,m,w){if(!M.isBuffer(d))throw new TypeError("argument should be a Buffer");if(m||(m=0),!w&&0!==w&&(w=this.length),f>=d.length&&(f=d.length),f||(f=0),w>0&&w<m&&(w=m),w===m||0===d.length||0===this.length)return 0;if(f<0)throw new RangeError("targetStart out of bounds");if(m<0||m>=this.length)throw new RangeError("Index out of range");if(w<0)throw new RangeError("sourceEnd out of bounds");w>this.length&&(w=this.length),d.length-f<w-m&&(w=d.length-f+m);var I=w-m;return this===d&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(f,m,w):Uint8Array.prototype.set.call(d,this.subarray(m,w),f),I},M.prototype.fill=function(d,f,m,w){if("string"==typeof d){if("string"==typeof f?(w=f,f=0,m=this.length):"string"==typeof m&&(w=m,m=this.length),void 0!==w&&"string"!=typeof w)throw new TypeError("encoding must be a string");if("string"==typeof w&&!M.isEncoding(w))throw new TypeError("Unknown encoding: "+w);if(1===d.length){var I=d.charCodeAt(0);("utf8"===w&&I<128||"latin1"===w)&&(d=I)}}else"number"==typeof d?d&=255:"boolean"==typeof d&&(d=Number(d));if(f<0||this.length<f||this.length<m)throw new RangeError("Out of range index");if(m<=f)return this;var N;if(f>>>=0,m=void 0===m?this.length:m>>>0,d||(d=0),"number"==typeof d)for(N=f;N<m;++N)this[N]=d;else{var q=M.isBuffer(d)?d:M.from(d,w),he=q.length;if(0===he)throw new TypeError('The value "'+d+'" is invalid for argument "value"');for(N=0;N<m-f;++N)this[N+f]=q[N%he]}return this};var cs=/[^+/0-9A-Za-z-_]/g;function Zi(p,d){d=d||1/0;for(var f,m=p.length,w=null,I=[],N=0;N<m;++N){if((f=p.charCodeAt(N))>55295&&f<57344){if(!w){if(f>56319){(d-=3)>-1&&I.push(239,191,189);continue}if(N+1===m){(d-=3)>-1&&I.push(239,191,189);continue}w=f;continue}if(f<56320){(d-=3)>-1&&I.push(239,191,189),w=f;continue}f=65536+(w-55296<<10|f-56320)}else w&&(d-=3)>-1&&I.push(239,191,189);if(w=null,f<128){if((d-=1)<0)break;I.push(f)}else if(f<2048){if((d-=2)<0)break;I.push(f>>6|192,63&f|128)}else if(f<65536){if((d-=3)<0)break;I.push(f>>12|224,f>>6&63|128,63&f|128)}else{if(!(f<1114112))throw new Error("Invalid code point");if((d-=4)<0)break;I.push(f>>18|240,f>>12&63|128,f>>6&63|128,63&f|128)}}return I}function Ji(p){return ct.toByteArray(function Pt(p){if((p=(p=p.split("=")[0]).trim().replace(cs,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(p))}function Qi(p,d,f,m){for(var w=0;w<m&&!(w+f>=d.length||w>=p.length);++w)d[w+f]=p[w];return w}function tn(p,d){return p instanceof d||null!=p&&null!=p.constructor&&null!=p.constructor.name&&p.constructor.name===d.name}function S(p){return p!=p}var E=function(){for(var p="0123456789abcdef",d=new Array(256),f=0;f<16;++f)for(var m=16*f,w=0;w<16;++w)d[m+w]=p[f]+p[w];return d}()},601:(_i,Wt)=>{Wt.read=function(Be,$,ct,Je,ke){var de,ye,Ve=8*ke-Je-1,M=(1<<Ve)-1,ut=M>>1,He=-7,dt=ct?ke-1:0,wt=ct?-1:1,Z=Be[$+dt];for(dt+=wt,de=Z&(1<<-He)-1,Z>>=-He,He+=Ve;He>0;de=256*de+Be[$+dt],dt+=wt,He-=8);for(ye=de&(1<<-He)-1,de>>=-He,He+=Je;He>0;ye=256*ye+Be[$+dt],dt+=wt,He-=8);if(0===de)de=1-ut;else{if(de===M)return ye?NaN:1/0*(Z?-1:1);ye+=Math.pow(2,Je),de-=ut}return(Z?-1:1)*ye*Math.pow(2,de-Je)},Wt.write=function(Be,$,ct,Je,ke,de){var ye,Ve,M,ut=8*de-ke-1,He=(1<<ut)-1,dt=He>>1,wt=23===ke?Math.pow(2,-24)-Math.pow(2,-77):0,Z=Je?0:de-1,le=Je?1:-1,be=$<0||0===$&&1/$<0?1:0;for($=Math.abs($),isNaN($)||$===1/0?(Ve=isNaN($)?1:0,ye=He):(ye=Math.floor(Math.log($)/Math.LN2),$*(M=Math.pow(2,-ye))<1&&(ye--,M*=2),($+=ye+dt>=1?wt/M:wt*Math.pow(2,1-dt))*M>=2&&(ye++,M/=2),ye+dt>=He?(Ve=0,ye=He):ye+dt>=1?(Ve=($*M-1)*Math.pow(2,ke),ye+=dt):(Ve=$*Math.pow(2,dt-1)*Math.pow(2,ke),ye=0));ke>=8;Be[ct+Z]=255&Ve,Z+=le,Ve/=256,ke-=8);for(ye=ye<<ke|Ve,ut+=ke;ut>0;Be[ct+Z]=255&ye,Z+=le,ye/=256,ut-=8);Be[ct+Z-le]|=128*be}},614:()=>{"use strict";const _i=":";const Ji=function(S,...E){if(Ji.translate){const d=Ji.translate(S,E);S=d[0],E=d[1]}let p=tn(S[0],S.raw[0]);for(let d=1;d<S.length;d++)p+=E[d-1]+tn(S[d],S.raw[d]);return p},Qi=":";function tn(S,E){return E.charAt(0)===Qi?S.substring(function as(S,E){for(let p=1,d=1;p<S.length;p++,d++)if("\\"===E[d])d++;else if(S[p]===_i)return p;throw new Error(`Unterminated $localize metadata block in "${E}".`)}(S,E)+1):S}globalThis.$localize=Ji}},_i=>{var Wt=$=>_i(_i.s=$);Wt(614),Wt(362)}]);
\ No newline at end of file
diff --git a/clinguin/parse_input.py b/clinguin/parse_input.py
index dc1810c0..aa9b0d1c 100644
--- a/clinguin/parse_input.py
+++ b/clinguin/parse_input.py
@@ -1,6 +1,7 @@
 """
 Responsible for parsing the command line attributes
 """
+
 import argparse
 import importlib
 import inspect
@@ -306,7 +307,7 @@ def _create_client_server_subparser(self, subparsers):
         return parser_server_client
 
     def _add_default_arguments_to_backend_parser(self, parser):
-        sub_classes = self._get_sub_classes(ClingoBackend)
+        sub_classes = [ClingoBackend] + self._get_sub_classes(ClingoBackend)
         sub_class_as_options = "|".join([s.__name__ for s in sub_classes])
         sub_classes_str = "=>  Available options: {" + sub_class_as_options + "}"
         parser.add_argument(
@@ -411,7 +412,7 @@ def _get_sub_classes(self, cur_class):
     def _select_subclass_and_add_custom_arguments(
         self, parser, parent, class_name, default_class
     ):
-        sub_classes = self._get_sub_classes(parent)
+        sub_classes = [parent] + self._get_sub_classes(parent)
 
         selected_class = None
 
@@ -435,4 +436,8 @@ def _select_subclass_and_add_custom_arguments(
                     sys.exit()
 
                 selected_class = sub_class
+
+        if not selected_class:
+            raise RuntimeError(f"Invalid class name provided: {class_name}")
+
         return selected_class
diff --git a/clinguin/server/application/backends/clingo_backend.py b/clinguin/server/application/backends/clingo_backend.py
index b3fc54ae..ea218dc0 100644
--- a/clinguin/server/application/backends/clingo_backend.py
+++ b/clinguin/server/application/backends/clingo_backend.py
@@ -39,6 +39,8 @@ def __init__(self, args):
         self.args = args
 
         self._domain_files = [] if args.domain_files is None else args.domain_files
+        if not args.ui_files:
+            raise RuntimeError("UI files need to be provided under --ui-files")
         self._ui_files = args.ui_files
         self._constants = [f"-c {v}" for v in args.const] if args.const else []
 
@@ -84,7 +86,7 @@ def register_options(cls, parser):
         parser.add_argument(
             "-c",
             "--const",
-            nargs="+",
+            action="append",
             help="Constant passed to clingo, <id>=<term> replaces term occurrences of <id> with <term>",
             metavar="",
         )
@@ -346,6 +348,7 @@ def _ds_cautious(self):
                 if "_ds_cautious" in self._backup_ds_cache
                 else ""
             )
+
         return "\n".join([str(s) + "." for s in list(tag(symbols, "_all"))]) + "\n"
 
     @cached_property
@@ -429,7 +432,6 @@ def get(self):
         Thus, it needs to be implemented by all backends.
         """
         self._update_ui_state()
-        self._logger.debug(self._ui_state)
         json_structure = StandardJsonEncoder.encode(self._ui_state)
         return json_structure
 
@@ -478,7 +480,12 @@ def download(
             if domain_files:
                 for f in self._domain_files:
                     ctl.load(f)
-            ctl.add("base", [], show_prg.replace('"', ""))
+            try:
+                ctl.add("base", [], show_prg.replace('"', ""))
+            except RuntimeError as exc:
+                raise Exception(
+                    "Show program can't be parsed. Make sure it is a valid clingo program."
+                ) from exc
             ctl.ground([("base", [])])
             with ctl.solve(yield_=True) as hnd:
                 for m in hnd:
@@ -583,3 +590,9 @@ def select(self):
             )
         for s in self._model:  # pylint: disable=E1133
             self._add_atom(s)
+
+    def stop_browsing(self):
+        """
+        Stops the current browsing
+        """
+        self._outdate()
diff --git a/clinguin/server/application/backends/clingo_multishot_backend.py b/clinguin/server/application/backends/clingo_multishot_backend.py
index c866fe99..f3842dc6 100644
--- a/clinguin/server/application/backends/clingo_multishot_backend.py
+++ b/clinguin/server/application/backends/clingo_multishot_backend.py
@@ -3,7 +3,7 @@
 Module that contains the ClingoMultishotBackend.
 """
 
-from clingo import parse_term
+from clingo import parse_term, Control
 from clingo.script import enable_python
 
 from clinguin.server.application.backends import ClingoBackend
@@ -58,9 +58,9 @@ def _ds_assume(self):
 
         Includes predicate  ``_clinguin_assume/1`` for every atom that was assumed.
         """
-        prg = "#defined _clinguin_assume/1. "
+        prg = "#defined _clinguin_assume/1.\n"
         for a in self._assumptions:
-            prg += f"_clinguin_assume({str(a)}). "
+            prg += f"_clinguin_assume({str(a)}).\n"
         return prg + "\n"
 
     # ---------------------------------------------
@@ -187,10 +187,15 @@ def set_external(self, predicate, value):
                 f"Invalid external value {name}. Must be true, false or relase"
             )
 
-    def select(self):
+    def select(self, show_prg: str = ""):
         """
         Select the current solution during browsing.
         All atoms in the solution are added as assumptions in the backend.
+
+        Arguments:
+
+            show_program (str): An optional show program to filter atoms
+
         """
         if self._model is None:
             self._messages.append(
@@ -202,7 +207,27 @@ def select(self):
         else:
             symbols_to_ignore = self._externals["true"]
             symbols_to_ignore.union(self._externals["false"])
-            for s in self._model:  # pylint: disable=E1133
+            if show_prg == "":
+                model = self._model
+            else:
+                model = []
+                ctl = Control(["--warn=none"])
+                try:
+                    ctl.add("base", [], show_prg.strip('"'))
+                except RuntimeError as exc:
+                    raise Exception(
+                        "Show program can't be parsed. Make sure it is a valid clingo program."
+                    ) from exc
+                prg = "\n".join([f"{str(s)}." for s in self._model])
+                ctl.add("base", [], prg)
+                ctl.ground([("base", [])])
+
+                def add_shown(m):
+                    for s in m.symbols(shown=True):
+                        model.append(s)
+
+                ctl.solve(on_model=add_shown)
+            for s in model:  # pylint: disable=E1133
                 if s not in symbols_to_ignore:
                     self._add_assumption(s)
         self._outdate()
diff --git a/clinguin/server/application/backends/clingodl_backend.py b/clinguin/server/application/backends/clingodl_backend.py
index 0b2f34df..80f383a3 100644
--- a/clinguin/server/application/backends/clingodl_backend.py
+++ b/clinguin/server/application/backends/clingodl_backend.py
@@ -2,7 +2,6 @@
 Module that contains the ClingoDL Backend.
 """
 
-
 from pathlib import Path
 
 from clingo import Control
@@ -27,6 +26,11 @@ class ClingoDLBackend(ClingoMultishotBackend):
     def __init__(self, args):
         super().__init__(args)
 
+        # Model should be the last call so that the on_model takes the assignment of the model
+        # and not of the cautious consequences
+        self._domain_state_constructors.remove("_ds_model")
+        self._add_domain_state_constructor("_ds_model")
+
         self._add_domain_state_constructor("_ds_assign")
 
     # ---------------------------------------------
@@ -76,7 +80,8 @@ def _on_model(self, model):
         self._theory.on_model(model)
         # pylint: disable=attribute-defined-outside-init
         self._assignment = list(
-            (key, val) for key, val in self._theory.assignment(model.thread_id))
+            (key, val) for key, val in self._theory.assignment(model.thread_id)
+        )
 
     # ---------------------------------------------
     # Domain state
diff --git a/clinguin/server/application/backends/clingraph_backend.py b/clinguin/server/application/backends/clingraph_backend.py
index dbbadef7..6256a944 100644
--- a/clinguin/server/application/backends/clingraph_backend.py
+++ b/clinguin/server/application/backends/clingraph_backend.py
@@ -313,5 +313,4 @@ def _create_image_from_graph(self, graphs, position=None, key=None):
 
         graph.format = self._intermediate_format
         img = graph.pipe(engine=self._engine)
-
         return img
diff --git a/clinguin/server/application/backends/explanation_backend.py b/clinguin/server/application/backends/explanation_backend.py
index 4687e0e2..e357d197 100644
--- a/clinguin/server/application/backends/explanation_backend.py
+++ b/clinguin/server/application/backends/explanation_backend.py
@@ -97,6 +97,7 @@ def _ground(self, program: str = "base"):
         """
         self._lit2symbol = {}
         super()._ground(program=program)
+        self._assumptions = self._assumptions.union(self._mc_base_assumptions.copy())
         for a in self._assumptions:
             self._add_symbol_to_dict(a)
 
diff --git a/clinguin/server/data/domain_state.py b/clinguin/server/data/domain_state.py
index 351fd77d..5b022dab 100644
--- a/clinguin/server/data/domain_state.py
+++ b/clinguin/server/data/domain_state.py
@@ -27,7 +27,7 @@ def solve(ctl, assumptions, on_model=lambda m: None):
         model_symbols = None
         for m in result:
             on_model(m)
-            model_symbols = m.symbols(shown=True, atoms=True)
+            model_symbols = m.symbols(shown=True, atoms=True, theory=True)
         if model_symbols is None:
             return None, result.core()
     return model_symbols, None
diff --git a/clinguin/server/data/ui_state.py b/clinguin/server/data/ui_state.py
index 504683a3..fc9fe16c 100644
--- a/clinguin/server/data/ui_state.py
+++ b/clinguin/server/data/ui_state.py
@@ -85,11 +85,15 @@ def update_ui_state(self):
         log.debug("Computing UI state\n")
         uictl = self.ui_control()
 
+        defined = False
         with uictl.solve(yield_=True) as result:
             for m in result:
                 model_symbols = m.symbols(shown=True, atoms=True)
+                defined = True
                 break
-
+        if not defined:
+            log.critical("UI encoding was UNSATISFIABLE")
+            raise RuntimeError("UI encoding was UNSATISFIABLE")
         self._factbase = clorm.unify(self.__class__.unifiers, model_symbols)
 
     def add_message(self, title, message, attribute_type="info"):
diff --git a/clinguin/server/presentation/endpoints.py b/clinguin/server/presentation/endpoints.py
index c68f1153..5d9f1b00 100644
--- a/clinguin/server/presentation/endpoints.py
+++ b/clinguin/server/presentation/endpoints.py
@@ -1,6 +1,7 @@
 """
 Module for the Endpoints class.
 """
+
 import logging
 import traceback
 from importlib.metadata import metadata
@@ -116,7 +117,7 @@ async def policy_executor(self, backend_call_string: BackendPolicyDto):
 
                 call_args = ",".join(function_arguments)
                 self._logger.info(
-                    "--> %s:   %s(%s))",
+                    "--> %s:   %s(%s)",
                     self._backend.__class__.__name__,
                     function_name,
                     call_args,
diff --git a/clinguin/server/presentation/endpoints_helper.py b/clinguin/server/presentation/endpoints_helper.py
index 7c7e9066..54c0cba4 100644
--- a/clinguin/server/presentation/endpoints_helper.py
+++ b/clinguin/server/presentation/endpoints_helper.py
@@ -1,6 +1,7 @@
 """
 Module that contains the EndpointsHelper class.
 """
+
 import logging
 
 from ...utils import CaseConverter, Logger
@@ -37,6 +38,6 @@ def call_function(cls, backend, name, args, kwargs):
         if found:
             result = function(*args, **kwargs)
             return result
-        error_string = "Could not find function " + name + " in backend."
+        error_string = "Could not find function '" + name + "' in backend."
         logger.error(error_string)
         raise Exception(error_string)
diff --git a/docs/clinguin/reference/communication.rst b/docs/clinguin/reference/communication.rst
index b41ed249..6ea255f9 100644
--- a/docs/clinguin/reference/communication.rst
+++ b/docs/clinguin/reference/communication.rst
@@ -68,7 +68,14 @@ To use a value imputed by the user, such as for text fields, the special constan
 
 **Substitution**
 
-The values of the context can be accessed for a direct substitution in the operation of a call. This is done with the special predicates ``_context_value/1`` and ``_context_value_optional/1``. The argument of these predicates is the key which will be substituted by the value before it is processed by the server. While ``_context_value/1`` will show an error in case there is no value for the provided key, ``_context_value_optional/1`` will leave the input optional, and in case there is no value present it is substitued by None.
+The values of the context can be accessed for a direct substitution in the operation of a call. This is done with the special predicate ``_context_value`` with arity 1, 2 or 3.
+
+- The first argument of this predicate is the key which will be substituted by the value before it is processed by the server.
+- The second argument is an optional type, which should be ``str``, ``int`` or ``const``. Using this type will type check the input and transform in into the correct type. 
+If the user provides as input a number 1, it will be trated as a number unless the type is ``str`` in which case it will be transformed to ``"1"``.
+If the user provides as input a string that can be an constant, such as ``open``, it will be passed without quotes unless the type is ``str``.
+However, if the input is a string that can't be a constant, such as ``Open``, it will quoted even if no type is provided.
+- The third argument is an optional default value, this value is taken whenever the key is not present.
 
 .. admonition:: Example
     
@@ -81,10 +88,20 @@ The values of the context can be accessed for a direct substitution in the opera
         when(node(X), click, context, (selected_node, X)):- node(X).
         when(button1, click, call, add_atom(show_children(_context_value(selected_node),true))).
 
+.. admonition:: Example
+    
+
+    Example from  the `ast example <https://github.com/krr-up/clinguin/tree/master/examples/angular/graph_coloring/ui.lp>`_.
+    When this button is clicked, the value of the key ``show_download`` will be accessed and transfoermed into a string. If no value is provided then it is substituted by "#show assign/2.".
+
+    .. code-block:: 
+
+        when(b1, click, call, download(_context_value(show_download, str, "#show assign/2."))).
+
 **Access**
 
 All calls to the server will include the context as an argument. All backends will have access to this dictionary and can use its values for any operation. The provadided backends include the context information as part of the :ref:`domain-state` via predicate ``_clinguin_context(KEY,VALUE)``. Thus, giving the UI encoding access to the context at the time the call was made. Beware that changes in the context are not reflected in the UI encoding imidiatley, but only after calling the server and calculating the UI again. 
-
+Notice that the _clinguin_context predicate will only include things after a server call, but not the moment they are set.
 
 .. warning::
     The context is erased after every call to the server.
diff --git a/docs/clinguin/reference/state.rst b/docs/clinguin/reference/state.rst
index cbf4937f..bff8d6c8 100644
--- a/docs/clinguin/reference/state.rst
+++ b/docs/clinguin/reference/state.rst
@@ -19,7 +19,7 @@ These facts are generated by calling clingo with the :ref:`domain-state` and the
     The available element types, attributes, events, and actions will vary depending on the frontend. See the details for each front end in the :ref:`Frontends` section.
 
 
-- ``elem(ID, TYPE, PARENT)``
+**Elements** ``elem(ID, TYPE, PARENT)``
 
 Elements define building blocks of the UI.
 
@@ -30,7 +30,7 @@ Elements define building blocks of the UI.
 - ``PARENT`` The id of the parent element. The identifier ``root`` is used as the root element of the UI.
 
 
-- ``attr(ID, KEY, VALUE)``
+**Attributes** ``attr(ID, KEY, VALUE)``
 
 Attributes define the style of the UI.
 
@@ -41,11 +41,10 @@ Attributes define the style of the UI.
 - ``VALUE`` The value of the attribute.
 
 
-- ``when(ID, EVENT, ACTION, OPERATION)``
+**Actions** ``when(ID, EVENT, ACTION, OPERATION)``
 
 Actions define the interactivity of the UI.  Multiple actions are allowed, as explained below.
 
-
 - ``ID`` Identifier of the element that the user interacted with.
 
 - ``EVENT`` The event that is being triggered, such as ``click``, ``hover``,  ``input``, etc. Each element type allows different events.
@@ -161,8 +160,8 @@ We usually employ cautious consequences when we want to show the user any infere
 
     .. code-block::
 
-        {p(1);p(2);p(3)}.
-        :- p(1).
+        1{p(1);p(2)}1.
+        :- p(2).
 
     We have one stable model: `{p(1)}`.
     Therefore the following atoms will be added to the :ref:`domain-state`.
diff --git a/docs/conf.py b/docs/conf.py
index 188c7d9e..a93b7fbf 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -34,7 +34,7 @@
 author = "Susana Hahn, Alexander Beiser"
 
 # The full version, including alpha/beta/rc tags
-release = "1.0.1"
+release = "1.0.2"
 
 
 # -- General configuration ---------------------------------------------------
diff --git a/examples/angular/graph_coloring/ui.lp b/examples/angular/graph_coloring/ui.lp
index ed8aa48e..64c0035a 100644
--- a/examples/angular/graph_coloring/ui.lp
+++ b/examples/angular/graph_coloring/ui.lp
@@ -40,7 +40,7 @@ elem(window, window, root).
         attr(c1, class, "align-items-end").
 
             elem(b1, button, c1).
-            when(b1, click, call, download(_context_value_optional(show_download))).
+            when(b1, click, call, download(_context_value(show_download,str,"#show assign/2."))).
             attr(b1, label, "Download").
             attr(b1, class, "m-1").
             attr(b1, class, "btn-success").
diff --git a/examples/angular/placement/ui.lp b/examples/angular/placement/ui.lp
index 75e9d409..93f6cfb0 100644
--- a/examples/angular/placement/ui.lp
+++ b/examples/angular/placement/ui.lp
@@ -12,6 +12,7 @@ attr(window, flex_direction, row).
 
     elem(modal, modal, window).
     attr(modal, title, "Add person").
+    attr(modal, size, "xl").
 
         elem(c1, container, modal).
         attr(c1, child_layout, flex).
diff --git a/setup.cfg b/setup.cfg
index 3b0795a4..f9022240 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,6 @@
 [metadata]
 name = clinguin
-version = 1.0.1
+version = 1.0.2
 author = Alexander Beiser, Susana Hahn (Potassco)
 author_email = alexl.id.at@gmail.com, hahnmartin@uni-potsdam.de
 description = An interactive visualizer for clingo
@@ -12,7 +12,7 @@ url = https://github.com/krr-up/clinguin
 packages = find:
 include_package_data=True
 install_requires =
-    clingo>=5.6.0
+    clingo==5.6.0
     clorm>=1.4.1
     clingo-dl
     fastapi==0.103.*


Test patch:
diff --git a/tests/reference_json_output/health.py b/tests/reference_json_output/health.py
index b6da14b2..c473e226 100644
--- a/tests/reference_json_output/health.py
+++ b/tests/reference_json_output/health.py
@@ -6,7 +6,7 @@ class Health:
     def get_reference_json(cls):
         json_dict = {
             "name": "clinguin",
-            "version": "1.0.1",
+            "version": "1.0.2",
             "description": "An interactive visualizer for clingo",
         }