blob: 3946141f40bb1a6d3b633a145fced974410a1774 [file] [log] [blame]
{"version":3,"file":"covalent-core-common.js","sources":["../../src/platform/core/common/forms/auto-trim/auto-trim.directive.ts","../../src/platform/core/common/directives/fullscreen/fullscreen.directive.ts","../../src/platform/core/common/pipes/time-ago/time-ago.pipe.ts","../../src/platform/core/common/pipes/time-difference/time-difference.pipe.ts","../../src/platform/core/common/pipes/time-until/time-until.pipe.ts","../../src/platform/core/common/pipes/bytes/bytes.pipe.ts","../../src/platform/core/common/pipes/decimal-bytes/decimal-bytes.pipe.ts","../../src/platform/core/common/pipes/digits/digits.pipe.ts","../../src/platform/core/common/pipes/truncate/truncate.pipe.ts","../../../src/platform/core/common/services/router-path.service.ts","../../../src/platform/core/common/services/icon.service.ts","../../../../src/platform/core/common/common.module.ts","../../src/platform/core/common/animations/rotate/rotate.animation.ts","../../src/platform/core/common/animations/collapse/collapse.animation.ts","../../src/platform/core/common/animations/fade/fadeInOut.animation.ts","../../src/platform/core/common/animations/bounce/bounce.animation.ts","../../src/platform/core/common/animations/flash/flash.animation.ts","../../src/platform/core/common/animations/headshake/headshake.animation.ts","../../src/platform/core/common/animations/jello/jello.animation.ts","../../src/platform/core/common/animations/pulse/pulse.animation.ts","../../../src/platform/core/common/behaviors/control-value-accesor.mixin.ts","../../../src/platform/core/common/behaviors/disabled.mixin.ts","../../../src/platform/core/common/behaviors/disable-ripple.mixin.ts","../../src/platform/core/common/forms/validators/validators.ts","../../../src/platform/core/common/functions/clipboard.ts","../../../src/platform/core/common/functions/convert.ts","../../../src/platform/core/common/functions/download.ts","../../../src/platform/core/common/functions/file.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { HostListener, Host, Optional } from '@angular/core';\nimport { NgModel } from '@angular/forms';\n\n@Directive({\n selector: '[tdAutoTrim]',\n})\nexport class TdAutoTrimDirective {\n constructor(@Optional() @Host() private _model: NgModel) {}\n\n /**\n * Listens to host's (blur) event and trims value.\n */\n @HostListener('blur', ['$event'])\n onBlur(event: Event): void {\n if (this._model && this._model.value && typeof this._model.value === 'string') {\n this._model.update.emit(this._model.value.trim());\n }\n }\n}\n","import { Directive, HostListener, ElementRef, Inject } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\ninterface IFsDocument extends HTMLDocument {\n fullscreenElement: Element;\n webkitFullscreenElement: Element;\n mozFullscreenElement: Element;\n msFullscreenElement: Element;\n webkitExitFullscreen: () => void;\n mozCancelFullScreen: () => void;\n msExitFullscreen: () => void;\n}\n\n@Directive({\n selector: '[tdFullScreen]',\n exportAs: 'tdFullScreen',\n})\nexport class TdFullscreenDirective {\n fullScreenIsActive: boolean = false;\n constructor(@Inject(DOCUMENT) private _document: IFsDocument, private _el: ElementRef) {}\n\n @HostListener('document:fullscreenchange', ['$event'])\n @HostListener('document:webkitfullscreenchange', ['$event'])\n @HostListener('document:mozfullscreenchange', ['$event'])\n @HostListener('document:msfullscreenchange', ['$event'])\n public fsChangeHandler(event: Event): void {\n this.fullScreenIsActive = event.srcElement === this._getFullScreenElement();\n }\n\n public toggleFullScreen(): void {\n this._getFullScreenElement() === this._el.nativeElement ? this.exitFullScreen() : this.enterFullScreen();\n }\n\n public enterFullScreen(): void {\n const {\n _el: { nativeElement },\n }: TdFullscreenDirective = this;\n const enterFullScreenMap: object = {\n requestFullscreen: () => nativeElement.requestFullscreen(), // Chrome\n webkitRequestFullscreen: () => nativeElement.webkitRequestFullscreen(), // Safari\n mozRequestFullScreen: () => nativeElement.mozRequestFullScreen(), // Firefox\n msRequestFullscreen: () => nativeElement.msRequestFullscreen(), // IE\n };\n\n for (const handler of Object.keys(enterFullScreenMap)) {\n if (nativeElement[handler]) {\n enterFullScreenMap[handler]();\n }\n }\n }\n\n public exitFullScreen(): void {\n const {\n _document,\n _el: { nativeElement },\n }: TdFullscreenDirective = this;\n const exitFullScreenMap: object = {\n exitFullscreen: () => _document.exitFullscreen(), // Chrome\n webkitExitFullscreen: () => _document.webkitExitFullscreen(), // Safari\n mozCancelFullScreen: () => _document.mozCancelFullScreen(), // Firefox\n msExitFullscreen: () => _document.msExitFullscreen(), // IE\n };\n\n for (const handler of Object.keys(exitFullScreenMap)) {\n if (_document[handler] && this._getFullScreenElement() === nativeElement) {\n exitFullScreenMap[handler]();\n }\n }\n }\n\n private _getFullScreenElement(): Element {\n const { _document }: TdFullscreenDirective = this;\n const tdFullScreenElementMap: object = {\n fullscreenElement: () => _document.fullscreenElement, // Chrome, Opera\n webkitFullscreenElement: () => _document.webkitFullscreenElement, // Safari\n mozFullscreenElement: () => _document.mozFullscreenElement, // Firefox\n msFullscreenElement: () => _document.msFullscreenElement, // IE, Edge\n };\n for (const props of Object.keys(tdFullScreenElementMap)) {\n if (_document[props]) {\n return _document[props];\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeAgo',\n})\nexport class TdTimeAgoPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((startTime - time.getTime()) / 1000);\n\n if (diff < 2) {\n return '1 second ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' seconds ago';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return '1 minute ago';\n }\n if (diff < 60) {\n return Math.floor(diff) + ' minutes ago';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return '1 hour ago';\n }\n if (diff < 24) {\n return Math.floor(diff) + ' hours ago';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return '1 day ago';\n }\n if (diff < 30) {\n return Math.floor(diff) + ' days ago';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return '1 month ago';\n }\n if (diff < 12) {\n return Math.floor(diff) + ' months ago';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return '1 year ago';\n } else {\n return Math.floor(diff) + ' years ago';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeDifference',\n})\nexport class TdTimeDifferencePipe implements PipeTransform {\n transform(start: any, end?: any): string {\n const startTime: Date = new Date(start);\n let endTime: Date;\n\n if (end !== undefined) {\n endTime = new Date(end);\n } else {\n endTime = new Date();\n }\n\n if (!startTime.getTime() || !endTime.getTime()) {\n return 'Invalid Date';\n }\n\n let diff: number = Math.floor((endTime.getTime() - startTime.getTime()) / 1000);\n\n const days: number = Math.floor(diff / (60 * 60 * 24));\n diff = diff - days * (60 * 60 * 24);\n\n const hours: number = Math.floor(diff / (60 * 60));\n diff = diff - hours * (60 * 60);\n\n const minutes: number = Math.floor(diff / 60);\n diff -= minutes * 60;\n\n const seconds: number = diff;\n\n const pad: string = '00';\n\n let daysFormatted: string = '';\n\n if (days > 0 && days < 2) {\n daysFormatted = ' day - ';\n } else if (days > 1) {\n daysFormatted = ' days - ';\n }\n\n return (\n (days > 0 ? days + daysFormatted : daysFormatted) +\n pad.substring(0, pad.length - (hours + '').length) +\n hours +\n ':' +\n pad.substring(0, pad.length - (minutes + '').length) +\n minutes +\n ':' +\n pad.substring(0, pad.length - (seconds + '').length) +\n seconds\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'timeUntil',\n})\nexport class TdTimeUntilPipe implements PipeTransform {\n transform(time: any, reference?: any): string {\n // Convert time to date object if not already\n time = new Date(time);\n const ref: Date = new Date(reference);\n\n // If not a valid timestamp, return 'Invalid Date'\n if (!time.getTime()) {\n return 'Invalid Date';\n }\n\n // For unit testing, we need to be able to declare a static start time\n // for calculations, or else speed of tests can bork.\n const startTime: number = isNaN(ref.getTime()) ? Date.now() : ref.getTime();\n let diff: number = Math.floor((time.getTime() - startTime) / 1000);\n\n if (diff < 2) {\n return 'in 1 second';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' seconds';\n }\n // Minutes\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 minute';\n }\n if (diff < 60) {\n return 'in ' + Math.floor(diff) + ' minutes';\n }\n // Hours\n diff = diff / 60;\n if (diff < 2) {\n return 'in 1 hour';\n }\n if (diff < 24) {\n return 'in ' + Math.floor(diff) + ' hours';\n }\n // Days\n diff = diff / 24;\n if (diff < 2) {\n return 'in 1 day';\n }\n if (diff < 30) {\n return 'in ' + Math.floor(diff) + ' days';\n }\n // Months\n diff = diff / 30;\n if (diff < 2) {\n return 'in 1 month';\n }\n if (diff < 12) {\n return 'in ' + Math.floor(diff) + ' months';\n }\n // Years\n diff = diff / 12;\n if (diff < 2) {\n return 'in 1 year';\n } else {\n return 'in ' + Math.floor(diff) + ' years';\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bytes',\n})\nexport class TdBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision: number = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k: number = 1024;\n const sizes: string[] = ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'decimalBytes',\n})\nexport class TdDecimalBytesPipe implements PipeTransform {\n /* `bytes` needs to be `any` or TypeScript complains\n Tried both `number` and `number | string` */\n transform(bytes: any, precision: number = 2): string {\n if (bytes === 0) {\n return '0 B';\n } else if (isNaN(parseInt(bytes, 10))) {\n /* If not a valid number, return 'Invalid Number' */\n return 'Invalid Number';\n }\n const k: number = 1000;\n const sizes: string[] = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n const i: number = Math.floor(Math.log(bytes) / Math.log(k));\n // if less than 1\n if (i < 0) {\n return 'Invalid Number';\n }\n return parseFloat((bytes / Math.pow(k, i)).toFixed(precision)) + ' ' + sizes[i];\n }\n}\n","import { Pipe, PipeTransform, Inject, LOCALE_ID } from '@angular/core';\nimport { DecimalPipe } from '@angular/common';\n\n@Pipe({\n name: 'digits',\n})\nexport class TdDigitsPipe implements PipeTransform {\n private _decimalPipe: DecimalPipe;\n\n constructor(@Inject(LOCALE_ID) private _locale: string = 'en') {\n this._decimalPipe = new DecimalPipe(this._locale);\n }\n\n /* `digits` needs to be type `digits: any` or TypeScript complains */\n transform(digits: any, precision: number = 1): string {\n if (digits === 0) {\n return '0';\n } else if (isNaN(parseInt(digits, 10))) {\n /* If not a valid number, return the value */\n return digits;\n } else if (digits < 1) {\n return this._decimalPipe.transform(digits.toFixed(precision));\n }\n const k: number = 1000;\n const sizes: string[] = ['', 'K', 'M', 'B', 'T', 'Q'];\n const i: number = Math.floor(Math.log(digits) / Math.log(k));\n const size: string = sizes[i];\n return (\n this._decimalPipe.transform(parseFloat((digits / Math.pow(k, i)).toFixed(precision))) + (size ? ' ' + size : '')\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'truncate',\n})\nexport class TdTruncatePipe implements PipeTransform {\n transform(text: any, length: number): string {\n if (typeof text !== 'string') {\n return '';\n }\n\n // Truncate\n let truncated: string = text.substr(0, length);\n\n if (text.length > length) {\n if (truncated.lastIndexOf(' ') > 0) {\n truncated = truncated.trim();\n }\n\n truncated += '…';\n }\n\n return truncated;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, RoutesRecognized } from '@angular/router';\n\nimport { filter, pairwise } from 'rxjs/operators';\n\n@Injectable()\nexport class RouterPathService {\n private static _previousRoute: string = '/';\n constructor(private _router: Router) {\n this._router.events\n .pipe(\n filter((e: any) => e instanceof RoutesRecognized),\n pairwise(),\n )\n .subscribe((e: any[]) => {\n RouterPathService._previousRoute = e[0].urlAfterRedirects;\n });\n }\n\n /*\n * Utility function to get the route the user previously went to\n * good for use in a \"back button\"\n */\n getPreviousRoute(): string {\n return RouterPathService._previousRoute;\n }\n}\n","/*\n * Copyright (C) 2016-2017 by Teradata Corporation. All rights reserved.\n * TERADATA CORPORATION CONFIDENTIAL AND TRADE SECRET\n */\n\nimport { Injectable } from '@angular/core';\n@Injectable()\nexport class IconService {\n // To update, run this little script on https://material.io/resources/icons/?style=baseline\n // JSON.stringify(\n // Array.from(document.querySelectorAll('icons-library .material-icons.icon-image-preview')).map(\n // ({textContent}) => textContent\n // )\n // );\n private _icons: string[] = [\n '3d_rotation',\n 'accessibility',\n 'accessibility_new',\n 'accessible',\n 'accessible_forward',\n 'account_balance',\n 'account_balance_wallet',\n 'account_box',\n 'account_circle',\n 'add_shopping_cart',\n 'alarm',\n 'alarm_add',\n 'alarm_off',\n 'alarm_on',\n 'all_inbox',\n 'all_out',\n 'android',\n 'announcement',\n 'arrow_right_alt',\n 'aspect_ratio',\n 'assessment',\n 'assignment',\n 'assignment_ind',\n 'assignment_late',\n 'assignment_return',\n 'assignment_returned',\n 'assignment_turned_in',\n 'autorenew',\n 'backup',\n 'book',\n 'bookmark',\n 'bookmark_border',\n 'bookmarks',\n 'bug_report',\n 'build',\n 'cached',\n 'calendar_today',\n 'calendar_view_day',\n 'camera_enhance',\n 'cancel_schedule_send',\n 'card_giftcard',\n 'card_membership',\n 'card_travel',\n 'change_history',\n 'check_circle',\n 'check_circle_outline',\n 'chrome_reader_mode',\n 'class',\n 'code',\n 'commute',\n 'compare_arrows',\n 'contact_support',\n 'contactless',\n 'copyright',\n 'credit_card',\n 'dashboard',\n 'date_range',\n 'delete',\n 'delete_forever',\n 'delete_outline',\n 'description',\n 'dns',\n 'done',\n 'done_all',\n 'done_outline',\n 'donut_large',\n 'donut_small',\n 'drag_indicator',\n 'eco',\n 'eject',\n 'euro_symbol',\n 'event',\n 'event_seat',\n 'exit_to_app',\n 'explore',\n 'explore_off',\n 'extension',\n 'face',\n 'favorite',\n 'favorite_border',\n 'feedback',\n 'find_in_page',\n 'find_replace',\n 'fingerprint',\n 'flight_land',\n 'flight_takeoff',\n 'flip_to_back',\n 'flip_to_front',\n 'g_translate',\n 'gavel',\n 'get_app',\n 'gif',\n 'grade',\n 'group_work',\n 'help',\n 'help_outline',\n 'highlight_off',\n 'history',\n 'home',\n 'horizontal_split',\n 'hourglass_empty',\n 'hourglass_full',\n 'http',\n 'https',\n 'important_devices',\n 'info',\n 'input',\n 'invert_colors',\n 'label',\n 'label_important',\n 'label_off',\n 'language',\n 'launch',\n 'line_style',\n 'line_weight',\n 'list',\n 'lock',\n 'lock_open',\n 'loyalty',\n 'markunread_mailbox',\n 'maximize',\n 'minimize',\n 'motorcycle',\n 'note_add',\n 'offline_bolt',\n 'offline_pin',\n 'opacity',\n 'open_in_browser',\n 'open_in_new',\n 'open_with',\n 'pageview',\n 'pan_tool',\n 'payment',\n 'perm_camera_mic',\n 'perm_contact_calendar',\n 'perm_data_setting',\n 'perm_device_information',\n 'perm_identity',\n 'perm_media',\n 'perm_phone_msg',\n 'perm_scan_wifi',\n 'pets',\n 'picture_in_picture',\n 'picture_in_picture_alt',\n 'play_for_work',\n 'polymer',\n 'power_settings_new',\n 'pregnant_woman',\n 'print',\n 'query_builder',\n 'question_answer',\n 'receipt',\n 'record_voice_over',\n 'redeem',\n 'remove_shopping_cart',\n 'reorder',\n 'report_problem',\n 'restore',\n 'restore_from_trash',\n 'restore_page',\n 'room',\n 'rounded_corner',\n 'rowing',\n 'schedule',\n 'search',\n 'settings_applications',\n 'settings_backup_restore',\n 'settings_bluetooth',\n 'settings_brightness',\n 'settings_cell',\n 'settings_ethernet',\n 'settings_input_antenna',\n 'settings_input_component',\n 'settings_input_composite',\n 'settings_input_hdmi',\n 'settings_input_svideo',\n 'settings_overscan',\n 'settings_phone',\n 'settings_power',\n 'settings_remote',\n 'settings_voice',\n 'shop',\n 'shop_two',\n 'shopping_basket',\n 'shopping_cart',\n 'speaker_notes',\n 'speaker_notes_off',\n 'spellcheck',\n 'stars',\n 'store',\n 'subject',\n 'supervised_user_circle',\n 'supervisor_account',\n 'swap_horiz',\n 'swap_horizontal_circle',\n 'swap_vert',\n 'swap_vertical_circle',\n 'sync_alt',\n 'system_update_alt',\n 'tab',\n 'tab_unselected',\n 'text_rotate_up',\n 'text_rotate_vertical',\n 'text_rotation_angledown',\n 'text_rotation_angleup',\n 'text_rotation_down',\n 'text_rotation_none',\n 'theaters',\n 'thumb_down',\n 'thumb_up',\n 'thumbs_up_down',\n 'timeline',\n 'toc',\n 'today',\n 'toll',\n 'touch_app',\n 'track_changes',\n 'translate',\n 'trending_down',\n 'trending_flat',\n 'trending_up',\n 'turned_in',\n 'turned_in_not',\n 'update',\n 'verified_user',\n 'vertical_split',\n 'view_agenda',\n 'view_array',\n 'view_carousel',\n 'view_column',\n 'view_day',\n 'view_headline',\n 'view_list',\n 'view_module',\n 'view_quilt',\n 'view_stream',\n 'view_week',\n 'visibility',\n 'visibility_off',\n 'voice_over_off',\n 'watch_later',\n 'work',\n 'work_off',\n 'work_outline',\n 'youtube_searched_for',\n 'zoom_in',\n 'zoom_out',\n 'add_alert',\n 'error',\n 'error_outline',\n 'notification_important',\n 'warning',\n '4k',\n 'add_to_queue',\n 'airplay',\n 'album',\n 'art_track',\n 'av_timer',\n 'branding_watermark',\n 'call_to_action',\n 'closed_caption',\n 'control_camera',\n 'equalizer',\n 'explicit',\n 'fast_forward',\n 'fast_rewind',\n 'featured_play_list',\n 'featured_video',\n 'fiber_dvr',\n 'fiber_manual_record',\n 'fiber_new',\n 'fiber_pin',\n 'fiber_smart_record',\n 'forward_10',\n 'forward_30',\n 'forward_5',\n 'games',\n 'hd',\n 'hearing',\n 'high_quality',\n 'library_add',\n 'library_books',\n 'library_music',\n 'loop',\n 'mic',\n 'mic_none',\n 'mic_off',\n 'missed_video_call',\n 'movie',\n 'music_video',\n 'new_releases',\n 'not_interested',\n 'note',\n 'pause',\n 'pause_circle_filled',\n 'pause_circle_outline',\n 'play_arrow',\n 'play_circle_filled',\n 'play_circle_outline',\n 'playlist_add',\n 'playlist_add_check',\n 'playlist_play',\n 'queue',\n 'queue_music',\n 'queue_play_next',\n 'radio',\n 'recent_actors',\n 'remove_from_queue',\n 'repeat',\n 'repeat_one',\n 'replay',\n 'replay_10',\n 'replay_30',\n 'replay_5',\n 'shuffle',\n 'skip_next',\n 'skip_previous',\n 'slow_motion_video',\n 'snooze',\n 'sort_by_alpha',\n 'speed',\n 'stop',\n 'subscriptions',\n 'subtitles',\n 'surround_sound',\n 'video_call',\n 'video_label',\n 'video_library',\n 'videocam',\n 'videocam_off',\n 'volume_down',\n 'volume_mute',\n 'volume_off',\n 'volume_up',\n 'web',\n 'web_asset',\n 'business',\n 'call',\n 'call_end',\n 'call_made',\n 'call_merge',\n 'call_missed',\n 'call_missed_outgoing',\n 'call_received',\n 'call_split',\n 'cancel_presentation',\n 'chat',\n 'chat_bubble',\n 'chat_bubble_outline',\n 'clear_all',\n 'comment',\n 'contact_mail',\n 'contact_phone',\n 'contacts',\n 'desktop_access_disabled',\n 'dialer_sip',\n 'dialpad',\n 'domain_disabled',\n 'duo',\n 'email',\n 'forum',\n 'import_contacts',\n 'import_export',\n 'invert_colors_off',\n 'list_alt',\n 'live_help',\n 'mail_outline',\n 'message',\n 'mobile_screen_share',\n 'no_sim',\n 'pause_presentation',\n 'person_add_disabled',\n 'phone',\n 'phone_disabled',\n 'phone_enabled',\n 'phonelink_erase',\n 'phonelink_lock',\n 'phonelink_ring',\n 'phonelink_setup',\n 'portable_wifi_off',\n 'present_to_all',\n 'print_disabled',\n 'ring_volume',\n 'rss_feed',\n 'screen_share',\n 'sentiment_satisfied_alt',\n 'speaker_phone',\n 'stay_current_landscape',\n 'stay_current_portrait',\n 'stay_primary_landscape',\n 'stay_primary_portrait',\n 'stop_screen_share',\n 'swap_calls',\n 'textsms',\n 'unsubscribe',\n 'voicemail',\n 'vpn_key',\n 'add',\n 'add_box',\n 'add_circle',\n 'add_circle_outline',\n 'amp_stories',\n 'archive',\n 'backspace',\n 'ballot',\n 'block',\n 'clear',\n 'create',\n 'delete_sweep',\n 'drafts',\n 'dynamic_feed',\n 'file_copy',\n 'filter_list',\n 'flag',\n 'font_download',\n 'forward',\n 'gesture',\n 'how_to_reg',\n 'how_to_vote',\n 'inbox',\n 'link',\n 'link_off',\n 'low_priority',\n 'mail',\n 'markunread',\n 'move_to_inbox',\n 'next_week',\n 'outlined_flag',\n 'policy',\n 'redo',\n 'remove',\n 'remove_circle',\n 'remove_circle_outline',\n 'reply',\n 'reply_all',\n 'report',\n 'report_off',\n 'save',\n 'save_alt',\n 'select_all',\n 'send',\n 'sort',\n 'square_foot',\n 'text_format',\n 'unarchive',\n 'undo',\n 'waves',\n 'where_to_vote',\n 'access_alarm',\n 'access_alarms',\n 'access_time',\n 'add_alarm',\n 'add_to_home_screen',\n 'airplanemode_active',\n 'airplanemode_inactive',\n 'battery_alert',\n 'battery_charging_full',\n 'battery_full',\n 'battery_std',\n 'battery_unknown',\n 'bluetooth',\n 'bluetooth_connected',\n 'bluetooth_disabled',\n 'bluetooth_searching',\n 'brightness_auto',\n 'brightness_high',\n 'brightness_low',\n 'brightness_medium',\n 'data_usage',\n 'developer_mode',\n 'devices',\n 'dvr',\n 'gps_fixed',\n 'gps_not_fixed',\n 'gps_off',\n 'graphic_eq',\n 'location_disabled',\n 'location_searching',\n 'mobile_friendly',\n 'mobile_off',\n 'nfc',\n 'screen_lock_landscape',\n 'screen_lock_portrait',\n 'screen_lock_rotation',\n 'screen_rotation',\n 'sd_storage',\n 'settings_system_daydream',\n 'signal_cellular_4_bar',\n 'signal_cellular_alt',\n 'signal_cellular_connected_no_internet_4_bar',\n 'signal_cellular_no_sim',\n 'signal_cellular_null',\n 'signal_cellular_off',\n 'signal_wifi_4_bar',\n 'signal_wifi_4_bar_lock',\n 'signal_wifi_off',\n 'storage',\n 'usb',\n 'wallpaper',\n 'widgets',\n 'wifi_lock',\n 'wifi_tethering',\n 'add_comment',\n 'attach_file',\n 'attach_money',\n 'bar_chart',\n 'border_all',\n 'border_bottom',\n 'border_clear',\n 'border_horizontal',\n 'border_inner',\n 'border_left',\n 'border_outer',\n 'border_right',\n 'border_style',\n 'border_top',\n 'border_vertical',\n 'bubble_chart',\n 'drag_handle',\n 'format_align_center',\n 'format_align_justify',\n 'format_align_left',\n 'format_align_right',\n 'format_bold',\n 'format_clear',\n 'format_color_reset',\n 'format_indent_decrease',\n 'format_indent_increase',\n 'format_italic',\n 'format_line_spacing',\n 'format_list_bulleted',\n 'format_list_numbered',\n 'format_list_numbered_rtl',\n 'format_paint',\n 'format_quote',\n 'format_shapes',\n 'format_size',\n 'format_strikethrough',\n 'format_textdirection_l_to_r',\n 'format_textdirection_r_to_l',\n 'format_underlined',\n 'functions',\n 'height',\n 'highlight',\n 'insert_chart',\n 'insert_chart_outlined',\n 'insert_comment',\n 'insert_drive_file',\n 'insert_emoticon',\n 'insert_invitation',\n 'insert_link',\n 'insert_photo',\n 'linear_scale',\n 'merge_type',\n 'mode_comment',\n 'monetization_on',\n 'money_off',\n 'multiline_chart',\n 'notes',\n 'pie_chart',\n 'post_add',\n 'publish',\n 'scatter_plot',\n 'score',\n 'short_text',\n 'show_chart',\n 'space_bar',\n 'strikethrough_s',\n 'table_chart',\n 'text_fields',\n 'title',\n 'vertical_align_bottom',\n 'vertical_align_center',\n 'vertical_align_top',\n 'wrap_text',\n 'attachment',\n 'cloud',\n 'cloud_circle',\n 'cloud_done',\n 'cloud_download',\n 'cloud_off',\n 'cloud_queue',\n 'cloud_upload',\n 'create_new_folder',\n 'folder',\n 'folder_open',\n 'folder_shared',\n 'cast',\n 'cast_connected',\n 'computer',\n 'desktop_mac',\n 'desktop_windows',\n 'developer_board',\n 'device_hub',\n 'device_unknown',\n 'devices_other',\n 'dock',\n 'gamepad',\n 'headset',\n 'headset_mic',\n 'keyboard',\n 'keyboard_arrow_down',\n 'keyboard_arrow_left',\n 'keyboard_arrow_right',\n 'keyboard_arrow_up',\n 'keyboard_backspace',\n 'keyboard_capslock',\n 'keyboard_hide',\n 'keyboard_return',\n 'keyboard_tab',\n 'keyboard_voice',\n 'laptop',\n 'laptop_chromebook',\n 'laptop_mac',\n 'laptop_windows',\n 'memory',\n 'mouse',\n 'phone_android',\n 'phone_iphone',\n 'phonelink',\n 'phonelink_off',\n 'power_input',\n 'router',\n 'scanner',\n 'security',\n 'sim_card',\n 'smartphone',\n 'speaker',\n 'speaker_group',\n 'tablet',\n 'tablet_android',\n 'tablet_mac',\n 'toys',\n 'tv',\n 'videogame_asset',\n 'watch',\n 'add_a_photo',\n 'add_photo_alternate',\n 'add_to_photos',\n 'adjust',\n 'assistant',\n 'assistant_photo',\n 'audiotrack',\n 'blur_circular',\n 'blur_linear',\n 'blur_off',\n 'blur_on',\n 'brightness_1',\n 'brightness_2',\n 'brightness_3',\n 'brightness_4',\n 'brightness_5',\n 'brightness_6',\n 'brightness_7',\n 'broken_image',\n 'brush',\n 'burst_mode',\n 'camera',\n 'camera_alt',\n 'camera_front',\n 'camera_rear',\n 'camera_roll',\n 'center_focus_strong',\n 'center_focus_weak',\n 'collections',\n 'collections_bookmark',\n 'color_lens',\n 'colorize',\n 'compare',\n 'control_point',\n 'control_point_duplicate',\n 'crop',\n 'crop_16_9',\n 'crop_3_2',\n 'crop_5_4',\n 'crop_7_5',\n 'crop_din',\n 'crop_free',\n 'crop_landscape',\n 'crop_original',\n 'crop_portrait',\n 'crop_rotate',\n 'crop_square',\n 'dehaze',\n 'details',\n 'edit',\n 'euro',\n 'exposure',\n 'exposure_neg_1',\n 'exposure_neg_2',\n 'exposure_plus_1',\n 'exposure_plus_2',\n 'exposure_zero',\n 'filter',\n 'filter_1',\n 'filter_2',\n 'filter_3',\n 'filter_4',\n 'filter_5',\n 'filter_6',\n 'filter_7',\n 'filter_8',\n 'filter_9',\n 'filter_9_plus',\n 'filter_b_and_w',\n 'filter_center_focus',\n 'filter_drama',\n 'filter_frames',\n 'filter_hdr',\n 'filter_none',\n 'filter_tilt_shift',\n 'filter_vintage',\n 'flare',\n 'flash_auto',\n 'flash_off',\n 'flash_on',\n 'flip',\n 'flip_camera_android',\n 'flip_camera_ios',\n 'gradient',\n 'grain',\n 'grid_off',\n 'grid_on',\n 'hdr_off',\n 'hdr_on',\n 'hdr_strong',\n 'hdr_weak',\n 'healing',\n 'image',\n 'image_aspect_ratio',\n 'image_search',\n 'iso',\n 'landscape',\n 'leak_add',\n 'leak_remove',\n 'lens',\n 'linked_camera',\n 'looks',\n 'looks_3',\n 'looks_4',\n 'looks_5',\n 'looks_6',\n 'looks_one',\n 'looks_two',\n 'loupe',\n 'monochrome_photos',\n 'movie_creation',\n 'movie_filter',\n 'music_note',\n 'music_off',\n 'nature',\n 'nature_people',\n 'navigate_before',\n 'navigate_next',\n 'palette',\n 'panorama',\n 'panorama_fish_eye',\n 'panorama_horizontal',\n 'panorama_vertical',\n 'panorama_wide_angle',\n 'photo',\n 'photo_album',\n 'photo_camera',\n 'photo_filter',\n 'photo_library',\n 'photo_size_select_actual',\n 'photo_size_select_large',\n 'photo_size_select_small',\n 'picture_as_pdf',\n 'portrait',\n 'remove_red_eye',\n 'rotate_90_degrees_ccw',\n 'rotate_left',\n 'rotate_right',\n 'shutter_speed',\n 'slideshow',\n 'straighten',\n 'style',\n 'switch_camera',\n 'switch_video',\n 'tag_faces',\n 'texture',\n 'timelapse',\n 'timer',\n 'timer_10',\n 'timer_3',\n 'timer_off',\n 'tonality',\n 'transform',\n 'tune',\n 'view_comfy',\n 'view_compact',\n 'vignette',\n 'wb_auto',\n 'wb_cloudy',\n 'wb_incandescent',\n 'wb_iridescent',\n 'wb_sunny',\n '360',\n 'atm',\n 'beenhere',\n 'category',\n 'compass_calibration',\n 'departure_board',\n 'directions',\n 'directions_bike',\n 'directions_boat',\n 'directions_bus',\n 'directions_car',\n 'directions_railway',\n 'directions_run',\n 'directions_subway',\n 'directions_transit',\n 'directions_walk',\n 'edit_attributes',\n 'ev_station',\n 'fastfood',\n 'flight',\n 'hotel',\n 'layers',\n 'layers_clear',\n 'local_activity',\n 'local_airport',\n 'local_atm',\n 'local_bar',\n 'local_cafe',\n 'local_car_wash',\n 'local_convenience_store',\n 'local_dining',\n 'local_drink',\n 'local_florist',\n 'local_gas_station',\n 'local_grocery_store',\n 'local_hospital',\n 'local_hotel',\n 'local_laundry_service',\n 'local_library',\n 'local_mall',\n 'local_movies',\n 'local_offer',\n 'local_parking',\n 'local_pharmacy',\n 'local_phone',\n 'local_pizza',\n 'local_play',\n 'local_post_office',\n 'local_printshop',\n 'local_see',\n 'local_shipping',\n 'local_taxi',\n 'map',\n 'menu_book',\n 'money',\n 'museum',\n 'my_location',\n 'navigation',\n 'near_me',\n 'person_pin',\n 'rate_review',\n 'restaurant',\n 'restaurant_menu',\n 'satellite',\n 'store_mall_directory',\n 'streetview',\n 'subway',\n 'terrain',\n 'traffic',\n 'train',\n 'tram',\n 'transfer_within_a_station',\n 'transit_enterexit',\n 'trip_origin',\n 'zoom_out_map',\n 'apps',\n 'arrow_back',\n 'arrow_back_ios',\n 'arrow_downward',\n 'arrow_drop_down',\n 'arrow_drop_down_circle',\n 'arrow_drop_up',\n 'arrow_forward',\n 'arrow_forward_ios',\n 'arrow_left',\n 'arrow_right',\n 'arrow_upward',\n 'cancel',\n 'check',\n 'chevron_left',\n 'chevron_right',\n 'close',\n 'double_arrow',\n 'expand_less',\n 'expand_more',\n 'first_page',\n 'fullscreen',\n 'fullscreen_exit',\n 'home_work',\n 'last_page',\n 'menu',\n 'menu_open',\n 'more_horiz',\n 'more_vert',\n 'refresh',\n 'subdirectory_arrow_left',\n 'subdirectory_arrow_right',\n 'unfold_less',\n 'unfold_more',\n 'account_tree',\n 'adb',\n 'airline_seat_flat',\n 'airline_seat_flat_angled',\n 'airline_seat_individual_suite',\n 'airline_seat_legroom_extra',\n 'airline_seat_legroom_normal',\n 'airline_seat_legroom_reduced',\n 'airline_seat_recline_extra',\n 'airline_seat_recline_normal',\n 'bluetooth_audio',\n 'confirmation_number',\n 'disc_full',\n 'drive_eta',\n 'enhanced_encryption',\n 'event_available',\n 'event_busy',\n 'event_note',\n 'folder_special',\n 'live_tv',\n 'mms',\n 'more',\n 'network_check',\n 'network_locked',\n 'no_encryption',\n 'ondemand_video',\n 'personal_video',\n 'phone_bluetooth_speaker',\n 'phone_callback',\n 'phone_forwarded',\n 'phone_in_talk',\n 'phone_locked',\n 'phone_missed',\n 'phone_paused',\n 'power',\n 'power_off',\n 'priority_high',\n 'sd_card',\n 'sms',\n 'sms_failed',\n 'sync',\n 'sync_disabled',\n 'sync_problem',\n 'system_update',\n 'tap_and_play',\n 'time_to_leave',\n 'tv_off',\n 'vibration',\n 'voice_chat',\n 'vpn_lock',\n 'wc',\n 'wifi',\n 'wifi_off',\n 'ac_unit',\n 'airport_shuttle',\n 'all_inclusive',\n 'apartment',\n 'bathtub',\n 'beach_access',\n 'business_center',\n 'casino',\n 'child_care',\n 'child_friendly',\n 'fitness_center',\n 'free_breakfast',\n 'golf_course',\n 'hot_tub',\n 'house',\n 'kitchen',\n 'meeting_room',\n 'no_meeting_room',\n 'pool',\n 'room_service',\n 'rv_hookup',\n 'smoke_free',\n 'smoking_rooms',\n 'spa',\n 'storefront',\n 'cake',\n 'deck',\n 'emoji_emotions',\n 'emoji_events',\n 'emoji_flags',\n 'emoji_food_beverage',\n 'emoji_nature',\n 'emoji_objects',\n 'emoji_people',\n 'emoji_symbols',\n 'emoji_transportation',\n 'fireplace',\n 'group',\n 'group_add',\n 'king_bed',\n 'location_city',\n 'mood',\n 'mood_bad',\n 'nights_stay',\n 'notifications',\n 'notifications_active',\n 'notifications_none',\n 'notifications_off',\n 'notifications_paused',\n 'outdoor_grill',\n 'pages',\n 'party_mode',\n 'people',\n 'people_alt',\n 'people_outline',\n 'person',\n 'person_add',\n 'person_outline',\n 'plus_one',\n 'poll',\n 'public',\n 'school',\n 'sentiment_dissatisfied',\n 'sentiment_satisfied',\n 'sentiment_very_dissatisfied',\n 'sentiment_very_satisfied',\n 'share',\n 'single_bed',\n 'sports',\n 'sports_baseball',\n 'sports_basketball',\n 'sports_cricket',\n 'sports_esports',\n 'sports_football',\n 'sports_golf',\n 'sports_handball',\n 'sports_hockey',\n 'sports_kabaddi',\n 'sports_mma',\n 'sports_motorsports',\n 'sports_rugby',\n 'sports_soccer',\n 'sports_tennis',\n 'sports_volleyball',\n 'thumb_down_alt',\n 'thumb_up_alt',\n 'whatshot',\n 'check_box',\n 'check_box_outline_blank',\n 'indeterminate_check_box',\n 'radio_button_checked',\n 'radio_button_unchecked',\n 'star',\n 'star_border',\n 'star_half',\n 'toggle_off',\n 'toggle_on',\n ];\n\n get icons(): string[] {\n return this._icons;\n }\n\n filter(query: string): string[] {\n return this.icons.filter((el: string) => {\n return el.toLowerCase().indexOf(query ? query.toLowerCase() : '') > -1;\n });\n }\n}\n","import { Type } from '@angular/core';\nimport { NgModule } from '@angular/core';\n\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\n/**\n * Directives\n */\nimport { TdAutoTrimDirective } from './forms/auto-trim/auto-trim.directive';\nimport { TdFullscreenDirective } from './directives/fullscreen/fullscreen.directive';\n\nconst TD_DIRECTIVES: Type<any>[] = [TdAutoTrimDirective, TdFullscreenDirective];\n\n// Validators\nconst TD_VALIDATORS: Type<any>[] = [];\n\n/**\n * PIPES\n */\nimport { TdTimeAgoPipe } from './pipes/time-ago/time-ago.pipe';\nimport { TdTimeDifferencePipe } from './pipes/time-difference/time-difference.pipe';\nimport { TdTimeUntilPipe } from './pipes/time-until/time-until.pipe';\nimport { TdBytesPipe } from './pipes/bytes/bytes.pipe';\nimport { TdDecimalBytesPipe } from './pipes/decimal-bytes/decimal-bytes.pipe';\nimport { TdDigitsPipe } from './pipes/digits/digits.pipe';\nimport { TdTruncatePipe } from './pipes/truncate/truncate.pipe';\n\nconst TD_PIPES: Type<any>[] = [\n TdTimeAgoPipe,\n TdTimeDifferencePipe,\n TdTimeUntilPipe,\n TdBytesPipe,\n TdDecimalBytesPipe,\n TdDigitsPipe,\n TdTruncatePipe,\n];\n\n/**\n * Services\n */\n\nimport { RouterPathService } from './services/router-path.service';\nimport { IconService } from './services/icon.service';\n\n@NgModule({\n imports: [FormsModule, CommonModule],\n declarations: [TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n exports: [FormsModule, CommonModule, TD_DIRECTIVES, TD_PIPES, TD_VALIDATORS],\n providers: [RouterPathService, IconService],\n})\nexport class CovalentCommonModule {}\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\n\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IRotateAnimation extends IAnimationOptions {\n degrees?: number;\n ease?: string;\n}\n\n/**\n * const tdRotateAnimation\n *\n * Parameter Options:\n * * degressStart: Degrees of rotation that the dom object will end up in during the \"false\" state\n * * degreesEnd: Degrees of rotation that the dom object will end up in during the \"true\" state\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerates and decelerates. Defaults to ease-in.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a rotation animation.\n *\n * usage: [@tdRotate]=\"{ value: true | false, params: { degreesEnd: 90 }}\"\n */\n\nexport const tdRotateAnimation: AnimationTriggerMetadata = trigger('tdRotate', [\n state(\n '0',\n style({\n transform: 'rotate({{ degressStart }}deg)',\n }),\n { params: { degressStart: 0 } },\n ),\n state(\n '1',\n style({\n transform: 'rotate({{ degreesEnd }}deg)',\n }),\n { params: { degreesEnd: 180 } },\n ),\n transition(\n '0 <=> 1',\n [group([query('@*', animateChild(), { optional: true }), animate('{{ duration }}ms {{ delay }}ms {{ ease }}')])],\n { params: { duration: 250, delay: '0', ease: 'ease-in' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface ICollapseAnimation extends IAnimationOptions {\n easeOnClose?: string;\n easeOnOpen?: string;\n}\n\n/**\n * const tdCollapseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnClose: Animation accelerates and decelerates when closing. Defaults to ease-in.\n * * easeOnOpen: Animation accelerates and decelerates when opening. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a collapse/expand animation.\n *\n * usage: [@tdCollapse]=\"{ value: true | false, params: { duration: 500 }}\"\n */\nexport const tdCollapseAnimation: AnimationTriggerMetadata = trigger('tdCollapse', [\n state(\n '1',\n style({\n height: '0',\n overflow: 'hidden',\n }),\n ),\n state(\n '0',\n style({\n height: AUTO_STYLE,\n overflow: AUTO_STYLE,\n }),\n ),\n transition(\n '0 => 1',\n [\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n height: '0',\n overflow: 'hidden',\n }),\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-in' } },\n ),\n transition(\n '1 => 0',\n [\n style({\n height: '0',\n overflow: 'hidden',\n }),\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n style({\n overflow: 'hidden',\n height: AUTO_STYLE,\n }),\n ),\n ]),\n ],\n { params: { duration: 150, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\nexport interface IFadeInOutAnimation extends IAnimationOptions {\n easeOnIn?: string;\n easeOnOut?: string;\n}\n\n/**\n * const tdFadeInOutAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 150 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * easeOnIn: Animation accelerates and decelerates when fading in. Defaults to ease-in.\n * * easeOnOut: Animation accelerates and decelerates when fading out. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a fade animation.\n *\n * usage: [@tdFadeInOut]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFadeInOutAnimation: AnimationTriggerMetadata = trigger('tdFadeInOut', [\n state(\n '0',\n style({\n opacity: '0',\n visibility: 'hidden',\n }),\n ),\n state(\n '1',\n style({\n opacity: AUTO_STYLE,\n visibility: AUTO_STYLE,\n }),\n ),\n transition(\n '0 => 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnIn }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnIn: 'ease-in' } },\n ),\n transition(\n '1 => 0',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate('{{ duration }}ms {{ delay }}ms {{ easeOnOut }}'),\n ]),\n ],\n { params: { duration: 150, delay: '0', easeOnOut: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdBounceAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a bounce animation.\n *\n * usage: [@tdBounce]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdBounceAnimation: AnimationTriggerMetadata = trigger('tdBounce', [\n state(\n '0',\n style({\n transform: 'translate3d(0, 0, 0)',\n }),\n ),\n state(\n '1',\n style({\n transform: 'translate3d(0, 0, 0)',\n }),\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({\n animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.2,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.4,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -30px, 0)',\n offset: 0.43,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.53,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.755, 0.050, 0.855, 0.060)',\n transform: 'translate3d(0, -15px, 0)',\n offset: 0.7,\n }),\n style({\n animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 0.8,\n }),\n style({ transform: 'translate3d(0, -4px, 0)', offset: 0.9 }),\n style({\n animationTimingFunction: 'cubic-bezier(0.215, 0.610, 0.355, 1.000)',\n transform: 'translate3d(0, 0, 0)',\n offset: 1.0,\n }),\n ]),\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdFlashAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a flash animation.\n *\n * usage: [@tdFlash]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdFlashAnimation: AnimationTriggerMetadata = trigger('tdFlash', [\n state(\n '0',\n style({\n opacity: 1,\n }),\n ),\n state(\n '1',\n style({\n opacity: 1,\n }),\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ opacity: 1, offset: 0 }),\n style({ opacity: 0, offset: 0.25 }),\n style({ opacity: 1, offset: 0.5 }),\n style({ opacity: 0, offset: 0.75 }),\n style({ opacity: 1, offset: 1.0 }),\n ]),\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdHeadshakeAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a headshake animation.\n *\n * usage: [@tdHeadshake]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdHeadshakeAnimation: AnimationTriggerMetadata = trigger('tdHeadshake', [\n state(\n '0',\n style({\n transform: 'translateX(0)',\n }),\n ),\n state(\n '1',\n style({\n transform: 'translateX(0)',\n }),\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'translateX(0)', offset: 0 }),\n style({ transform: 'translateX(-6px) rotateY(-9deg)', offset: 0.065 }),\n style({ transform: 'translateX(5px) rotateY(7deg)', offset: 0.185 }),\n style({ transform: 'translateX(-3px) rotateY(-5deg)', offset: 0.315 }),\n style({ transform: 'translateX(2px) rotateY(3deg)', offset: 0.435 }),\n style({ transform: 'translateX(0)', offset: 0.5 }),\n ]),\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdJelloAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a jello animation.\n *\n * usage: [@tdJello]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdJelloAnimation: AnimationTriggerMetadata = trigger('tdJello', [\n state(\n '0',\n style({\n transform: 'none',\n }),\n ),\n state(\n '1',\n style({\n transform: 'none',\n }),\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'none', offset: 0 }),\n style({ transform: 'none', offset: 0.011 }),\n style({ transform: 'skewX(-12.5deg) skewY(-12.5deg)', offset: 0.222 }),\n style({ transform: 'skewX(6.25deg) skewY(6.25deg)', offset: 0.333 }),\n style({ transform: 'skewX(-3.125deg) skewY(-3.125deg)', offset: 0.444 }),\n style({ transform: 'skewX(1.5625deg) skewY(1.5625deg)', offset: 0.555 }),\n style({ transform: 'skewX(-0.78125deg) skewY(-0.78125deg)', offset: 0.666 }),\n style({ transform: 'skewX(0.390625deg) skewY(0.390625deg)', offset: 0.777 }),\n style({ transform: 'skewX(-0.1953125deg) skewY(-0.1953125deg)', offset: 0.888 }),\n ]),\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import {\n trigger,\n state,\n style,\n keyframes,\n transition,\n animate,\n AnimationTriggerMetadata,\n AUTO_STYLE,\n query,\n animateChild,\n group,\n} from '@angular/animations';\nimport { IAnimationOptions } from '../common/interfaces';\n\n/**\n * const tdPulseAnimation\n *\n * Parameter Options:\n * * duration: Duration the animation will run in milliseconds. Defaults to 500 ms.\n * * delay: Delay before the animation will run in milliseconds. Defaults to 0 ms.\n * * ease: Animation accelerate and decelerate style. Defaults to ease-out.\n *\n * Returns an [AnimationTriggerMetadata] object with boolean states for a pulse animation.\n *\n * usage: [@tdPulse]=\"{ value: true | false, params: { duration: 200 }}\"\n */\nexport const tdPulseAnimation: AnimationTriggerMetadata = trigger('tdPulse', [\n state(\n '0',\n style({\n transform: 'scale3d(1, 1, 1)',\n }),\n ),\n state(\n '1',\n style({\n transform: 'scale3d(1, 1, 1)',\n }),\n ),\n transition(\n '0 <=> 1',\n [\n group([\n query('@*', animateChild(), { optional: true }),\n animate(\n '{{ duration }}ms {{ delay }}ms {{ ease }}',\n keyframes([\n style({ transform: 'scale3d(1, 1, 1)', offset: 0 }),\n style({ transform: 'scale3d(1.05, 1.05, 1.05)', offset: 0.5 }),\n style({ transform: 'scale3d(1, 1, 1)', offset: 1.0 }),\n ]),\n ),\n ]),\n ],\n { params: { duration: 500, delay: '0', ease: 'ease-out' } },\n ),\n]);\n","import { ChangeDetectorRef } from '@angular/core';\nimport { ControlValueAccessor } from '@angular/forms';\n\nimport { Observable, Subject } from 'rxjs';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nconst noop: any = () => {\n // empty method\n};\n\nexport interface IControlValueAccessor extends ControlValueAccessor {\n value: any;\n valueChanges: Observable<any>;\n onChange: (_: any) => any;\n onTouched: () => any;\n}\n\nexport interface IHasChangeDetectorRef {\n _changeDetectorRef: ChangeDetectorRef;\n}\n\n/** Mixin to augment a component with ngModel support. */\nexport function mixinControlValueAccessor<T extends Constructor<IHasChangeDetectorRef>>(\n base: T,\n initialValue?: any,\n): Constructor<IControlValueAccessor> & T {\n return class extends base {\n private _value: any = initialValue instanceof Array ? Object.assign([], initialValue) : initialValue;\n private _subjectValueChanges: Subject<any>;\n valueChanges: Observable<any>;\n\n constructor(...args: any[]) {\n super(...args);\n this._subjectValueChanges = new Subject<any>();\n this.valueChanges = this._subjectValueChanges.asObservable();\n }\n\n set value(v: any) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n this._changeDetectorRef.markForCheck();\n this._subjectValueChanges.next(v);\n }\n }\n get value(): any {\n return this._value;\n }\n\n writeValue(value: any): void {\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n onChange = (_: any) => noop;\n onTouched = () => noop;\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisable {\n disabled: boolean;\n onDisabledChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisabled<T extends Constructor<{}>>(base: T): Constructor<ICanDisable> & T {\n return class extends base {\n private _disabled: boolean = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disabled !== newValue) {\n this._disabled = newValue;\n this.onDisabledChange(this._disabled);\n }\n }\n\n onDisabledChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\n/** Interface to implement when applying the disabled mixin */\nexport interface ICanDisableRipple {\n disableRipple: boolean;\n onDisableRippleChange(v: boolean): void;\n}\n\n/** Mixin to augment a component or directive with a `disabled` property. */\nexport function mixinDisableRipple<T extends Constructor<{}>>(base: T): Constructor<ICanDisableRipple> & T {\n return class extends base {\n private _disableRipple: boolean = false;\n\n constructor(...args: any[]) {\n super(...args);\n }\n\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: boolean) {\n const newValue: boolean = coerceBooleanProperty(value);\n if (this._disableRipple !== newValue) {\n this._disableRipple = newValue;\n this.onDisableRippleChange(this._disableRipple);\n }\n }\n\n onDisableRippleChange(v: boolean): void {\n /** NOT IMPLEMENTED, this needs to be overriden by subclasses if needed */\n }\n };\n}\n","import { Validators, AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport class CovalentValidators {\n static min(minValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!minValue && minValue !== 0)) {\n return undefined;\n }\n const v: number = c.value;\n return v < minValue ? { min: { minValue, actualValue: v } } : undefined;\n };\n return func;\n }\n\n static max(maxValue: any): ValidatorFn {\n // tslint:disable-next-line:prefer-immediate-return\n const func: ValidatorFn = (c: AbstractControl): { [key: string]: any } => {\n if (!!Validators.required(c) || (!maxValue && maxValue !== 0)) {\n return undefined;\n }\n const v: number = c.value;\n return v > maxValue ? { max: { maxValue, actualValue: v } } : undefined;\n };\n return func;\n }\n\n static numberRequired(c: AbstractControl): { [key: string]: any } {\n return Number.isNaN(c.value) ? { required: true } : undefined;\n }\n}\n","/**\n * Assign a text value to the system clipboard. Note: Due to browser\n * security restrictions, the copy will only succeed if this method\n * is invoked as a result of a user action (eg. user button click).\n *\n * @param value text value to be assigned to clipboard.\n * @returns boolean indicating success/failure of copy operation.\n */\nexport function copyToClipboard(value: string): boolean {\n // Create a temporary textarea element and append to DOM\n const fakeTextArea: HTMLTextAreaElement = document.createElement('textarea');\n document.body.appendChild(fakeTextArea);\n\n // Assign value to be copied to clipboard\n fakeTextArea.value = value;\n fakeTextArea.select();\n\n // Copy to clipboard\n const success: boolean = document.execCommand('copy');\n\n // Remove temporary textarea\n document.body.removeChild(fakeTextArea);\n\n // Return boolean indicating if exec command succeeded\n return success;\n}\n","/**\n * Conversion function that takes an array of objects and converts\n * them to CSV format. Custom key and line separators can be specified.\n *\n * @param objects list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @returns CSV formatted string\n */\nexport function convertObjectsToCSV(\n objects: any[],\n keySeparator: string = ',',\n lineSeparator: string = '\\r\\n',\n): string {\n if (!objects) {\n return '';\n }\n\n let outputString: string = '';\n\n // Iterate through array, creating one output line per object\n objects.forEach((value: object, key: number) => {\n let line: string = '';\n for (const index of Object.keys(objects[key])) {\n if (line !== '') {\n line += keySeparator;\n }\n if (objects[key][index] === null || objects[key][index] === undefined) {\n objects[key][index] = '';\n }\n line += objects[key][index];\n }\n outputString += `${line}${lineSeparator}`;\n });\n\n // Append header row identifying keys into output\n if (objects[0]) {\n const headers: string = Object.keys(objects[0]).join(keySeparator);\n outputString = `${headers}${lineSeparator}${outputString}`;\n }\n\n return outputString;\n}\n\n/**\n * Conversion function that takes a CSV representation\n * of objects and converts them to JSON.\n * The first row in the input must be the object keys.\n * Custom key separator and line separator can be specified.\n * Indentation size for output JSON can be specified.\n *\n * @param csv list of strings in JSON format or actual objects\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n * @returns JSON formatted string\n */\nexport function convertCSVToJSON(\n csv: string,\n keySeparator: string = ',',\n lineSeparator: string = '\\r\\n',\n indent: number = 2,\n): string {\n if (!csv) {\n return '';\n }\n\n const csvArray: string[] = csv.split(lineSeparator);\n // Input CSV must have a minimum of two rows\n if (csvArray.length < 2) {\n return '';\n }\n\n const newObjects: any[] = [];\n\n // Extract object keys from header row\n const keys: string[] = csvArray[0].split(keySeparator);\n // Iterate through array, creating one output line per object\n for (let i: number = 1; i < csvArray.length; i++) {\n const newObject: any = {};\n\n const values: string[] = csvArray[i].split(keySeparator);\n if (values.length !== keys.length) {\n continue;\n }\n for (let j: number = 0; j < keys.length; j++) {\n newObject[keys[j]] = values[j];\n }\n newObjects.push(newObject);\n }\n\n return formatJSON(newObjects, indent);\n}\n\n/**\n * Convert object to JSON using stringify. Indentation size for output JSON can be specified.\n *\n * @param json object to be converted\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2.\n */\nexport function formatJSON(json: object, indent: number = 2): string {\n return JSON.stringify(json, undefined, indent);\n}\n","import { convertObjectsToCSV, formatJSON } from './convert';\n\n/**\n * Download CSV content to the specified file with .csv extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param csv CSV contents\n */\nexport function downloadCSV(fileBaseName: string, csv: string): void {\n downloadFile(`${fileBaseName}.csv`, csv, 'text/csv');\n}\n\n/**\n * Download JSON content to the specified file with .json extension\n * appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param json JSON contents\n * @param format indicates if JSON should be prettied\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadJSON(fileBaseName: string, json: string, format: boolean = false, indent: number = 2): void {\n downloadFile(`${fileBaseName}.json`, format ? formatJSON(JSON.parse(json), indent) : json, 'application/json');\n}\n\n/**\n * Convert objects to CSV format and download to file with .csv\n * extension appended to the provided base file name. Custom key\n * separator and line separator can be specified.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to CSV format\n * prior to writing to download destination\n * @param keySeparator optional parameter to specify custom value separator\n * @param lineSeparator optional parameter to specify custom end of line separator\n */\nexport function downloadObjectsToCSV(\n fileBaseName: string,\n objects: any[],\n keySeparator: string = ',',\n lineSeparator: string = '\\r\\n',\n): void {\n downloadFile(`${fileBaseName}.csv`, convertObjectsToCSV(objects, keySeparator, lineSeparator), 'text/csv');\n}\n\n/**\n * Convert objects to JSON format and download to file with .json\n * extension appended to the provided base file name.\n *\n * @param fileBaseName base name of destination file\n * @param objects object array to be converted to JSON format\n * prior to writing to download destination\n * @param indent optional parameter indicating space indentation for pretty output. Default is 2\n */\nexport function downloadObjectsToJSON(fileBaseName: string, objects: any[], indent: number = 2): void {\n downloadFile(`${fileBaseName}.json`, formatJSON(objects, indent), 'application/json');\n}\n\n/**\n * Download string content to the specified file with desired mime type.\n *\n * @param fileName full filename (including appropriate extension) of destination file\n * @param contents string contents to be written to download destination\n * @param mimeType mime type appropriate to file content to support consumption of destination file\n */\nexport function downloadFile(fileName: string, contents: string, mimeType: string = 'text/plain'): void {\n if (!fileName || !contents) {\n return;\n }\n\n // Create blob object and assign URL\n const blob: Blob = new Blob([contents], { type: mimeType });\n const url: string = window.URL.createObjectURL(blob);\n\n // Construct anchor for URL, append to DOM, click and cleanup.\n const a: HTMLAnchorElement = document.createElement('a');\n a.setAttribute('style', 'display: none');\n a.setAttribute('download', fileName);\n a.href = url;\n document.body.appendChild(a);\n a.click();\n window.URL.revokeObjectURL(url);\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n}\n","/**\n * Read file as UTF-8 text. Return string contents on read completion.\n *\n * @param file filename or File object\n * @returns promise that resolves to file content string\n */\nexport function readFile(file: File): Promise<string> {\n return new Promise<string>((resolve: (value: string) => void) => {\n const reader: FileReader = new FileReader();\n reader.readAsText(file, 'UTF-8');\n reader.onload = () => {\n resolve(<string>reader.result);\n };\n });\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAOa,mBAAmB;;;;IAC9B,YAAwC,MAAe;QAAf,WAAM,GAAN,MAAM,CAAS;KAAI;;;;;;IAM3D,MAAM,CAAC,KAAY;QACjB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC7E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACnD;KACF;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;aACzB;;;;YAJQ,OAAO,uBAMD,QAAQ,YAAI,IAAI;;;qBAK5B,YAAY,SAAC,MAAM,EAAE,CAAC,QAAQ,CAAC;;;;;;;IALpB,qCAA2C;;;;;;;;;;;ACLzD,0BAQC;;;IAPC,wCAA2B;;IAC3B,8CAAiC;;IACjC,2CAA8B;;IAC9B,0CAA6B;;IAC7B,2CAAiC;;IACjC,0CAAgC;;IAChC,uCAA6B;;MAOlB,qBAAqB;;;;;IAEhC,YAAsC,SAAsB,EAAU,GAAe;QAA/C,cAAS,GAAT,SAAS,CAAa;QAAU,QAAG,GAAH,GAAG,CAAY;QADrF,uBAAkB,GAAY,KAAK,CAAC;KACqD;;;;;IAMlF,eAAe,CAAC,KAAY;QACjC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC7E;;;;IAEM,gBAAgB;QACrB,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1G;;;;IAEM,eAAe;cACd,EACJ,GAAG,EAAE,EAAE,aAAa,EAAE,GACvB,GAA0B,IAAI;;cACzB,kBAAkB,GAAW;YACjC,iBAAiB;;;YAAE,MAAM,aAAa,CAAC,iBAAiB,EAAE,CAAA;;YAC1D,uBAAuB;;;YAAE,MAAM,aAAa,CAAC,uBAAuB,EAAE,CAAA;;YACtE,oBAAoB;;;YAAE,MAAM,aAAa,CAAC,oBAAoB,EAAE,CAAA;;YAChE,mBAAmB;;;YAAE,MAAM,aAAa,CAAC,mBAAmB,EAAE,CAAA;SAC/D;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE;YACrD,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;gBAC1B,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;aAC/B;SACF;KACF;;;;IAEM,cAAc;cACb,EACJ,SAAS,EACT,GAAG,EAAE,EAAE,aAAa,EAAE,GACvB,GAA0B,IAAI;;cACzB,iBAAiB,GAAW;YAChC,cAAc;;;YAAE,MAAM,SAAS,CAAC,cAAc,EAAE,CAAA;;YAChD,oBAAoB;;;YAAE,MAAM,SAAS,CAAC,oBAAoB,EAAE,CAAA;;YAC5D,mBAAmB;;;YAAE,MAAM,SAAS,CAAC,mBAAmB,EAAE,CAAA;;YAC1D,gBAAgB;;;YAAE,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAA;SACrD;QAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;YACpD,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,KAAK,aAAa,EAAE;gBACxE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;aAC9B;SACF;KACF;;;;;IAEO,qBAAqB;cACrB,EAAE,SAAS,EAAE,GAA0B,IAAI;;cAC3C,sBAAsB,GAAW;YACrC,iBAAiB;;;YAAE,MAAM,SAAS,CAAC,iBAAiB,CAAA;;YACpD,uBAAuB;;;YAAE,MAAM,SAAS,CAAC,uBAAuB,CAAA;;YAChE,oBAAoB;;;YAAE,MAAM,SAAS,CAAC,oBAAoB,CAAA;;YAC1D,mBAAmB;;;YAAE,MAAM,SAAS,CAAC,mBAAmB,CAAA;SACzD;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;YACvD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;gBACpB,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;SACF;KACF;;;YAtEF,SAAS,SAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,QAAQ,EAAE,cAAc;aACzB;;;;4CAGc,MAAM,SAAC,QAAQ;YAnBI,UAAU;;;8BAqBzC,YAAY,SAAC,2BAA2B,EAAE,CAAC,QAAQ,CAAC,cACpD,YAAY,SAAC,iCAAiC,EAAE,CAAC,QAAQ,CAAC,cAC1D,YAAY,SAAC,8BAA8B,EAAE,CAAC,QAAQ,CAAC,cACvD,YAAY,SAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC;;;;IANvD,mDAAoC;;;;;IACxB,0CAAgD;;;;;IAAE,oCAAuB;;;;;;;;MCd1E,aAAa;;;;;;IACxB,SAAS,CAAC,IAAS,EAAE,SAAe;;QAElC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;;cAChB,GAAG,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC;;QAGrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO,cAAc,CAAC;SACvB;;;;cAIK,SAAS,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE;;YACvE,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;QAElE,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,cAAc,CAAC;SACvB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;SAC1C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,cAAc,CAAC;SACvB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC;SAC1C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,YAAY,CAAC;SACrB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;SACxC;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,WAAW,CAAC;SACpB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;SACvC;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,aAAa,CAAC;SACtB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC;SACzC;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,YAAY,CAAC;SACrB;aAAM;YACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;SACxC;KACF;;;YAhEF,IAAI,SAAC;gBACJ,IAAI,EAAE,SAAS;aAChB;;;;;;;;MCCY,oBAAoB;;;;;;IAC/B,SAAS,CAAC,KAAU,EAAE,GAAS;;cACvB,SAAS,GAAS,IAAI,IAAI,CAAC,KAAK,CAAC;;YACnC,OAAa;QAEjB,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;SACzB;aAAM;YACL,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YAC9C,OAAO,cAAc,CAAC;SACvB;;YAEG,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC;;cAEzE,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;;cAE9B,KAAK,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;;cAE1B,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QAC7C,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;;cAEf,OAAO,GAAW,IAAI;;cAEtB,GAAG,GAAW,IAAI;;YAEpB,aAAa,GAAW,EAAE;QAE9B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE;YACxB,aAAa,GAAG,SAAS,CAAC;SAC3B;aAAM,IAAI,IAAI,GAAG,CAAC,EAAE;YACnB,aAAa,GAAG,UAAU,CAAC;SAC5B;QAED,QACE,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,aAAa,GAAG,aAAa;YAChD,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,GAAG,EAAE,EAAE,MAAM,CAAC;YAClD,KAAK;YACL,GAAG;YACH,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC;YACpD,OAAO;YACP,GAAG;YACH,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,OAAO,GAAG,EAAE,EAAE,MAAM,CAAC;YACpD,OAAO,EACP;KACH;;;YApDF,IAAI,SAAC;gBACJ,IAAI,EAAE,gBAAgB;aACvB;;;;;;;;MCCY,eAAe;;;;;;IAC1B,SAAS,CAAC,IAAS,EAAE,SAAe;;QAElC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;;cAChB,GAAG,GAAS,IAAI,IAAI,CAAC,SAAS,CAAC;;QAGrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO,cAAc,CAAC;SACvB;;;;cAIK,SAAS,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE;;YACvE,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,SAAS,IAAI,IAAI,CAAC;QAElE,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,aAAa,CAAC;SACtB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SAC9C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,aAAa,CAAC;SACtB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;SAC9C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,WAAW,CAAC;SACpB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SAC5C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,UAAU,CAAC;SACnB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;SAC3C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,YAAY,CAAC;SACrB;QACD,IAAI,IAAI,GAAG,EAAE,EAAE;YACb,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;SAC7C;;QAED,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,OAAO,WAAW,CAAC;SACpB;aAAM;YACL,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;SAC5C;KACF;;;YAhEF,IAAI,SAAC;gBACJ,IAAI,EAAE,WAAW;aAClB;;;;;;;;MCCY,WAAW;;;;;;;;IAGtB,SAAS,CAAC,KAAU,EAAE,YAAoB,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;;YAErC,OAAO,gBAAgB,CAAC;SACzB;;cACK,CAAC,GAAW,IAAI;;cAChB,KAAK,GAAa,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;;cAC/E,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QAE3D,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,gBAAgB,CAAC;SACzB;QACD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACjF;;;YArBF,IAAI,SAAC;gBACJ,IAAI,EAAE,OAAO;aACd;;;;;;;;MCCY,kBAAkB;;;;;;;;IAG7B,SAAS,CAAC,KAAU,EAAE,YAAoB,CAAC;QACzC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE;;YAErC,OAAO,gBAAgB,CAAC;SACzB;;cACK,CAAC,GAAW,IAAI;;cAChB,KAAK,GAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;;cACvE,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;QAE3D,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,gBAAgB,CAAC;SACzB;QACD,OAAO,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KACjF;;;YArBF,IAAI,SAAC;gBACJ,IAAI,EAAE,cAAc;aACrB;;;;;;;;MCEY,YAAY;;;;IAGvB,YAAuC,UAAkB,IAAI;QAAtB,YAAO,GAAP,OAAO,CAAe;QAC3D,IAAI,CAAC,YAAY,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACnD;;;;;;;IAGD,SAAS,CAAC,MAAW,EAAE,YAAoB,CAAC;QAC1C,IAAI,MAAM,KAAK,CAAC,EAAE;YAChB,OAAO,GAAG,CAAC;SACZ;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE;;YAEtC,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;SAC/D;;cACK,CAAC,GAAW,IAAI;;cAChB,KAAK,GAAa,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;;cAC/C,CAAC,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;;cACtD,IAAI,GAAW,KAAK,CAAC,CAAC,CAAC;QAC7B,QACE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,EAChH;KACH;;;YA3BF,IAAI,SAAC;gBACJ,IAAI,EAAE,QAAQ;aACf;;;;yCAIc,MAAM,SAAC,SAAS;;;;;;;IAF7B,oCAAkC;;;;;IAEtB,+BAAiD;;;;;;;;MCJlD,cAAc;;;;;;IACzB,SAAS,CAAC,IAAS,EAAE,MAAc;QACjC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC5B,OAAO,EAAE,CAAC;SACX;;;YAGG,SAAS,GAAW,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC;QAE9C,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE;YACxB,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAClC,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;aAC9B;YAED,SAAS,IAAI,GAAG,CAAC;SAClB;QAED,OAAO,SAAS,CAAC;KAClB;;;YArBF,IAAI,SAAC;gBACJ,IAAI,EAAE,UAAU;aACjB;;;;;;;;MCEY,iBAAiB;;;;IAE5B,YAAoB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM;aAChB,IAAI,CACH,MAAM;;;;QAAC,CAAC,CAAM,KAAK,CAAC,YAAY,gBAAgB,EAAC,EACjD,QAAQ,EAAE,CACX;aACA,SAAS;;;;QAAC,CAAC,CAAQ;YAClB,iBAAiB,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;SAC3D,EAAC,CAAC;KACN;;;;;;;;IAMD,gBAAgB;QACd,OAAO,iBAAiB,CAAC,cAAc,CAAC;KACzC;;AAlBc,gCAAc,GAAW,GAAG,CAAC;;YAF7C,UAAU;;;;YAJF,MAAM;;;;;;;IAMb,iCAA4C;;;;;IAChC,oCAAuB;;;;;;;;MCDxB,WAAW;IADxB;;;;;;;QAQU,WAAM,GAAa;YACzB,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,YAAY;YACZ,oBAAoB;YACpB,iBAAiB;YACjB,wBAAwB;YACxB,aAAa;YACb,gBAAgB;YAChB,mBAAmB;YACnB,OAAO;YACP,WAAW;YACX,WAAW;YACX,UAAU;YACV,WAAW;YACX,SAAS;YACT,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,mBAAmB;YACnB,qBAAqB;YACrB,sBAAsB;YACtB,WAAW;YACX,QAAQ;YACR,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,WAAW;YACX,YAAY;YACZ,OAAO;YACP,QAAQ;YACR,gBAAgB;YAChB,mBAAmB;YACnB,gBAAgB;YAChB,sBAAsB;YACtB,eAAe;YACf,iBAAiB;YACjB,aAAa;YACb,gBAAgB;YAChB,cAAc;YACd,sBAAsB;YACtB,oBAAoB;YACpB,OAAO;YACP,MAAM;YACN,SAAS;YACT,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,aAAa;YACb,WAAW;YACX,YAAY;YACZ,QAAQ;YACR,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,KAAK;YACL,MAAM;YACN,UAAU;YACV,cAAc;YACd,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,KAAK;YACL,OAAO;YACP,aAAa;YACb,OAAO;YACP,YAAY;YACZ,aAAa;YACb,SAAS;YACT,aAAa;YACb,WAAW;YACX,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,UAAU;YACV,cAAc;YACd,cAAc;YACd,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,cAAc;YACd,eAAe;YACf,aAAa;YACb,OAAO;YACP,SAAS;YACT,KAAK;YACL,OAAO;YACP,YAAY;YACZ,MAAM;YACN,cAAc;YACd,eAAe;YACf,SAAS;YACT,MAAM;YACN,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;YAChB,MAAM;YACN,OAAO;YACP,mBAAmB;YACnB,MAAM;YACN,OAAO;YACP,eAAe;YACf,OAAO;YACP,iBAAiB;YACjB,WAAW;YACX,UAAU;YACV,QAAQ;YACR,YAAY;YACZ,aAAa;YACb,MAAM;YACN,MAAM;YACN,WAAW;YACX,SAAS;YACT,oBAAoB;YACpB,UAAU;YACV,UAAU;YACV,YAAY;YACZ,UAAU;YACV,cAAc;YACd,aAAa;YACb,SAAS;YACT,iBAAiB;YACjB,aAAa;YACb,WAAW;YACX,UAAU;YACV,UAAU;YACV,SAAS;YACT,iBAAiB;YACjB,uBAAuB;YACvB,mBAAmB;YACnB,yBAAyB;YACzB,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,MAAM;YACN,oBAAoB;YACpB,wBAAwB;YACxB,eAAe;YACf,SAAS;YACT,oBAAoB;YACpB,gBAAgB;YAChB,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,SAAS;YACT,mBAAmB;YACnB,QAAQ;YACR,sBAAsB;YACtB,SAAS;YACT,gBAAgB;YAChB,SAAS;YACT,oBAAoB;YACpB,cAAc;YACd,MAAM;YACN,gBAAgB;YAChB,QAAQ;YACR,UAAU;YACV,QAAQ;YACR,uBAAuB;YACvB,yBAAyB;YACzB,oBAAoB;YACpB,qBAAqB;YACrB,eAAe;YACf,mBAAmB;YACnB,wBAAwB;YACxB,0BAA0B;YAC1B,0BAA0B;YAC1B,qBAAqB;YACrB,uBAAuB;YACvB,mBAAmB;YACnB,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,gBAAgB;YAChB,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,eAAe;YACf,eAAe;YACf,mBAAmB;YACnB,YAAY;YACZ,OAAO;YACP,OAAO;YACP,SAAS;YACT,wBAAwB;YACxB,oBAAoB;YACpB,YAAY;YACZ,wBAAwB;YACxB,WAAW;YACX,sBAAsB;YACtB,UAAU;YACV,mBAAmB;YACnB,KAAK;YACL,gBAAgB;YAChB,gBAAgB;YAChB,sBAAsB;YACtB,yBAAyB;YACzB,uBAAuB;YACvB,oBAAoB;YACpB,oBAAoB;YACpB,UAAU;YACV,YAAY;YACZ,UAAU;YACV,gBAAgB;YAChB,UAAU;YACV,KAAK;YACL,OAAO;YACP,MAAM;YACN,WAAW;YACX,eAAe;YACf,WAAW;YACX,eAAe;YACf,eAAe;YACf,aAAa;YACb,WAAW;YACX,eAAe;YACf,QAAQ;YACR,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,YAAY;YACZ,eAAe;YACf,aAAa;YACb,UAAU;YACV,eAAe;YACf,WAAW;YACX,aAAa;YACb,YAAY;YACZ,aAAa;YACb,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,MAAM;YACN,UAAU;YACV,cAAc;YACd,sBAAsB;YACtB,SAAS;YACT,UAAU;YACV,WAAW;YACX,OAAO;YACP,eAAe;YACf,wBAAwB;YACxB,SAAS;YACT,IAAI;YACJ,cAAc;YACd,SAAS;YACT,OAAO;YACP,WAAW;YACX,UAAU;YACV,oBAAoB;YACpB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,WAAW;YACX,UAAU;YACV,cAAc;YACd,aAAa;YACb,oBAAoB;YACpB,gBAAgB;YAChB,WAAW;YACX,qBAAqB;YACrB,WAAW;YACX,WAAW;YACX,oBAAoB;YACpB,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,OAAO;YACP,IAAI;YACJ,SAAS;YACT,cAAc;YACd,aAAa;YACb,eAAe;YACf,eAAe;YACf,MAAM;YACN,KAAK;YACL,UAAU;YACV,SAAS;YACT,mBAAmB;YACnB,OAAO;YACP,aAAa;YACb,cAAc;YACd,gBAAgB;YAChB,MAAM;YACN,OAAO;YACP,qBAAqB;YACrB,sBAAsB;YACtB,YAAY;YACZ,oBAAoB;YACpB,qBAAqB;YACrB,cAAc;YACd,oBAAoB;YACpB,eAAe;YACf,OAAO;YACP,aAAa;YACb,iBAAiB;YACjB,OAAO;YACP,eAAe;YACf,mBAAmB;YACnB,QAAQ;YACR,YAAY;YACZ,QAAQ;YACR,WAAW;YACX,WAAW;YACX,UAAU;YACV,SAAS;YACT,WAAW;YACX,eAAe;YACf,mBAAmB;YACnB,QAAQ;YACR,eAAe;YACf,OAAO;YACP,MAAM;YACN,eAAe;YACf,WAAW;YACX,gBAAgB;YAChB,YAAY;YACZ,aAAa;YACb,eAAe;YACf,UAAU;YACV,cAAc;YACd,aAAa;YACb,aAAa;YACb,YAAY;YACZ,WAAW;YACX,KAAK;YACL,WAAW;YACX,UAAU;YACV,MAAM;YACN,UAAU;YACV,WAAW;YACX,YAAY;YACZ,aAAa;YACb,sBAAsB;YACtB,eAAe;YACf,YAAY;YACZ,qBAAqB;YACrB,MAAM;YACN,aAAa;YACb,qBAAqB;YACrB,WAAW;YACX,SAAS;YACT,cAAc;YACd,eAAe;YACf,UAAU;YACV,yBAAyB;YACzB,YAAY;YACZ,SAAS;YACT,iBAAiB;YACjB,KAAK;YACL,OAAO;YACP,OAAO;YACP,iBAAiB;YACjB,eAAe;YACf,mBAAmB;YACnB,UAAU;YACV,WAAW;YACX,cAAc;YACd,SAAS;YACT,qBAAqB;YACrB,QAAQ;YACR,oBAAoB;YACpB,qBAAqB;YACrB,OAAO;YACP,gBAAgB;YAChB,eAAe;YACf,iBAAiB;YACjB,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,UAAU;YACV,cAAc;YACd,yBAAyB;YACzB,eAAe;YACf,wBAAwB;YACxB,uBAAuB;YACvB,wBAAwB;YACxB,uBAAuB;YACvB,mBAAmB;YACnB,YAAY;YACZ,SAAS;YACT,aAAa;YACb,WAAW;YACX,SAAS;YACT,KAAK;YACL,SAAS;YACT,YAAY;YACZ,oBAAoB;YACpB,aAAa;YACb,SAAS;YACT,WAAW;YACX,QAAQ;YACR,OAAO;YACP,OAAO;YACP,QAAQ;YACR,cAAc;YACd,QAAQ;YACR,cAAc;YACd,WAAW;YACX,aAAa;YACb,MAAM;YACN,eAAe;YACf,SAAS;YACT,SAAS;YACT,YAAY;YACZ,aAAa;YACb,OAAO;YACP,MAAM;YACN,UAAU;YACV,cAAc;YACd,MAAM;YACN,YAAY;YACZ,eAAe;YACf,WAAW;YACX,eAAe;YACf,QAAQ;YACR,MAAM;YACN,QAAQ;YACR,eAAe;YACf,uBAAuB;YACvB,OAAO;YACP,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,MAAM;YACN,UAAU;YACV,YAAY;YACZ,MAAM;YACN,MAAM;YACN,aAAa;YACb,aAAa;YACb,WAAW;YACX,MAAM;YACN,OAAO;YACP,eAAe;YACf,cAAc;YACd,eAAe;YACf,aAAa;YACb,WAAW;YACX,oBAAoB;YACpB,qBAAqB;YACrB,uBAAuB;YACvB,eAAe;YACf,uBAAuB;YACvB,cAAc;YACd,aAAa;YACb,iBAAiB;YACjB,WAAW;YACX,qBAAqB;YACrB,oBAAoB;YACpB,qBAAqB;YACrB,iBAAiB;YACjB,iBAAiB;YACjB,gBAAgB;YAChB,mBAAmB;YACnB,YAAY;YACZ,gBAAgB;YAChB,SAAS;YACT,KAAK;YACL,WAAW;YACX,eAAe;YACf,SAAS;YACT,YAAY;YACZ,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,YAAY;YACZ,KAAK;YACL,uBAAuB;YACvB,sBAAsB;YACtB,sBAAsB;YACtB,iBAAiB;YACjB,YAAY;YACZ,0BAA0B;YAC1B,uBAAuB;YACvB,qBAAqB;YACrB,6CAA6C;YAC7C,wBAAwB;YACxB,sBAAsB;YACtB,qBAAqB;YACrB,mBAAmB;YACnB,wBAAwB;YACxB,iBAAiB;YACjB,SAAS;YACT,KAAK;YACL,WAAW;YACX,SAAS;YACT,WAAW;YACX,gBAAgB;YAChB,aAAa;YACb,aAAa;YACb,cAAc;YACd,WAAW;YACX,YAAY;YACZ,eAAe;YACf,cAAc;YACd,mBAAmB;YACnB,cAAc;YACd,aAAa;YACb,cAAc;YACd,cAAc;YACd,cAAc;YACd,YAAY;YACZ,iBAAiB;YACjB,cAAc;YACd,aAAa;YACb,qBAAqB;YACrB,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,aAAa;YACb,cAAc;YACd,oBAAoB;YACpB,wBAAwB;YACxB,wBAAwB;YACxB,eAAe;YACf,qBAAqB;YACrB,sBAAsB;YACtB,sBAAsB;YACtB,0BAA0B;YAC1B,cAAc;YACd,cAAc;YACd,eAAe;YACf,aAAa;YACb,sBAAsB;YACtB,6BAA6B;YAC7B,6BAA6B;YAC7B,mBAAmB;YACnB,WAAW;YACX,QAAQ;YACR,WAAW;YACX,cAAc;YACd,uBAAuB;YACvB,gBAAgB;YAChB,mBAAmB;YACnB,iBAAiB;YACjB,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,cAAc;YACd,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,WAAW;YACX,iBAAiB;YACjB,OAAO;YACP,WAAW;YACX,UAAU;YACV,SAAS;YACT,cAAc;YACd,OAAO;YACP,YAAY;YACZ,YAAY;YACZ,WAAW;YACX,iBAAiB;YACjB,aAAa;YACb,aAAa;YACb,OAAO;YACP,uBAAuB;YACvB,uBAAuB;YACvB,oBAAoB;YACpB,WAAW;YACX,YAAY;YACZ,OAAO;YACP,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,WAAW;YACX,aAAa;YACb,cAAc;YACd,mBAAmB;YACnB,QAAQ;YACR,aAAa;YACb,eAAe;YACf,MAAM;YACN,gBAAgB;YAChB,UAAU;YACV,aAAa;YACb,iBAAiB;YACjB,iBAAiB;YACjB,YAAY;YACZ,gBAAgB;YAChB,eAAe;YACf,MAAM;YACN,SAAS;YACT,SAAS;YACT,aAAa;YACb,UAAU;YACV,qBAAqB;YACrB,qBAAqB;YACrB,sBAAsB;YACtB,mBAAmB;YACnB,oBAAoB;YACpB,mBAAmB;YACnB,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,gBAAgB;YAChB,QAAQ;YACR,mBAAmB;YACnB,YAAY;YACZ,gBAAgB;YAChB,QAAQ;YACR,OAAO;YACP,eAAe;YACf,cAAc;YACd,WAAW;YACX,eAAe;YACf,aAAa;YACb,QAAQ;YACR,SAAS;YACT,UAAU;YACV,UAAU;YACV,YAAY;YACZ,SAAS;YACT,eAAe;YACf,QAAQ;YACR,gBAAgB;YAChB,YAAY;YACZ,MAAM;YACN,IAAI;YACJ,iBAAiB;YACjB,OAAO;YACP,aAAa;YACb,qBAAqB;YACrB,eAAe;YACf,QAAQ;YACR,WAAW;YACX,iBAAiB;YACjB,YAAY;YACZ,eAAe;YACf,aAAa;YACb,UAAU;YACV,SAAS;YACT,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;YACd,cAAc;YACd,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,cAAc;YACd,aAAa;YACb,aAAa;YACb,qBAAqB;YACrB,mBAAmB;YACnB,aAAa;YACb,sBAAsB;YACtB,YAAY;YACZ,UAAU;YACV,SAAS;YACT,eAAe;YACf,yBAAyB;YACzB,MAAM;YACN,WAAW;YACX,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,WAAW;YACX,gBAAgB;YAChB,eAAe;YACf,eAAe;YACf,aAAa;YACb,aAAa;YACb,QAAQ;YACR,SAAS;YACT,MAAM;YACN,MAAM;YACN,UAAU;YACV,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,iBAAiB;YACjB,eAAe;YACf,QAAQ;YACR,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,UAAU;YACV,eAAe;YACf,gBAAgB;YAChB,qBAAqB;YACrB,cAAc;YACd,eAAe;YACf,YAAY;YACZ,aAAa;YACb,mBAAmB;YACnB,gBAAgB;YAChB,OAAO;YACP,YAAY;YACZ,WAAW;YACX,UAAU;YACV,MAAM;YACN,qBAAqB;YACrB,iBAAiB;YACjB,UAAU;YACV,OAAO;YACP,UAAU;YACV,SAAS;YACT,SAAS;YACT,QAAQ;YACR,YAAY;YACZ,UAAU;YACV,SAAS;YACT,OAAO;YACP,oBAAoB;YACpB,cAAc;YACd,KAAK;YACL,WAAW;YACX,UAAU;YACV,aAAa;YACb,MAAM;YACN,eAAe;YACf,OAAO;YACP,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,WAAW;YACX,WAAW;YACX,OAAO;YACP,mBAAmB;YACnB,gBAAgB;YAChB,cAAc;YACd,YAAY;YACZ,WAAW;YACX,QAAQ;YACR,eAAe;YACf,iBAAiB;YACjB,eAAe;YACf,SAAS;YACT,UAAU;YACV,mBAAmB;YACnB,qBAAqB;YACrB,mBAAmB;YACnB,qBAAqB;YACrB,OAAO;YACP,aAAa;YACb,cAAc;YACd,cAAc;YACd,eAAe;YACf,0BAA0B;YAC1B,yBAAyB;YACzB,yBAAyB;YACzB,gBAAgB;YAChB,UAAU;YACV,gBAAgB;YAChB,uBAAuB;YACvB,aAAa;YACb,cAAc;YACd,eAAe;YACf,WAAW;YACX,YAAY;YACZ,OAAO;YACP,eAAe;YACf,cAAc;YACd,WAAW;YACX,SAAS;YACT,WAAW;YACX,OAAO;YACP,UAAU;YACV,SAAS;YACT,WAAW;YACX,UAAU;YACV,WAAW;YACX,MAAM;YACN,YAAY;YACZ,cAAc;YACd,UAAU;YACV,SAAS;YACT,WAAW;YACX,iBAAiB;YACjB,eAAe;YACf,UAAU;YACV,KAAK;YACL,KAAK;YACL,UAAU;YACV,UAAU;YACV,qBAAqB;YACrB,iBAAiB;YACjB,YAAY;YACZ,iBAAiB;YACjB,iBAAiB;YACjB,gBAAgB;YAChB,gBAAgB;YAChB,oBAAoB;YACpB,gBAAgB;YAChB,mBAAmB;YACnB,oBAAoB;YACpB,iBAAiB;YACjB,iBAAiB;YACjB,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,OAAO;YACP,QAAQ;YACR,cAAc;YACd,gBAAgB;YAChB,eAAe;YACf,WAAW;YACX,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,yBAAyB;YACzB,cAAc;YACd,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,qBAAqB;YACrB,gBAAgB;YAChB,aAAa;YACb,uBAAuB;YACvB,eAAe;YACf,YAAY;YACZ,cAAc;YACd,aAAa;YACb,eAAe;YACf,gBAAgB;YAChB,aAAa;YACb,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,iBAAiB;YACjB,WAAW;YACX,gBAAgB;YAChB,YAAY;YACZ,KAAK;YACL,WAAW;YACX,OAAO;YACP,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,SAAS;YACT,YAAY;YACZ,aAAa;YACb,YAAY;YACZ,iBAAiB;YACjB,WAAW;YACX,sBAAsB;YACtB,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,SAAS;YACT,OAAO;YACP,MAAM;YACN,2BAA2B;YAC3B,mBAAmB;YACnB,aAAa;YACb,cAAc;YACd,MAAM;YACN,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,wBAAwB;YACxB,eAAe;YACf,eAAe;YACf,mBAAmB;YACnB,YAAY;YACZ,aAAa;YACb,cAAc;YACd,QAAQ;YACR,OAAO;YACP,cAAc;YACd,eAAe;YACf,OAAO;YACP,cAAc;YACd,aAAa;YACb,aAAa;YACb,YAAY;YACZ,YAAY;YACZ,iBAAiB;YACjB,WAAW;YACX,WAAW;YACX,MAAM;YACN,WAAW;YACX,YAAY;YACZ,WAAW;YACX,SAAS;YACT,yBAAyB;YACzB,0BAA0B;YAC1B,aAAa;YACb,aAAa;YACb,cAAc;YACd,KAAK;YACL,mBAAmB;YACnB,0BAA0B;YAC1B,+BAA+B;YAC/B,4BAA4B;YAC5B,6BAA6B;YAC7B,8BAA8B;YAC9B,4BAA4B;YAC5B,6BAA6B;YAC7B,iBAAiB;YACjB,qBAAqB;YACrB,WAAW;YACX,WAAW;YACX,qBAAqB;YACrB,iBAAiB;YACjB,YAAY;YACZ,YAAY;YACZ,gBAAgB;YAChB,SAAS;YACT,KAAK;YACL,MAAM;YACN,eAAe;YACf,gBAAgB;YAChB,eAAe;YACf,gBAAgB;YAChB,gBAAgB;YAChB,yBAAyB;YACzB,gBAAgB;YAChB,iBAAiB;YACjB,eAAe;YACf,cAAc;YACd,cAAc;YACd,cAAc;YACd,OAAO;YACP,WAAW;YACX,eAAe;YACf,SAAS;YACT,KAAK;YACL,YAAY;YACZ,MAAM;YACN,eAAe;YACf,cAAc;YACd,eAAe;YACf,cAAc;YACd,eAAe;YACf,QAAQ;YACR,WAAW;YACX,YAAY;YACZ,UAAU;YACV,IAAI;YACJ,MAAM;YACN,UAAU;YACV,SAAS;YACT,iBAAiB;YACjB,eAAe;YACf,WAAW;YACX,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,QAAQ;YACR,YAAY;YACZ,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,aAAa;YACb,SAAS;YACT,OAAO;YACP,SAAS;YACT,cAAc;YACd,iBAAiB;YACjB,MAAM;YACN,cAAc;YACd,WAAW;YACX,YAAY;YACZ,eAAe;YACf,KAAK;YACL,YAAY;YACZ,MAAM;YACN,MAAM;YACN,gBAAgB;YAChB,cAAc;YACd,aAAa;YACb,qBAAqB;YACrB,cAAc;YACd,eAAe;YACf,cAAc;YACd,eAAe;YACf,sBAAsB;YACtB,WAAW;YACX,OAAO;YACP,WAAW;YACX,UAAU;YACV,eAAe;YACf,MAAM;YACN,UAAU;YACV,aAAa;YACb,eAAe;YACf,sBAAsB;YACtB,oBAAoB;YACpB,mBAAmB;YACnB,sBAAsB;YACtB,eAAe;YACf,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,YAAY;YACZ,gBAAgB;YAChB,QAAQ;YACR,YAAY;YACZ,gBAAgB;YAChB,UAAU;YACV,MAAM;YACN,QAAQ;YACR,QAAQ;YACR,wBAAwB;YACxB,qBAAqB;YACrB,6BAA6B;YAC7B,0BAA0B;YAC1B,OAAO;YACP,YAAY;YACZ,QAAQ;YACR,iBAAiB;YACjB,mBAAmB;YACnB,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;YACjB,aAAa;YACb,iBAAiB;YACjB,eAAe;YACf,gBAAgB;YAChB,YAAY;YACZ,oBAAoB;YACpB,cAAc;YACd,eAAe;YACf,eAAe;YACf,mBAAmB;YACnB,gBAAgB;YAChB,cAAc;YACd,UAAU;YACV,WAAW;YACX,yBAAyB;YACzB,yBAAyB;YACzB,sBAAsB;YACtB,wBAAwB;YACxB,MAAM;YACN,aAAa;YACb,WAAW;YACX,YAAY;YACZ,WAAW;SACZ,CAAC;KAWH;;;;IATC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;;;IAED,MAAM,CAAC,KAAa;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;;;;QAAC,CAAC,EAAU;YAClC,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SACxE,EAAC,CAAC;KACJ;;;YApjCF,UAAU;;;;;;;IAQT,6BAkiCE;;;;;;;;;MCpiCE,aAAa,GAAgB,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;;;MAGzE,aAAa,GAAgB,EAAE;;MAa/B,QAAQ,GAAgB;IAC5B,aAAa;IACb,oBAAoB;IACpB,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,cAAc;CACf;MAeY,oBAAoB;;;YANhC,QAAQ,SAAC;gBACR,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;gBACpC,YAAY,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;gBACtD,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,CAAC;gBAC5E,SAAS,EAAE,CAAC,iBAAiB,EAAE,WAAW,CAAC;aAC5C;;;;;;;;;;;+BCjCA;;;IAFC,mCAAiB;;IACjB,gCAAc;;;;;;;;;;;;;;;;;MAkBH,iBAAiB,GAA6B,OAAO,CAAC,UAAU,EAAE;IAC7E,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,+BAA+B;KAC3C,CAAC,EACF,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CAChC;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,6BAA6B;KACzC,CAAC,EACF,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,CAChC;IACD,UAAU,CACR,SAAS,EACT,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,2CAA2C,CAAC,CAAC,CAAC,CAAC,EAChH,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC3D;CACF;;;;;;;;;;iCCrCA;;;IAFC,yCAAqB;;IACrB,wCAAoB;;;;;;;;;;;;;;;;MAgBT,mBAAmB,GAA6B,OAAO,CAAC,YAAY,EAAE;IACjF,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,MAAM,EAAE,GAAG;QACX,QAAQ,EAAE,QAAQ;KACnB,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,UAAU;KACrB,CAAC,CACH;IACD,UAAU,CACR,QAAQ,EACR;QACE,KAAK,CAAC;YACJ,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,UAAU;SACnB,CAAC;QACF,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,KAAK,CAAC;gBACJ,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,QAAQ;aACnB,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAC3D;IACD,UAAU,CACR,QAAQ,EACR;QACE,KAAK,CAAC;YACJ,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC;QACF,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,KAAK,CAAC;gBACJ,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,UAAU;aACnB,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;;;kCCtEA;;;IAFC,uCAAkB;;IAClB,wCAAmB;;;;;;;;;;;;;;;;MAgBR,oBAAoB,GAA6B,OAAO,CAAC,aAAa,EAAE;IACnF,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,OAAO,EAAE,GAAG;QACZ,UAAU,EAAE,QAAQ;KACrB,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,UAAU;KACvB,CAAC,CACH;IACD,UAAU,CACR,QAAQ,EACR;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,+CAA+C,CAAC;SACzD,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAC/D;IACD,UAAU,CACR,QAAQ,EACR;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CAAC,gDAAgD,CAAC;SAC1D,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CACjE;CACF;;;;;;;;;;;;;;;;;;;;MCzCY,iBAAiB,GAA6B,OAAO,CAAC,UAAU,EAAE;IAC7E,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,sBAAsB;KAClC,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,sBAAsB;KAClC,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,sBAAsB;oBACjC,MAAM,EAAE,CAAC;iBACV,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,sBAAsB;oBACjC,MAAM,EAAE,GAAG;iBACZ,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,0BAA0B;oBACrC,MAAM,EAAE,GAAG;iBACZ,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,0BAA0B;oBACrC,MAAM,EAAE,IAAI;iBACb,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,sBAAsB;oBACjC,MAAM,EAAE,IAAI;iBACb,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,0BAA0B;oBACrC,MAAM,EAAE,GAAG;iBACZ,CAAC;gBACF,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,sBAAsB;oBACjC,MAAM,EAAE,GAAG;iBACZ,CAAC;gBACF,KAAK,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC5D,KAAK,CAAC;oBACJ,uBAAuB,EAAE,0CAA0C;oBACnE,SAAS,EAAE,sBAAsB;oBACjC,MAAM,EAAE,GAAG;iBACZ,CAAC;aACH,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;;;;;;;;;;;;;MCnEY,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;IAC3E,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,OAAO,EAAE,CAAC;KACX,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,OAAO,EAAE,CAAC;KACX,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBAClC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBACnC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;aACnC,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;;;;;;;;;;;;;MChCY,oBAAoB,GAA6B,OAAO,CAAC,aAAa,EAAE;IACnF,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,eAAe;KAC3B,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,eAAe;KAC3B,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACtE,KAAK,CAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACpE,KAAK,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACtE,KAAK,CAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACpE,KAAK,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;aACnD,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;;;;;;;;;;;;;MCjCY,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;IAC3E,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM;KAClB,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM;KAClB,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC3C,KAAK,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACtE,KAAK,CAAC,EAAE,SAAS,EAAE,+BAA+B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACpE,KAAK,CAAC,EAAE,SAAS,EAAE,mCAAmC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACxE,KAAK,CAAC,EAAE,SAAS,EAAE,mCAAmC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACxE,KAAK,CAAC,EAAE,SAAS,EAAE,uCAAuC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC5E,KAAK,CAAC,EAAE,SAAS,EAAE,uCAAuC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBAC5E,KAAK,CAAC,EAAE,SAAS,EAAE,2CAA2C,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;aACjF,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;;;;;;;;;;;;;MCpCY,gBAAgB,GAA6B,OAAO,CAAC,SAAS,EAAE;IAC3E,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CACH;IACD,KAAK,CACH,GAAG,EACH,KAAK,CAAC;QACJ,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CACH;IACD,UAAU,CACR,SAAS,EACT;QACE,KAAK,CAAC;YACJ,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC/C,OAAO,CACL,2CAA2C,EAC3C,SAAS,CAAC;gBACR,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;gBACnD,KAAK,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;gBAC9D,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;aACtD,CAAC,CACH;SACF,CAAC;KACH,EACD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAC5D;CACF;;;;;;;;MClDK,IAAI;;;AAAQ;;AAElB,CAAC,CAAA;;;;;oCAOA;;;IAJC,sCAAW;;IACX,6CAA8B;;IAC9B,yCAA0B;;IAC1B,0CAAqB;;;;;oCAKtB;;;IADC,mDAAsC;;;;;;;;;SAIxB,yBAAyB,CACvC,IAAO,EACP,YAAkB;IAElB,OAAO,cAAc,IAAI;;;;QAKvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YALT,WAAM,GAAQ,YAAY,YAAY,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,YAAY,CAAC;YAmCrG,aAAQ;;;;YAAG,CAAC,CAAM,KAAK,IAAI,EAAC;YAC5B,cAAS;;;YAAG,MAAM,IAAI,EAAC;YA9BrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,OAAO,EAAO,CAAC;YAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC;SAC9D;;;;;QAED,IAAI,KAAK,CAAC,CAAM;YACd,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACjB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;gBACvC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACnC;SACF;;;;QACD,IAAI,KAAK;YACP,OAAO,IAAI,CAAC,MAAM,CAAC;SACpB;;;;;QAED,UAAU,CAAC,KAAU;YACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC;;;;;QAED,gBAAgB,CAAC,EAAO;YACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;SACpB;;;;;QAED,iBAAiB,CAAC,EAAO;YACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;SACrB;KAIF,CAAC;AACJ;;;;;;;;;;;0BC1DC;;;IAFC,+BAAkB;;;;;IAClB,0DAAmC;;;;;;;;SAIrB,aAAa,CAA4B,IAAO;IAC9D,OAAO,cAAc,IAAI;;;;QAGvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAHT,cAAS,GAAY,KAAK,CAAC;SAIlC;;;;QAED,IAAI,QAAQ;YACV,OAAO,IAAI,CAAC,SAAS,CAAC;SACvB;;;;;QACD,IAAI,QAAQ,CAAC,KAAc;;kBACnB,QAAQ,GAAY,qBAAqB,CAAC,KAAK,CAAC;YACtD,IAAI,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;gBAC/B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACvC;SACF;;;;;QAED,gBAAgB,CAAC,CAAU;;SAE1B;KACF,CAAC;AACJ;;;;;;;;;;;gCC1BC;;;IAFC,0CAAuB;;;;;IACvB,qEAAwC;;;;;;;;SAI1B,kBAAkB,CAA4B,IAAO;IACnE,OAAO,cAAc,IAAI;;;;QAGvB,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAHT,mBAAc,GAAY,KAAK,CAAC;SAIvC;;;;QAED,IAAI,aAAa;YACf,OAAO,IAAI,CAAC,cAAc,CAAC;SAC5B;;;;;QACD,IAAI,aAAa,CAAC,KAAc;;kBACxB,QAAQ,GAAY,qBAAqB,CAAC,KAAK,CAAC;YACtD,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;gBACpC,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;gBAC/B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACjD;SACF;;;;;QAED,qBAAqB,CAAC,CAAU;;SAE/B;KACF,CAAC;AACJ;;;;;;;MChCa,kBAAkB;;;;;IAC7B,OAAO,GAAG,CAAC,QAAa;;;cAEhB,IAAI;;;;QAAgB,CAAC,CAAkB;YAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;gBAC7D,OAAO,SAAS,CAAC;aAClB;;kBACK,CAAC,GAAW,CAAC,CAAC,KAAK;YACzB,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;SACzE,CAAA;QACD,OAAO,IAAI,CAAC;KACb;;;;;IAED,OAAO,GAAG,CAAC,QAAa;;;cAEhB,IAAI;;;;QAAgB,CAAC,CAAkB;YAC3C,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;gBAC7D,OAAO,SAAS,CAAC;aAClB;;kBACK,CAAC,GAAW,CAAC,CAAC,KAAK;YACzB,OAAO,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC;SACzE,CAAA;QACD,OAAO,IAAI,CAAC;KACb;;;;;IAED,OAAO,cAAc,CAAC,CAAkB;QACtC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;KAC/D;;;;;;;;;;;;;;;;SCrBa,eAAe,CAAC,KAAa;;;UAErC,YAAY,GAAwB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;IAC5E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;IAGxC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,YAAY,CAAC,MAAM,EAAE,CAAC;;;UAGhB,OAAO,GAAY,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC;;IAGrD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;;IAGxC,OAAO,OAAO,CAAC;AACjB;;;;;;;;;;;;;;;;SChBgB,mBAAmB,CACjC,OAAc,EACd,eAAuB,GAAG,EAC1B,gBAAwB,MAAM;IAE9B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,EAAE,CAAC;KACX;;QAEG,YAAY,GAAW,EAAE;;IAG7B,OAAO,CAAC,OAAO;;;;;IAAC,CAAC,KAAa,EAAE,GAAW;;YACrC,IAAI,GAAW,EAAE;QACrB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;YAC7C,IAAI,IAAI,KAAK,EAAE,EAAE;gBACf,IAAI,IAAI,YAAY,CAAC;aACtB;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;gBACrE,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAC1B;YACD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SAC7B;QACD,YAAY,IAAI,GAAG,IAAI,GAAG,aAAa,EAAE,CAAC;KAC3C,EAAC,CAAC;;IAGH,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;;cACR,OAAO,GAAW,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAClE,YAAY,GAAG,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,EAAE,CAAC;KAC5D;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;;;;;;;;;;;;;;SAee,gBAAgB,CAC9B,GAAW,EACX,eAAuB,GAAG,EAC1B,gBAAwB,MAAM,EAC9B,SAAiB,CAAC;IAElB,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,EAAE,CAAC;KACX;;UAEK,QAAQ,GAAa,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;;IAEnD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;QACvB,OAAO,EAAE,CAAC;KACX;;UAEK,UAAU,GAAU,EAAE;;;UAGtB,IAAI,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;;IAEtD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;cAC1C,SAAS,GAAQ,EAAE;;cAEnB,MAAM,GAAa,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE;YACjC,SAAS;SACV;QACD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC5C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KAC5B;IAED,OAAO,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACxC,CAAC;;;;;;;;SAQe,UAAU,CAAC,IAAY,EAAE,SAAiB,CAAC;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACjD;;;;;;;;;;;;;;;SC7FgB,WAAW,CAAC,YAAoB,EAAE,GAAW;IAC3D,YAAY,CAAC,GAAG,YAAY,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC;;;;;;;;;;;SAWe,YAAY,CAAC,YAAoB,EAAE,IAAY,EAAE,SAAkB,KAAK,EAAE,SAAiB,CAAC;IAC1G,YAAY,CAAC,GAAG,YAAY,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,EAAE,kBAAkB,CAAC,CAAC;AACjH,CAAC;;;;;;;;;;;;;SAae,oBAAoB,CAClC,YAAoB,EACpB,OAAc,EACd,eAAuB,GAAG,EAC1B,gBAAwB,MAAM;IAE9B,YAAY,CAAC,GAAG,YAAY,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;AAC7G,CAAC;;;;;;;;;;;SAWe,qBAAqB,CAAC,YAAoB,EAAE,OAAc,EAAE,SAAiB,CAAC;IAC5F,YAAY,CAAC,GAAG,YAAY,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACxF,CAAC;;;;;;;;;SASe,YAAY,CAAC,QAAgB,EAAE,QAAgB,EAAE,WAAmB,YAAY;IAC9F,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;QAC1B,OAAO;KACR;;;UAGK,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;UACrD,GAAG,GAAW,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC;;;UAG9C,CAAC,GAAsB,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;IACxD,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACzC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IACb,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,KAAK,EAAE,CAAC;IACV,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;AAClC;;;;;;;;;;;;;SC/EgB,QAAQ,CAAC,IAAU;IACjC,OAAO,IAAI,OAAO;;;;IAAS,CAAC,OAAgC;;cACpD,MAAM,GAAe,IAAI,UAAU,EAAE;QAC3C,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM;;;QAAG;YACd,OAAO,oBAAS,MAAM,CAAC,MAAM,GAAC,CAAC;SAChC,CAAA,CAAC;KACH,EAAC,CAAC;AACL;;;;;;;;;;;;;;;;;;;;;;"}