| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968 |
- import { __decorate, __metadata } from "tslib";
- import { AfterViewInit, Component, ComponentFactoryResolver, ContentChildren, ElementRef, EventEmitter, Input, Output, QueryList, ViewContainerRef, ViewEncapsulation } from "@angular/core";
- import { ComponentUtil, Events, Grid, GridOptionsWrapper, Promise, _ } from "ag-grid-community";
- import { AngularFrameworkOverrides } from "./angularFrameworkOverrides";
- import { AngularFrameworkComponentWrapper } from "./angularFrameworkComponentWrapper";
- import { AgGridColumn } from "./ag-grid-column.component";
- var AgGridAngular = /** @class */ (function () {
- function AgGridAngular(elementDef, viewContainerRef, angularFrameworkOverrides, frameworkComponentWrapper, _componentFactoryResolver) {
- this.viewContainerRef = viewContainerRef;
- this.angularFrameworkOverrides = angularFrameworkOverrides;
- this.frameworkComponentWrapper = frameworkComponentWrapper;
- this._componentFactoryResolver = _componentFactoryResolver;
- this._initialised = false;
- this._destroyed = false;
- // in order to ensure firing of gridReady is deterministic
- this._fullyReady = Promise.resolve(true);
- // @START@
- this.slaveGrids = undefined;
- this.alignedGrids = undefined;
- this.rowData = undefined;
- this.columnDefs = undefined;
- this.excelStyles = undefined;
- this.pinnedTopRowData = undefined;
- this.pinnedBottomRowData = undefined;
- this.components = undefined;
- this.frameworkComponents = undefined;
- this.rowStyle = undefined;
- this.context = undefined;
- this.autoGroupColumnDef = undefined;
- this.groupColumnDef = undefined;
- this.localeText = undefined;
- this.icons = undefined;
- this.datasource = undefined;
- this.serverSideDatasource = undefined;
- this.viewportDatasource = undefined;
- this.groupRowRendererParams = undefined;
- this.aggFuncs = undefined;
- this.fullWidthCellRendererParams = undefined;
- this.defaultColGroupDef = undefined;
- this.defaultColDef = undefined;
- this.defaultExportParams = undefined;
- this.columnTypes = undefined;
- this.rowClassRules = undefined;
- this.detailGridOptions = undefined;
- this.detailCellRendererParams = undefined;
- this.loadingCellRendererParams = undefined;
- this.loadingOverlayComponentParams = undefined;
- this.noRowsOverlayComponentParams = undefined;
- this.popupParent = undefined;
- this.colResizeDefault = undefined;
- this.reduxStore = undefined;
- this.statusBar = undefined;
- this.sideBar = undefined;
- this.sortingOrder = undefined;
- this.rowClass = undefined;
- this.rowSelection = undefined;
- this.overlayLoadingTemplate = undefined;
- this.overlayNoRowsTemplate = undefined;
- this.quickFilterText = undefined;
- this.rowModelType = undefined;
- this.editType = undefined;
- this.domLayout = undefined;
- this.clipboardDeliminator = undefined;
- this.rowGroupPanelShow = undefined;
- this.multiSortKey = undefined;
- this.pivotColumnGroupTotals = undefined;
- this.pivotRowTotals = undefined;
- this.pivotPanelShow = undefined;
- this.rowHeight = undefined;
- this.detailRowHeight = undefined;
- this.rowBuffer = undefined;
- this.colWidth = undefined;
- this.headerHeight = undefined;
- this.groupHeaderHeight = undefined;
- this.floatingFiltersHeight = undefined;
- this.pivotHeaderHeight = undefined;
- this.pivotGroupHeaderHeight = undefined;
- this.groupDefaultExpanded = undefined;
- this.minColWidth = undefined;
- this.maxColWidth = undefined;
- this.viewportRowModelPageSize = undefined;
- this.viewportRowModelBufferSize = undefined;
- this.autoSizePadding = undefined;
- this.maxBlocksInCache = undefined;
- this.maxConcurrentDatasourceRequests = undefined;
- this.tooltipShowDelay = undefined;
- this.cacheOverflowSize = undefined;
- this.paginationPageSize = undefined;
- this.cacheBlockSize = undefined;
- this.infiniteInitialRowCount = undefined;
- this.scrollbarWidth = undefined;
- this.paginationStartPage = undefined;
- this.infiniteBlockSize = undefined;
- this.batchUpdateWaitMillis = undefined;
- this.asyncTransactionWaitMillis = undefined;
- this.blockLoadDebounceMillis = undefined;
- this.keepDetailRowsCount = undefined;
- this.undoRedoCellEditingLimit = undefined;
- this.cellFlashDelay = undefined;
- this.cellFadeDelay = undefined;
- this.localeTextFunc = undefined;
- this.groupRowInnerRenderer = undefined;
- this.groupRowInnerRendererFramework = undefined;
- this.dateComponent = undefined;
- this.dateComponentFramework = undefined;
- this.groupRowRenderer = undefined;
- this.groupRowRendererFramework = undefined;
- this.isExternalFilterPresent = undefined;
- this.getRowHeight = undefined;
- this.doesExternalFilterPass = undefined;
- this.getRowClass = undefined;
- this.getRowStyle = undefined;
- this.getRowClassRules = undefined;
- this.traverseNode = undefined;
- this.getContextMenuItems = undefined;
- this.getMainMenuItems = undefined;
- this.processRowPostCreate = undefined;
- this.processCellForClipboard = undefined;
- this.getNodeChildDetails = undefined;
- this.groupRowAggNodes = undefined;
- this.getRowNodeId = undefined;
- this.isFullWidthCell = undefined;
- this.fullWidthCellRenderer = undefined;
- this.fullWidthCellRendererFramework = undefined;
- this.doesDataFlower = undefined;
- this.processSecondaryColDef = undefined;
- this.processSecondaryColGroupDef = undefined;
- this.getBusinessKeyForNode = undefined;
- this.sendToClipboard = undefined;
- this.navigateToNextCell = undefined;
- this.tabToNextCell = undefined;
- this.getDetailRowData = undefined;
- this.processCellFromClipboard = undefined;
- this.getDocument = undefined;
- this.postProcessPopup = undefined;
- this.getChildCount = undefined;
- this.getDataPath = undefined;
- this.loadingCellRenderer = undefined;
- this.loadingCellRendererFramework = undefined;
- this.loadingOverlayComponent = undefined;
- this.loadingOverlayComponentFramework = undefined;
- this.noRowsOverlayComponent = undefined;
- this.noRowsOverlayComponentFramework = undefined;
- this.detailCellRenderer = undefined;
- this.detailCellRendererFramework = undefined;
- this.defaultGroupSortComparator = undefined;
- this.isRowMaster = undefined;
- this.isRowSelectable = undefined;
- this.postSort = undefined;
- this.processHeaderForClipboard = undefined;
- this.paginationNumberFormatter = undefined;
- this.processDataFromClipboard = undefined;
- this.getServerSideGroupKey = undefined;
- this.isServerSideGroup = undefined;
- this.suppressKeyboardEvent = undefined;
- this.createChartContainer = undefined;
- this.processChartOptions = undefined;
- this.getChartToolbarItems = undefined;
- this.fillOperation = undefined;
- this.toolPanelSuppressRowGroups = undefined;
- this.toolPanelSuppressValues = undefined;
- this.toolPanelSuppressPivots = undefined;
- this.toolPanelSuppressPivotMode = undefined;
- this.toolPanelSuppressSideButtons = undefined;
- this.toolPanelSuppressColumnFilter = undefined;
- this.toolPanelSuppressColumnSelectAll = undefined;
- this.toolPanelSuppressColumnExpandAll = undefined;
- this.suppressMakeColumnVisibleAfterUnGroup = undefined;
- this.suppressRowClickSelection = undefined;
- this.suppressCellSelection = undefined;
- this.suppressHorizontalScroll = undefined;
- this.alwaysShowVerticalScroll = undefined;
- this.debug = undefined;
- this.enableBrowserTooltips = undefined;
- this.enableColResize = undefined;
- this.enableCellExpressions = undefined;
- this.enableSorting = undefined;
- this.enableServerSideSorting = undefined;
- this.enableFilter = undefined;
- this.enableServerSideFilter = undefined;
- this.angularCompileRows = undefined;
- this.angularCompileFilters = undefined;
- this.angularCompileHeaders = undefined;
- this.groupSuppressAutoColumn = undefined;
- this.groupSelectsChildren = undefined;
- this.groupIncludeFooter = undefined;
- this.groupIncludeTotalFooter = undefined;
- this.groupUseEntireRow = undefined;
- this.groupSuppressRow = undefined;
- this.groupSuppressBlankHeader = undefined;
- this.forPrint = undefined;
- this.suppressMenuHide = undefined;
- this.rowDeselection = undefined;
- this.unSortIcon = undefined;
- this.suppressMultiSort = undefined;
- this.singleClickEdit = undefined;
- this.suppressLoadingOverlay = undefined;
- this.suppressNoRowsOverlay = undefined;
- this.suppressAutoSize = undefined;
- this.skipHeaderOnAutoSize = undefined;
- this.suppressParentsInRowNodes = undefined;
- this.showToolPanel = undefined;
- this.suppressColumnMoveAnimation = undefined;
- this.suppressMovableColumns = undefined;
- this.suppressFieldDotNotation = undefined;
- this.enableRangeSelection = undefined;
- this.enableRangeHandle = undefined;
- this.enableFillHandle = undefined;
- this.suppressClearOnFillReduction = undefined;
- this.deltaSort = undefined;
- this.suppressTouch = undefined;
- this.suppressAsyncEvents = undefined;
- this.allowContextMenuWithControlKey = undefined;
- this.suppressContextMenu = undefined;
- this.suppressMenuFilterPanel = undefined;
- this.suppressMenuMainPanel = undefined;
- this.suppressMenuColumnPanel = undefined;
- this.rememberGroupStateWhenNewData = undefined;
- this.enableCellChangeFlash = undefined;
- this.suppressDragLeaveHidesColumns = undefined;
- this.suppressMiddleClickScrolls = undefined;
- this.suppressPreventDefaultOnMouseWheel = undefined;
- this.suppressUseColIdForGroups = undefined;
- this.suppressCopyRowsToClipboard = undefined;
- this.copyHeadersToClipboard = undefined;
- this.pivotMode = undefined;
- this.suppressAggFuncInHeader = undefined;
- this.suppressColumnVirtualisation = undefined;
- this.suppressAggAtRootLevel = undefined;
- this.suppressFocusAfterRefresh = undefined;
- this.functionsPassive = undefined;
- this.functionsReadOnly = undefined;
- this.animateRows = undefined;
- this.groupSelectsFiltered = undefined;
- this.groupRemoveSingleChildren = undefined;
- this.groupRemoveLowestSingleChildren = undefined;
- this.enableRtl = undefined;
- this.suppressClickEdit = undefined;
- this.rowDragManaged = undefined;
- this.suppressRowDrag = undefined;
- this.suppressMoveWhenRowDragging = undefined;
- this.enableMultiRowDragging = undefined;
- this.enableGroupEdit = undefined;
- this.embedFullWidthRows = undefined;
- this.deprecatedEmbedFullWidthRows = undefined;
- this.suppressTabbing = undefined;
- this.suppressPaginationPanel = undefined;
- this.floatingFilter = undefined;
- this.groupHideOpenParents = undefined;
- this.groupMultiAutoColumn = undefined;
- this.pagination = undefined;
- this.stopEditingWhenGridLosesFocus = undefined;
- this.paginationAutoPageSize = undefined;
- this.suppressScrollOnNewData = undefined;
- this.purgeClosedRowNodes = undefined;
- this.cacheQuickFilter = undefined;
- this.deltaRowDataMode = undefined;
- this.ensureDomOrder = undefined;
- this.accentedSort = undefined;
- this.pivotTotals = undefined;
- this.suppressChangeDetection = undefined;
- this.valueCache = undefined;
- this.valueCacheNeverExpires = undefined;
- this.aggregateOnlyChangedColumns = undefined;
- this.suppressAnimationFrame = undefined;
- this.suppressExcelExport = undefined;
- this.suppressCsvExport = undefined;
- this.treeData = undefined;
- this.masterDetail = undefined;
- this.suppressMultiRangeSelection = undefined;
- this.enterMovesDownAfterEdit = undefined;
- this.enterMovesDown = undefined;
- this.suppressPropertyNamesCheck = undefined;
- this.rowMultiSelectWithClick = undefined;
- this.contractColumnSelection = undefined;
- this.suppressEnterpriseResetOnNewColumns = undefined;
- this.enableOldSetFilterModel = undefined;
- this.suppressRowHoverHighlight = undefined;
- this.gridAutoHeight = undefined;
- this.suppressRowTransform = undefined;
- this.suppressClipboardPaste = undefined;
- this.suppressLastEmptyLineOnPaste = undefined;
- this.serverSideSortingAlwaysResets = undefined;
- this.reactNext = undefined;
- this.suppressSetColumnStateEvents = undefined;
- this.enableCharts = undefined;
- this.deltaColumnMode = undefined;
- this.suppressMaintainUnsortedOrder = undefined;
- this.enableCellTextSelection = undefined;
- this.suppressBrowserResizeObserver = undefined;
- this.suppressMaxRenderedRowRestriction = undefined;
- this.excludeChildrenWhenTreeDataFiltering = undefined;
- this.tooltipMouseTrack = undefined;
- this.keepDetailRows = undefined;
- this.paginateChildRows = undefined;
- this.preventDefaultOnContextMenu = undefined;
- this.undoRedoCellEditing = undefined;
- this.allowDragFromColumnsToolPanel = undefined;
- this.immutableData = undefined;
- this.immutableColumns = undefined;
- this.pivotSuppressAutoColumn = undefined;
- this.columnEverythingChanged = new EventEmitter();
- this.newColumnsLoaded = new EventEmitter();
- this.columnPivotModeChanged = new EventEmitter();
- this.columnRowGroupChanged = new EventEmitter();
- this.expandOrCollapseAll = new EventEmitter();
- this.columnPivotChanged = new EventEmitter();
- this.gridColumnsChanged = new EventEmitter();
- this.columnValueChanged = new EventEmitter();
- this.columnMoved = new EventEmitter();
- this.columnVisible = new EventEmitter();
- this.columnPinned = new EventEmitter();
- this.columnGroupOpened = new EventEmitter();
- this.columnResized = new EventEmitter();
- this.displayedColumnsChanged = new EventEmitter();
- this.virtualColumnsChanged = new EventEmitter();
- this.rowGroupOpened = new EventEmitter();
- this.rowDataChanged = new EventEmitter();
- this.rowDataUpdated = new EventEmitter();
- this.pinnedRowDataChanged = new EventEmitter();
- this.rangeSelectionChanged = new EventEmitter();
- this.chartCreated = new EventEmitter();
- this.chartRangeSelectionChanged = new EventEmitter();
- this.chartOptionsChanged = new EventEmitter();
- this.chartDestroyed = new EventEmitter();
- this.toolPanelVisibleChanged = new EventEmitter();
- this.modelUpdated = new EventEmitter();
- this.pasteStart = new EventEmitter();
- this.pasteEnd = new EventEmitter();
- this.fillStart = new EventEmitter();
- this.fillEnd = new EventEmitter();
- this.cellClicked = new EventEmitter();
- this.cellDoubleClicked = new EventEmitter();
- this.cellMouseDown = new EventEmitter();
- this.cellContextMenu = new EventEmitter();
- this.cellValueChanged = new EventEmitter();
- this.rowValueChanged = new EventEmitter();
- this.cellFocused = new EventEmitter();
- this.rowSelected = new EventEmitter();
- this.selectionChanged = new EventEmitter();
- this.cellKeyDown = new EventEmitter();
- this.cellKeyPress = new EventEmitter();
- this.cellMouseOver = new EventEmitter();
- this.cellMouseOut = new EventEmitter();
- this.filterChanged = new EventEmitter();
- this.filterModified = new EventEmitter();
- this.filterOpened = new EventEmitter();
- this.sortChanged = new EventEmitter();
- this.virtualRowRemoved = new EventEmitter();
- this.rowClicked = new EventEmitter();
- this.rowDoubleClicked = new EventEmitter();
- this.gridReady = new EventEmitter();
- this.gridSizeChanged = new EventEmitter();
- this.viewportChanged = new EventEmitter();
- this.firstDataRendered = new EventEmitter();
- this.dragStarted = new EventEmitter();
- this.dragStopped = new EventEmitter();
- this.checkboxChanged = new EventEmitter();
- this.rowEditingStarted = new EventEmitter();
- this.rowEditingStopped = new EventEmitter();
- this.cellEditingStarted = new EventEmitter();
- this.cellEditingStopped = new EventEmitter();
- this.bodyScroll = new EventEmitter();
- this.animationQueueEmpty = new EventEmitter();
- this.heightScaleChanged = new EventEmitter();
- this.paginationChanged = new EventEmitter();
- this.componentStateChanged = new EventEmitter();
- this.bodyHeightChanged = new EventEmitter();
- this.displayedColumnsWidthChanged = new EventEmitter();
- this.scrollVisibilityChanged = new EventEmitter();
- this.columnHoverChanged = new EventEmitter();
- this.flashCells = new EventEmitter();
- this.rowDragEnter = new EventEmitter();
- this.rowDragMove = new EventEmitter();
- this.rowDragLeave = new EventEmitter();
- this.rowDragEnd = new EventEmitter();
- this.popupToFront = new EventEmitter();
- this.columnRowGroupChangeRequest = new EventEmitter();
- this.columnPivotChangeRequest = new EventEmitter();
- this.columnValueChangeRequest = new EventEmitter();
- this.columnAggFuncChangeRequest = new EventEmitter();
- this.keyboardFocus = new EventEmitter();
- this.mouseFocus = new EventEmitter();
- this._nativeElement = elementDef.nativeElement;
- this.frameworkComponentWrapper.setViewContainerRef(this.viewContainerRef);
- this.frameworkComponentWrapper.setComponentFactoryResolver(this._componentFactoryResolver);
- }
- AgGridAngular.prototype.ngAfterViewInit = function () {
- this.checkForDeprecatedEvents();
- this.gridOptions = ComponentUtil.copyAttributesToGridOptions(this.gridOptions, this, true);
- this.gridParams = {
- globalEventListener: this.globalEventListener.bind(this),
- frameworkOverrides: this.angularFrameworkOverrides,
- providedBeanInstances: {
- frameworkComponentWrapper: this.frameworkComponentWrapper
- },
- modules: (this.modules || [])
- };
- if (this.columns && this.columns.length > 0) {
- this.gridOptions.columnDefs = this.columns
- .map(function (column) {
- return column.toColDef();
- });
- }
- new Grid(this._nativeElement, this.gridOptions, this.gridParams);
- if (this.gridOptions.api) {
- this.api = this.gridOptions.api;
- }
- if (this.gridOptions.columnApi) {
- this.columnApi = this.gridOptions.columnApi;
- }
- this._initialised = true;
- // sometimes, especially in large client apps gridReady can fire before ngAfterViewInit
- // this ties these together so that gridReady will always fire after agGridAngular's ngAfterViewInit
- // the actual containing component's ngAfterViewInit will fire just after agGridAngular's
- this._fullyReady.resolveNow(null, function (resolve) { return resolve; });
- };
- AgGridAngular.prototype.ngOnChanges = function (changes) {
- if (this._initialised) {
- ComponentUtil.processOnChange(changes, this.gridOptions, this.api, this.columnApi);
- }
- };
- AgGridAngular.prototype.ngOnDestroy = function () {
- if (this._initialised) {
- // need to do this before the destroy, so we know not to emit any events
- // while tearing down the grid.
- this._destroyed = true;
- if (this.api) {
- this.api.destroy();
- }
- }
- };
- AgGridAngular.prototype.checkForDeprecatedEvents = function () {
- var _this = this;
- _.iterateObject(Events, function (key, eventName) {
- if (_this[eventName] && _this[eventName].observers.length > 0) {
- GridOptionsWrapper.checkEventDeprecation(eventName);
- }
- });
- };
- AgGridAngular.prototype.globalEventListener = function (eventType, event) {
- // if we are tearing down, don't emit angular events, as this causes
- // problems with the angular router
- if (this._destroyed) {
- return;
- }
- // generically look up the eventType
- var emitter = this[eventType];
- if (emitter) {
- if (eventType === 'gridReady') {
- // if the user is listening for gridReady, wait for ngAfterViewInit to fire first, then emit the
- // gridReady event
- this._fullyReady.then((function (result) {
- emitter.emit(event);
- }));
- }
- else {
- emitter.emit(event);
- }
- }
- else {
- console.log('ag-Grid-angular: could not find EventEmitter: ' + eventType);
- }
- };
- AgGridAngular.ctorParameters = function () { return [
- { type: ElementRef },
- { type: ViewContainerRef },
- { type: AngularFrameworkOverrides },
- { type: AngularFrameworkComponentWrapper },
- { type: ComponentFactoryResolver }
- ]; };
- __decorate([
- ContentChildren(AgGridColumn),
- __metadata("design:type", QueryList)
- ], AgGridAngular.prototype, "columns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "gridOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Array)
- ], AgGridAngular.prototype, "modules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "slaveGrids", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "alignedGrids", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "columnDefs", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "excelStyles", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pinnedTopRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pinnedBottomRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "components", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "frameworkComponents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowStyle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "context", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "autoGroupColumnDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupColumnDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "localeText", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "icons", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "datasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "serverSideDatasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportDatasource", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "aggFuncs", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultColGroupDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultColDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultExportParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "columnTypes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowClassRules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailGridOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRendererParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponentParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponentParams", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "popupParent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "colResizeDefault", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "reduxStore", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "statusBar", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sideBar", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sortingOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowClass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "overlayLoadingTemplate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "overlayNoRowsTemplate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "quickFilterText", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowModelType", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "editType", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "domLayout", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "clipboardDeliminator", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowGroupPanelShow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "multiSortKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotColumnGroupTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotRowTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotPanelShow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailRowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowBuffer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "colWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "headerHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "floatingFiltersHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotGroupHeaderHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupDefaultExpanded", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "minColWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxColWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportRowModelPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "viewportRowModelBufferSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "autoSizePadding", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxBlocksInCache", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "maxConcurrentDatasourceRequests", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tooltipShowDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheOverflowSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheBlockSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "infiniteInitialRowCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "scrollbarWidth", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationStartPage", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "infiniteBlockSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "batchUpdateWaitMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "asyncTransactionWaitMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "blockLoadDebounceMillis", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "keepDetailRowsCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "undoRedoCellEditingLimit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cellFlashDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cellFadeDelay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "localeTextFunc", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowInnerRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowInnerRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "dateComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "dateComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isExternalFilterPresent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "doesExternalFilterPass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowClass", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowStyle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowClassRules", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "traverseNode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getContextMenuItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getMainMenuItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processRowPostCreate", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processCellForClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getNodeChildDetails", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRowAggNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getRowNodeId", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isFullWidthCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fullWidthCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "doesDataFlower", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processSecondaryColDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processSecondaryColGroupDef", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getBusinessKeyForNode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "sendToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "navigateToNextCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tabToNextCell", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDetailRowData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processCellFromClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDocument", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "postProcessPopup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getChildCount", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getDataPath", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "loadingOverlayComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "noRowsOverlayComponentFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRenderer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "detailCellRendererFramework", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "defaultGroupSortComparator", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isRowMaster", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isRowSelectable", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "postSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processHeaderForClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationNumberFormatter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processDataFromClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getServerSideGroupKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "isServerSideGroup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressKeyboardEvent", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "createChartContainer", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "processChartOptions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "getChartToolbarItems", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "fillOperation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressRowGroups", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressValues", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressPivots", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressPivotMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressSideButtons", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnSelectAll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "toolPanelSuppressColumnExpandAll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMakeColumnVisibleAfterUnGroup", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowClickSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCellSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressHorizontalScroll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "alwaysShowVerticalScroll", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "debug", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableBrowserTooltips", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableColResize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellExpressions", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableSorting", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableServerSideSorting", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableServerSideFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileFilters", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "angularCompileHeaders", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressAutoColumn", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSelectsChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupIncludeFooter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupIncludeTotalFooter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupUseEntireRow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressRow", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSuppressBlankHeader", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "forPrint", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuHide", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowDeselection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "unSortIcon", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMultiSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "singleClickEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressLoadingOverlay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressNoRowsOverlay", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAutoSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "skipHeaderOnAutoSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressParentsInRowNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "showToolPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressColumnMoveAnimation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMovableColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressFieldDotNotation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRangeSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRangeHandle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableFillHandle", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClearOnFillReduction", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressTouch", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAsyncEvents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "allowContextMenuWithControlKey", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressContextMenu", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuFilterPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuMainPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMenuColumnPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rememberGroupStateWhenNewData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellChangeFlash", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressDragLeaveHidesColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMiddleClickScrolls", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPreventDefaultOnMouseWheel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressUseColIdForGroups", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCopyRowsToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "copyHeadersToClipboard", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAggFuncInHeader", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressColumnVirtualisation", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAggAtRootLevel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressFocusAfterRefresh", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "functionsPassive", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "functionsReadOnly", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "animateRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupSelectsFiltered", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRemoveSingleChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupRemoveLowestSingleChildren", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableRtl", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClickEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowDragManaged", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowDrag", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMoveWhenRowDragging", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableMultiRowDragging", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableGroupEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "embedFullWidthRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deprecatedEmbedFullWidthRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressTabbing", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPaginationPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "floatingFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupHideOpenParents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "groupMultiAutoColumn", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pagination", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "stopEditingWhenGridLosesFocus", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginationAutoPageSize", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressScrollOnNewData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "purgeClosedRowNodes", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "cacheQuickFilter", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaRowDataMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "ensureDomOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "accentedSort", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotTotals", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressChangeDetection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "valueCache", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "valueCacheNeverExpires", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "aggregateOnlyChangedColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressAnimationFrame", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressExcelExport", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressCsvExport", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "treeData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "masterDetail", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMultiRangeSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enterMovesDownAfterEdit", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enterMovesDown", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressPropertyNamesCheck", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "rowMultiSelectWithClick", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "contractColumnSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressEnterpriseResetOnNewColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableOldSetFilterModel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowHoverHighlight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "gridAutoHeight", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressRowTransform", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressClipboardPaste", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressLastEmptyLineOnPaste", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "serverSideSortingAlwaysResets", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "reactNext", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressSetColumnStateEvents", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCharts", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "deltaColumnMode", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMaintainUnsortedOrder", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "enableCellTextSelection", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressBrowserResizeObserver", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "suppressMaxRenderedRowRestriction", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "excludeChildrenWhenTreeDataFiltering", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "tooltipMouseTrack", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "keepDetailRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "paginateChildRows", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "preventDefaultOnContextMenu", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "undoRedoCellEditing", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "allowDragFromColumnsToolPanel", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "immutableData", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "immutableColumns", void 0);
- __decorate([
- Input(),
- __metadata("design:type", Object)
- ], AgGridAngular.prototype, "pivotSuppressAutoColumn", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnEverythingChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "newColumnsLoaded", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotModeChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnRowGroupChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "expandOrCollapseAll", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnMoved", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnVisible", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPinned", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnGroupOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnResized", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "displayedColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "virtualColumnsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowGroupOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDataChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDataUpdated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pinnedRowDataChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rangeSelectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartCreated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartRangeSelectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartOptionsChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "chartDestroyed", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "toolPanelVisibleChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "modelUpdated", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pasteStart", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "pasteEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "fillStart", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "fillEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellDoubleClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseDown", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellContextMenu", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowValueChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellFocused", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowSelected", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "selectionChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellKeyDown", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellKeyPress", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseOver", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellMouseOut", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterModified", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "filterOpened", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "sortChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "virtualRowRemoved", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDoubleClicked", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridReady", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "gridSizeChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "viewportChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "firstDataRendered", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "dragStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "dragStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "checkboxChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowEditingStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowEditingStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellEditingStarted", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "cellEditingStopped", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "bodyScroll", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "animationQueueEmpty", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "heightScaleChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "paginationChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "componentStateChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "bodyHeightChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "displayedColumnsWidthChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "scrollVisibilityChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnHoverChanged", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "flashCells", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragEnter", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragMove", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragLeave", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "rowDragEnd", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "popupToFront", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnRowGroupChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnPivotChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnValueChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "columnAggFuncChangeRequest", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "keyboardFocus", void 0);
- __decorate([
- Output(),
- __metadata("design:type", EventEmitter)
- ], AgGridAngular.prototype, "mouseFocus", void 0);
- AgGridAngular = __decorate([
- Component({
- selector: 'ag-grid-angular',
- template: '',
- providers: [
- AngularFrameworkOverrides,
- AngularFrameworkComponentWrapper
- ],
- // tell angular we don't want view encapsulation, we don't want a shadow root
- encapsulation: ViewEncapsulation.None
- }),
- __metadata("design:paramtypes", [ElementRef,
- ViewContainerRef,
- AngularFrameworkOverrides,
- AngularFrameworkComponentWrapper,
- ComponentFactoryResolver])
- ], AgGridAngular);
- return AgGridAngular;
- }());
- export { AgGridAngular };
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1hbmd1bGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FnLWdyaWQtYW5ndWxhci8iLCJzb3VyY2VzIjpbImxpYi9hZy1ncmlkLWFuZ3VsYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsYUFBYSxFQUNiLFNBQVMsRUFDVCx3QkFBd0IsRUFDeEIsZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBR0gsYUFBYSxFQUNiLE1BQU0sRUFDTixJQUFJLEVBR0osa0JBQWtCLEVBR2xCLE9BQU8sRUFDUCxDQUFDLEVBQ0osTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFZMUQ7SUFrQkksdUJBQVksVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ2xDLHlCQUFvRCxFQUNwRCx5QkFBMkQsRUFDM0QseUJBQW1EO1FBSG5ELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsOEJBQXlCLEdBQXpCLHlCQUF5QixDQUEyQjtRQUNwRCw4QkFBeUIsR0FBekIseUJBQXlCLENBQWtDO1FBQzNELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFsQnZELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFJM0IsMERBQTBEO1FBQ2xELGdCQUFXLEdBQXFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUE4RzlELFVBQVU7UUFDTSxlQUFVLEdBQVMsU0FBUyxDQUFDO1FB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QUN4QyxDQUFDO3lDQW1CMEIsVUFBVTtZQUNKLGdCQUFnQjtZQUNQLHlCQUF5QjtZQUN6QixnQ0FBZ0M7WUFDaEMsd0JBQXdCO09BdEJ0RCxhQUFhLENBeWV6QjtJQUFELG9CQUFDO0NBQUEsQUF6ZUQsSUF5ZUM7U0F6ZVksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDb250YWluZXJSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHtcbiAgICBDb2xEZWYsXG4gICAgQ29sdW1uQXBpLFxuICAgIENvbXBvbmVudFV0aWwsXG4gICAgRXZlbnRzLFxuICAgIEdyaWQsXG4gICAgR3JpZEFwaSxcbiAgICBHcmlkT3B0aW9ucyxcbiAgICBHcmlkT3B0aW9uc1dyYXBwZXIsXG4gICAgR3JpZFBhcmFtcyxcbiAgICBNb2R1bGUsXG4gICAgUHJvbWlzZSxcbiAgICBfXG59IGZyb20gXCJhZy1ncmlkLWNvbW11bml0eVwiO1xuXG5pbXBvcnQgeyBBbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzIH0gZnJvbSBcIi4vYW5ndWxhckZyYW1ld29ya092ZXJyaWRlc1wiO1xuaW1wb3J0IHsgQW5ndWxhckZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXIgfSBmcm9tIFwiLi9hbmd1bGFyRnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlclwiO1xuaW1wb3J0IHsgQWdHcmlkQ29sdW1uIH0gZnJvbSBcIi4vYWctZ3JpZC1jb2x1bW4uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWctZ3JpZC1hbmd1bGFyJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIEFuZ3VsYXJGcmFtZXdvcmtPdmVycmlkZXMsXG4gICAgICAgIEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyXG4gICAgXSxcbiAgICAvLyB0ZWxsIGFuZ3VsYXIgd2UgZG9uJ3Qgd2FudCB2aWV3IGVuY2Fwc3VsYXRpb24sIHdlIGRvbid0IHdhbnQgYSBzaGFkb3cgcm9vdFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQWdHcmlkQW5ndWxhciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIC8vIG5vdCBpbnRlbmRlZCBmb3IgdXNlciB0byBpbnRlcmFjdCB3aXRoLiBzbyBwdXR0aW5nIF8gaW4gc28gaWYgdXNlciBnZXRzIHJlZmVyZW5jZVxuICAgIC8vIHRvIHRoaXMgb2JqZWN0LCB0aGV5IGtpbmQnYSBrbm93IGl0J3Mgbm90IHBhcnQgb2YgdGhlIGFncmVlZCBpbnRlcmZhY2VcbiAgICBwcml2YXRlIF9uYXRpdmVFbGVtZW50OiBhbnk7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGlzZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZ3JpZFBhcmFtczogR3JpZFBhcmFtcztcblxuICAgIC8vIGluIG9yZGVyIHRvIGVuc3VyZSBmaXJpbmcgb2YgZ3JpZFJlYWR5IGlzIGRldGVybWluaXN0aWNcbiAgICBwcml2YXRlIF9mdWxseVJlYWR5OiBQcm9taXNlPGJvb2xlYW4+ID0gUHJvbWlzZS5yZXNvbHZlKHRydWUpO1xuXG4gICAgLy8gbWFraW5nIHRoZXNlIHB1YmxpYywgc28gdGhleSBhcmUgYWNjZXNzaWJsZSB0byBwZW9wbGUgdXNpbmcgdGhlIG5nMiBjb21wb25lbnQgcmVmZXJlbmNlc1xuICAgIHB1YmxpYyBhcGk6IEdyaWRBcGk7XG4gICAgcHVibGljIGNvbHVtbkFwaTogQ29sdW1uQXBpO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihBZ0dyaWRDb2x1bW4pIHB1YmxpYyBjb2x1bW5zOiBRdWVyeUxpc3Q8QWdHcmlkQ29sdW1uPjtcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnREZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHJpdmF0ZSBhbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzOiBBbmd1bGFyRnJhbWV3b3JrT3ZlcnJpZGVzLFxuICAgICAgICBwcml2YXRlIGZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXI6IEFuZ3VsYXJGcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyLFxuICAgICAgICBwcml2YXRlIF9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcikge1xuICAgICAgICB0aGlzLl9uYXRpdmVFbGVtZW50ID0gZWxlbWVudERlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlci5zZXRWaWV3Q29udGFpbmVyUmVmKHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMuZnJhbWV3b3JrQ29tcG9uZW50V3JhcHBlci5zZXRDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIodGhpcy5fY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2hlY2tGb3JEZXByZWNhdGVkRXZlbnRzKCk7XG5cbiAgICAgICAgdGhpcy5ncmlkT3B0aW9ucyA9IENvbXBvbmVudFV0aWwuY29weUF0dHJpYnV0ZXNUb0dyaWRPcHRpb25zKHRoaXMuZ3JpZE9wdGlvbnMsIHRoaXMsIHRydWUpO1xuXG4gICAgICAgIHRoaXMuZ3JpZFBhcmFtcyA9IHtcbiAgICAgICAgICAgIGdsb2JhbEV2ZW50TGlzdGVuZXI6IHRoaXMuZ2xvYmFsRXZlbnRMaXN0ZW5lci5iaW5kKHRoaXMpLFxuICAgICAgICAgICAgZnJhbWV3b3JrT3ZlcnJpZGVzOiB0aGlzLmFuZ3VsYXJGcmFtZXdvcmtPdmVycmlkZXMsXG4gICAgICAgICAgICBwcm92aWRlZEJlYW5JbnN0YW5jZXM6IHtcbiAgICAgICAgICAgICAgICBmcmFtZXdvcmtDb21wb25lbnRXcmFwcGVyOiB0aGlzLmZyYW1ld29ya0NvbXBvbmVudFdyYXBwZXJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBtb2R1bGVzOiAodGhpcy5tb2R1bGVzIHx8IFtdKSBhcyBhbnlcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmdyaWRPcHRpb25zLmNvbHVtbkRlZnMgPSB0aGlzLmNvbHVtbnNcbiAgICAgICAgICAgICAgICAubWFwKChjb2x1bW46IEFnR3JpZENvbHVtbik6IENvbERlZiA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb2x1bW4udG9Db2xEZWYoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ldyBHcmlkKHRoaXMuX25hdGl2ZUVsZW1lbnQsIHRoaXMuZ3JpZE9wdGlvbnMsIHRoaXMuZ3JpZFBhcmFtcyk7XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMuYXBpKSB7XG4gICAgICAgICAgICB0aGlzLmFwaSA9IHRoaXMuZ3JpZE9wdGlvbnMuYXBpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbkFwaSA9IHRoaXMuZ3JpZE9wdGlvbnMuY29sdW1uQXBpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faW5pdGlhbGlzZWQgPSB0cnVlO1xuXG4gICAgICAgIC8vIHNvbWV0aW1lcywgZXNwZWNpYWxseSBpbiBsYXJnZSBjbGllbnQgYXBwcyBncmlkUmVhZHkgY2FuIGZpcmUgYmVmb3JlIG5nQWZ0ZXJWaWV3SW5pdFxuICAgICAgICAvLyB0aGlzIHRpZXMgdGhlc2UgdG9nZXRoZXIgc28gdGhhdCBncmlkUmVhZHkgd2lsbCBhbHdheXMgZmlyZSBhZnRlciBhZ0dyaWRBbmd1bGFyJ3MgbmdBZnRlclZpZXdJbml0XG4gICAgICAgIC8vIHRoZSBhY3R1YWwgY29udGFpbmluZyBjb21wb25lbnQncyBuZ0FmdGVyVmlld0luaXQgd2lsbCBmaXJlIGp1c3QgYWZ0ZXIgYWdHcmlkQW5ndWxhcidzXG4gICAgICAgIHRoaXMuX2Z1bGx5UmVhZHkucmVzb2x2ZU5vdyhudWxsLCByZXNvbHZlID0+IHJlc29sdmUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2luaXRpYWxpc2VkKSB7XG4gICAgICAgICAgICBDb21wb25lbnRVdGlsLnByb2Nlc3NPbkNoYW5nZShjaGFuZ2VzLCB0aGlzLmdyaWRPcHRpb25zLCB0aGlzLmFwaSwgdGhpcy5jb2x1bW5BcGkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5faW5pdGlhbGlzZWQpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gZG8gdGhpcyBiZWZvcmUgdGhlIGRlc3Ryb3ksIHNvIHdlIGtub3cgbm90IHRvIGVtaXQgYW55IGV2ZW50c1xuICAgICAgICAgICAgLy8gd2hpbGUgdGVhcmluZyBkb3duIHRoZSBncmlkLlxuICAgICAgICAgICAgdGhpcy5fZGVzdHJveWVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFwaSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBpLmRlc3Ryb3koKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2hlY2tGb3JEZXByZWNhdGVkRXZlbnRzKCkge1xuICAgICAgICBfLml0ZXJhdGVPYmplY3Q8YW55PihFdmVudHMsIChrZXksIGV2ZW50TmFtZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXNbZXZlbnROYW1lXSAmJiAoPEV2ZW50RW1pdHRlcjxhbnk+PnRoaXNbZXZlbnROYW1lXSkub2JzZXJ2ZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBHcmlkT3B0aW9uc1dyYXBwZXIuY2hlY2tFdmVudERlcHJlY2F0aW9uKGV2ZW50TmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2xvYmFsRXZlbnRMaXN0ZW5lcihldmVudFR5cGU6IHN0cmluZywgZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICAvLyBpZiB3ZSBhcmUgdGVhcmluZyBkb3duLCBkb24ndCBlbWl0IGFuZ3VsYXIgZXZlbnRzLCBhcyB0aGlzIGNhdXNlc1xuICAgICAgICAvLyBwcm9ibGVtcyB3aXRoIHRoZSBhbmd1bGFyIHJvdXRlclxuICAgICAgICBpZiAodGhpcy5fZGVzdHJveWVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBnZW5lcmljYWxseSBsb29rIHVwIHRoZSBldmVudFR5cGVcbiAgICAgICAgbGV0IGVtaXR0ZXIgPSA8RXZlbnRFbWl0dGVyPGFueT4+KDxhbnk+dGhpcylbZXZlbnRUeXBlXTtcbiAgICAgICAgaWYgKGVtaXR0ZXIpIHtcbiAgICAgICAgICAgIGlmIChldmVudFR5cGUgPT09ICdncmlkUmVhZHknKSB7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIHVzZXIgaXMgbGlzdGVuaW5nIGZvciBncmlkUmVhZHksIHdhaXQgZm9yIG5nQWZ0ZXJWaWV3SW5pdCB0byBmaXJlIGZpcnN0LCB0aGVuIGVtaXQgdGhlXG4gICAgICAgICAgICAgICAgLy8gZ3JpZFJlYWR5IGV2ZW50XG4gICAgICAgICAgICAgICAgdGhpcy5fZnVsbHlSZWFkeS50aGVuKChyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlbWl0dGVyLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZW1pdHRlci5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdhZy1HcmlkLWFuZ3VsYXI6IGNvdWxkIG5vdCBmaW5kIEV2ZW50RW1pdHRlcjogJyArIGV2ZW50VHlwZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JpZE9wdGlvbnM6IEdyaWRPcHRpb25zO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtb2R1bGVzOiBNb2R1bGVbXTtcblxuICAgIC8vIEBTVEFSVEBcbiAgICBASW5wdXQoKSBwdWJsaWMgc2xhdmVHcmlkcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxpZ25lZEdyaWRzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb2x1bW5EZWZzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBleGNlbFN0eWxlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGlubmVkVG9wUm93RGF0YSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGlubmVkQm90dG9tUm93RGF0YSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29tcG9uZW50cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnJhbWV3b3JrQ29tcG9uZW50cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93U3R5bGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbnRleHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGF1dG9Hcm91cENvbHVtbkRlZiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBDb2x1bW5EZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2FsZVRleHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGljb25zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhc291cmNlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2ZXJTaWRlRGF0YXNvdXJjZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmlld3BvcnREYXRhc291cmNlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJvd1JlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhZ2dGdW5jcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnVsbFdpZHRoQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZWZhdWx0Q29sR3JvdXBEZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlZmF1bHRDb2xEZWYgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlZmF1bHRFeHBvcnRQYXJhbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbHVtblR5cGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzc1J1bGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXRhaWxHcmlkT3B0aW9ucyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGV0YWlsQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nQ2VsbFJlbmRlcmVyUGFyYW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBsb2FkaW5nT3ZlcmxheUNvbXBvbmVudFBhcmFtcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbm9Sb3dzT3ZlcmxheUNvbXBvbmVudFBhcmFtcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcG9wdXBQYXJlbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNvbFJlc2l6ZURlZmF1bHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJlZHV4U3RvcmUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN0YXR1c0JhciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2lkZUJhciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc29ydGluZ09yZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dDbGFzcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93U2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvdmVybGF5TG9hZGluZ1RlbXBsYXRlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBvdmVybGF5Tm9Sb3dzVGVtcGxhdGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHF1aWNrRmlsdGVyVGV4dCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93TW9kZWxUeXBlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlZGl0VHlwZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZG9tTGF5b3V0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbGlwYm9hcmREZWxpbWluYXRvciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93R3JvdXBQYW5lbFNob3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG11bHRpU29ydEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RDb2x1bW5Hcm91cFRvdGFscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RSb3dUb3RhbHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90UGFuZWxTaG93IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dIZWlnaHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRldGFpbFJvd0hlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcm93QnVmZmVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb2xXaWR0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaGVhZGVySGVpZ2h0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZmxvYXRpbmdGaWx0ZXJzSGVpZ2h0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwaXZvdEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGl2b3RHcm91cEhlYWRlckhlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBEZWZhdWx0RXhwYW5kZWQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG1pbkNvbFdpZHRoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhDb2xXaWR0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmlld3BvcnRSb3dNb2RlbFBhZ2VTaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB2aWV3cG9ydFJvd01vZGVsQnVmZmVyU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYXV0b1NpemVQYWRkaW5nIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhCbG9ja3NJbkNhY2hlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYXhDb25jdXJyZW50RGF0YXNvdXJjZVJlcXVlc3RzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwU2hvd0RlbGF5IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjYWNoZU92ZXJmbG93U2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGlvblBhZ2VTaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjYWNoZUJsb2NrU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaW5maW5pdGVJbml0aWFsUm93Q291bnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNjcm9sbGJhcldpZHRoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uU3RhcnRQYWdlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpbmZpbml0ZUJsb2NrU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYmF0Y2hVcGRhdGVXYWl0TWlsbGlzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhc3luY1RyYW5zYWN0aW9uV2FpdE1pbGxpcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYmxvY2tMb2FkRGVib3VuY2VNaWxsaXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGtlZXBEZXRhaWxSb3dzQ291bnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHVuZG9SZWRvQ2VsbEVkaXRpbmdMaW1pdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2VsbEZsYXNoRGVsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNlbGxGYWRlRGVsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvY2FsZVRleHRGdW5jIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJvd0lubmVyUmVuZGVyZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwUm93SW5uZXJSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbXBvbmVudCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbXBvbmVudEZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNFeHRlcm5hbEZpbHRlclByZXNlbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFJvd0hlaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZG9lc0V4dGVybmFsRmlsdGVyUGFzcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Um93Q2xhc3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFJvd1N0eWxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRSb3dDbGFzc1J1bGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0cmF2ZXJzZU5vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldENvbnRleHRNZW51SXRlbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldE1haW5NZW51SXRlbXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByb2Nlc3NSb3dQb3N0Q3JlYXRlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzQ2VsbEZvckNsaXBib2FyZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Tm9kZUNoaWxkRGV0YWlscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBSb3dBZ2dOb2RlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ2V0Um93Tm9kZUlkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc0Z1bGxXaWR0aENlbGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGZ1bGxXaWR0aENlbGxSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZnVsbFdpZHRoQ2VsbFJlbmRlcmVyRnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkb2VzRGF0YUZsb3dlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvY2Vzc1NlY29uZGFyeUNvbERlZiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcHJvY2Vzc1NlY29uZGFyeUNvbEdyb3VwRGVmIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRCdXNpbmVzc0tleUZvck5vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNlbmRUb0NsaXBib2FyZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbmF2aWdhdGVUb05leHRDZWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0YWJUb05leHRDZWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXREZXRhaWxSb3dEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzQ2VsbEZyb21DbGlwYm9hcmQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldERvY3VtZW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwb3N0UHJvY2Vzc1BvcHVwIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXRDaGlsZENvdW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBnZXREYXRhUGF0aCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ0NlbGxSZW5kZXJlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ0NlbGxSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgbG9hZGluZ092ZXJsYXlDb21wb25lbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGxvYWRpbmdPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBub1Jvd3NPdmVybGF5Q29tcG9uZW50IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBub1Jvd3NPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXRhaWxDZWxsUmVuZGVyZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRldGFpbENlbGxSZW5kZXJlckZyYW1ld29yayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGVmYXVsdEdyb3VwU29ydENvbXBhcmF0b3IgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGlzUm93TWFzdGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpc1Jvd1NlbGVjdGFibGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBvc3RTb3J0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzSGVhZGVyRm9yQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uTnVtYmVyRm9ybWF0dGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwcm9jZXNzRGF0YUZyb21DbGlwYm9hcmQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldFNlcnZlclNpZGVHcm91cEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgaXNTZXJ2ZXJTaWRlR3JvdXAgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzS2V5Ym9hcmRFdmVudCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY3JlYXRlQ2hhcnRDb250YWluZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByb2Nlc3NDaGFydE9wdGlvbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdldENoYXJ0VG9vbGJhckl0ZW1zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmaWxsT3BlcmF0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc1Jvd0dyb3VwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NWYWx1ZXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2xQYW5lbFN1cHByZXNzUGl2b3RzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc1Bpdm90TW9kZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NTaWRlQnV0dG9ucyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdG9vbFBhbmVsU3VwcHJlc3NDb2x1bW5GaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2xQYW5lbFN1cHByZXNzQ29sdW1uU2VsZWN0QWxsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB0b29sUGFuZWxTdXBwcmVzc0NvbHVtbkV4cGFuZEFsbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYWtlQ29sdW1uVmlzaWJsZUFmdGVyVW5Hcm91cCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDZWxsU2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0hvcml6b250YWxTY3JvbGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFsd2F5c1Nob3dWZXJ0aWNhbFNjcm9sbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGVidWcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUJyb3dzZXJUb29sdGlwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlQ29sUmVzaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDZWxsRXhwcmVzc2lvbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNvcnRpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNlcnZlclNpZGVTb3J0aW5nIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVNlcnZlclNpZGVGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFuZ3VsYXJDb21waWxlUm93cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYW5ndWxhckNvbXBpbGVGaWx0ZXJzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhbmd1bGFyQ29tcGlsZUhlYWRlcnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFNlbGVjdHNDaGlsZHJlbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBJbmNsdWRlRm9vdGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cEluY2x1ZGVUb3RhbEZvb3RlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBVc2VFbnRpcmVSb3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NSb3cgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU3VwcHJlc3NCbGFua0hlYWRlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZm9yUHJpbnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTWVudUhpZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJvd0Rlc2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyB1blNvcnRJY29uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc011bHRpU29ydCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc2luZ2xlQ2xpY2tFZGl0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0xvYWRpbmdPdmVybGF5IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc05vUm93c092ZXJsYXkgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQXV0b1NpemUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHNraXBIZWFkZXJPbkF1dG9TaXplIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1BhcmVudHNJblJvd05vZGVzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzaG93VG9vbFBhbmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NvbHVtbk1vdmVBbmltYXRpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTW92YWJsZUNvbHVtbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRmllbGREb3ROb3RhdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW5hYmxlUmFuZ2VTZWxlY3Rpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZVJhbmdlSGFuZGxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVGaWxsSGFuZGxlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NsZWFyT25GaWxsUmVkdWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZWx0YVNvcnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzVG91Y2ggOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQXN5bmNFdmVudHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGFsbG93Q29udGV4dE1lbnVXaXRoQ29udHJvbEtleSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDb250ZXh0TWVudSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNZW51RmlsdGVyUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzTWVudU1haW5QYW5lbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNZW51Q29sdW1uUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHJlbWVtYmVyR3JvdXBTdGF0ZVdoZW5OZXdEYXRhIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDZWxsQ2hhbmdlRmxhc2ggOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRHJhZ0xlYXZlSGlkZXNDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc01pZGRsZUNsaWNrU2Nyb2xscyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NQcmV2ZW50RGVmYXVsdE9uTW91c2VXaGVlbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NVc2VDb2xJZEZvckdyb3VwcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NDb3B5Um93c1RvQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjb3B5SGVhZGVyc1RvQ2xpcGJvYXJkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwaXZvdE1vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQWdnRnVuY0luSGVhZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NvbHVtblZpcnR1YWxpc2F0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0FnZ0F0Um9vdExldmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0ZvY3VzQWZ0ZXJSZWZyZXNoIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmdW5jdGlvbnNQYXNzaXZlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmdW5jdGlvbnNSZWFkT25seSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYW5pbWF0ZVJvd3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwU2VsZWN0c0ZpbHRlcmVkIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJlbW92ZVNpbmdsZUNoaWxkcmVuIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBncm91cFJlbW92ZUxvd2VzdFNpbmdsZUNoaWxkcmVuIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVSdGwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzQ2xpY2tFZGl0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dEcmFnTWFuYWdlZCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dEcmFnIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc01vdmVXaGVuUm93RHJhZ2dpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZU11bHRpUm93RHJhZ2dpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUdyb3VwRWRpdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW1iZWRGdWxsV2lkdGhSb3dzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkZXByZWNhdGVkRW1iZWRGdWxsV2lkdGhSb3dzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1RhYmJpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBmbG9hdGluZ0ZpbHRlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JvdXBIaWRlT3BlblBhcmVudHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGdyb3VwTXVsdGlBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwYWdpbmF0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdG9wRWRpdGluZ1doZW5HcmlkTG9zZXNGb2N1cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGlvbkF1dG9QYWdlU2l6ZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NTY3JvbGxPbk5ld0RhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHB1cmdlQ2xvc2VkUm93Tm9kZXMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGNhY2hlUXVpY2tGaWx0ZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlbHRhUm93RGF0YU1vZGUgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuc3VyZURvbU9yZGVyIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhY2NlbnRlZFNvcnQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90VG90YWxzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NoYW5nZURldGVjdGlvbiA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVDYWNoZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWVDYWNoZU5ldmVyRXhwaXJlcyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWdncmVnYXRlT25seUNoYW5nZWRDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0FuaW1hdGlvbkZyYW1lIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0V4Y2VsRXhwb3J0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NzdkV4cG9ydCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdHJlZURhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIG1hc3RlckRldGFpbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNdWx0aVJhbmdlU2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbnRlck1vdmVzRG93bkFmdGVyRWRpdCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZW50ZXJNb3Zlc0Rvd24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUHJvcGVydHlOYW1lc0NoZWNrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyByb3dNdWx0aVNlbGVjdFdpdGhDbGljayA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgY29udHJhY3RDb2x1bW5TZWxlY3Rpb24gOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzRW50ZXJwcmlzZVJlc2V0T25OZXdDb2x1bW5zIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVPbGRTZXRGaWx0ZXJNb2RlbCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NSb3dIb3ZlckhpZ2hsaWdodCA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZ3JpZEF1dG9IZWlnaHQgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHN1cHByZXNzUm93VHJhbnNmb3JtIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0NsaXBib2FyZFBhc3RlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0xhc3RFbXB0eUxpbmVPblBhc3RlIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzZXJ2ZXJTaWRlU29ydGluZ0Fsd2F5c1Jlc2V0cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcmVhY3ROZXh0IDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc1NldENvbHVtblN0YXRlRXZlbnRzIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBlbmFibGVDaGFydHMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGRlbHRhQ29sdW1uTW9kZSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYWludGFpblVuc29ydGVkT3JkZXIgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGVuYWJsZUNlbGxUZXh0U2VsZWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBzdXBwcmVzc0Jyb3dzZXJSZXNpemVPYnNlcnZlciA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgc3VwcHJlc3NNYXhSZW5kZXJlZFJvd1Jlc3RyaWN0aW9uIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBleGNsdWRlQ2hpbGRyZW5XaGVuVHJlZURhdGFGaWx0ZXJpbmcgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHRvb2x0aXBNb3VzZVRyYWNrIDogYW55ID0gdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBrZWVwRGV0YWlsUm93cyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgcGFnaW5hdGVDaGlsZFJvd3MgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHByZXZlbnREZWZhdWx0T25Db250ZXh0TWVudSA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgdW5kb1JlZG9DZWxsRWRpdGluZyA6IGFueSA9IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBwdWJsaWMgYWxsb3dEcmFnRnJvbUNvbHVtbnNUb29sUGFuZWwgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGltbXV0YWJsZURhdGEgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIGltbXV0YWJsZUNvbHVtbnMgOiBhbnkgPSB1bmRlZmluZWQ7XG4gICAgQElucHV0KCkgcHVibGljIHBpdm90U3VwcHJlc3NBdXRvQ29sdW1uIDogYW55ID0gdW5kZWZpbmVkO1xuXG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5FdmVyeXRoaW5nQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIG5ld0NvbHVtbnNMb2FkZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5QaXZvdE1vZGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uUm93R3JvdXBDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZXhwYW5kT3JDb2xsYXBzZUFsbDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblBpdm90Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGdyaWRDb2x1bW5zQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbk1vdmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uVmlzaWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtblBpbm5lZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbkdyb3VwT3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY29sdW1uUmVzaXplZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRpc3BsYXllZENvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgdmlydHVhbENvbHVtbnNDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93R3JvdXBPcGVuZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEYXRhQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RhdGFVcGRhdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGlubmVkUm93RGF0YUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByYW5nZVNlbGVjdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydENyZWF0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydFJhbmdlU2VsZWN0aW9uQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNoYXJ0T3B0aW9uc0NoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjaGFydERlc3Ryb3llZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHRvb2xQYW5lbFZpc2libGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgbW9kZWxVcGRhdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGFzdGVTdGFydDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHBhc3RlRW5kOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsbFN0YXJ0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsbEVuZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbERvdWJsZUNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbENvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbFZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd1ZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxGb2N1c2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93U2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzZWxlY3Rpb25DaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbEtleURvd246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsS2V5UHJlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjZWxsTW91c2VPdmVyOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2VsbE1vdXNlT3V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsdGVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGZpbHRlck1vZGlmaWVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlsdGVyT3BlbmVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgc29ydENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyB2aXJ0dWFsUm93UmVtb3ZlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0NsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEb3VibGVDbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZ3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZ3JpZFNpemVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgdmlld3BvcnRDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgZmlyc3REYXRhUmVuZGVyZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBkcmFnU3RhcnRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRyYWdTdG9wcGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgY2hlY2tib3hDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcm93RWRpdGluZ1N0YXJ0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dFZGl0aW5nU3RvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxFZGl0aW5nU3RhcnRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNlbGxFZGl0aW5nU3RvcHBlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGJvZHlTY3JvbGw6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBhbmltYXRpb25RdWV1ZUVtcHR5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgaGVpZ2h0U2NhbGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcGFnaW5hdGlvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb21wb25lbnRTdGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBib2R5SGVpZ2h0Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGRpc3BsYXllZENvbHVtbnNXaWR0aENoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBzY3JvbGxWaXNpYmlsaXR5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGNvbHVtbkhvdmVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGZsYXNoQ2VsbHM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEcmFnRW50ZXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyByb3dEcmFnTW92ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RyYWdMZWF2ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIHJvd0RyYWdFbmQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBwb3B1cFRvRnJvbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5Sb3dHcm91cENoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5QaXZvdENoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5WYWx1ZUNoYW5nZVJlcXVlc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBjb2x1bW5BZ2dGdW5jQ2hhbmdlUmVxdWVzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgcHVibGljIGtleWJvYXJkRm9jdXM6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIHB1YmxpYyBtb3VzZUZvY3VzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIC8vIEBFTkRAXG59XG5cbiJdfQ==
|