iptdevs-design-system 2.7.5 → 2.7.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"iptdevs-design-system.mjs","sources":["../../../design-system/src/lib/components/atoms/aside-button/aside-button.component.ts","../../../design-system/src/lib/components/atoms/button/button.component.ts","../../../design-system/src/lib/components/atoms/checkbox/checkbox.component.ts","../../../design-system/src/lib/components/atoms/datalist/datalist.component.ts","../../../design-system/src/lib/components/atoms/input/input.component.ts","../../../design-system/src/lib/components/atoms/level-button/level-button.component.ts","../../../design-system/src/lib/components/atoms/level-text/level-text.component.ts","../../../design-system/src/lib/components/atoms/loader/loader.component.ts","../../../design-system/src/lib/components/atoms/radio/radio.component.ts","../../../design-system/src/lib/components/atoms/select/select.component.ts","../../../design-system/src/lib/components/atoms/text-link/text-link.component.ts","../../../design-system/src/lib/core/services/service-enviroments.ts","../../../design-system/src/lib/core/services/user-service/user-service.ts","../../../design-system/src/lib/core/services/storage-service/storage-service.ts","../../../design-system/src/lib/core/services/calendar-service/calendar.service.ts","../../../design-system/src/lib/core/utils/base-service/base.service.ts","../../../design-system/src/lib/components/forms/login-form/login-form.component.ts","../../../design-system/src/lib/core/services/parameters-service/parameters.service.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.html","../../../design-system/src/lib/components/molecules/sidenav/sidenav.component.ts","../../../design-system/src/lib/components/material.module.ts","../../../design-system/src/lib/components/components.module.ts","../../../design-system/src/lib/core/services/course-service/course-service.model.ts","../../../design-system/src/lib/core/utils/route-service/route.service.ts","../../../design-system/src/lib/core/services/switch-service/switch.service.ts","../../../design-system/src/lib/core/services/test-service/test.service.ts","../../../design-system/src/lib/core/services/marketing-service/marketing-service.ts","../../../design-system/src/lib/core/services/budget-service/budget-service.ts","../../../design-system/src/lib/core/services/classroom-service/classroom-service.service.ts","../../../design-system/src/lib/core/services/activity-service/activity.service.ts","../../../design-system/src/lib/core/core.module.ts","../../../design-system/src/lib/design-system.module.ts","../../../design-system/src/lib/core/services/attendance-service/attendance.service.ts","../../../design-system/src/lib/core/services/notes-service/notes.service.ts","../../../design-system/src/lib/core/services/student-service/student.service.ts","../../../design-system/src/lib/core/models/session/session.model.ts","../../../design-system/src/lib/core/models/user/user-rs.model.ts","../../../design-system/src/public-api.ts","../../../design-system/src/iptdevs-design-system.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: 'ipt-aside-button',\n template: `\n <div [ngSwitch]=\"buttonActive\">\n <a *ngSwitchCase=\"0\" class=\"flex-item-menu__link\" (click)=\"clickAction()\">\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\n <p>{{ text }}</p>\n </a>\n\n <a *ngSwitchCase=\"1\" class=\"flex-item-menu__link flex-item-active\" (click)=\"clickAction()\">\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\n <p>{{ text }}</p>\n </a>\n </div>\n `,\n styleUrls: ['./aside-button.css']\n})\n\nexport class AsideButtonComponent {\n @Input() icon!: string;\n @Input() text!: string;\n @Input() buttonActive?: boolean;\n @Output() isClicked = new EventEmitter<boolean>();\n\n clickAction() {\n this.isClicked.emit(true);\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-button',\n template: `<button *ngIf=\"isEnabled\"\n type=\"{{ buttonType }}\"\n (click)=\"onClick.emit($event)\"\n [ngClass]=\"classes\"\n >\n {{ label }}\n </button>\n\n <button *ngIf=\"!isEnabled\"\n type=\"{{ buttonType }}\"\n [ngClass]=\"classes\"\n >\n {{ label }}\n </button>`,\n styleUrls: ['./button.css'],\n})\nexport class ButtonComponent {\n\n @Input() primary: boolean = false;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() label: string = 'Button';\n @Input() buttonType?: string;\n @Input() isEnabled: boolean = true;\n\n @Output() onClick = new EventEmitter<Event>();\n\n public get classes(): string[] {\n const mode = this.primary && this.isEnabled === true\n ? 'ipt-button--primary'\n : this.isEnabled === false ? 'ipt-button--primary-disabled'\n : 'ipt-button--secondary';\n\n return ['ipt-button', `ipt-button--${this.size}`, mode];\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: 'ipt-checkbox',\n template: `\n <label class=\"cont\">\n <input\n class=\"checkbox\"\n [formControl]=\"formControl\"\n [checked]=\"checkboxOption\"\n (click)=\"onChecked.emit($event)\"\n type=\"checkbox\">\n <span></span>\n </label>\n `,\n styleUrls: ['./checkbox.css']\n})\n\nexport class CheckboxComponent {\n\n @Input() checkboxOption: boolean = false;\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Output() onChecked = new EventEmitter<Event>();\n\n formControl!: FormControl;\n\n}\n","import { Component, Input, Output, EventEmitter, ViewChild, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\n\n@Component({\n selector: 'ipt-datalist',\n template: `\n <div class=\"input-container\">\n <label [ngClass]=\"labelClass\">{{ placeHolder }}</label>\n <input\n type=\"text\"\n class=\"input\"\n (click)=\"click($event)\"\n [attr.list]=\"datalistId\"\n (change)=\"optionChanged($event)\"\n [disabled]=\"disabledSel\"\n [value]=\"setDataListValue()\"\n />\n\n <datalist id=\"{{ datalistId }}\">\n <option *ngFor=\"let item of datalistData; index as i\" [value]=\"item.name\">\n {{item.id_card}} {{item.name}}\n </option>\n </datalist>\n </div>\n `,\n styleUrls: ['./datalist.css'],\n})\nexport class DatalistComponent {\n\n @Input() datalistId!: string;\n @Input() datalistData!: any[];\n @Input() placeHolder!: string;\n @Input() validateText!: string;\n @Input() initalData!: string;\n @Input() disabledSel:boolean = false;\n\n @Output() isChanged = new EventEmitter<string>();\n\n clicked: boolean = false;\n\n constructor(fb: FormBuilder) {\n }\n\n optionChanged(event: any) {\n let selectOption = this.datalistData.find(element => element.name == event.target.value);\n if (typeof(selectOption) != 'undefined') {\n this.isChanged.emit(selectOption.code);\n } else {\n this.isChanged.emit('-1');\n }\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n setDataListValue() {\n let selectOption = this.datalistData.find(element => element.code == this.initalData);\n if (typeof(selectOption) != 'undefined') {\n return selectOption.name;\n } else {\n return '';\n }\n }\n\n public get labelClass(): string {\n return this.clicked === false ? 'label' : 'labelUp';\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\n\n\n@Component({\n selector: 'ipt-input',\n template: `\n <div class=\"input-container\">\n <input *ngIf=\"inputType === 'date'\"\n class=\"input\"\n type=\"{{ inputType ? 'text' : 'date' }}\"\n [formControl]=\"formControl\"\n (ngModelChange)=\"selectedDate($event)\"\n onfocus=\"this.type='date';\"\n onblur=\"javascript: if( !this.value ) this.type='text';\"\n uib-datepicker-popup=\"dd/MM/yyyy\"\n ng-model=\"inputType\"/>\n\n <input *ngIf=\"inputType !== 'date' && inputType !== 'time' && !withPipe\"\n class=\"input\"\n type=\"{{ inputType }}\"\n [formControl]=\"formControl\"\n [attr.list]=\"list\"/>\n\n <input *ngIf=\"inputType === 'text' && withPipe\"\n class=\"input\"\n currencyMask\n [options]=\"{ prefix: prefix, thousands: thousands, decimal: decimal, allowNegative: false }\"\n type=\"{{ inputType }}\"\n [formControl]=\"formControl\"\n [attr.list]=\"list\"/>\n\n <input *ngIf=\"inputType === 'time'\"\n class=\"input\"\n type=\"time\"\n [formControl]=\"formControl\"\n [min]=\"'06:00:00'\"\n max=\"22:00:00\"\n step=\"900\"\n autocomplete=\"on\"\n value=\"08:00:00\"\n (click)=\"click($event)\"\n />\n\n <label [ngClass]=\"{'labelUp': formControl.value !== ''}\">{{ placeHolder }}</label>\n\n <p *ngIf=\"(formControl.invalid && formControl.value !== '')\">\n {{ validateText }}\n </p>\n </div>\n `,\n styleUrls: ['./input.css'],\n})\nexport class InputComponent implements OnInit {\n\n public codeValue!: string;\n data: any[] = [];\n formControl!: FormControl;\n clicked: boolean = false;\n\n @Input() inputType!: string;\n @Input() placeHolder!: string;\n @Input() validateText?: string;\n @Input() withPipe?: boolean = false;\n @Input() list?: string; //Para el datalist\n @Input() iconUrl?: string;\n @Input() set control(value: AbstractControl | string) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Input() prefix: string = '$';\n @Input() thousands: string = '.';\n @Input() decimal: string = ',';\n @Output() dateSelected = new EventEmitter<string>();\n\n constructor() {}\n\n\n ngOnInit() {}\n\n selectedDate(evt: string){\n this.dateSelected.emit(evt);\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-level-button',\n template: `\n <div [ngSwitch]=\"buttonActive\">\n <button\n *ngSwitchCase=\"0\"\n (click)=\"clickAction()\"\n id=\"level\"\n class=\"courses\"\n >\n <p class=\"p-level\">{{ level }}</p>\n </button>\n\n <button\n *ngSwitchCase=\"1\"\n (click)=\"clickAction()\"\n id=\"{{ idColor }}\"\n class=\"courses\">\n <p class=\"p-level p-level-active\">{{ level }}</p>\n </button>\n </div>\n `,\n styleUrls: ['./level-button.css'],\n})\n\nexport class LevelButtonComponent {\n\n @Input() level!: string;\n @Input() buttonActive!: boolean;\n @Input() idColor!: string;\n @Output() isClicked = new EventEmitter<boolean>();\n\n clickAction() {\n this.isClicked.emit(true);\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-level-button',\n template: `\n <p class=\"p-table-course\">{{ level }}: {{ total }}</p>\n `,\n styleUrls: ['./level-text.css'],\n})\n\nexport class LevelTextComponent {\n\n @Input() level!: string;\n @Input() total!: string;\n\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ipt-loader',\n template: `\n <div [ngClass]=\"{'dialog': isDialog}\">\n <div [ngClass]=\"{'loader_container' : isDialog}\">\n <span>{{ message }}</span>\n <div class=\"container\">\n <div class=\"spinner\">\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n </div>\n </div>\n </div>\n </div>`,\n styleUrls: ['./loader.css']\n})\nexport class LoaderComponent {\n @Input() message: string = '';\n @Input() isDialog: boolean = false;\n}\n\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: 'ipt-radio',\n template: `\n <label class=\"cont\">\n <input\n class=\"radio\"\n [formControl]=\"formControl\"\n [checked]=\"radioOption\"\n (click)=\"onSelected.emit($event)\"\n type=\"radio\">\n <span></span>\n </label>\n `,\n styleUrls: ['./radio.css']\n})\n\nexport class RadioComponent {\n\n @Input() radioOption: boolean = false;\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Output() onSelected = new EventEmitter<Event>();\n\n formControl!: FormControl;\n\n}\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'ipt-select',\n template: `\n <div class=\"select-container\">\n <label *ngIf=\"labelClass === 'labelUp'\" [ngClass]=\"labelClass\">{{ defaultText }}</label>\n <label *ngIf=\"labelClass === 'label'\" [ngClass]=\"labelClass\">{{ defaultText }}</label>\n <select id=\"select\"\n [(ngModel)]=\"binding\"\n (ngModelChange)=\"seleccionar($event)\"\n (click)=\"click($event)\"\n [ngClass]=\"textClass\"\n [disabled]=\"disabledSel\">\n <option *ngFor=\"let item of data; index as i\" [value]=\"item.code\">\n {{ item.name }} {{ item.prefix }}\n </option>\n </select>\n </div>\n `,\n styleUrls: ['./select.css'],\n})\nexport class SelectComponent {\n\n binding: any;\n boxShadow: number = 0;\n formControl!: FormControl;\n clicked: boolean = false;\n\n @Input() isRequired!: boolean; // temas de validacion\n // objeto que me trae el listado\n @Input() data!: any[]; // recibe un array de cualquier cosa\n @Input() defaultText!: any;\n @Input() selectCode!:string;\n @Input() disabledSel:boolean = false;\n @Input() initialValue!: string;\n\n @Output() eventSelect = new EventEmitter<string>();\n // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if( changes['data']){\n this.setBinding();\n }\n }\n\n seleccionar(evt: string){\n if (this.eventSelect.emit(evt) !== this.defaultText) {\n this.boxShadow = 1;\n }\n else {\n this.boxShadow = 2;\n }\n }\n\n private setBinding() {\n if(this.initialValue !== '') {\n this.binding = this.initialValue;\n } else {\n this.binding = this.defaultText;\n }\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n ngOnInit(): void {\n this.setBinding();\n }\n\n public get textClass(): string {\n return this.defaultText === '' ? 'selected' : 'select';\n }\n\n public get labelClass(): string {\n return this.clicked === false ? 'label' : 'labelUp';\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-text-link',\n template: `\n <a class=\"text-link\" (click)='isLinkClicked()'>\n <p class=\"text-link__paragraph\">\n <i class=\"{{icon}}\" aria-hidden=\"true\"></i>\n {{text}}\n </p>\n </a>\n `,\n styleUrls: ['./text-link.css'],\n})\n\nexport class TextLinkComponent {\n\n @Input() text!: string;\n @Input() blank?: boolean;\n @Input() icon?: string;\n\n @Output() isClicked = new EventEmitter<boolean>();\n\n\n constructor() {\n }\n\n isLinkClicked() {\n this.isClicked.emit(true);\n }\n\n}\n","import { HttpHeaders } from \"@angular/common/http\";\n\nexport class IPTGeneralService {\n\n httpOptions: any;\n\n baseUrl(): string {\n let url = window.location.href;\n\n if (url.includes('localhost') || url.includes('qa')) {\n return 'https://lab.iptdev.com.co/';\n } else if ( url.includes('inglesparatodos.edu.co')) {\n return 'https://iptdev.com.co/';\n } else if ( url.includes('inglesparatodos.us')) {\n return 'https://iptdev.com.co/';\n } else {\n return 'error.com';\n }\n }\n\n // construye los headers y params\n generateRequestParams(param: any) {\n this.httpOptions = {\n header: new HttpHeaders(),\n params: param,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq, RegisterRq, getStudentRq } from '../../models/user/user-rq.model';\nimport { getStrategyByUserCommercialRq } from '../../models/marketing/marketing.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService extends IPTGeneralService{\n private SERVICE_URL = 'users/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n login(userLogin: LoginRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/login';\n this.generateRequestParams(userLogin);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n resetPassword(resetPassword: ForgotPasswordRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'reset/password';\n this.generateRequestParams(resetPassword);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n register(user: RegisterRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/web';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n registerIndex(register: RegisterIndexRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/marketing';\n this.generateRequestParams(register);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n registerDashboard(user: RegisterDashboardRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailableTeachers(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllAdvisor(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getByRoleUser(codeRole: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;\n return this.http.get(serviceUrl);\n }\n\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getRoutesForRole(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/routes/role';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getStudents(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getStudent(token: getStudentRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/student';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { Session } from \"../../models/session/session.model\";\nimport { UserRs } from \"../../models/user/user-rs.model\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n\n private localStorageService;\n private currentSession : Session | null= null;\n\n constructor() {\n this.localStorageService = localStorage;\n this.currentSession = this.loadSessionData();\n }\n\n setCurrentSession(session: Session): void {\n this.currentSession = session;\n this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));\n }\n\n loadSessionData(): Session | null {\n var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');\n return (sessionStr) ? <Session> JSON.parse(sessionStr) : null;\n }\n\n getCurrentSession(): Session | null {\n return this.currentSession;\n }\n\n removeCurrentSession(): void {\n this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');\n this.currentSession = null;\n }\n\n getCurrentUser(): UserRs | null {\n var session: Session | null = this.getCurrentSession();\n return (session && session.user) ? session.user : null;\n };\n\n isAuthenticated(): boolean {\n return (this.getCurrentToken() != null) ? true : false;\n };\n\n getCurrentToken(): string | null{\n var session = this.getCurrentSession();\n return (session && session.token) ? session.token : null;\n };\n\n logout(): void{\n this.removeCurrentSession();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { eventqueryRq } from '../../models/calendar/calendar-rq.models';\nimport { AddNewEventRq, AvailabilityQueryRq, AvailabilityQueryRqs, GetEventByDateTimeRq, GetEventsByCourseRq } from '../../models/cronogram/cronogram.models';\nimport { Response } from '../../models/response/response.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CalendarService extends IPTGeneralService{\n private SERVICE_URL = 'calendar/api/'\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n postCreateQueryEvent(params: AvailabilityQueryRq): Observable<Response>{\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventByIdCalendar(idCalendar: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/event/calendar/idcalendar/all/' + idCalendar;\n return this.http.get(serviceUrl);\n }\n\n postEventByDayTime(params: eventqueryRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getEventsByCourse(params: GetEventsByCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/course';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getEventByDateTime(params: GetEventByDateTimeRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailability(params: AvailabilityQueryRqs): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n addNewEvent(params: AddNewEventRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/add/event/calendar/by/daytime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { LoginRq, RegisterDashboardRq } from '../../models/user/user-rq.model';\nimport { UserService } from '../../services/user-service/user-service';\nimport Swal from 'sweetalert2';\nimport { Session } from '../../models/session/session.model';\nimport { StorageService } from '../../services/storage-service/storage-service';\nimport { AvailabilityQueryRq } from '../../models/cronogram/cronogram.models';\nimport { CalendarService } from '../../services/calendar-service/calendar.service';\nimport { Response } from '../../models/response/response.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BaseService {\n\n constructor(\n private userService: UserService,\n private storageService: StorageService,\n private calendarService: CalendarService\n ) {}\n\n webLogin(user: string, password: string): Promise<boolean>{\n let request: LoginRq = {\n user: user,\n password: password\n }\n let service = this.userService;\n let storage = this.storageService;\n let appUser = this.isAnAppUser();\n\n return new Promise(function(resolve, reject) {\n service.login(request).subscribe( response => {\n switch (response.message.code) {\n case 1:\n if(!appUser) {\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">Succesfull login</p>',\n 'icon':'success',\n });\n }\n const loginRegisterUser: Session = {\n token: response.data.token,\n user: response.data,\n };\n\n storage.setCurrentSession(loginRegisterUser);\n resolve(true);\n break;\n case 2:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Warning!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The data does not correspond to a user registered in our system, please review them.</p>',\n 'icon':'warning',\n });\n\n resolve(false);\n break;\n case 3:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\n 'icon':'error',\n });\n\n resolve(false);\n break;\n default:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\n 'icon':'error',\n });\n\n resolve(false);\n break;\n }\n reject('Unhandled exception');\n });\n })\n }\n\n getCronogramAvailability(isTeacher: boolean, code: number, startDate: string, numClass: number, weekDays: any[], startTime: string, endTime: string): Promise<any>{\n let request: AvailabilityQueryRq = {\n isTeacher: isTeacher,\n code: code,\n startDate: startDate,\n numClass: numClass,\n weekDays: weekDays,\n startTime: startTime,\n endTime: endTime,\n };\n\n let service = this.calendarService;\n\n return new Promise(function(resolve, reject) {\n service.postCreateQueryEvent(request).subscribe( (response: Response) => {\n switch (response.message.code) {\n case 1:\n resolve(response.data);\n break\n default:\n reject('Unhandled exception');\n }\n reject('Unhandled exception');\n });\n });\n }\n\n isAnAppUser() {\n const userAgent: string = window.navigator.userAgent;\n return userAgent.includes('Flutter IPT APP');\n }\n\n getUserRole(): number {\n let user = this.storageService.getCurrentUser()?.role;\n return user === undefined ? -1 : user;\n }\n\n getUserToken(): string {\n let token = this.storageService.getCurrentUser()?.token;\n return token === undefined ? '-1' : token;\n }\n\n getUserName(): string {\n let user = this.storageService.getCurrentUser();\n let response = user === null ? '' : user.name;\n return response;\n }\n\n registerUserFromDashboard(registerDashboardRq: RegisterDashboardRq): Promise<boolean>{\n let request = registerDashboardRq;\n let service = this.userService;\n\n return new Promise(function(resolve, reject) {\n service.registerDashboard(request).subscribe((response) => {\n\n switch (response.message.code) {\n case 1:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">Sucesfull register!</p>',\n 'icon':'success',\n });\n resolve(true);\n break;\n case 3:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\n 'icon':'error',\n });\n resolve(false);\n break;\n case 4:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\">Ups!</p>',\n 'html': '<p style=\"font-family: Poppins\">The input data has a high relation with a user that already exists!</p>',\n 'icon': 'warning',\n });\n resolve(false);\n break;\n default:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\n 'icon':'error',\n });\n resolve(false);\n break;\n }\n\n reject('Unhandled exception');\n });\n });\n }\n\n jsonToArray(data: any[]): any[][] {\n var response: any[] = [];\n data.forEach((element) => {\n var object: any[] = [];\n for (var clave in element) {\n if (element.hasOwnProperty(clave)) {\n if (typeof element[clave] == 'object') {\n element[clave] = this.subJsonToArray(element[clave]);\n }\n\n object.push(element[clave]);\n }\n }\n response.push(object);\n });\n return response;\n }\n\n subJsonToArray(data: any[]): string {\n var object: string = '';\n for (var clave in data) {\n if (clave != 'code') {\n object += '\\n' + data[clave];\n }\n }\n return object;\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { BaseService } from '../../../core/utils/base-service/base.service';\n\n@Component({\n selector: 'ipt-login-form',\n template: `\n <div class=\"form-container\">\n\n <h2 style=\"text-align: center;\">IPT PLATFORM</h2>\n <hr>\n\n <form (ngSubmit)=\"login(loginForm)\" [formGroup]=\"loginForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [validateText]=\"'Debe ser @inglesparatodos.edu.co'\"\n [control]=\"loginForm.controls['email']\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Password'\"\n [control]=\"loginForm.controls['password']\"\n ></ipt-input>\n </form>\n\n <div class=\"button-container\">\n <ipt-button\n [label]=\"'Login'\"\n [primary]=\"true\"\n [isEnabled]=\"loginForm.valid\"\n (onClick)=\"login(loginForm)\"\n ></ipt-button>\n </div>\n\n </div>\n `,\n styleUrls: ['./login-form.css']\n})\n\nexport class LoginFormComponent {\n\n @Output() isLogged = new EventEmitter<boolean>();\n\n loginForm!: FormGroup;\n\n constructor(\n fb: FormBuilder,\n private baseService: BaseService,\n ) {\n this.loginForm = fb.group({\n email: ['', [Validators.required]],\n password: ['', [Validators.required, Validators.minLength(3),Validators.maxLength(15)]],\n });\n }\n\n login(data: FormGroup) {\n this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) =>{\n this.isLogged.emit(isLogged);\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ParameterService extends IPTGeneralService{\n private SERVICE_URL = 'parameters/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getIndicatives(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/indicatives';\n return this.http.get(serviceUrl);\n }\n\n getCardTypes(country: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;\n return this.http.get(serviceUrl);\n }\n\n getCountries(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/countries';\n return this.http.get(serviceUrl);\n }\n\n getStatesByCountry(country: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;\n return this.http.get(serviceUrl);\n }\n\n getCitiesByState(state: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;\n return this.http.get(serviceUrl);\n }\n\n getAllPlans(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\n return this.http.get(serviceUrl);\n }\n\n getLevels(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/english/levels';\n return this.http.get(serviceUrl);\n }\n\n getAgreements(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/agreement';\n return this.http.get(serviceUrl);\n }\n\n getAgreementByCategory(typeCategory: any): Observable<any> {\n let serviceUrl =\n this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;\n return this.http.get(serviceUrl);\n }\n\n getAllClassrooms(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom';\n return this.http.get(serviceUrl);\n }\n\n getCoursesTypes(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/course/type';\n return this.http.get(serviceUrl);\n }\n\n getCoursesTypesByPlan(typePlan: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;\n return this.http.get(serviceUrl);\n }\n\n getDegrees(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/degrees';\n return this.http.get(serviceUrl);\n }\n\n getProgramsByDegree(typeDegree: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;\n return this.http.get(serviceUrl);\n }\n\n getMarketingReasons(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';\n return this.http.get(serviceUrl);\n }\n\n getStudyReasons(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';\n return this.http.get(serviceUrl);\n }\n\n getAcademicUnits(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/academic/units';\n return this.http.get(serviceUrl);\n }\n getStatusContact(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';\n return this.http.get(serviceUrl);\n }\n\n getTypePlan(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\n return this.http.get(serviceUrl);\n }\n getTypePlanDiscount(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';\n return this.http.get(serviceUrl);\n }\n\n getContactedType(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';\n return this.http.get(serviceUrl);\n }\n\n getStatusByCode(codeStatus: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;\n return this.http.get(serviceUrl);\n }\n getAllTypeDiscount(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';\n return this.http.get(serviceUrl);\n }\n\n getAllCourseModality(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/course/modality';\n return this.http.get(serviceUrl);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { RegisterDashboardRq } from '../../../core/models/user/user-rq.model';\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\nimport { UserService } from '../../../core/services/user-service/user-service';\n\n@Component({\n selector: 'ipt-create-user-form',\n templateUrl: './create-user-form.component.html',\n styleUrls: ['./create-user-form.component.css'],\n animations: [\n trigger('fade', [\n transition('void => *', [\n style({ opacity: 0 }),\n animate(200, style({opacity: 1}))\n ])\n ])\n ]\n})\nexport class CreateUserFormComponent implements OnInit {\n @Input() userType!: string;\n @Input() visibility: boolean = false;\n @Output() userCreated = new EventEmitter<boolean>(false);\n @Output() onHide = new EventEmitter<boolean>(false);\n\n createUserForm!: FormGroup;\n phoneNumberIndicatives: any;\n idTypes: any;\n states: any;\n loader: boolean = false;\n cities: any;\n photo: string = '';\n\n constructor(\n private fb: FormBuilder,\n private parameterService: ParameterService,\n private userService: UserService\n ) {}\n\n ngOnInit() {\n this.initForm();\n this.getParameters();\n }\n\n closeModal() {\n this.visibility = false;\n this.onHide.emit(true);\n }\n\n createUser() {\n this.loader = true;\n\n let request: RegisterDashboardRq = {\n name: this.createUserForm.controls['name'].value,\n last_name: this.createUserForm.controls['last_name'].value,\n id_card_type: this.createUserForm.controls['id_card_type'].value,\n id_card: this.createUserForm.controls['id_card'].value,\n phone_indicative: this.createUserForm.controls['phone_indicative'].value,\n phone_number: this.createUserForm.controls['phone_number'].value,\n email: this.createUserForm.controls['email'].value,\n city: this.createUserForm.controls['city'].value,\n service_hour: this.createUserForm.controls['service_hour'].value,\n role: this.createUserForm.controls['role'].value,\n password: this.createUserForm.controls['password'].value,\n };\n\n this.userService.registerDashboard(request).subscribe((response) => {\n console.log(response.message)\n switch (response.message.code) {\n case 1:\n this.userCreated.emit(true);\n this.initForm();\n break;\n case 2:\n throw new Error(\"Los datos ingresados no corresponden a un usuario registrado en nuestro sistema, por favor reviselos.\");\n case 3:\n throw new Error(\"Los datos ingresados no cumplen los parámetros establecidos\");\n default:\n break;\n }\n this.loader = false;\n });\n }\n\n getParameters() {\n this.parameterService.getIndicatives().subscribe((response: { data: any; }) => {\n this.phoneNumberIndicatives = response.data;\n });\n this.parameterService.getCardTypes('col').subscribe((response: { data: any; }) => {\n this.idTypes = response.data;\n });\n this.parameterService.getStatesByCountry('col').subscribe((response): void => {\n this.states = response.data;\n });\n }\n\n getRolesOptions(): any {\n // Estudiante\n if (this.userType === 'student') {\n this.setPhoto('student');\n return [\n { code: '13', name: 'Student' },\n ];\n }\n\n // Académico\n if (this.userType === 'academic') {\n this.setPhoto('academic');\n return [\n { code: '11', name: 'Teacher PRO' },\n { code: '12', name: 'Teacher' },\n ];\n }\n\n // Administrativo\n if (this.userType === 'administrative') {\n this.setPhoto('administrative');\n return [\n { code: '31', name: 'Administrative Supervisor' },\n { code: '32', name: 'Administrative Advisor' },\n ];\n }\n\n // Marketing\n if (this.userType === 'marketing') {\n this.setPhoto('marketing');\n return [\n { code: '21', name: 'Marketing Supervisor' },\n { code: '22', name: 'Marketing Advisor' },\n ];\n }\n\n // Comercial\n if (this.userType === 'commercial') {\n this.setPhoto('commercial');\n return [\n { code: '41', name: 'Commercial Supervisor' },\n { code: '42', name: 'Commercial Advisor' },\n ];\n }\n\n // Cartera\n if (this.userType === 'treasure') {\n this.setPhoto('treasure');\n return [\n { code: '51', name: 'Treauser Supervisor' },\n { code: '52', name: 'Treauser Advisor' },\n ];\n }\n }\n\n initForm() {\n this.createUserForm = this.fb.group({\n name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\n last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\n email: ['', [Validators.required, Validators.maxLength(300)]],\n id_card_type: ['', [Validators.required]],\n id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),]],\n phone_indicative: ['', [Validators.required]],\n city: ['', [Validators.required]],\n role: ['', [Validators.required]],\n service_hour: ['', [Validators.required]],\n phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\n password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\n re_password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\n state: [''],\n });\n }\n\n setPhoto(type: string) {\n if (type === 'student') this.photo = '../../../assets/user-form-assets/estudiante.jpg'\n if (type === 'academic') this.photo = '../../../assets/user-form-assets/academico.png'\n if (type === 'administrative') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\n if (type === 'marketing') this.photo = '../../../assets/user-form-assets/marketing.jpg'\n if (type === 'commercial') this.photo = '../../../assets/user-form-assets/comercial.jpg'\n if (type === 'treasure') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\n }\n\n selectRol(role: any) {\n if (role !== 'Seleccione el rol') {\n this.createUserForm.controls['role'].setValue(role);\n } else {\n this.createUserForm.controls['role'].setValue(null);\n }\n }\n\n selectIndicatives(indicative: any) {\n if (indicative !== 'Seleccione el indicativo') {\n this.createUserForm.controls['phone_indicative'].setValue(indicative);\n } else {\n this.createUserForm.controls['phone_indicative'].setValue(null);\n }\n }\n\n selectIdType(idType: any) {\n if (idType !== 'Ingrese el tipo de documento') {\n this.createUserForm.controls['id_card_type'].setValue(idType);\n } else {\n this.createUserForm.controls['id_card_type'].setValue(null);\n }\n }\n\n selectState(state: any) {\n if (state !== 'Seleccione el departamento') {\n this.createUserForm.controls['state'].setValue(state);\n this.parameterService.getCitiesByState(state).subscribe((response) => {\n this.cities = response.data;\n });\n } else {\n this.createUserForm.controls['state'].setValue(null);\n this.createUserForm.controls['city'].setValue(null);\n this.cities = [];\n }\n }\n\n selectCity(city: any) {\n if (city !== 'Ciudad de residencia') {\n this.createUserForm.controls['city'].setValue(city);\n } else {\n this.createUserForm.controls['city'].setValue(null);\n }\n }\n}\n","<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electrónico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Número de teléfono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un número de teléfono válido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el número de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contraseña'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contraseña'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\nimport { BaseService } from '../../../core/utils/base-service/base.service';\nimport { UserTokenRq } from '../../../core/models/user/user-rq.model';\nimport { StorageService } from '../../../core/services/storage-service/storage-service';\nimport { UserService } from '../../../core/services/user-service/user-service';\n\n@Component({\n selector: 'ipt-sidenav',\n template: `\n <mat-sidenav #sidenav mode=\"push\" >\n <mat-toolbar color=\"primary\" (click)=\"sidenav.toggle()\">\n <span style=\"font-size: 15px;\">{{department}}</span>\n <span class=\"menu-icon-close\"></span>\n </mat-toolbar>\n\n <mat-nav-list *ngFor=\"let route of routes\">\n <nav class=\"flex-container-menu\">\n <ipt-aside-button\n [buttonActive]=\"this.setPage === route.page\"\n [icon]=\"route.icon\"\n [text]=\"route.text\"\n (isClicked)=\"clickPage(route.page)\"\n (click)=\"sidenav.toggle()\"\n >\n </ipt-aside-button>\n </nav>\n </mat-nav-list>\n </mat-sidenav>\n\n <mat-toolbar class=\"header\">\n <div class=\"menu-container\" (click)=\"sidenav.toggle()\">\n <p>Menu</p>\n <div class=\"menu-icon\"></div>\n </div>\n\n <img class=\"img-logo\" src=\"http://qa.iptdev.com.co/assets/logos/IPT-logo.png\" alt=\"\" />\n\n <div class=\"text-container\">\n <span class=\"p1\">{{ currentDay }}</span>\n <span *ngIf=\"hour >= 0 && hour < 12\" class=\"p2\">\n Hey {{ userName }}, Good moorning!\n </span>\n <p *ngIf=\"hour >= 12 && hour < 18\" class=\"p2\">\n Hey {{ userName }}, Good afternoon!\n </p>\n <p *ngIf=\"hour >= 18 && hour < 24\" class=\"p2\">\n Hey {{ userName }}, Good evening!\n </p>\n </div>\n\n <div *ngIf=\"!this.appUser\" class=\"logout-container\" (click)=\"logout()\">\n <p class=\"logout-button\">Cerrar sesión</p>\n <div class=\"photo-logout\"></div>\n </div>\n </mat-toolbar>\n `,\n styleUrls: ['./sidenav.css'],\n})\nexport class SidenavComponent implements OnInit {\n @Input() department!: string;\n @Input() setPage!: string;\n @Input() userName!: string;\n @Output() pageChangeEvent = new EventEmitter<string>();\n\n appUser: boolean = false;\n routes: any[] = [];\n options: any = { weekday: 'long', month: 'long', day: 'numeric' };\n currentDay = new Date().toLocaleDateString('en-EN', this.options);\n hour = new Date().getHours();\n\n constructor(\n private userService: UserService,\n private baseService: BaseService,\n private storageService: StorageService\n ) {}\n\n ngOnInit(): void {\n let user = this.storageService.getCurrentUser()?.token;\n let token: string = user === undefined ? '' : user;\n\n let request: UserTokenRq = {\n token: token,\n };\n\n this.userService.getRoutesForRole(request).subscribe((response) => {\n this.routes = response.data;\n });\n\n this.appUser = this.baseService.isAnAppUser();\n }\n\n clickPage(event: string) {\n this.pageChangeEvent.emit(event);\n }\n\n logout() {\n this.storageService.logout();\n this.pageChangeEvent.emit('logout');\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { AsideButtonComponent } from './atoms/aside-button/aside-button.component';\nimport { ButtonComponent } from './atoms/button/button.component';\nimport { CheckboxComponent } from './atoms/checkbox/checkbox.component';\nimport { DatalistComponent } from './atoms/datalist/datalist.component';\nimport { InputComponent } from './atoms/input/input.component';\nimport { LevelButtonComponent } from './atoms/level-button/level-button.component';\nimport { LevelTextComponent } from './atoms/level-text/level-text.component';\nimport { LoaderComponent } from './atoms/loader/loader.component';\nimport { RadioComponent } from './atoms/radio/radio.component';\nimport { SelectComponent } from './atoms/select/select.component';\nimport { TextLinkComponent } from './atoms/text-link/text-link.component';\n\nimport { LoginFormComponent } from './forms/login-form/login-form.component';\nimport { CreateUserFormComponent } from './forms/create-user-form/create-user-form.component';\n\nimport { SidenavComponent } from './molecules/sidenav/sidenav.component';\nimport { MaterialModule } from './material.module';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\n\n\n@NgModule({\n declarations: [\n AsideButtonComponent,\n ButtonComponent,\n CheckboxComponent,\n CreateUserFormComponent,\n DatalistComponent,\n InputComponent,\n LevelButtonComponent,\n LevelTextComponent,\n LoginFormComponent,\n LoaderComponent,\n RadioComponent,\n SelectComponent,\n SidenavComponent,\n TextLinkComponent,\n ],\n imports: [\n CommonModule,\n // BrowserModule, // Para evitar doble carga de BrowserModule\n FormsModule,\n ReactiveFormsModule,\n MaterialModule,\n CurrencyMaskModule\n ],\n exports: [\n AsideButtonComponent,\n ButtonComponent,\n CheckboxComponent,\n CreateUserFormComponent,\n DatalistComponent,\n InputComponent,\n LevelButtonComponent,\n LevelTextComponent,\n LoaderComponent,\n RadioComponent,\n SelectComponent,\n TextLinkComponent,\n LoginFormComponent,\n SidenavComponent,\n CurrencyMaskModule\n ],\n providers: [\n CurrencyPipe,\n TitleCasePipe\n ]\n})\n\nexport class ComponentsModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n createCourse(course: CreateCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course';\n this.generateRequestParams(course);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n editCourse(course: EditCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'put/course';\n this.generateRequestParams(course);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getAllCourses(params: GetCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/courses';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByLevel(params: GetCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/level';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailibleCourses( availibleCourses: GetAvailibleCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';\n this.generateRequestParams(availibleCourses);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCourseByCode(params: GetCourseByCodeRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/teacher';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getFilteredCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/filtered/by/teacher';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByStartDate(params: CourseStartDateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/startdate';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n numberClassByCode(idCode: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/coursetype/numclass/by/code/' + idCode;\n return this.http.get(serviceUrl);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\n@Injectable()\nexport class RedirectGuard implements CanActivate {\n constructor(private router: Router) {}\n\n canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): boolean {\n window.location.href = route.data['externalUrl'];\n return true;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SwitchService {\n\n constructor() { }\n\n $modal = new EventEmitter<any>();\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CopyExamRq,\n CreateAnswerRq,\n CreateQuestionRq,\n CreateSectionRq,\n CreateSectionWithAllRq,\n Exam,\n GetAllExamsRq,\n GetAllSectionsRq,\n GetQuestionsBySectionRq,\n getQuestionsBySectionsRq,\n UpdateAnswerRq,\n UpdateExamRq,\n UpdateExamStatusRq,\n UpdateQuestionRq,\n UpdateQuestionStateRq,\n UpdateSectionMediaRq,\n UpdateSectionRq,\n UpdateSectionStateRq,\n} from '../../models/test/test.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestService extends IPTGeneralService{\n private SERVICE_URL = 'test/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n // ---------------------- EXÁMENES ---------------------- //\n createExam(exam: Exam): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/exam';\n this.generateRequestParams(exam);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllExams(params: GetAllExamsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/exam';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateExam(params: UpdateExamRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/exam';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n updateExamStatus(params: UpdateExamStatusRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/exam/status';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n copyExam(params: CopyExamRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'copy/exam';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getExamByCode(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;\n return this.http.get(serviceUrl);\n }\n\n getExamByAuthor(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;\n return this.http.get(serviceUrl);\n }\n\n // ---------------------- SECCIONES ---------------------- //\n createSectionWithAll(params: CreateSectionWithAllRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section/with/all';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n createSection(params: CreateSectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllSections(params: GetAllSectionsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/sections';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateSection(params: UpdateSectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/section';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n updateSectionMedia(params: UpdateSectionMediaRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section/media';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateSectionState(params: UpdateSectionStateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/section/state';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getSectionsByExam(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;\n return this.http.get(serviceUrl);\n }\n\n // ---------------------- PREGUNTAS ---------------------- //\n createQuestion(params: CreateQuestionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/question';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateQuestion(params: UpdateQuestionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/question';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getQuestionsBySections(params: getQuestionsBySectionsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getQuestionsBySection(params: GetQuestionsBySectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/section';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n // ---------------------- RESPUESTAS ---------------------- //\n createAnswer(params: CreateAnswerRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/answer';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateAnswer(params: UpdateAnswerRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/answer';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getAnswersByQuestion(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n updateQuestionState(params: UpdateQuestionStateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/question/state';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { getStrategyByUserCommercialRq, CreateObservationsRq } from '../../models/marketing/marketing.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MarketingService extends IPTGeneralService{\n\n private SERVICE_URL = 'commercial/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getStrategyByUserCommercial(user: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/contact/strategy/byaviser';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getObservationsContact(codeContact: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;\n return this.http.get(serviceUrl);\n }\n\n createObservations(params: CreateObservationsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getTopAdviser(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/topadviser';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n getMovementStatus(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/movements/status';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n getgroupSignupStatus(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/group/signup';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { getdiscountAllRq, DiscountRq, DiscountUpdateRq } from '../../models/budget/budget.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BudgetService extends IPTGeneralService{\n\n private SERVICE_URL = 'budget/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getAllDiscount(user: getdiscountAllRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl,this.httpOptions);\n }\n createDiscount(params: DiscountRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n updateDiscount(params: DiscountUpdateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ClassroomByIdCalendarRq, ClassroomModalityRq } from '../../models/classroom/classroom-rq.model';\n\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ClassroomService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getClassroomsByModality(params: ClassroomModalityRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/modality';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getClassroomByIdCalendar(params: ClassroomByIdCalendarRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/idcalendar';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ActivityService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getActivityByCourse(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/activities/by/course/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getNoticesByCourse(codeCourse: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/notices/by/course/code/' + codeCourse;\n return this.http.get(serviceUrl);\n }\n\n getUnitsByActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/units/by/activity/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getElementsByUnit(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCourseTeacherByToken(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/teacher/by/token';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllTypeResource(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/type/resource/template';\n return this.http.get(serviceUrl);\n }\n\n getAllTypeElement(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/type/element/template';\n return this.http.get(serviceUrl);\n }\n\n getElementsByUnitNew(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code/new';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateCourseByCronogram(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/update/course/by/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getTemplateCourseByCourse(codeCourse: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/template/course/by/course/code/' + codeCourse;\n return this.http.get(serviceUrl);\n }\n\n saveMagnageActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/manage/activities/by/course/element';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n postNotesActivityH5P(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/activity/h5p/notes';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getMagnageActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/template/admin/by/course/element';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getNoteActivityH5P(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/note/activity/h5p';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CourseService } from './services/course-service/course-service.model';\nimport { ParameterService } from './services/parameters-service/parameters.service';\nimport { RedirectGuard } from './utils/route-service/route.service';\nimport { StorageService } from './services/storage-service/storage-service';\nimport { SwitchService } from './services/switch-service/switch.service';\nimport { UserService } from './services/user-service/user-service';\nimport { BaseService } from './utils/base-service/base.service';\nimport { TestService } from './services/test-service/test.service';\nimport { MarketingService } from './services/marketing-service/marketing-service';\nimport { BudgetService } from './services/budget-service/budget-service';\nimport { ClassroomService } from './services/classroom-service/classroom-service.service';\nimport { ActivityService } from './services/activity-service/activity.service';\n\n@NgModule({\n providers: [\n ParameterService,\n CourseService,\n StorageService,\n UserService,\n SwitchService,\n RedirectGuard,\n BaseService,\n TestService,\n MarketingService,\n ClassroomService,\n BudgetService,\n ActivityService\n ]\n})\nexport class CoreModule {}\n","import { NgModule } from '@angular/core';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\n\nimport { ComponentsModule } from './components/components.module';\nimport { CoreModule } from './core/core.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n CoreModule,\n CurrencyMaskModule\n ],\n exports: [\n ComponentsModule,\n CoreModule,\n CurrencyMaskModule\n ],\n})\n\nexport class DesignSystemModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Response } from '../../models/response/response.interface';\nimport { Observable } from 'rxjs';\nimport { AddEventByCourseRq, CourseAttendance, GetEventByCodeRq, GetEventsByCourseCodeRq, GetNotAttendancesByCodRq, RegisterNewAttendanceByEventRq } from '../../models/attendance/attendance.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttendanceService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n addEventByCourseRq(params: AddEventByCourseRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/event/by/course`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventsByCourseCode(params: GetEventsByCourseCodeRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/events/by/course_code`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventByCode(params: GetEventByCodeRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/event/by/code`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n registerNewAttendanceByEvent(params: RegisterNewAttendanceByEventRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/register/attendance/by/event`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getAttendaceByCourse(courseCode: number): Observable<CourseAttendance> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendances/by/course/${courseCode}`;\n return this.http.get<CourseAttendance>(serviceUrl);\n }\n\n getCODCodeByStudentCode(studentCode: number) {\n let serviceUrl = `${this.SERVICE_URL}/get/cod_code/by/student_code/${studentCode}`;\n return this.http.get<any>(serviceUrl);\n }\n\n getAttendanceHistoryByStudent(token: string, cod_code: number): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendance/history/by/student`;\n this.generateRequestParams({token, cod_code});\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getAllNotAttendancesByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/by/cod`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getNotAttendancesOfLastWeekByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/lastweek/by/cod`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CreateNewNoteRq, GetNotesByGroupRq, GetNotesByStudentRq, Notes, UpdateStudentNoteRq, calculateFinalNoteRq } from '../../models/notes/notes.interface';\nimport { Observable } from 'rxjs';\nimport { Response } from '../../models/response/response.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotesService extends IPTGeneralService{\n\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n\n getNotesByGroup(params: GetNotesByGroupRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/course';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getNotesByStudent(params: GetNotesByStudentRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/student';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n createNewNote(params: CreateNewNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/create/note';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n updateStudentNote(params: UpdateStudentNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'update/note';\n this.generateRequestParams(params);\n return this.http.put<Response>(serviceUrl, this.httpOptions);\n }\n\n calculateFinalNote(params: calculateFinalNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/calculate/final/note';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GetStudentsByCourseRq } from '../../models/student/student.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StudentService extends IPTGeneralService{\n\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getStudentsByCourse(params: GetStudentsByCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/course';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { UserRs } from '../user/user-rs.model';\n\nexport class Session {\n token!: string;\n user!: UserRs;\n}","export class UserRs {\n code!: number;\n name!: string;\n last_name!: string;\n nick_name!: string;\n email!: string;\n email_ipt!: string;\n role!: number;\n service_hour!: number;\n phone_indicative!: number;\n phone_number!: number;\n gender!: string;\n birthdate!: string;\n city!: number;\n id_card_type!: number;\n id_card!: number;\n comment?: string;\n password!: string;\n token!: string;\n}\n\nexport class UserLoginRs {\n code!: number;\n name!: string;\n last_name!: string;\n email!: string;\n id_card!: string;\n id_card_type!: number;\n phone_indicative!: number;\n phone!: string;\n gender!: number;\n city!: number;\n role!: number;\n birthdate!: string;\n token!: string;\n}\n","/*\n * Public API Surface of design-system\n */\n\nexport * from \"./lib/design-system.module\"\nexport * from \"./lib/components/components.module\"\nexport * from \"./lib/core/core.module\"\n\n// Atomos\nexport * from \"./lib/components/atoms/aside-button/aside-button.component\"\nexport * from \"./lib/components/atoms/button/button.component\"\nexport * from \"./lib/components/atoms/checkbox/checkbox.component\"\nexport * from \"./lib/components/atoms/datalist/datalist.component\"\nexport * from \"./lib/components/atoms/input/input.component\"\nexport * from \"./lib/components/atoms/level-button/level-button.component\"\nexport * from \"./lib/components/atoms/level-text/level-text.component\"\nexport * from \"./lib/components/atoms/loader/loader.component\"\nexport * from \"./lib/components/atoms/radio/radio.component\"\nexport * from \"./lib/components/atoms/select/select.component\"\nexport * from \"./lib/components/atoms/text-link/text-link.component\"\n\n// Formularios\nexport * from \"./lib/components/forms/login-form/login-form.component\"\nexport * from \"./lib/components/molecules/sidenav/sidenav.component\"\nexport * from \"./lib/components/forms/create-user-form/create-user-form.component\"\n\n// Servicios\nexport * from \"./lib/core/services/attendance-service/attendance.service\"\nexport * from \"./lib/core/services/budget-service/budget-service\"\nexport * from \"./lib/core/services/course-service/course-service.model\"\nexport * from \"./lib/core/services/calendar-service/calendar.service\"\nexport * from \"./lib/core/services/marketing-service/marketing-service\"\nexport * from \"./lib/core/services/notes-service/notes.service\"\nexport * from \"./lib/core/services/parameters-service/parameters.service\"\nexport * from \"./lib/core/services/student-service/student.service\"\nexport * from \"./lib/core/services/storage-service/storage-service\"\nexport * from \"./lib/core/services/switch-service/switch.service\"\nexport * from \"./lib/core/services/test-service/test.service\"\nexport * from \"./lib/core/services/user-service/user-service\"\nexport * from \"./lib/core/utils/base-service/base.service\"\nexport * from \"./lib/core/utils/route-service/route.service\"\nexport * from \"./lib/core/services/classroom-service/classroom-service.service\"\nexport * from \"./lib/core/services/activity-service/activity.service\"\n// Modelos\nexport * from \"./lib/core/models/activities/activities.interface\"\nexport * from \"./lib/core/models/attendance/attendance.interface\"\nexport * from \"./lib/core/models/budget/budget.model\"\nexport * from \"./lib/core/models/cod/cod-rq.model\"\nexport * from \"./lib/core/models/calendar/calendar-rq.models\"\nexport * from \"./lib/core/models/cronogram/cronogram.models\"\nexport * from \"./lib/core/models/course/course-rq.model\"\nexport * from \"./lib/core/models/marketing/marketing.model\"\nexport * from \"./lib/core/models/notes/notes.interface\"\nexport * from \"./lib/core/models/response/response.interface\"\nexport * from \"./lib/core/models/session/session.model\"\nexport * from \"./lib/core/models/student/student.interface\"\nexport * from \"./lib/core/models/table/table-rs.model\"\nexport * from \"./lib/core/models/test/test.model\"\nexport * from \"./lib/core/models/url/url.model\"\nexport * from \"./lib/core/models/user/user-rq.model\"\nexport * from \"./lib/core/models/user/user-rs.model\"\nexport * from \"./lib/core/models/classroom/classroom-rq.model\"\n\n// Librería para máscara de moneda\nexport * from \"./lib/components/components.module\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.UserService","i2.StorageService","i3.CalendarService","i2.BaseService","i3.InputComponent","i4.ButtonComponent","i2.ParameterService","i3.UserService","i4.InputComponent","i5.SelectComponent","i6.ButtonComponent","i7","i3.StorageService","i7.AsideButtonComponent","i8"],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAoBa,oBAAoB,CAAA;AAlBjC,IAAA,WAAA,GAAA;AAsBY,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;KAKnD;IAHC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;iHARU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAhBrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;GAYT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,q2CAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAlBhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,CAAA;;;;;;;;;;;;AAYT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,q2CAAA,CAAA,EAAA,CAAA;8BAKQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCJI,eAAe,CAAA;AAlB5B,IAAA,WAAA,GAAA;AAoBW,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAI,CAAA,IAAA,GAAiC,QAAQ,CAAC;AAC9C,QAAA,IAAK,CAAA,KAAA,GAAW,QAAQ,CAAC;AAEzB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;AAEzB,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,YAAY,EAAS,CAAC;KAU/C;AARC,IAAA,IAAW,OAAO,GAAA;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;AAClD,cAAE,qBAAqB;cACrB,IAAI,CAAC,SAAS,KAAK,KAAK,GAAG,8BAA8B;kBACzD,uBAAuB,CAAC;QAE5B,OAAO,CAAC,YAAY,EAAE,CAAe,YAAA,EAAA,IAAI,CAAC,IAAI,CAAE,CAAA,EAAE,IAAI,CAAC,CAAC;KACzD;;4GAjBU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAhBhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;YAaA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,84BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGC,eAAe,EAAA,UAAA,EAAA,CAAA;kBAlB3B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;;;AAaA,WAAA,CAAA,EAAA,MAAA,EAAA,CAAA,84BAAA,CAAA,EAAA,CAAA;8BAKD,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBAEI,OAAO,EAAA,CAAA;sBAAhB,MAAM;;;MCTI,iBAAiB,CAAA;AAhB9B,IAAA,WAAA,GAAA;AAkBW,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;AAO/B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAS,CAAC;KAIjD;IAVC,IAAa,OAAO,CAAC,KAAsB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAoB,CAAC;AACzC,SAAA;KACF;;8GAPU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAdlB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6yCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAhB7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACd,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,6yCAAA,CAAA,EAAA,CAAA;8BAMQ,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBACO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCDI,iBAAiB,CAAA;AAa5B,IAAA,WAAA,CAAY,EAAe,EAAA;AANlB,QAAA,IAAW,CAAA,WAAA,GAAW,KAAK,CAAC;AAE3B,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAU,CAAC;AAEjD,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;KAGxB;AAED,IAAA,aAAa,CAAC,KAAU,EAAA;QACtB,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAK,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1F,QAAA,IAAI,QAAO,YAAY,CAAC,IAAI,WAAW,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACxC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,SAAA;KACF;AAED,IAAA,KAAK,CAAC,KAAiB,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;KAChC;IAED,gBAAgB,GAAA;QACd,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,IAAK,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;AACvF,QAAA,IAAI,QAAO,YAAY,CAAC,IAAI,WAAW,EAAE;YACvC,OAAO,YAAY,CAAC,IAAI,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,EAAE,CAAC;AACX,SAAA;KACF;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;KACrD;;8GAxCU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAtBlB,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;GAmBT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,g4BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAxB7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EACd,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,g4BAAA,CAAA,EAAA,CAAA;oGAKQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBAEI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCkBI,cAAc,CAAA;AAwBzB,IAAA,WAAA,GAAA;AArBA,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;AAEjB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAKhB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK,CAAC;AAS3B,QAAA,IAAM,CAAA,MAAA,GAAW,GAAG,CAAC;AACrB,QAAA,IAAS,CAAA,SAAA,GAAW,GAAG,CAAC;AACxB,QAAA,IAAO,CAAA,OAAA,GAAW,GAAG,CAAC;AACrB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAU,CAAC;KAEpC;IAXhB,IAAa,OAAO,CAAC,KAA+B,EAAA;AAClD,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAoB,CAAC;AACzC,SAAA;KACF;AAUD,IAAA,QAAQ,MAAK;AAEb,IAAA,YAAY,CAAC,GAAW,EAAA;AACtB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAC7B;AAED,IAAA,KAAK,CAAC,KAAiB,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;KAChC;;2GAnCU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EA/Cf,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CP,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+sCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,KAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAjD1B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CP,IAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+sCAAA,CAAA,EAAA,CAAA;0EAUM,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,SAAS,EAAA,CAAA;sBAAjB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,YAAY,EAAA,CAAA;sBAArB,MAAM;;;MCjDI,oBAAoB,CAAA;AAzBjC,IAAA,WAAA,GAAA;AA8BY,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;KAMnD;IAJC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;iHATU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EAvBrB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;GAmBT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qrCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAzBhC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;AAmBT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,qrCAAA,CAAA,EAAA,CAAA;8BAMQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCtBI,kBAAkB,CAAA;;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EANnB,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;GAET,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,uaAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA,CAAA;;AAET,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,uaAAA,CAAA,EAAA,CAAA;8BAMQ,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;;;MCQK,eAAe,CAAA;AAnB5B,IAAA,WAAA,GAAA;AAoBW,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AACrB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;KACpC;;4GAHY,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAjBhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,g+BAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGI,eAAe,EAAA,UAAA,EAAA,CAAA;kBAnB3B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;;;;AAcH,QAAA,CAAA,EAAA,MAAA,EAAA,CAAA,g+BAAA,CAAA,EAAA,CAAA;8BAIE,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;;;MCJK,cAAc,CAAA;AAhB3B,IAAA,WAAA,GAAA;AAkBW,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAO5B,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAS,CAAC;KAIlD;IAVC,IAAa,OAAO,CAAC,KAAsB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAoB,CAAC;AACzC,SAAA;KACF;;2GAPU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAdf,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;GAUT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,iBAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAhB1B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EACX,QAAA,EAAA,CAAA;;;;;;;;;;AAUT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA;8BAMQ,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACO,OAAO,EAAA,CAAA;sBAAnB,KAAK;gBAMI,UAAU,EAAA,CAAA;sBAAnB,MAAM;;;MCLI,eAAe,CAAA;AApB5B,IAAA,WAAA,GAAA;AAuBE,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;AAEtB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AAOhB,QAAA,IAAW,CAAA,WAAA,GAAW,KAAK,CAAC;AAG3B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAU,CAAC;KA+CpD;;IA7CC,IAAa,OAAO,CAAC,KAAsB,EAAA;AACzC,QAAA,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAoB,CAAC;AACzC,SAAA;KACF;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,MAAM,CAAC,EAAC;YAClB,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;KACF;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;AACnD,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACpB,SAAA;AACI,aAAA;AACH,YAAA,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;AACpB,SAAA;KACF;IAEO,UAAU,GAAA;AAChB,QAAA,IAAG,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE;AAC3B,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;AAClC,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AACjC,SAAA;KACF;AAED,IAAA,KAAK,CAAC,KAAiB,EAAA;AACrB,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC;KAChC;IAED,QAAQ,GAAA;QACL,IAAI,CAAC,UAAU,EAAE,CAAC;KACpB;AAED,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,WAAW,KAAK,EAAE,GAAG,UAAU,GAAG,QAAQ,CAAC;KACxD;AAED,IAAA,IAAW,UAAU,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,GAAG,OAAO,GAAG,SAAS,CAAC;KACrD;;4GA5DU,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAlBhB,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,IAAA,EAAA,MAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,YAAA,EAAA,cAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8lCAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGU,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EACZ,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;AAeT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,8lCAAA,CAAA,EAAA,CAAA;8BAUQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBAEG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBAEI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBAEM,OAAO,EAAA,CAAA;sBAAnB,KAAK;;;MCzBK,iBAAiB,CAAA;AAS5B,IAAA,WAAA,GAAA;AAHU,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,YAAY,EAAW,CAAC;KAIjD;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC3B;;8GAdU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAXlB,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;GAOT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ieAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAb7B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EACf,QAAA,EAAA,CAAA;;;;;;;AAOT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,ieAAA,CAAA,EAAA,CAAA;0EAMQ,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAEI,SAAS,EAAA,CAAA;sBAAlB,MAAM;;;MCnBI,iBAAiB,CAAA;IAI5B,OAAO,GAAA;AACL,QAAA,IAAI,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAE/B,QAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACnD,YAAA,OAAO,4BAA4B,CAAC;AACrC,SAAA;AAAM,aAAA,IAAK,GAAG,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE;AAClD,YAAA,OAAO,wBAAwB,CAAC;AACjC,SAAA;AAAM,aAAA,IAAK,GAAG,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;AAC9C,YAAA,OAAO,wBAAwB,CAAC;AACjC,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,WAAW,CAAC;AACpB,SAAA;KACF;;AAGD,IAAA,qBAAqB,CAAC,KAAU,EAAA;QAC9B,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,EAAE,IAAI,WAAW,EAAE;AACzB,YAAA,MAAM,EAAE,KAAK;SACd,CAAC;KACH;AACF;;ACjBK,MAAO,WAAY,SAAQ,iBAAiB,CAAA;AAGhD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,YAAY,CAAC;QAIjC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,KAAK,CAAC,SAAkB,EAAA;AACtB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AACjD,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,aAA+B,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,QAAQ,CAAC,IAAgB,EAAA;AACvB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;AACtD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,QAAyB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAC5D,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,IAAyB,EAAA;AACzC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAC5D,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,oBAAoB,CAAC,KAAkB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAC3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,SAAwC,EAAA;AACpD,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACvE,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,QAAgB,EAAA;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0BAA0B,GAAG,QAAQ,CAAC;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,iBAAiB,CAAC,SAAwC,EAAA;AACxD,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACvE,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,gBAAgB,CAAC,KAAkB,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;AACvD,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,WAAW,CAAC,KAAkB,EAAA;AAC5B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAC3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,UAAU,CAAC,KAAmB,EAAA;AAC5B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC1D,QAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAClC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;wGA7EU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAD,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCFY,cAAc,CAAA;AAKzB,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAc,CAAA,cAAA,GAAmB,IAAI,CAAC;AAG5C,QAAA,IAAI,CAAC,mBAAmB,GAAG,YAAY,CAAC;AACxC,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KAC9C;AAED,IAAA,iBAAiB,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC;AAC9B,QAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,kCAAkC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;KAC/F;IAED,eAAe,GAAA;QACb,IAAI,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;AACtF,QAAA,OAAO,CAAC,UAAU,IAAc,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;KAC/D;IAED,iBAAiB,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC;AACxE,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;KAC5B;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,OAAO,GAAmB,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACvD,QAAA,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;KACxD;;IAED,eAAe,GAAA;AACb,QAAA,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC;KACxD;;IAED,eAAe,GAAA;AACb,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;AACvC,QAAA,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;KAC1D;;IAED,MAAM,GAAA;QACJ,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;;2GA7CU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACKK,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAGpD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAA;QAInC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,oBAAoB,CAAC,MAA2B,EAAA;AAC9C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAC9D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,oBAAoB,CAAC,UAAkB,EAAA;QACrC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oCAAoC,GAAG,UAAU,CAAC;QACtF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,kBAAkB,CAAC,MAAoB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4CAA4C,CAAC;AACjF,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,MAA2B,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0CAA0C,CAAC;AAC/E,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,MAA4B,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4CAA4C,CAAC;AACjF,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,eAAe,CAAC,MAA4B,EAAA;AAC1C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAC9D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,WAAW,CAAC,MAAqB,EAAA;AAC/B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oCAAoC,CAAC;AACzE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;4GA/CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCGY,WAAW,CAAA;AAEtB,IAAA,WAAA,CACU,WAAwB,EACxB,cAA8B,EAC9B,eAAgC,EAAA;AAFhC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAC9B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;KACtC;IAEJ,QAAQ,CAAC,IAAY,EAAE,QAAgB,EAAA;AACrC,QAAA,IAAI,OAAO,GAAY;AACrB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,QAAQ,EAAE,QAAQ;SACnB,CAAA;AACD,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AAC/B,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;AAClC,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAEjC,QAAA,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM,EAAA;YACzC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,SAAS,CAAE,QAAQ,IAAG;AAC3C,gBAAA,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC3B,oBAAA,KAAK,CAAC;wBACJ,IAAG,CAAC,OAAO,EAAE;4BACX,IAAI,CAAC,IAAI,CAAE;AACT,gCAAA,OAAO,EAAE,+CAA+C;AACxD,gCAAA,MAAM,EAAE,uDAAuD;AAC/D,gCAAA,MAAM,EAAC,SAAS;AACjB,6BAAA,CAAC,CAAC;AACJ,yBAAA;AACD,wBAAA,MAAM,iBAAiB,GAAY;AACjC,4BAAA,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK;4BAC1B,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACpB,CAAC;AAEF,wBAAA,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;wBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,MAAM;AACR,oBAAA,KAAK,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAC;AACR,4BAAA,OAAO,EAAE,+CAA+C;AACxD,4BAAA,MAAM,EAAE,2HAA2H;AACnI,4BAAA,MAAM,EAAC,SAAS;AACjB,yBAAA,CAAC,CAAC;wBAEH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACR,oBAAA,KAAK,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAC;AACR,4BAAA,OAAO,EAAE,6CAA6C;AACtD,4BAAA,MAAM,EAAE,+FAA+F;AACvG,4BAAA,MAAM,EAAC,OAAO;AACf,yBAAA,CAAC,CAAC;wBAEH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACR,oBAAA;wBACE,IAAI,CAAC,IAAI,CAAC;AACR,4BAAA,OAAO,EAAE,6CAA6C;AACtD,4BAAA,MAAM,EAAE,uEAAuE;AAC/E,4BAAA,MAAM,EAAC,OAAO;AACf,yBAAA,CAAC,CAAC;wBAEH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACT,iBAAA;gBACD,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAChC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAA;KACH;AAED,IAAA,wBAAwB,CAAC,SAAkB,EAAE,IAAY,EAAE,SAAiB,EAAE,QAAgB,EAAE,QAAe,EAAE,SAAiB,EAAE,OAAe,EAAA;AACjJ,QAAA,IAAI,OAAO,GAAwB;AACjC,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,SAAS,EAAE,SAAS;AACpB,YAAA,OAAO,EAAE,OAAO;SACjB,CAAC;AAEF,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;AAEnC,QAAA,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM,EAAA;YACzC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAG,CAAC,QAAkB,KAAI;AACvE,gBAAA,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC3B,oBAAA,KAAK,CAAC;AACJ,wBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBACvB,MAAK;AACP,oBAAA;wBACE,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACjC,iBAAA;gBACD,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAChC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;AACT,QAAA,MAAM,SAAS,GAAW,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;AACrD,QAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;KAC9C;IAED,WAAW,GAAA;;QACT,IAAI,IAAI,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,CAAC;AACtD,QAAA,OAAO,IAAI,KAAK,SAAS,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACvC;IAED,YAAY,GAAA;;QACV,IAAI,KAAK,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;QACxD,OAAO,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;KAC3C;IAED,WAAW,GAAA;QACT,IAAI,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;AAChD,QAAA,IAAI,QAAQ,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;AAC9C,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,yBAAyB,CAAC,mBAAwC,EAAA;QAChE,IAAI,OAAO,GAAG,mBAAmB,CAAC;AAClC,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC;AAE/B,QAAA,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM,EAAA;YACzC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AAExD,gBAAA,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC3B,oBAAA,KAAK,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAE;AACT,4BAAA,OAAO,EAAE,+CAA+C;AACxD,4BAAA,MAAM,EAAE,0DAA0D;AAClE,4BAAA,MAAM,EAAC,SAAS;AACjB,yBAAA,CAAC,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,CAAC;wBACd,MAAM;AACR,oBAAA,KAAK,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAE;AACT,4BAAA,OAAO,EAAE,6CAA6C;AACtD,4BAAA,MAAM,EAAE,+FAA+F;AACvG,4BAAA,MAAM,EAAC,OAAO;AACf,yBAAA,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACR,oBAAA,KAAK,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAE;AACT,4BAAA,OAAO,EAAE,0CAA0C;AACnD,4BAAA,MAAM,EAAE,yGAAyG;AACjH,4BAAA,MAAM,EAAE,SAAS;AAClB,yBAAA,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACR,oBAAA;wBACE,IAAI,CAAC,IAAI,CAAE;AACT,4BAAA,OAAO,EAAE,6CAA6C;AACtD,4BAAA,MAAM,EAAE,uEAAuE;AAC/E,4BAAA,MAAM,EAAC,OAAO;AACf,yBAAA,CAAC,CAAC;wBACH,OAAO,CAAC,KAAK,CAAC,CAAC;wBACf,MAAM;AACT,iBAAA;gBAED,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAChC,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,WAAW,CAAC,IAAW,EAAA;QACrB,IAAI,QAAQ,GAAU,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YACvB,IAAI,MAAM,GAAU,EAAE,CAAC;AACvB,YAAA,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;AACzB,gBAAA,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AACjC,oBAAA,IAAI,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE;AACrC,wBAAA,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,qBAAA;oBAED,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,iBAAA;AACF,aAAA;AACD,YAAA,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACxB,SAAC,CAAC,CAAC;AACH,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,cAAc,CAAC,IAAW,EAAA;QACxB,IAAI,MAAM,GAAW,EAAE,CAAC;AACxB,QAAA,KAAK,IAAI,KAAK,IAAI,IAAI,EAAE;YACtB,IAAI,KAAK,IAAI,MAAM,EAAE;AACnB,gBAAA,MAAM,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;AAC9B,aAAA;AACF,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;KACf;;wGA9LU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAE,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MC6BY,kBAAkB,CAAA;IAM7B,WACE,CAAA,EAAe,EACP,WAAwB,EAAA;AAAxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AANxB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAW,CAAC;AAQ/C,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,CAAC;YACxB,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,KAAK,CAAC,IAAe,EAAA;AACnB,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAI;AACzG,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;KACJ;;+GApBU,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAJ,IAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAK,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAnCnB,QAAA,EAAA,gBAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+kBAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAP,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIU,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBArC9B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+kBAAA,CAAA,EAAA,CAAA;2HAMS,QAAQ,EAAA,CAAA;sBAAjB,MAAM;;;ACnCH,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAGrD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,iBAAiB,CAAC;QAItC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;IAED,cAAc,GAAA;AACZ,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,YAAY,CAAC,OAAe,EAAA;QAC1B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,GAAG,OAAO,CAAC;QAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,YAAY,GAAA;AACV,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,kBAAkB,CAAC,OAAe,EAAA;QAChC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,wBAAwB,GAAG,OAAO,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,gBAAgB,CAAC,KAAa,EAAA;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,KAAK,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,SAAS,GAAA;AACP,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,aAAa,GAAA;AACX,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,sBAAsB,CAAC,YAAiB,EAAA;QACtC,IAAI,UAAU,GACZ,IAAI,CAAC,WAAW,GAAG,4BAA4B,GAAG,YAAY,CAAC;QACjE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,eAAe,GAAA;AACb,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,qBAAqB,CAAC,QAAa,EAAA;QACjC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,GAAG,QAAQ,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,UAAU,GAAA;AACR,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;QACtD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,UAAe,EAAA;QACjC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,yBAAyB,GAAG,UAAU,CAAC;QAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,mBAAmB,GAAA;AACjB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,eAAe,GAAA;AACb,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IACD,gBAAgB,GAAA;AACd,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,WAAW,GAAA;AACT,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;QACpD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IACD,mBAAmB,GAAA;AACjB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,gBAAgB,GAAA;AACd,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;QAChE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,eAAe,CAAC,UAAkB,EAAA;QAChC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,GAAG,UAAU,CAAC;QAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IACD,kBAAkB,GAAA;AAChB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kCAAkC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;;6GA5HU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCaY,uBAAuB,CAAA;AAclC,IAAA,WAAA,CACU,EAAe,EACf,gBAAkC,EAClC,WAAwB,EAAA;AAFxB,QAAA,IAAE,CAAA,EAAA,GAAF,EAAE,CAAa;AACf,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AAClC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AAfzB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;QAC3B,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;QAC/C,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,CAAU,KAAK,CAAC,CAAC;AAMpD,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;AAExB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;KAMf;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;AAEnB,QAAA,IAAI,OAAO,GAAwB;YACjC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAChD,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,KAAK;YAC1D,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YAChE,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK;YACtD,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,KAAK;YACxE,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YAChE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK;YAClD,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAChD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,KAAK;YAChE,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK;YAChD,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK;SACzD,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACjE,YAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC7B,YAAA,QAAQ,QAAQ,CAAC,OAAO,CAAC,IAAI;AAC3B,gBAAA,KAAK,CAAC;AACJ,oBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAChB,MAAM;AACR,gBAAA,KAAK,CAAC;AACJ,oBAAA,MAAM,IAAI,KAAK,CAAC,uGAAuG,CAAC,CAAC;AAC3H,gBAAA,KAAK,CAAC;AACJ,oBAAA,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;AACjF,gBAAA;oBACE,MAAM;AACT,aAAA;AACD,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACtB,SAAC,CAAC,CAAC;KACJ;IAED,aAAa,GAAA;QACX,IAAI,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,QAAwB,KAAI;AAC5E,YAAA,IAAI,CAAC,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9C,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAwB,KAAI;AAC/E,YAAA,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAU;AAC3E,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,SAAC,CAAC,CAAC;KACJ;IAED,eAAe,GAAA;;AAEb,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;AAC/B,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACzB,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC,CAAC;AACH,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE;AACnC,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;aAChC,CAAC;AACH,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,gBAAgB,EAAE;AACtC,YAAA,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAChC,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,2BAA2B,EAAE;AACjD,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE;aAC/C,CAAC;AACH,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;AACjC,YAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3B,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE;AAC5C,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAmB,EAAE;aAC1C,CAAC;AACH,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,EAAE;AAClC,YAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5B,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,uBAAuB,EAAE;AAC7C,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAoB,EAAE;aAC3C,CAAC;AACH,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE;AAChC,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC1B,OAAO;AACL,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,qBAAqB,EAAE;AAC3C,gBAAA,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACzC,CAAC;AACH,SAAA;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAClC,IAAI,EAAE,CAAC,EAAE,EAAC,CAAC,UAAU,CAAC,QAAQ,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;YAClF,SAAS,EAAE,CAAC,EAAE,EAAC,CAAC,UAAU,CAAC,QAAQ,EAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE;AACxF,YAAA,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7D,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACxF,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAC7F,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACxF,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3F,KAAK,EAAE,CAAC,EAAE,CAAC;AACZ,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,QAAQ,CAAC,IAAY,EAAA;QACnB,IAAI,IAAI,KAAK,SAAS;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,iDAAiD,CAAA;QACtF,IAAI,IAAI,KAAK,UAAU;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,gDAAgD,CAAA;QACtF,IAAI,IAAI,KAAK,gBAAgB;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,qDAAqD,CAAA;QACjG,IAAI,IAAI,KAAK,WAAW;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,gDAAgD,CAAA;QACvF,IAAI,IAAI,KAAK,YAAY;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,gDAAgD,CAAA;QACxF,IAAI,IAAI,KAAK,UAAU;AAAE,YAAA,IAAI,CAAC,KAAK,GAAG,qDAAqD,CAAA;KAC5F;AAED,IAAA,SAAS,CAAC,IAAS,EAAA;QACjB,IAAI,IAAI,KAAK,mBAAmB,EAAE;AAChC,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,SAAA;KACF;AAED,IAAA,iBAAiB,CAAC,UAAe,EAAA;QAC/B,IAAI,UAAU,KAAK,0BAA0B,EAAE;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AACvE,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACjE,SAAA;KACF;AAED,IAAA,YAAY,CAAC,MAAW,EAAA;QACtB,IAAI,MAAM,KAAK,8BAA8B,EAAE;AAC7C,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/D,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC7D,SAAA;KACF;AAED,IAAA,WAAW,CAAC,KAAU,EAAA;QACpB,IAAI,KAAK,KAAK,4BAA4B,EAAE;AAC1C,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtD,YAAA,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AACnE,gBAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,aAAC,CAAC,CAAC;AACJ,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpD,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;AAClB,SAAA;KACF;AAED,IAAA,UAAU,CAAC,IAAS,EAAA;QAClB,IAAI,IAAI,KAAK,sBAAsB,EAAE;AACnC,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrD,SAAA;KACF;;oHA1MU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAQ,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAAvB,uBAAuB,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBpC,qlIA2GA,EDhGc,MAAA,EAAA,CAAA,kmDAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,MAAA,EAAA,aAAA,EAAA,YAAA,EAAA,aAAA,EAAA,cAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,eAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAb,IAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAa,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,WAAA,EAAAA,EAAA,CAAA,aAAA,EAAA,EAAA,UAAA,EAAA;QACV,OAAO,CAAC,MAAM,EAAE;YACd,UAAU,CAAC,WAAW,EAAE;AACtB,gBAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;aAClC,CAAC;SACH,CAAC;AACH,KAAA,EAAA,CAAA,CAAA;2FAEU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAbnC,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,EAGpB,UAAA,EAAA;wBACV,OAAO,CAAC,MAAM,EAAE;4BACd,UAAU,CAAC,WAAW,EAAE;AACtB,gCAAA,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gCACrB,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;6BAClC,CAAC;yBACH,CAAC;qBACH,EAAA,QAAA,EAAA,qlIAAA,EAAA,MAAA,EAAA,CAAA,kmDAAA,CAAA,EAAA,CAAA;uJAGQ,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,MAAM,EAAA,CAAA;sBAAf,MAAM;;;MEmCI,gBAAgB,CAAA;AAY3B,IAAA,WAAA,CACU,WAAwB,EACxB,WAAwB,EACxB,cAA8B,EAAA;AAF9B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;AACxB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;AAX9B,QAAA,IAAA,CAAA,eAAe,GAAG,IAAI,YAAY,EAAU,CAAC;AAEvD,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;AACzB,QAAA,IAAM,CAAA,MAAA,GAAU,EAAE,CAAC;AACnB,QAAA,IAAA,CAAA,OAAO,GAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;AAClE,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAClE,IAAA,CAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;KAMzB;IAEJ,QAAQ,GAAA;;QACN,IAAI,IAAI,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAK,CAAC;AACvD,QAAA,IAAI,KAAK,GAAW,IAAI,KAAK,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC;AAEnD,QAAA,IAAI,OAAO,GAAgB;AACzB,YAAA,KAAK,EAAE,KAAK;SACb,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AAChE,YAAA,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC9B,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;KAC/C;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAClC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;AAC7B,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACrC;;6GAxCU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAX,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAG,WAAA,EAAA,EAAA,EAAA,KAAA,EAAAS,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,EAlDjB,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,o/DAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAGU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBApD5B,SAAS;YACE,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EACb,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,o/DAAA,CAAA,EAAA,CAAA;gJAIQ,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACI,eAAe,EAAA,CAAA;sBAAxB,MAAM;;;MCpDI,cAAc,CAAA;;2GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4GAAd,cAAc,EAAA,OAAA,EAAA,CAFf,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;4GAEhF,cAAc,EAAA,OAAA,EAAA,CAFf,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;2FAEhF,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,CAAC;iBAC7F,CAAA;;;MCgEY,gBAAgB,CAAA;;6GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBA9CzB,oBAAoB;QACpB,eAAe;QACf,iBAAiB;QACjB,uBAAuB;QACvB,iBAAiB;QACjB,cAAc;QACd,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,eAAe;QACf,gBAAgB;AAChB,QAAA,iBAAiB,aAGjB,YAAY;;QAEZ,WAAW;QACX,mBAAmB;QACnB,cAAc;AACd,QAAA,kBAAkB,aAGlB,oBAAoB;QACpB,eAAe;QACf,iBAAiB;QACjB,uBAAuB;QACvB,iBAAiB;QACjB,cAAc;QACd,oBAAoB;QACpB,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAQT,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EANhB,SAAA,EAAA;QACT,YAAY;QACZ,aAAa;KACd,EA5BQ,OAAA,EAAA,CAAA;YACP,YAAY;;YAEZ,WAAW;YACX,mBAAmB;YACnB,cAAc;YACd,kBAAkB;AACnB,SAAA,EAgBC,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAQT,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAhD5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,oBAAoB;wBACpB,eAAe;wBACf,iBAAiB;wBACjB,uBAAuB;wBACvB,iBAAiB;wBACjB,cAAc;wBACd,oBAAoB;wBACpB,kBAAkB;wBAClB,kBAAkB;wBAClB,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,gBAAgB;wBAChB,iBAAiB;AAClB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;;wBAEZ,WAAW;wBACX,mBAAmB;wBACnB,cAAc;wBACd,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,oBAAoB;wBACpB,eAAe;wBACf,iBAAiB;wBACjB,uBAAuB;wBACvB,iBAAiB;wBACjB,cAAc;wBACd,oBAAoB;wBACpB,kBAAkB;wBAClB,eAAe;wBACf,cAAc;wBACd,eAAe;wBACf,iBAAiB;wBACjB,kBAAkB;wBAClB,gBAAgB;wBAChB,kBAAkB;AACnB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,YAAY;wBACZ,aAAa;AACd,qBAAA;iBACF,CAAA;;;AC9DK,MAAO,aAAc,SAAQ,iBAAiB,CAAA;AAGlD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,YAAY,CAAC,MAAsB,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AAClD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,UAAU,CAAC,MAAoB,EAAA;AAC7B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;AACjD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,aAAa,CAAC,MAAoB,EAAA;AAChC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;AACvD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,MAAoB,EAAA;AACpC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAC3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,mBAAmB,CAAE,gBAAuC,EAAA;AAC1D,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC1D,QAAA,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,eAAe,CAAC,MAAyB,EAAA;AACvC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAC1D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,mBAAmB,CAAC,MAA6B,EAAA;AAC/C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAC7D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,2BAA2B,CAAC,MAA6B,EAAA;AACvD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,qBAAqB,CAAC,MAAyB,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC;AAC/D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,MAAc,EAAA;QAC9B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kCAAkC,GAAG,MAAM,CAAC;QAChF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;;0GAjEU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAhB,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCNY,aAAa,CAAA;AACxB,IAAA,WAAA,CAAoB,MAAc,EAAA;AAAd,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;KAAI;IAEtC,WAAW,CAAE,KAA6B,EAAE,KAA0B,EAAA;QACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACjD,QAAA,OAAO,IAAI,CAAC;KACb;;0GANU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8GAAb,aAAa,EAAA,CAAA,CAAA;2FAAb,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;;;MCGE,aAAa,CAAA;AAExB,IAAA,WAAA,GAAA;AAEA,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAO,CAAC;KAFhB;;0GAFN,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACwBK,MAAO,WAAY,SAAQ,iBAAiB,CAAA;AAGhD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,WAAW,CAAC;QAIhC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;;AAGD,IAAA,UAAU,CAAC,IAAU,EAAA;AACnB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAChD,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,WAAW,CAAC,MAAqB,EAAA;AAC/B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AACpD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,UAAU,CAAC,MAAoB,EAAA;AAC7B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AAClD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,gBAAgB,CAAC,MAA0B,EAAA;AACzC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;AACzD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,QAAQ,CAAC,MAAkB,EAAA;AACzB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;AAChD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,aAAa,CAAC,IAAY,EAAA;QACxB,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,GAAG,IAAI,CAAC;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,eAAe,CAAC,IAAY,EAAA;QAC1B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,GAAG,IAAI,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;;AAGD,IAAA,oBAAoB,CAAC,MAA8B,EAAA;AACjD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAC5D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,MAAuB,EAAA;AACnC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;AACnD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,cAAc,CAAC,MAAwB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,mBAAmB,CAAC;AACxD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,aAAa,CAAC,MAAuB,EAAA;AACnC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC;AACrD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,kBAAkB,CAAC,MAA4B,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,oBAAoB,CAAC;AACzD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,MAA4B,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAC3D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,iBAAiB,CAAC,IAAY,EAAA;QAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,GAAG,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;;AAGD,IAAA,cAAc,CAAC,MAAwB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AACpD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,cAAc,CAAC,MAAwB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC;AACtD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,sBAAsB,CAAC,MAAgC,EAAA;AACrD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAChE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,qBAAqB,CAAC,MAA+B,EAAA;AACnD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0BAA0B,CAAC;AAC/D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;AAGD,IAAA,YAAY,CAAC,MAAsB,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AAClD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,YAAY,CAAC,MAAsB,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;AACpD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,oBAAoB,CAAC,IAAY,EAAA;QAC/B,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0BAA0B,GAAG,IAAI,CAAC;AACtE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AAED,IAAA,mBAAmB,CAAC,MAA6B,EAAA;AAC/C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAC5D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;;wGA1IU,WAAW,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAX,WAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA,CAAA;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACjBK,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAIrD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,iBAAiB,CAAC;QAItC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,2BAA2B,CAAC,IAAmC,EAAA;AAC7D,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,gCAAgC,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,sBAAsB,CAAC,WAAmB,EAAA;QACxC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0CAA0C,GAAG,WAAW,CAAC;QAC7F,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,kBAAkB,CAAC,MAA4B,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,SAAwC,EAAA;AACxD,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACvE,QAAA,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACtC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;IAED,aAAa,GAAA;AACX,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,iCAAiC,CAAC;AACvE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,uCAAuC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;IAED,oBAAoB,GAAA;AAClB,QAAA,IAAI,UAAU,GAAI,IAAI,CAAC,WAAW,GAAG,mCAAmC,CAAC;AACzE,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;;6GA7CU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAHf,MAAM,EAAA,CAAA,CAAA;2FAGP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACCK,MAAO,aAAc,SAAQ,iBAAiB,CAAA;AAIlD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,aAAa,CAAC;QAIlC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,cAAc,CAAC,IAAsB,EAAA;AACnC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAChE,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACjC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACpD;AACD,IAAA,cAAc,CAAC,MAAkB,EAAA;AAC/B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;AAClE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AACD,IAAA,cAAc,CAAC,MAAwB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;AAClE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;0GAvBU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cAFZ,MAAM,EAAA,CAAA,CAAA;2FAEP,aAAa,EAAA,UAAA,EAAA,CAAA;kBAHzB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACEK,MAAO,gBAAiB,SAAQ,iBAAiB,CAAA;AAGrD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,uBAAuB,CAAC,MAA2B,EAAA;AACjD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,CAAC;AACjE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,wBAAwB,CAAC,MAA+B,EAAA;AACtD,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,8BAA8B,CAAC;AACnE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;;6GAlBU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cAFf,MAAM,EAAA,CAAA,CAAA;2FAEP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAH5B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACDK,MAAO,eAAgB,SAAQ,iBAAiB,CAAA;AAGpD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,mBAAmB,CAAC,MAAW,EAAA;AAC7B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gCAAgC,CAAC;AACrE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,UAAkB,EAAA;QACnC,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,8BAA8B,GAAG,UAAU,CAAC;QAChF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,kBAAkB,CAAC,MAAW,EAAA;AAC5B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;AAClE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,iBAAiB,CAAC,MAAW,EAAA;AAC3B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAChE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,uBAAuB,CAAC,MAAW,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,8BAA8B,CAAC;AACnE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;IAED,kBAAkB,GAAA;AAChB,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gCAAgC,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,iBAAiB,GAAA;AACf,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,+BAA+B,CAAC;QACpE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,oBAAoB,CAAC,MAAW,EAAA;AAC9B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,+BAA+B,CAAC;AACpE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,uBAAuB,CAAC,MAAW,EAAA;AACjC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,4BAA4B,CAAC;AACjE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,yBAAyB,CAAC,UAAkB,EAAA;QAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,qCAAqC,GAAG,UAAU,CAAC;QACvF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,mBAAmB,CAAC,MAAW,EAAA;AAC7B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,0CAA0C,CAAC;AAC/E,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,oBAAoB,CAAC,MAAW,EAAA;AAC9B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,yBAAyB,CAAC;AAC9D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,MAAW,EAAA;AAC5B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,uCAAuC,CAAC;AAC5E,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;AAED,IAAA,kBAAkB,CAAC,MAAW,EAAA;AAC5B,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAC7D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;4GAtFU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCuBY,UAAU,CAAA;;uGAAV,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAV,UAAU,EAAA,CAAA,CAAA;AAAV,UAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAU,EAfV,SAAA,EAAA;QACT,gBAAgB;QAChB,aAAa;QACb,cAAc;QACd,WAAW;QACX,aAAa;QACb,aAAa;QACb,WAAW;QACX,WAAW;QACX,gBAAgB;QAChB,gBAAgB;QAChB,aAAa;QACb,eAAe;AAChB,KAAA,EAAA,CAAA,CAAA;2FAEU,UAAU,EAAA,UAAA,EAAA,CAAA;kBAhBtB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;wBACT,gBAAgB;wBAChB,aAAa;wBACb,cAAc;wBACd,WAAW;wBACX,aAAa;wBACb,aAAa;wBACb,WAAW;wBACX,WAAW;wBACX,gBAAgB;wBAChB,gBAAgB;wBAChB,aAAa;wBACb,eAAe;AAChB,qBAAA;iBACF,CAAA;;;MCVY,kBAAkB,CAAA;;+GAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlB,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,YAX3B,gBAAgB;QAChB,UAAU;AACV,QAAA,kBAAkB,aAGlB,gBAAgB;QAChB,UAAU;QACV,kBAAkB,CAAA,EAAA,CAAA,CAAA;AAIT,kBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kBAAkB,EAZpB,OAAA,EAAA,CAAA;YACP,gBAAgB;YAChB,UAAU;YACV,kBAAkB;AACnB,SAAA,EAEC,gBAAgB;QAChB,UAAU;QACV,kBAAkB,CAAA,EAAA,CAAA,CAAA;2FAIT,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,UAAU;wBACV,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,UAAU;wBACV,kBAAkB;AACnB,qBAAA;iBACF,CAAA;;;ACPK,MAAO,iBAAkB,SAAQ,iBAAiB,CAAA;AAGtD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,kBAAkB,CAAC,MAA0B,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,uBAAuB,CAAC;AAC5D,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,qBAAqB,CAAC,MAA+B,EAAA;AACnD,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,oCAAoC,CAAC;AACzE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,cAAc,CAAC,MAAwB,EAAA;AACrC,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,4BAA4B,CAAC;AACjE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,4BAA4B,CAAC,MAAsC,EAAA;AACjE,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,+BAA+B,CAAC;AACpE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,oBAAoB,CAAC,UAAkB,EAAA;QACrC,IAAI,UAAU,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,mCAAA,EAAsC,UAAU,CAAA,CAAE,CAAC;QACvF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAmB,UAAU,CAAC,CAAC;KACpD;AAED,IAAA,uBAAuB,CAAC,WAAmB,EAAA;QACzC,IAAI,UAAU,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAA,8BAAA,EAAiC,WAAW,CAAA,CAAE,CAAC;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAM,UAAU,CAAC,CAAC;KACvC;IAED,6BAA6B,CAAC,KAAa,EAAE,QAAgB,EAAA;AAC3D,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,4CAA4C,CAAC;QACjF,IAAI,CAAC,qBAAqB,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;AAC9C,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,yBAAyB,CAAC,MAAgC,EAAA;AACxD,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,iCAAiC,CAAC;AACtE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,gCAAgC,CAAC,MAAgC,EAAA;AAC/D,QAAA,IAAI,UAAU,GAAG,CAAA,EAAG,IAAI,CAAC,WAAW,0CAA0C,CAAC;AAC/E,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;;8GA1DU,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,cAFhB,MAAM,EAAA,CAAA,CAAA;2FAEP,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAH7B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACCK,MAAO,YAAa,SAAQ,iBAAiB,CAAA;AAIjD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAGD,IAAA,eAAe,CAAC,MAAyB,EAAA;AACvC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,6BAA6B,CAAC;AAClE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,iBAAiB,CAAC,MAA2B,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,8BAA8B,CAAC;AACnE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,aAAa,CAAC,MAAuB,EAAA;AACnC,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;AACvD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;AAED,IAAA,iBAAiB,CAAC,MAA2B,EAAA;AAC3C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC;AAClD,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC9D;AAED,IAAA,kBAAkB,CAAC,MAA4B,EAAA;AAC7C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAChE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAW,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KAC/D;;yGAtCU,YAAY,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,cAFX,MAAM,EAAA,CAAA,CAAA;2FAEP,YAAY,EAAA,UAAA,EAAA,CAAA;kBAHxB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;ACAK,MAAO,cAAe,SAAQ,iBAAiB,CAAA;AAInD,IAAA,WAAA,CAAoB,IAAgB,EAAA;AAClC,QAAA,KAAK,EAAE,CAAC;AADU,QAAA,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;AAF5B,QAAA,IAAW,CAAA,WAAA,GAAG,eAAe,CAAC;QAIpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;KACtD;AAED,IAAA,mBAAmB,CAAC,MAA6B,EAAA;AAC/C,QAAA,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,gCAAgC,CAAC;AACrE,QAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACnC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;KACrD;;2GAbU,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cAFb,MAAM,EAAA,CAAA,CAAA;2FAEP,cAAc,EAAA,UAAA,EAAA,CAAA;kBAH1B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;MCNY,OAAO,CAAA;AAGnB;;MCLY,MAAM,CAAA;AAmBlB,CAAA;MAEY,WAAW,CAAA;AAcvB;;ACnCD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"iptdevs-design-system.mjs","sources":["../../../design-system/src/lib/components/atoms/aside-button/aside-button.component.ts","../../../design-system/src/lib/components/atoms/button/button.component.ts","../../../design-system/src/lib/components/atoms/checkbox/checkbox.component.ts","../../../design-system/src/lib/components/atoms/datalist/datalist.component.ts","../../../design-system/src/lib/components/atoms/input/input.component.ts","../../../design-system/src/lib/components/atoms/level-button/level-button.component.ts","../../../design-system/src/lib/components/atoms/level-text/level-text.component.ts","../../../design-system/src/lib/components/atoms/loader/loader.component.ts","../../../design-system/src/lib/components/atoms/radio/radio.component.ts","../../../design-system/src/lib/components/atoms/select/select.component.ts","../../../design-system/src/lib/components/atoms/text-link/text-link.component.ts","../../../design-system/src/lib/core/services/service-enviroments.ts","../../../design-system/src/lib/core/services/user-service/user-service.ts","../../../design-system/src/lib/core/services/storage-service/storage-service.ts","../../../design-system/src/lib/core/services/calendar-service/calendar.service.ts","../../../design-system/src/lib/core/utils/base-service/base.service.ts","../../../design-system/src/lib/components/forms/login-form/login-form.component.ts","../../../design-system/src/lib/core/services/parameters-service/parameters.service.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.ts","../../../design-system/src/lib/components/forms/create-user-form/create-user-form.component.html","../../../design-system/src/lib/components/molecules/sidenav/sidenav.component.ts","../../../design-system/src/lib/components/material.module.ts","../../../design-system/src/lib/components/components.module.ts","../../../design-system/src/lib/core/services/course-service/course-service.model.ts","../../../design-system/src/lib/core/utils/route-service/route.service.ts","../../../design-system/src/lib/core/services/switch-service/switch.service.ts","../../../design-system/src/lib/core/services/test-service/test.service.ts","../../../design-system/src/lib/core/services/marketing-service/marketing-service.ts","../../../design-system/src/lib/core/services/budget-service/budget-service.ts","../../../design-system/src/lib/core/services/classroom-service/classroom-service.service.ts","../../../design-system/src/lib/core/services/activity-service/activity.service.ts","../../../design-system/src/lib/core/core.module.ts","../../../design-system/src/lib/design-system.module.ts","../../../design-system/src/lib/core/services/attendance-service/attendance.service.ts","../../../design-system/src/lib/core/services/notes-service/notes.service.ts","../../../design-system/src/lib/core/services/student-service/student.service.ts","../../../design-system/src/lib/core/models/session/session.model.ts","../../../design-system/src/lib/core/models/user/user-rs.model.ts","../../../design-system/src/public-api.ts","../../../design-system/src/iptdevs-design-system.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from \"@angular/core\";\n\n@Component({\n selector: 'ipt-aside-button',\n template: `\n <div [ngSwitch]=\"buttonActive\">\n <a *ngSwitchCase=\"0\" class=\"flex-item-menu__link\" (click)=\"clickAction()\">\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\n <p>{{ text }}</p>\n </a>\n\n <a *ngSwitchCase=\"1\" class=\"flex-item-menu__link flex-item-active\" (click)=\"clickAction()\">\n <img src=\"{{ icon }}\" alt=\"icon_url\" />\n <p>{{ text }}</p>\n </a>\n </div>\n `,\n styleUrls: ['./aside-button.css']\n})\n\nexport class AsideButtonComponent {\n @Input() icon!: string;\n @Input() text!: string;\n @Input() buttonActive?: boolean;\n @Output() isClicked = new EventEmitter<boolean>();\n\n clickAction() {\n this.isClicked.emit(true);\n }\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-button',\n template: `<button *ngIf=\"isEnabled\"\n type=\"{{ buttonType }}\"\n (click)=\"onClick.emit($event)\"\n [ngClass]=\"classes\"\n >\n {{ label }}\n </button>\n\n <button *ngIf=\"!isEnabled\"\n type=\"{{ buttonType }}\"\n [ngClass]=\"classes\"\n >\n {{ label }}\n </button>`,\n styleUrls: ['./button.css'],\n})\nexport class ButtonComponent {\n\n @Input() primary: boolean = false;\n @Input() size: 'small' | 'medium' | 'large' = 'medium';\n @Input() label: string = 'Button';\n @Input() buttonType?: string;\n @Input() isEnabled: boolean = true;\n\n @Output() onClick = new EventEmitter<Event>();\n\n public get classes(): string[] {\n const mode = this.primary && this.isEnabled === true\n ? 'ipt-button--primary'\n : this.isEnabled === false ? 'ipt-button--primary-disabled'\n : 'ipt-button--secondary';\n\n return ['ipt-button', `ipt-button--${this.size}`, mode];\n }\n}\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: 'ipt-checkbox',\n template: `\n <label class=\"cont\">\n <input\n class=\"checkbox\"\n [formControl]=\"formControl\"\n [checked]=\"checkboxOption\"\n (click)=\"onChecked.emit($event)\"\n type=\"checkbox\">\n <span></span>\n </label>\n `,\n styleUrls: ['./checkbox.css']\n})\n\nexport class CheckboxComponent {\n\n @Input() checkboxOption: boolean = false;\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Output() onChecked = new EventEmitter<Event>();\n\n formControl!: FormControl;\n\n}\n","import { Component, Input, Output, EventEmitter, ViewChild, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\n\n@Component({\n selector: 'ipt-datalist',\n template: `\n <div class=\"input-container\">\n <label [ngClass]=\"labelClass\">{{ placeHolder }}</label>\n <input\n type=\"text\"\n class=\"input\"\n (click)=\"click($event)\"\n [attr.list]=\"datalistId\"\n (change)=\"optionChanged($event)\"\n [disabled]=\"disabledSel\"\n [value]=\"setDataListValue()\"\n />\n\n <datalist id=\"{{ datalistId }}\">\n <option *ngFor=\"let item of datalistData; index as i\" [value]=\"item.name\">\n {{item.id_card}} {{item.name}}\n </option>\n </datalist>\n </div>\n `,\n styleUrls: ['./datalist.css'],\n})\nexport class DatalistComponent {\n\n @Input() datalistId!: string;\n @Input() datalistData!: any[];\n @Input() placeHolder!: string;\n @Input() validateText!: string;\n @Input() initalData!: string;\n @Input() disabledSel:boolean = false;\n\n @Output() isChanged = new EventEmitter<string>();\n\n clicked: boolean = false;\n\n constructor(fb: FormBuilder) {\n }\n\n optionChanged(event: any) {\n let selectOption = this.datalistData.find(element => element.name == event.target.value);\n if (typeof(selectOption) != 'undefined') {\n this.isChanged.emit(selectOption.code);\n } else {\n this.isChanged.emit('-1');\n }\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n setDataListValue() {\n let selectOption = this.datalistData.find(element => element.code == this.initalData);\n if (typeof(selectOption) != 'undefined') {\n return selectOption.name;\n } else {\n return '';\n }\n }\n\n public get labelClass(): string {\n return this.clicked === false ? 'label' : 'labelUp';\n }\n}\n","import { CurrencyPipe } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, ViewChild, OnInit, OnChanges, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\n\n\n@Component({\n selector: 'ipt-input',\n template: `\n <div class=\"input-container\">\n <input *ngIf=\"inputType === 'date'\"\n class=\"input\"\n type=\"{{ inputType ? 'text' : 'date' }}\"\n [formControl]=\"formControl\"\n (ngModelChange)=\"selectedDate($event)\"\n onfocus=\"this.type='date';\"\n onblur=\"javascript: if( !this.value ) this.type='text';\"\n uib-datepicker-popup=\"dd/MM/yyyy\"\n ng-model=\"inputType\"/>\n\n <input *ngIf=\"inputType !== 'date' && inputType !== 'time' && !withPipe\"\n class=\"input\"\n type=\"{{ inputType }}\"\n [formControl]=\"formControl\"\n [attr.list]=\"list\"/>\n\n <input *ngIf=\"inputType === 'text' && withPipe\"\n class=\"input\"\n currencyMask\n [options]=\"{ prefix: prefix, thousands: thousands, decimal: decimal, allowNegative: false }\"\n type=\"{{ inputType }}\"\n [formControl]=\"formControl\"\n [attr.list]=\"list\"/>\n\n <input *ngIf=\"inputType === 'time'\"\n class=\"input\"\n type=\"time\"\n [formControl]=\"formControl\"\n [min]=\"'06:00:00'\"\n max=\"22:00:00\"\n step=\"900\"\n autocomplete=\"on\"\n value=\"08:00:00\"\n (click)=\"click($event)\"\n />\n\n <label [ngClass]=\"{'labelUp': formControl.value !== ''}\">{{ placeHolder }}</label>\n\n <p *ngIf=\"(formControl.invalid && formControl.value !== '')\">\n {{ validateText }}\n </p>\n </div>\n `,\n styleUrls: ['./input.css'],\n})\nexport class InputComponent implements OnInit {\n\n public codeValue!: string;\n data: any[] = [];\n formControl!: FormControl;\n clicked: boolean = false;\n\n @Input() inputType!: string;\n @Input() placeHolder!: string;\n @Input() validateText?: string;\n @Input() withPipe?: boolean = false;\n @Input() list?: string; //Para el datalist\n @Input() iconUrl?: string;\n @Input() set control(value: AbstractControl | string) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Input() prefix: string = '$';\n @Input() thousands: string = '.';\n @Input() decimal: string = ',';\n @Output() dateSelected = new EventEmitter<string>();\n\n constructor() {}\n\n\n ngOnInit() {}\n\n selectedDate(evt: string){\n this.dateSelected.emit(evt);\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-level-button',\n template: `\n <div [ngSwitch]=\"buttonActive\">\n <button\n *ngSwitchCase=\"0\"\n (click)=\"clickAction()\"\n id=\"level\"\n class=\"courses\"\n >\n <p class=\"p-level\">{{ level }}</p>\n </button>\n\n <button\n *ngSwitchCase=\"1\"\n (click)=\"clickAction()\"\n id=\"{{ idColor }}\"\n class=\"courses\">\n <p class=\"p-level p-level-active\">{{ level }}</p>\n </button>\n </div>\n `,\n styleUrls: ['./level-button.css'],\n})\n\nexport class LevelButtonComponent {\n\n @Input() level!: string;\n @Input() buttonActive!: boolean;\n @Input() idColor!: string;\n @Output() isClicked = new EventEmitter<boolean>();\n\n clickAction() {\n this.isClicked.emit(true);\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-level-button',\n template: `\n <p class=\"p-table-course\">{{ level }}: {{ total }}</p>\n `,\n styleUrls: ['./level-text.css'],\n})\n\nexport class LevelTextComponent {\n\n @Input() level!: string;\n @Input() total!: string;\n\n}\n","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'ipt-loader',\n template: `\n <div [ngClass]=\"{'dialog': isDialog}\">\n <div [ngClass]=\"{'loader_container' : isDialog}\">\n <span>{{ message }}</span>\n <div class=\"container\">\n <div class=\"spinner\">\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n <div class=\"dot\"></div>\n </div>\n </div>\n </div>\n </div>`,\n styleUrls: ['./loader.css']\n})\nexport class LoaderComponent {\n @Input() message: string = '';\n @Input() isDialog: boolean = false;\n}\n\n","import { Component, EventEmitter, Input, Output } from \"@angular/core\";\nimport { AbstractControl, FormControl } from \"@angular/forms\";\n\n@Component({\n selector: 'ipt-radio',\n template: `\n <label class=\"cont\">\n <input\n class=\"radio\"\n [formControl]=\"formControl\"\n [checked]=\"radioOption\"\n (click)=\"onSelected.emit($event)\"\n type=\"radio\">\n <span></span>\n </label>\n `,\n styleUrls: ['./radio.css']\n})\n\nexport class RadioComponent {\n\n @Input() radioOption: boolean = false;\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n @Output() onSelected = new EventEmitter<Event>();\n\n formControl!: FormControl;\n\n}\n","import { Component, Input, Output, EventEmitter, SimpleChanges } from '@angular/core';\nimport { AbstractControl, FormControl } from '@angular/forms';\n\n@Component({\n selector: 'ipt-select',\n template: `\n <div class=\"select-container\">\n <label [ngClass]=\"labelClass\">{{ defaultText }}</label>\n <select\n [(ngModel)]=\"binding\"\n (ngModelChange)=\"seleccionar($event)\"\n (click)=\"click($event)\"\n [ngClass]=\"textClass\"\n [disabled]=\"disabledSel\">\n <option *ngFor=\"let item of data; index as i\" [value]=\"item.code\">\n {{ item.name }} {{ item.prefix }}\n </option>\n </select>\n </div>\n `,\n styleUrls: ['./select.css'],\n})\nexport class SelectComponent {\n\n binding: any;\n boxShadow: number = 0;\n formControl!: FormControl;\n clicked: boolean = false;\n\n @Input() isRequired!: boolean; // temas de validacion\n // objeto que me trae el listado\n @Input() data!: any[]; // recibe un array de cualquier cosa\n @Input() defaultText!: any;\n @Input() selectCode!:string;\n @Input() disabledSel:boolean = false;\n @Input() initialValue!: string;\n\n @Output() eventSelect = new EventEmitter<string>();\n // type viene de otro componente -> indica de que tipo es el arreglo si pregrade, posgrade o modo\n @Input() set control(value: AbstractControl) {\n if (this.formControl !== value) {\n this.formControl = value as FormControl;\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if( changes['data']){\n this.setBinding();\n }\n }\n\n seleccionar(evt: string){\n if (this.eventSelect.emit(evt) !== this.defaultText) {\n this.boxShadow = 1;\n }\n else {\n this.boxShadow = 2;\n }\n }\n\n private setBinding() {\n if(this.initialValue !== '') {\n this.binding = this.initialValue;\n document.getElementById('select')?.click();\n } else {\n this.binding = this.defaultText;\n }\n }\n\n click(value: MouseEvent) {\n this.clicked = value.isTrusted;\n }\n\n ngOnInit(): void {\n this.setBinding();\n }\n\n public get textClass(): string {\n return this.defaultText === '' ? 'selected' : 'select';\n }\n\n public get labelClass(): string {\n return (this.clicked || this.initialValue !== '') ? 'labelUp' : 'label';\n }\n\n}\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'ipt-text-link',\n template: `\n <a class=\"text-link\" (click)='isLinkClicked()'>\n <p class=\"text-link__paragraph\">\n <i class=\"{{icon}}\" aria-hidden=\"true\"></i>\n {{text}}\n </p>\n </a>\n `,\n styleUrls: ['./text-link.css'],\n})\n\nexport class TextLinkComponent {\n\n @Input() text!: string;\n @Input() blank?: boolean;\n @Input() icon?: string;\n\n @Output() isClicked = new EventEmitter<boolean>();\n\n\n constructor() {\n }\n\n isLinkClicked() {\n this.isClicked.emit(true);\n }\n\n}\n","import { HttpHeaders } from \"@angular/common/http\";\n\nexport class IPTGeneralService {\n\n httpOptions: any;\n\n baseUrl(): string {\n let url = window.location.href;\n\n if (url.includes('localhost') || url.includes('qa')) {\n return 'https://lab.iptdev.com.co/';\n } else if ( url.includes('inglesparatodos.edu.co')) {\n return 'https://iptdev.com.co/';\n } else if ( url.includes('inglesparatodos.us')) {\n return 'https://iptdev.com.co/';\n } else {\n return 'error.com';\n }\n }\n\n // construye los headers y params\n generateRequestParams(param: any) {\n this.httpOptions = {\n header: new HttpHeaders(),\n params: param,\n };\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { RegisterIndexRq, RegisterDashboardRq, UserTokenRq, ForgotPasswordRq, LoginRq, RegisterRq, getStudentRq } from '../../models/user/user-rq.model';\nimport { getStrategyByUserCommercialRq } from '../../models/marketing/marketing.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService extends IPTGeneralService{\n private SERVICE_URL = 'users/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n login(userLogin: LoginRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/login';\n this.generateRequestParams(userLogin);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n resetPassword(resetPassword: ForgotPasswordRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'reset/password';\n this.generateRequestParams(resetPassword);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n register(user: RegisterRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/web';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n registerIndex(register: RegisterIndexRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/marketing';\n this.generateRequestParams(register);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n registerDashboard(user: RegisterDashboardRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/create/dashboard';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailableTeachers(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/teachers';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllAdvisor(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/all/user/commercial';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getByRoleUser(codeRole: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/obtain/by/role/user/' + codeRole;\n return this.http.get(serviceUrl);\n }\n\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getRoutesForRole(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/routes/role';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getStudents(token: UserTokenRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getStudent(token: getStudentRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/student';\n this.generateRequestParams(token);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from \"@angular/core\";\nimport { Session } from \"../../models/session/session.model\";\nimport { UserRs } from \"../../models/user/user-rs.model\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StorageService {\n\n private localStorageService;\n private currentSession : Session | null= null;\n\n constructor() {\n this.localStorageService = localStorage;\n this.currentSession = this.loadSessionData();\n }\n\n setCurrentSession(session: Session): void {\n this.currentSession = session;\n this.localStorageService.setItem('606a7d4e73650b75ebb06972e77d6cc4', JSON.stringify(session));\n }\n\n loadSessionData(): Session | null {\n var sessionStr = this.localStorageService.getItem('606a7d4e73650b75ebb06972e77d6cc4');\n return (sessionStr) ? <Session> JSON.parse(sessionStr) : null;\n }\n\n getCurrentSession(): Session | null {\n return this.currentSession;\n }\n\n removeCurrentSession(): void {\n this.localStorageService.removeItem('606a7d4e73650b75ebb06972e77d6cc4');\n this.currentSession = null;\n }\n\n getCurrentUser(): UserRs | null {\n var session: Session | null = this.getCurrentSession();\n return (session && session.user) ? session.user : null;\n };\n\n isAuthenticated(): boolean {\n return (this.getCurrentToken() != null) ? true : false;\n };\n\n getCurrentToken(): string | null{\n var session = this.getCurrentSession();\n return (session && session.token) ? session.token : null;\n };\n\n logout(): void{\n this.removeCurrentSession();\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { eventqueryRq } from '../../models/calendar/calendar-rq.models';\nimport { AddNewEventRq, AvailabilityQueryRq, AvailabilityQueryRqs, GetEventByDateTimeRq, GetEventsByCourseRq } from '../../models/cronogram/cronogram.models';\nimport { Response } from '../../models/response/response.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CalendarService extends IPTGeneralService{\n private SERVICE_URL = 'calendar/api/'\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n postCreateQueryEvent(params: AvailabilityQueryRq): Observable<Response>{\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventByIdCalendar(idCalendar: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/event/calendar/idcalendar/all/' + idCalendar;\n return this.http.get(serviceUrl);\n }\n\n postEventByDayTime(params: eventqueryRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getEventsByCourse(params: GetEventsByCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/course';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getEventByDateTime(params: GetEventByDateTimeRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/calendar/idcalendar/by/datetime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailability(params: AvailabilityQueryRqs): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/event/create/query';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n addNewEvent(params: AddNewEventRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/add/event/calendar/by/daytime';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { LoginRq, RegisterDashboardRq } from '../../models/user/user-rq.model';\nimport { UserService } from '../../services/user-service/user-service';\nimport Swal from 'sweetalert2';\nimport { Session } from '../../models/session/session.model';\nimport { StorageService } from '../../services/storage-service/storage-service';\nimport { AvailabilityQueryRq } from '../../models/cronogram/cronogram.models';\nimport { CalendarService } from '../../services/calendar-service/calendar.service';\nimport { Response } from '../../models/response/response.interface';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BaseService {\n\n constructor(\n private userService: UserService,\n private storageService: StorageService,\n private calendarService: CalendarService\n ) {}\n\n webLogin(user: string, password: string): Promise<boolean>{\n let request: LoginRq = {\n user: user,\n password: password\n }\n let service = this.userService;\n let storage = this.storageService;\n let appUser = this.isAnAppUser();\n\n return new Promise(function(resolve, reject) {\n service.login(request).subscribe( response => {\n switch (response.message.code) {\n case 1:\n if(!appUser) {\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">Succesfull login</p>',\n 'icon':'success',\n });\n }\n const loginRegisterUser: Session = {\n token: response.data.token,\n user: response.data,\n };\n\n storage.setCurrentSession(loginRegisterUser);\n resolve(true);\n break;\n case 2:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Warning!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The data does not correspond to a user registered in our system, please review them.</p>',\n 'icon':'warning',\n });\n\n resolve(false);\n break;\n case 3:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\n 'icon':'error',\n });\n\n resolve(false);\n break;\n default:\n Swal.fire({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\n 'icon':'error',\n });\n\n resolve(false);\n break;\n }\n reject('Unhandled exception');\n });\n })\n }\n\n getCronogramAvailability(isTeacher: boolean, code: number, startDate: string, numClass: number, weekDays: any[], startTime: string, endTime: string): Promise<any>{\n let request: AvailabilityQueryRq = {\n isTeacher: isTeacher,\n code: code,\n startDate: startDate,\n numClass: numClass,\n weekDays: weekDays,\n startTime: startTime,\n endTime: endTime,\n };\n\n let service = this.calendarService;\n\n return new Promise(function(resolve, reject) {\n service.postCreateQueryEvent(request).subscribe( (response: Response) => {\n switch (response.message.code) {\n case 1:\n resolve(response.data);\n break\n default:\n reject('Unhandled exception');\n }\n reject('Unhandled exception');\n });\n });\n }\n\n isAnAppUser() {\n const userAgent: string = window.navigator.userAgent;\n return userAgent.includes('Flutter IPT APP');\n }\n\n getUserRole(): number {\n let user = this.storageService.getCurrentUser()?.role;\n return user === undefined ? -1 : user;\n }\n\n getUserToken(): string {\n let token = this.storageService.getCurrentUser()?.token;\n return token === undefined ? '-1' : token;\n }\n\n getUserName(): string {\n let user = this.storageService.getCurrentUser();\n let response = user === null ? '' : user.name;\n return response;\n }\n\n registerUserFromDashboard(registerDashboardRq: RegisterDashboardRq): Promise<boolean>{\n let request = registerDashboardRq;\n let service = this.userService;\n\n return new Promise(function(resolve, reject) {\n service.registerDashboard(request).subscribe((response) => {\n\n switch (response.message.code) {\n case 1:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Perfect!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">Sucesfull register!</p>',\n 'icon':'success',\n });\n resolve(true);\n break;\n case 3:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">The input data does not meet the established parameters.</p>',\n 'icon':'error',\n });\n resolve(false);\n break;\n case 4:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\">Ups!</p>',\n 'html': '<p style=\"font-family: Poppins\">The input data has a high relation with a user that already exists!</p>',\n 'icon': 'warning',\n });\n resolve(false);\n break;\n default:\n Swal.fire ({\n 'title': '<p style=\"font-family: Poppins\"\">Error!</p>',\n 'html': '<p style=\"font-family: Poppins\"\">An unexpected error has occurred</p>',\n 'icon':'error',\n });\n resolve(false);\n break;\n }\n\n reject('Unhandled exception');\n });\n });\n }\n\n jsonToArray(data: any[]): any[][] {\n var response: any[] = [];\n data.forEach((element) => {\n var object: any[] = [];\n for (var clave in element) {\n if (element.hasOwnProperty(clave)) {\n if (typeof element[clave] == 'object') {\n element[clave] = this.subJsonToArray(element[clave]);\n }\n\n object.push(element[clave]);\n }\n }\n response.push(object);\n });\n return response;\n }\n\n subJsonToArray(data: any[]): string {\n var object: string = '';\n for (var clave in data) {\n if (clave != 'code') {\n object += '\\n' + data[clave];\n }\n }\n return object;\n }\n\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { BaseService } from '../../../core/utils/base-service/base.service';\n\n@Component({\n selector: 'ipt-login-form',\n template: `\n <div class=\"form-container\">\n\n <h2 style=\"text-align: center;\">IPT PLATFORM</h2>\n <hr>\n\n <form (ngSubmit)=\"login(loginForm)\" [formGroup]=\"loginForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Email'\"\n [validateText]=\"'Debe ser @inglesparatodos.edu.co'\"\n [control]=\"loginForm.controls['email']\"\n ></ipt-input>\n\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Password'\"\n [control]=\"loginForm.controls['password']\"\n ></ipt-input>\n </form>\n\n <div class=\"button-container\">\n <ipt-button\n [label]=\"'Login'\"\n [primary]=\"true\"\n [isEnabled]=\"loginForm.valid\"\n (onClick)=\"login(loginForm)\"\n ></ipt-button>\n </div>\n\n </div>\n `,\n styleUrls: ['./login-form.css']\n})\n\nexport class LoginFormComponent {\n\n @Output() isLogged = new EventEmitter<boolean>();\n\n loginForm!: FormGroup;\n\n constructor(\n fb: FormBuilder,\n private baseService: BaseService,\n ) {\n this.loginForm = fb.group({\n email: ['', [Validators.required]],\n password: ['', [Validators.required, Validators.minLength(3),Validators.maxLength(15)]],\n });\n }\n\n login(data: FormGroup) {\n this.baseService.webLogin(data.controls['email'].value, data.controls['password'].value).then((isLogged) =>{\n this.isLogged.emit(isLogged);\n });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ParameterService extends IPTGeneralService{\n private SERVICE_URL = 'parameters/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getIndicatives(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/indicatives';\n return this.http.get(serviceUrl);\n }\n\n getCardTypes(country: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/id/card/type/country/' + country;\n return this.http.get(serviceUrl);\n }\n\n getCountries(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/countries';\n return this.http.get(serviceUrl);\n }\n\n getStatesByCountry(country: string): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/state/country/iso/' + country;\n return this.http.get(serviceUrl);\n }\n\n getCitiesByState(state: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/cities/state/' + state;\n return this.http.get(serviceUrl);\n }\n\n getAllPlans(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\n return this.http.get(serviceUrl);\n }\n\n getLevels(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/english/levels';\n return this.http.get(serviceUrl);\n }\n\n getAgreements(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/agreement';\n return this.http.get(serviceUrl);\n }\n\n getAgreementByCategory(typeCategory: any): Observable<any> {\n let serviceUrl =\n this.SERVICE_URL + 'get/agreement/by/category/' + typeCategory;\n return this.http.get(serviceUrl);\n }\n\n getAllClassrooms(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/classroom';\n return this.http.get(serviceUrl);\n }\n\n getCoursesTypes(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/course/type';\n return this.http.get(serviceUrl);\n }\n\n getCoursesTypesByPlan(typePlan: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/course/by/plan/' + typePlan;\n return this.http.get(serviceUrl);\n }\n\n getDegrees(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/degrees';\n return this.http.get(serviceUrl);\n }\n\n getProgramsByDegree(typeDegree: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/programs/by/degree/' + typeDegree;\n return this.http.get(serviceUrl);\n }\n\n getMarketingReasons(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/mkt/reasons';\n return this.http.get(serviceUrl);\n }\n\n getStudyReasons(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/study/reasons';\n return this.http.get(serviceUrl);\n }\n\n getAcademicUnits(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/academic/units';\n return this.http.get(serviceUrl);\n }\n getStatusContact(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/all';\n return this.http.get(serviceUrl);\n }\n\n getTypePlan(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/plans';\n return this.http.get(serviceUrl);\n }\n getTypePlanDiscount(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/discount/all/plans';\n return this.http.get(serviceUrl);\n }\n\n getContactedType(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/contacted/all';\n return this.http.get(serviceUrl);\n }\n\n getStatusByCode(codeStatus: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/status/bycode/' + codeStatus;\n return this.http.get(serviceUrl);\n }\n getAllTypeDiscount(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/commercial/typediscounts/all';\n return this.http.get(serviceUrl);\n }\n\n getAllCourseModality(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/course/modality';\n return this.http.get(serviceUrl);\n }\n}\n","import { animate, style, transition, trigger } from '@angular/animations';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { RegisterDashboardRq } from '../../../core/models/user/user-rq.model';\nimport { ParameterService } from '../../../core/services/parameters-service/parameters.service';\nimport { UserService } from '../../../core/services/user-service/user-service';\n\n@Component({\n selector: 'ipt-create-user-form',\n templateUrl: './create-user-form.component.html',\n styleUrls: ['./create-user-form.component.css'],\n animations: [\n trigger('fade', [\n transition('void => *', [\n style({ opacity: 0 }),\n animate(200, style({opacity: 1}))\n ])\n ])\n ]\n})\nexport class CreateUserFormComponent implements OnInit {\n @Input() userType!: string;\n @Input() visibility: boolean = false;\n @Output() userCreated = new EventEmitter<boolean>(false);\n @Output() onHide = new EventEmitter<boolean>(false);\n\n createUserForm!: FormGroup;\n phoneNumberIndicatives: any;\n idTypes: any;\n states: any;\n loader: boolean = false;\n cities: any;\n photo: string = '';\n\n constructor(\n private fb: FormBuilder,\n private parameterService: ParameterService,\n private userService: UserService\n ) {}\n\n ngOnInit() {\n this.initForm();\n this.getParameters();\n }\n\n closeModal() {\n this.visibility = false;\n this.onHide.emit(true);\n }\n\n createUser() {\n this.loader = true;\n\n let request: RegisterDashboardRq = {\n name: this.createUserForm.controls['name'].value,\n last_name: this.createUserForm.controls['last_name'].value,\n id_card_type: this.createUserForm.controls['id_card_type'].value,\n id_card: this.createUserForm.controls['id_card'].value,\n phone_indicative: this.createUserForm.controls['phone_indicative'].value,\n phone_number: this.createUserForm.controls['phone_number'].value,\n email: this.createUserForm.controls['email'].value,\n city: this.createUserForm.controls['city'].value,\n service_hour: this.createUserForm.controls['service_hour'].value,\n role: this.createUserForm.controls['role'].value,\n password: this.createUserForm.controls['password'].value,\n };\n\n this.userService.registerDashboard(request).subscribe((response) => {\n console.log(response.message)\n switch (response.message.code) {\n case 1:\n this.userCreated.emit(true);\n this.initForm();\n break;\n case 2:\n throw new Error(\"Los datos ingresados no corresponden a un usuario registrado en nuestro sistema, por favor reviselos.\");\n case 3:\n throw new Error(\"Los datos ingresados no cumplen los parámetros establecidos\");\n default:\n break;\n }\n this.loader = false;\n });\n }\n\n getParameters() {\n this.parameterService.getIndicatives().subscribe((response: { data: any; }) => {\n this.phoneNumberIndicatives = response.data;\n });\n this.parameterService.getCardTypes('col').subscribe((response: { data: any; }) => {\n this.idTypes = response.data;\n });\n this.parameterService.getStatesByCountry('col').subscribe((response): void => {\n this.states = response.data;\n });\n }\n\n getRolesOptions(): any {\n // Estudiante\n if (this.userType === 'student') {\n this.setPhoto('student');\n return [\n { code: '13', name: 'Student' },\n ];\n }\n\n // Académico\n if (this.userType === 'academic') {\n this.setPhoto('academic');\n return [\n { code: '11', name: 'Teacher PRO' },\n { code: '12', name: 'Teacher' },\n ];\n }\n\n // Administrativo\n if (this.userType === 'administrative') {\n this.setPhoto('administrative');\n return [\n { code: '31', name: 'Administrative Supervisor' },\n { code: '32', name: 'Administrative Advisor' },\n ];\n }\n\n // Marketing\n if (this.userType === 'marketing') {\n this.setPhoto('marketing');\n return [\n { code: '21', name: 'Marketing Supervisor' },\n { code: '22', name: 'Marketing Advisor' },\n ];\n }\n\n // Comercial\n if (this.userType === 'commercial') {\n this.setPhoto('commercial');\n return [\n { code: '41', name: 'Commercial Supervisor' },\n { code: '42', name: 'Commercial Advisor' },\n ];\n }\n\n // Cartera\n if (this.userType === 'treasure') {\n this.setPhoto('treasure');\n return [\n { code: '51', name: 'Treauser Supervisor' },\n { code: '52', name: 'Treauser Advisor' },\n ];\n }\n }\n\n initForm() {\n this.createUserForm = this.fb.group({\n name: ['',[Validators.required,Validators.minLength(3),Validators.maxLength(32)],],\n last_name: ['',[Validators.required,Validators.minLength(5),Validators.maxLength(32),],],\n email: ['', [Validators.required, Validators.maxLength(300)]],\n id_card_type: ['', [Validators.required]],\n id_card: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20),]],\n phone_indicative: ['', [Validators.required]],\n city: ['', [Validators.required]],\n role: ['', [Validators.required]],\n service_hour: ['', [Validators.required]],\n phone_number: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(15)]],\n password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\n re_password: ['', [Validators.required, Validators.minLength(7), Validators.maxLength(32)]],\n state: [''],\n });\n }\n\n setPhoto(type: string) {\n if (type === 'student') this.photo = '../../../assets/user-form-assets/estudiante.jpg'\n if (type === 'academic') this.photo = '../../../assets/user-form-assets/academico.png'\n if (type === 'administrative') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\n if (type === 'marketing') this.photo = '../../../assets/user-form-assets/marketing.jpg'\n if (type === 'commercial') this.photo = '../../../assets/user-form-assets/comercial.jpg'\n if (type === 'treasure') this.photo = '../../../assets/user-form-assets/administrativo.jpg'\n }\n\n selectRol(role: any) {\n if (role !== 'Seleccione el rol') {\n this.createUserForm.controls['role'].setValue(role);\n } else {\n this.createUserForm.controls['role'].setValue(null);\n }\n }\n\n selectIndicatives(indicative: any) {\n if (indicative !== 'Seleccione el indicativo') {\n this.createUserForm.controls['phone_indicative'].setValue(indicative);\n } else {\n this.createUserForm.controls['phone_indicative'].setValue(null);\n }\n }\n\n selectIdType(idType: any) {\n if (idType !== 'Ingrese el tipo de documento') {\n this.createUserForm.controls['id_card_type'].setValue(idType);\n } else {\n this.createUserForm.controls['id_card_type'].setValue(null);\n }\n }\n\n selectState(state: any) {\n if (state !== 'Seleccione el departamento') {\n this.createUserForm.controls['state'].setValue(state);\n this.parameterService.getCitiesByState(state).subscribe((response) => {\n this.cities = response.data;\n });\n } else {\n this.createUserForm.controls['state'].setValue(null);\n this.createUserForm.controls['city'].setValue(null);\n this.cities = [];\n }\n }\n\n selectCity(city: any) {\n if (city !== 'Ciudad de residencia') {\n this.createUserForm.controls['city'].setValue(city);\n } else {\n this.createUserForm.controls['city'].setValue(null);\n }\n }\n}\n","<main *ngIf=\"visibility\">\n <div @fade class=\"modal_container\">\n <div class=\"header_modal\">\n <h1>Crear usuario de {{ userType | titlecase}}</h1>\n <button (click)=\"closeModal()\">x</button>\n </div>\n <div class=\"grid_container\">\n <div>\n <form autocomplete=\"off\" [formGroup]=\"createUserForm\">\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombre completo'\"\n [control]=\"createUserForm.controls['name']\"\n [validateText]=\"'Debe ingresar el nombre'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"createUserForm.controls['last_name']\"\n [validateText]=\"'Debe ingresar los apellidos'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Correo electrónico'\"\n [control]=\"createUserForm.controls['email']\"\n [validateText]=\"'Debe tener dominio @inglesparatodos.edu.co'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [defaultText]=\"'Seleccione el rol'\"\n (eventSelect)=\"selectRol($event)\"\n [data]=\"getRolesOptions()\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"phoneNumberIndicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Seleccione el indicativo'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Número de teléfono'\"\n [control]=\"createUserForm.controls['phone_number']\"\n [validateText]=\"'Debe ingresar un número de teléfono válido'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Ingrese el tipo de documento'\"\n ></ipt-select>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'Documento de identidad'\"\n [control]=\"createUserForm.controls['id_card']\"\n [validateText]=\"'Debe ingresar el número de documento'\"\n ></ipt-input>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Seleccione el departamento'\"\n ></ipt-select>\n <ipt-select\n [isRequired]=\"true\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <ipt-input *ngIf=\"!(userType === 'student')\"\n [inputType]=\"'number'\"\n [placeHolder]=\"'Ingrese las horas de servicio'\"\n [control]=\"createUserForm.controls['service_hour']\"\n [validateText]=\"'Debe ingresar las horas de servicio'\"\n ></ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Contraseña'\"\n [control]=\"createUserForm.controls['password']\"\n >\n </ipt-input>\n <ipt-input\n [inputType]=\"'password'\"\n [placeHolder]=\"'Repetir contraseña'\"\n [control]=\"createUserForm.controls['re_password']\"\n >\n </ipt-input>\n </form>\n\n <div class=\"buttons-container\">\n <ipt-button\n [label]=\"'Crear usuario'\"\n [isEnabled]=\"\n !loader &&\n createUserForm.value['re_password'] ===\n createUserForm.value['password']\n \"\n (onClick)=\"createUser()\"\n [primary]=\"true\"\n >\n </ipt-button>\n </div>\n </div>\n <div [ngStyle]=\"{'background-image': 'url(' + photo + ')'}\" class=\"user_type_image\"></div>\n </div>\n </div>\n</main>\n","import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\n\nimport { BaseService } from '../../../core/utils/base-service/base.service';\nimport { UserTokenRq } from '../../../core/models/user/user-rq.model';\nimport { StorageService } from '../../../core/services/storage-service/storage-service';\nimport { UserService } from '../../../core/services/user-service/user-service';\n\n@Component({\n selector: 'ipt-sidenav',\n template: `\n <mat-sidenav #sidenav mode=\"push\" >\n <mat-toolbar color=\"primary\" (click)=\"sidenav.toggle()\">\n <span style=\"font-size: 15px;\">{{department}}</span>\n <span class=\"menu-icon-close\"></span>\n </mat-toolbar>\n\n <mat-nav-list *ngFor=\"let route of routes\">\n <nav class=\"flex-container-menu\">\n <ipt-aside-button\n [buttonActive]=\"this.setPage === route.page\"\n [icon]=\"route.icon\"\n [text]=\"route.text\"\n (isClicked)=\"clickPage(route.page)\"\n (click)=\"sidenav.toggle()\"\n >\n </ipt-aside-button>\n </nav>\n </mat-nav-list>\n </mat-sidenav>\n\n <mat-toolbar class=\"header\">\n <div class=\"menu-container\" (click)=\"sidenav.toggle()\">\n <p>Menu</p>\n <div class=\"menu-icon\"></div>\n </div>\n\n <img class=\"img-logo\" src=\"http://qa.iptdev.com.co/assets/logos/IPT-logo.png\" alt=\"\" />\n\n <div class=\"text-container\">\n <span class=\"p1\">{{ currentDay }}</span>\n <span *ngIf=\"hour >= 0 && hour < 12\" class=\"p2\">\n Hey {{ userName }}, Good moorning!\n </span>\n <p *ngIf=\"hour >= 12 && hour < 18\" class=\"p2\">\n Hey {{ userName }}, Good afternoon!\n </p>\n <p *ngIf=\"hour >= 18 && hour < 24\" class=\"p2\">\n Hey {{ userName }}, Good evening!\n </p>\n </div>\n\n <div *ngIf=\"!this.appUser\" class=\"logout-container\" (click)=\"logout()\">\n <p class=\"logout-button\">Cerrar sesión</p>\n <div class=\"photo-logout\"></div>\n </div>\n </mat-toolbar>\n `,\n styleUrls: ['./sidenav.css'],\n})\nexport class SidenavComponent implements OnInit {\n @Input() department!: string;\n @Input() setPage!: string;\n @Input() userName!: string;\n @Output() pageChangeEvent = new EventEmitter<string>();\n\n appUser: boolean = false;\n routes: any[] = [];\n options: any = { weekday: 'long', month: 'long', day: 'numeric' };\n currentDay = new Date().toLocaleDateString('en-EN', this.options);\n hour = new Date().getHours();\n\n constructor(\n private userService: UserService,\n private baseService: BaseService,\n private storageService: StorageService\n ) {}\n\n ngOnInit(): void {\n let user = this.storageService.getCurrentUser()?.token;\n let token: string = user === undefined ? '' : user;\n\n let request: UserTokenRq = {\n token: token,\n };\n\n this.userService.getRoutesForRole(request).subscribe((response) => {\n this.routes = response.data;\n });\n\n this.appUser = this.baseService.isAnAppUser();\n }\n\n clickPage(event: string) {\n this.pageChangeEvent.emit(event);\n }\n\n logout() {\n this.storageService.logout();\n this.pageChangeEvent.emit('logout');\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\nimport { MatButtonModule } from '@angular/material/button';\n\n@NgModule({\n exports: [MatSidenavModule, MatToolbarModule, MatIconModule, MatListModule, MatButtonModule],\n})\nexport class MaterialModule {}\n","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { CommonModule, CurrencyPipe, TitleCasePipe } from '@angular/common';\n\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { AsideButtonComponent } from './atoms/aside-button/aside-button.component';\nimport { ButtonComponent } from './atoms/button/button.component';\nimport { CheckboxComponent } from './atoms/checkbox/checkbox.component';\nimport { DatalistComponent } from './atoms/datalist/datalist.component';\nimport { InputComponent } from './atoms/input/input.component';\nimport { LevelButtonComponent } from './atoms/level-button/level-button.component';\nimport { LevelTextComponent } from './atoms/level-text/level-text.component';\nimport { LoaderComponent } from './atoms/loader/loader.component';\nimport { RadioComponent } from './atoms/radio/radio.component';\nimport { SelectComponent } from './atoms/select/select.component';\nimport { TextLinkComponent } from './atoms/text-link/text-link.component';\n\nimport { LoginFormComponent } from './forms/login-form/login-form.component';\nimport { CreateUserFormComponent } from './forms/create-user-form/create-user-form.component';\n\nimport { SidenavComponent } from './molecules/sidenav/sidenav.component';\nimport { MaterialModule } from './material.module';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\n\n\n@NgModule({\n declarations: [\n AsideButtonComponent,\n ButtonComponent,\n CheckboxComponent,\n CreateUserFormComponent,\n DatalistComponent,\n InputComponent,\n LevelButtonComponent,\n LevelTextComponent,\n LoginFormComponent,\n LoaderComponent,\n RadioComponent,\n SelectComponent,\n SidenavComponent,\n TextLinkComponent,\n ],\n imports: [\n CommonModule,\n // BrowserModule, // Para evitar doble carga de BrowserModule\n FormsModule,\n ReactiveFormsModule,\n MaterialModule,\n CurrencyMaskModule\n ],\n exports: [\n AsideButtonComponent,\n ButtonComponent,\n CheckboxComponent,\n CreateUserFormComponent,\n DatalistComponent,\n InputComponent,\n LevelButtonComponent,\n LevelTextComponent,\n LoaderComponent,\n RadioComponent,\n SelectComponent,\n TextLinkComponent,\n LoginFormComponent,\n SidenavComponent,\n CurrencyMaskModule\n ],\n providers: [\n CurrencyPipe,\n TitleCasePipe\n ]\n})\n\nexport class ComponentsModule { }\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\nimport { CreateCourseRq, EditCourseRq, GetAvailibleCoursesRq, GetCourseByCodeRq, GetCoursesByTeacherRq, GetCoursesRq } from '../../models/course/course-rq.model';\nimport { CourseStartDateRq } from '../../models/cronogram/cronogram.models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CourseService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n createCourse(course: CreateCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course';\n this.generateRequestParams(course);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n editCourse(course: EditCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'put/course';\n this.generateRequestParams(course);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getAllCourses(params: GetCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/courses';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByLevel(params: GetCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/level';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAvailibleCourses( availibleCourses: GetAvailibleCoursesRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/for/cod';\n this.generateRequestParams(availibleCourses);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCourseByCode(params: GetCourseByCodeRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/teacher';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getFilteredCoursesByTeacher(params: GetCoursesByTeacherRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/filtered/by/teacher';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCoursesByStartDate(params: CourseStartDateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/by/startdate';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n numberClassByCode(idCode: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/coursetype/numclass/by/code/' + idCode;\n return this.http.get(serviceUrl);\n }\n\n\n}\n","import { Injectable } from '@angular/core';\nimport { CanActivate, ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\n@Injectable()\nexport class RedirectGuard implements CanActivate {\n constructor(private router: Router) {}\n\n canActivate( route: ActivatedRouteSnapshot, state: RouterStateSnapshot ): boolean {\n window.location.href = route.data['externalUrl'];\n return true;\n }\n}\n","import { EventEmitter, Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SwitchService {\n\n constructor() { }\n\n $modal = new EventEmitter<any>();\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport {\n CopyExamRq,\n CreateAnswerRq,\n CreateQuestionRq,\n CreateSectionRq,\n CreateSectionWithAllRq,\n Exam,\n GetAllExamsRq,\n GetAllSectionsRq,\n GetQuestionsBySectionRq,\n getQuestionsBySectionsRq,\n UpdateAnswerRq,\n UpdateExamRq,\n UpdateExamStatusRq,\n UpdateQuestionRq,\n UpdateQuestionStateRq,\n UpdateSectionMediaRq,\n UpdateSectionRq,\n UpdateSectionStateRq,\n} from '../../models/test/test.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TestService extends IPTGeneralService{\n private SERVICE_URL = 'test/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n // ---------------------- EXÁMENES ---------------------- //\n createExam(exam: Exam): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/exam';\n this.generateRequestParams(exam);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllExams(params: GetAllExamsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/exam';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateExam(params: UpdateExamRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/exam';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n updateExamStatus(params: UpdateExamStatusRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/exam/status';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n copyExam(params: CopyExamRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'copy/exam';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getExamByCode(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/exam/by/code/' + code;\n return this.http.get(serviceUrl);\n }\n\n getExamByAuthor(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/exams/by/author/' + code;\n return this.http.get(serviceUrl);\n }\n\n // ---------------------- SECCIONES ---------------------- //\n createSectionWithAll(params: CreateSectionWithAllRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section/with/all';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n createSection(params: CreateSectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllSections(params: GetAllSectionsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/all/sections';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateSection(params: UpdateSectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/section';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n updateSectionMedia(params: UpdateSectionMediaRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/section/media';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateSectionState(params: UpdateSectionStateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/section/state';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getSectionsByExam(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/sections/by/exam/' + code;\n return this.http.get(serviceUrl);\n }\n\n // ---------------------- PREGUNTAS ---------------------- //\n createQuestion(params: CreateQuestionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/question';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateQuestion(params: UpdateQuestionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/question';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getQuestionsBySections(params: getQuestionsBySectionsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/sections';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getQuestionsBySection(params: GetQuestionsBySectionRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/questions/by/section';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n // ---------------------- RESPUESTAS ---------------------- //\n createAnswer(params: CreateAnswerRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/answer';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateAnswer(params: UpdateAnswerRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/answer';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n getAnswersByQuestion(code: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/answers/by/question/' + code;\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n updateQuestionState(params: UpdateQuestionStateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'update/question/state';\n this.generateRequestParams(params);\n return this.http.put(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { getStrategyByUserCommercialRq, CreateObservationsRq } from '../../models/marketing/marketing.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class MarketingService extends IPTGeneralService{\n\n private SERVICE_URL = 'commercial/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getStrategyByUserCommercial(user: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/contact/strategy/byaviser';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getObservationsContact(codeContact: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/observation/strategy/bycode/' + codeContact;\n return this.http.get(serviceUrl);\n }\n\n createObservations(params: CreateObservationsRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/contact/observation/create';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getUserStatistics(userToken: getStrategyByUserCommercialRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/statistics';\n this.generateRequestParams(userToken);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getTopAdviser(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/topadviser';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n getMovementStatus(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/movements/status';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n getgroupSignupStatus(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/contact/strategy/group/signup';\n return this.http.get(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { getdiscountAllRq, DiscountRq, DiscountUpdateRq } from '../../models/budget/budget.model';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BudgetService extends IPTGeneralService{\n\n private SERVICE_URL = 'budget/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getAllDiscount(user: getdiscountAllRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discounts/coupon/all';\n this.generateRequestParams(user);\n return this.http.post(serviceUrl,this.httpOptions);\n }\n createDiscount(params: DiscountRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/create';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n updateDiscount(params: DiscountUpdateRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/discount/coupon/update';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { ClassroomByIdCalendarRq, ClassroomModalityRq } from '../../models/classroom/classroom-rq.model';\n\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ClassroomService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getClassroomsByModality(params: ClassroomModalityRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/modality';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getClassroomByIdCalendar(params: ClassroomByIdCalendarRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/classroom/by/idcalendar';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ActivityService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getActivityByCourse(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/activities/by/course/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getNoticesByCourse(codeCourse: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/notices/by/course/code/' + codeCourse;\n return this.http.get(serviceUrl);\n }\n\n getUnitsByActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/units/by/activity/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getElementsByUnit(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getCourseTeacherByToken(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/course/teacher/by/token';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getAllTypeResource(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/type/resource/template';\n return this.http.get(serviceUrl);\n }\n\n getAllTypeElement(): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/all/type/element/template';\n return this.http.get(serviceUrl);\n }\n\n getElementsByUnitNew(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/element/by/unit/code/new';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n updateCourseByCronogram(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/update/course/by/code';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getTemplateCourseByCourse(codeCourse: number): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'get/template/course/by/course/code/' + codeCourse;\n return this.http.get(serviceUrl);\n }\n\n saveMagnageActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/manage/activities/by/course/element';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n postNotesActivityH5P(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/activity/h5p/notes';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getMagnageActivity(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/template/admin/by/course/element';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n getNoteActivityH5P(params: any): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/note/activity/h5p';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CourseService } from './services/course-service/course-service.model';\nimport { ParameterService } from './services/parameters-service/parameters.service';\nimport { RedirectGuard } from './utils/route-service/route.service';\nimport { StorageService } from './services/storage-service/storage-service';\nimport { SwitchService } from './services/switch-service/switch.service';\nimport { UserService } from './services/user-service/user-service';\nimport { BaseService } from './utils/base-service/base.service';\nimport { TestService } from './services/test-service/test.service';\nimport { MarketingService } from './services/marketing-service/marketing-service';\nimport { BudgetService } from './services/budget-service/budget-service';\nimport { ClassroomService } from './services/classroom-service/classroom-service.service';\nimport { ActivityService } from './services/activity-service/activity.service';\n\n@NgModule({\n providers: [\n ParameterService,\n CourseService,\n StorageService,\n UserService,\n SwitchService,\n RedirectGuard,\n BaseService,\n TestService,\n MarketingService,\n ClassroomService,\n BudgetService,\n ActivityService\n ]\n})\nexport class CoreModule {}\n","import { NgModule } from '@angular/core';\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\n\nimport { ComponentsModule } from './components/components.module';\nimport { CoreModule } from './core/core.module';\n\n@NgModule({\n imports: [\n ComponentsModule,\n CoreModule,\n CurrencyMaskModule\n ],\n exports: [\n ComponentsModule,\n CoreModule,\n CurrencyMaskModule\n ],\n})\n\nexport class DesignSystemModule { }\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Response } from '../../models/response/response.interface';\nimport { Observable } from 'rxjs';\nimport { AddEventByCourseRq, CourseAttendance, GetEventByCodeRq, GetEventsByCourseCodeRq, GetNotAttendancesByCodRq, RegisterNewAttendanceByEventRq } from '../../models/attendance/attendance.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AttendanceService extends IPTGeneralService{\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n addEventByCourseRq(params: AddEventByCourseRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/event/by/course`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventsByCourseCode(params: GetEventsByCourseCodeRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/events/by/course_code`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getEventByCode(params: GetEventByCodeRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/event/by/code`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n registerNewAttendanceByEvent(params: RegisterNewAttendanceByEventRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/register/attendance/by/event`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getAttendaceByCourse(courseCode: number): Observable<CourseAttendance> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendances/by/course/${courseCode}`;\n return this.http.get<CourseAttendance>(serviceUrl);\n }\n\n getCODCodeByStudentCode(studentCode: number) {\n let serviceUrl = `${this.SERVICE_URL}/get/cod_code/by/student_code/${studentCode}`;\n return this.http.get<any>(serviceUrl);\n }\n\n getAttendanceHistoryByStudent(token: string, cod_code: number): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/post/obtain/attendance/history/by/student`;\n this.generateRequestParams({token, cod_code});\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getAllNotAttendancesByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/by/cod`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getNotAttendancesOfLastWeekByCod(params: GetNotAttendancesByCodRq): Observable<Response> {\n let serviceUrl = `${this.SERVICE_URL}/get/all/not/attendances/lastweek/by/cod`;\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { CreateNewNoteRq, GetNotesByGroupRq, GetNotesByStudentRq, Notes, UpdateStudentNoteRq, calculateFinalNoteRq } from '../../models/notes/notes.interface';\nimport { Observable } from 'rxjs';\nimport { Response } from '../../models/response/response.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class NotesService extends IPTGeneralService{\n\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n\n getNotesByGroup(params: GetNotesByGroupRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/course';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n getNotesByStudent(params: GetNotesByStudentRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/notes/by/student';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n createNewNote(params: CreateNewNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/create/note';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n updateStudentNote(params: UpdateStudentNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'update/note';\n this.generateRequestParams(params);\n return this.http.put<Response>(serviceUrl, this.httpOptions);\n }\n\n calculateFinalNote(params: calculateFinalNoteRq): Observable<Response> {\n let serviceUrl = this.SERVICE_URL + 'post/calculate/final/note';\n this.generateRequestParams(params);\n return this.http.post<Response>(serviceUrl, this.httpOptions);\n }\n\n}\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { GetStudentsByCourseRq } from '../../models/student/student.interface';\nimport { IPTGeneralService } from '../service-enviroments';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StudentService extends IPTGeneralService{\n\n private SERVICE_URL = 'academic/api/';\n\n constructor(private http: HttpClient) {\n super();\n this.SERVICE_URL = this.baseUrl() + this.SERVICE_URL;\n }\n\n getStudentsByCourse(params: GetStudentsByCourseRq): Observable<any> {\n let serviceUrl = this.SERVICE_URL + 'post/obtain/students/by/course';\n this.generateRequestParams(params);\n return this.http.post(serviceUrl, this.httpOptions);\n }\n\n}\n","import { UserRs } from '../user/user-rs.model';\n\nexport class Session {\n token!: string;\n user!: UserRs;\n}","export class UserRs {\n code!: number;\n name!: string;\n last_name!: string;\n nick_name!: string;\n email!: string;\n email_ipt!: string;\n role!: number;\n service_hour!: number;\n phone_indicative!: number;\n phone_number!: number;\n gender!: string;\n birthdate!: string;\n city!: number;\n id_card_type!: number;\n id_card!: number;\n comment?: string;\n password!: string;\n token!: string;\n}\n\nexport class UserLoginRs {\n code!: number;\n name!: string;\n last_name!: string;\n email!: string;\n id_card!: string;\n id_card_type!: number;\n phone_indicative!: number;\n phone!: string;\n gender!: number;\n city!: number;\n role!: number;\n birthdate!: string;\n token!: string;\n}\n","/*\n * Public API Surface of design-system\n */\n\nexport * from \"./lib/design-system.module\"\nexport * from \"./lib/components/components.module\"\nexport * from \"./lib/core/core.module\"\n\n// Atomos\nexport * from \"./lib/components/atoms/aside-button/aside-button.component\"\nexport * from \"./lib/components/atoms/button/button.component\"\nexport * from \"./lib/components/atoms/checkbox/checkbox.component\"\nexport * from \"./lib/components/atoms/datalist/datalist.component\"\nexport * from \"./lib/components/atoms/input/input.component\"\nexport * from \"./lib/components/atoms/level-button/level-button.component\"\nexport * from \"./lib/components/atoms/level-text/level-text.component\"\nexport * from \"./lib/components/atoms/loader/loader.component\"\nexport * from \"./lib/components/atoms/radio/radio.component\"\nexport * from \"./lib/components/atoms/select/select.component\"\nexport * from \"./lib/components/atoms/text-link/text-link.component\"\n\n// Formularios\nexport * from \"./lib/components/forms/login-form/login-form.component\"\nexport * from \"./lib/components/molecules/sidenav/sidenav.component\"\nexport * from \"./lib/components/forms/create-user-form/create-user-form.component\"\n\n// Servicios\nexport * from \"./lib/core/services/attendance-service/attendance.service\"\nexport * from \"./lib/core/services/budget-service/budget-service\"\nexport * from \"./lib/core/services/course-service/course-service.model\"\nexport * from \"./lib/core/services/calendar-service/calendar.service\"\nexport * from \"./lib/core/services/marketing-service/marketing-service\"\nexport * from \"./lib/core/services/notes-service/notes.service\"\nexport * from \"./lib/core/services/parameters-service/parameters.service\"\nexport * from \"./lib/core/services/student-service/student.service\"\nexport * from \"./lib/core/services/storage-service/storage-service\"\nexport * from \"./lib/core/services/switch-service/switch.service\"\nexport * from \"./lib/core/services/test-service/test.service\"\nexport * from \"./lib/core/services/user-service/user-service\"\nexport * from \"./lib/core/utils/base-service/base.service\"\nexport * from \"./lib/core/utils/route-service/route.service\"\nexport * from \"./lib/core/services/classroom-service/classroom-service.service\"\nexport * from \"./lib/core/services/activity-service/activity.service\"\n// Modelos\nexport * from \"./lib/core/models/activities/activities.interface\"\nexport * from \"./lib/core/models/attendance/attendance.interface\"\nexport * from \"./lib/core/models/budget/budget.model\"\nexport * from \"./lib/core/models/cod/cod-rq.model\"\nexport * from \"./lib/core/models/calendar/calendar-rq.models\"\nexport * from \"./lib/core/models/cronogram/cronogram.models\"\nexport * from \"./lib/core/models/course/course-rq.model\"\nexport * from \"./lib/core/models/marketing/marketing.model\"\nexport * from \"./lib/core/models/notes/notes.interface\"\nexport * from \"./lib/core/models/response/response.interface\"\nexport * from \"./lib/core/models/session/session.model\"\nexport * from \"./lib/core/models/student/student.interface\"\nexport * from \"./lib/core/models/table/table-rs.model\"\nexport * from \"./lib/core/models/test/test.model\"\nexport * from \"./lib/core/models/url/url.model\"\nexport * from \"./lib/core/models/user/user-rq.model\"\nexport * from \"./lib/core/models/user/user-rs.model\"\nexport * from \"./lib/core/models/classroom/classroom-rq.model\"\n\n// Librería para máscara de moneda\nexport * from \"./lib/components/components.module\"\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i1.UserService","i2.StorageService","i3.CalendarService","i2.BaseService","i3.InputComponent","i4.ButtonComponent","i2.ParameterService","i3.UserService","i4.InputComponent","i5.SelectComponent","i6.ButtonComponent","i7","i3.StorageService","i7.AsideButtonComponent","i8"],"mappings":"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"}