UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

993 lines (992 loc) 108 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Component, ElementRef, ViewEncapsulation, HostListener, ViewChild, ViewContainerRef } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { LocaleProviderService } from '../locale-provider/locale-provider.service'; import { DatePickerOptions } from './date-picker-options.provider'; import * as velocity from '../core/util/velocity'; /** @typedef {?} */ var DateMode; export { DateMode }; var DatePickerComponent = /** @class */ (function () { function DatePickerComponent(elementRef, options, localeProviderService) { this.elementRef = elementRef; this.options = options; this.localeProviderService = localeProviderService; this.transitionName = 'am-slide-up-enter am-slide-up-enter-active'; this.maskTransitionName = 'am-fade-enter am-fade-enter-active'; this.modeSwitch = [1, 1, 1, 1, 1, 1]; this.localMinDate = []; this.localMaxDate = []; this.currentTime = []; this.indexArray = []; this.min_date = []; this.max_date = []; this.current_time = [ new Date().getFullYear(), new Date().getMonth() + 1, new Date().getDate(), new Date().getHours(), new Date().getMinutes() ]; this.clos = 0; this.resultArr = []; this.data = []; this.dataWithStr = []; this.startY = 0; this.differY = 0; this.currentY = 0; this.len = 0; this.dom = null; this.index = 0; this.maxY = 0; this.lineHeight = 34; this.selectedTarget = []; this.isMouseDown = false; this.localeNew = {}; this.unsubscribe$ = new Subject(); this.Velocity = velocity.getVelocity(); } /** * @param {?} event * @return {?} */ DatePickerComponent.prototype.panstart = /** * @param {?} event * @return {?} */ function (event) { var _this = this; if (!event.target.classList.contains('am-picker-col-mask')) { return; } this.isMouseDown = true; event.preventDefault(); this.dom = event.target.parentElement.children[2]; this.len = this.dom.children.length; this.maxY = -(this.len - 1); if (this.dom.style.transform === 'translateY(0px)') { this.currentY = 0; this.maxY = -(this.len - 1); } else if (this.selectedTarget.length > 0) { this.selectedTarget.forEach(function (item) { if (item.targetId === event.target.id) { _this.currentY = item.currentY; } }); } /** @type {?} */ var ev = this.getEventTarget(event); this.startY = ev.clientY; }; /** * @param {?} event * @return {?} */ DatePickerComponent.prototype.panmove = /** * @param {?} event * @return {?} */ function (event) { if (!event.target.classList.contains('am-picker-col-mask') || !this.isMouseDown) { return; } event.preventDefault(); /** @type {?} */ var ev = this.getEventTarget(event); this.differY = ev.clientY - this.startY; this.Velocity.record(this.differY); this.dom.style.transition = 'transform 0s'; this.dom.style.transform = "translateY(" + (this.currentY * this.lineHeight + this.differY) + "px)"; }; /** * @param {?} event * @return {?} */ DatePickerComponent.prototype.panend = /** * @param {?} event * @return {?} */ function (event) { var _this = this; if (!event.target.classList.contains('am-picker-col-mask') || !this.isMouseDown) { return; } this.isMouseDown = false; event.preventDefault(); /** @type {?} */ var ev = this.getEventTarget(event); this.differY = ev.clientY - this.startY; /** @type {?} */ var time = 0.3; /** @type {?} */ var velocityTemp = this.Velocity.getVelocity(this.differY) * 4; if (velocityTemp) { this.differY = velocityTemp * 40 + this.differY; time = Math.abs(velocityTemp) * 0.1; } this.dom.style.transition = 'transform ' + (time < 0.3 ? 0.3 : time) + 's'; if (this.differY <= -this.lineHeight / 2) { this.currentY += Math.floor(this.differY / this.lineHeight); if (this.currentY <= this.maxY) { this.currentY = this.maxY; } } else if (this.differY >= this.lineHeight / 2) { this.currentY += Math.floor(this.differY / this.lineHeight); if (this.currentY >= 0) { this.currentY = 0; } } if (this.selectedTarget.length > 0) { /** @type {?} */ var hasKey_1 = false; this.selectedTarget.forEach(function (item) { if (item.targetId === event.target.id) { hasKey_1 = true; item.targetId = event.target.id; item.currentY = _this.currentY; } }); if (!hasKey_1) { this.selectedTarget.push({ targetId: event.target.id, currentY: this.currentY }); } } else { this.selectedTarget.push({ targetId: event.target.id, currentY: this.currentY }); } this.dom.style.transform = "translateY(" + this.currentY * this.lineHeight + "px)"; this.index = Math.floor(Math.abs(this.currentY / 1)); // 记录当前位移在数组中的索引,必须取整,否则会出现浮点数 this.current_time[this.indexArray[parseInt(event.target.id, 0)]] = this.resultArr[this.indexArray[parseInt(event.target.id, 0)]] = this.data[parseInt(event.target.id, 0)][this.index]; if (this.judgeTime(this.current_time, this.max_date)) { this.currentTime = this.current_time = this.max_date.slice(0, this.indexArray.length); this.resultArr = this.current_time; this.options.onValueChange.emit(this.handleReslut()); this.init(); } else if (this.judgeTime(this.min_date, this.current_time)) { this.currentTime = this.current_time = this.min_date.slice(0, this.indexArray.length); this.resultArr = this.currentTime; this.options.onValueChange.emit(this.handleReslut()); this.init(); } else { this.setCurrentSelected(0, this.differY < 0, this.index); this.options.onValueChange.emit(this.handleReslut()); } }; /** * @return {?} */ DatePickerComponent.prototype.init = /** * @return {?} */ function () { this.initResult(); this.checkTime(); this.initReady(); this.getInitValueIndex(); }; /** * @return {?} */ DatePickerComponent.prototype.reloadPicker = /** * @return {?} */ function () { if (!this.picker || this.picker === undefined) { return; } this.currentPicker = this.picker.element.nativeElement; if (this.currentPicker && this.currentPicker.children.length > 0) { /** @type {?} */ var self_1 = this; setTimeout(function () { self_1.selectedTarget.forEach(function (item, i) { self_1.currentPicker.children[i].children[2].style.transition = 'transform .3s'; /** @type {?} */ var index = parseInt(item.currentY, 0); self_1.currentPicker.children[i].children[2].style.transform = "translateY(" + index * self_1.lineHeight + "px)"; }); }, 0); } }; /** * @return {?} */ DatePickerComponent.prototype.localeProvider = /** * @return {?} */ function () { /** @type {?} */ var self = this; if (self.options.locale || self.options.locale !== undefined) { self.localeProviderService.setLocale(self.options.locale); } self.localeProviderService.localeChange.pipe(takeUntil(self.unsubscribe$)).subscribe(function (_) { self.options.locale = self.localeProviderService.getLocale(); self.localeNew = self.localeProviderService.getLocaleSubObj('DatePicker'); self.options.okText = self.localeNew.okText; self.options.dismissText = self.localeNew.dismissText; self.init(); }); }; /** * @param {?} date * @return {?} */ DatePickerComponent.prototype.transformDateFormat = /** * @param {?} date * @return {?} */ function (date) { if (!date || date === '') { return ''; } else { return 'yyyy-mm-dd-HH-MM' .replace('yyyy', date.getFullYear() + '') .replace('mm', date.getMonth() + 1 + '') .replace('dd', date.getDate() + '') .replace('HH', date.getHours() + '') .replace('MM', date.getMinutes() + ''); } }; /** * @param {?} val * @return {?} */ DatePickerComponent.prototype.preZero = /** * @param {?} val * @return {?} */ function (val) { return val < 10 ? '0' + val : val + ''; }; /** * @return {?} */ DatePickerComponent.prototype.getInitValueIndex = /** * @return {?} */ function () { var _this = this; this.selectedTarget = []; this.indexArray.map(function (index, i) { _this.data.forEach(function (item, j) { item.forEach(function (item1, k) { if (_this.currentTime[index] === item1 && i === j) { _this.selectedTarget.push({ targetId: "" + i, currentY: -k }); } }); }); }); this.reloadPicker(); }; /** * @param {?} mode * @return {?} */ DatePickerComponent.prototype.checkMode = /** * @param {?} mode * @return {?} */ function (mode) { this.modeSwitch = [1, 1, 1, 1, 1, 1]; switch (mode) { case 'date': this.modeSwitch = [1, 1, 1, 0, 0, 0]; break; case 'time': if (this.options.use12Hours) { this.modeSwitch = [0, 0, 0, 1, 1, 1]; } else { this.modeSwitch = [0, 0, 0, 1, 1, 0]; } break; case 'datetime': if (this.options.use12Hours) { this.modeSwitch = [1, 1, 1, 1, 1, 1]; } else { this.modeSwitch = [1, 1, 1, 1, 1, 0]; } break; case 'year': this.modeSwitch = [1, 0, 0, 0, 0]; break; case 'month': this.modeSwitch = [1, 1, 0, 0, 0]; break; default: break; } /** @type {?} */ var tempIndexArray = []; for (var i = 0; i < this.modeSwitch.length; i++) { if (this.modeSwitch[i] > 0) { tempIndexArray.push(i); } } this.clos = tempIndexArray[tempIndexArray.length - 1] - tempIndexArray[0] + 1; this.indexArray = tempIndexArray; }; /** * @return {?} */ DatePickerComponent.prototype.initResult = /** * @return {?} */ function () { this.resultArr = []; if (this.currentTime.length > 0) { this.current_time = this.currentTime; } for (var i = 0; i < this.clos; i++) { /** @type {?} */ var res = this.currentTime[i]; if (this.options.mode === 'time') { this.resultArr = this.currentTime; } else { this.resultArr.push(res); } } }; /** * @return {?} */ DatePickerComponent.prototype.checkTime = /** * @return {?} */ function () { /** @type {?} */ var min_Date = this.transformDateFormat(this.options.minDate).split('-'); if (min_Date.length > 0) { this.min_date = min_Date.map(function (item) { return parseInt(item, 0); }); } /** @type {?} */ var max_Date = this.transformDateFormat(this.options.maxDate).split('-'); if (max_Date.length > 0) { this.max_date = max_Date.map(function (item) { return parseInt(item, 0); }); } /** @type {?} */ var min_date = this.min_date; /** @type {?} */ var max_date = this.max_date; /** @type {?} */ var current_time = this.current_time; this.localMinDate = []; if (this.localMinDate.length === 0) { for (var index = 0; index < this.indexArray.length; index++) { this.localMinDate.push(min_date[this.indexArray[index]]); } } this.localMaxDate = []; if (this.localMaxDate.length === 0) { for (var index = 0; index < this.indexArray.length; index++) { this.localMaxDate.push(max_date[this.indexArray[index]]); } } if (this.indexArray.length === this.localMinDate.length && this.localMinDate.length === this.localMaxDate.length && this.localMaxDate.length === this.currentTime.length) { /** @type {?} */ var _indexArrayIndex = 0; for (var i = 0; i < this.modeSwitch.length; i++) { if (this.modeSwitch[i] === 0) { switch (i) { case 0: min_date[i] = new Date().getFullYear(); max_date[i] = new Date().getFullYear(); break; case 1: min_date[i] = new Date().getMonth() + 1; max_date[i] = new Date().getMonth() + 1; break; case 2: min_date[i] = new Date().getDate(); max_date[i] = new Date().getDate(); break; case 3: min_date[i] = new Date().getHours(); max_date[i] = new Date().getHours(); break; case 4: min_date[i] = new Date().getMinutes(); max_date[i] = new Date().getMinutes(); break; case 5: min_date[i] = 0; max_date[i] = 1; break; } } else { switch (i) { case 0: this.localMinDate[_indexArrayIndex] = min_date[i] = this.localMinDate[_indexArrayIndex] >= 1900 ? this.localMinDate[_indexArrayIndex] : new Date().getFullYear(); this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] >= 1900 ? this.localMaxDate[_indexArrayIndex] : new Date().getFullYear() + 1; current_time[i] = this.currentTime[_indexArrayIndex]; break; case 1: this.localMinDate[_indexArrayIndex] = min_date[i] = this.localMinDate[_indexArrayIndex] > 0 && this.localMinDate[_indexArrayIndex] <= 12 ? this.localMinDate[_indexArrayIndex] : 1; this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] > 0 && this.localMaxDate[_indexArrayIndex] <= 12 ? this.localMaxDate[_indexArrayIndex] : 12; current_time[i] = this.currentTime[_indexArrayIndex]; break; case 2: this.localMinDate[_indexArrayIndex] = min_date[i] = this.localMinDate[_indexArrayIndex] > 0 && this.localMinDate[_indexArrayIndex] <= new Date(min_date[0], min_date[1], 0).getDate() ? this.localMinDate[_indexArrayIndex] : 1; this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] > 0 && this.localMaxDate[_indexArrayIndex] <= new Date(max_date[0], max_date[1], 0).getDate() ? this.localMaxDate[_indexArrayIndex] : new Date(max_date[0], max_date[1], 0).getDate(); current_time[i] = this.currentTime[_indexArrayIndex]; break; case 3: this.localMinDate[_indexArrayIndex] = min_date[i] = this.localMinDate[_indexArrayIndex] >= 0 && this.localMinDate[_indexArrayIndex] <= 23 ? this.localMinDate[_indexArrayIndex] : 0; if (this.options.use12Hours) { this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] >= 0 && this.localMaxDate[_indexArrayIndex] <= 11 ? this.localMaxDate[_indexArrayIndex] : 11; } else { this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] >= 0 && this.localMaxDate[_indexArrayIndex] <= 23 ? this.localMaxDate[_indexArrayIndex] : 23; } current_time[i] = this.currentTime[_indexArrayIndex]; break; case 4: this.localMinDate[_indexArrayIndex] = min_date[i] = this.localMinDate[_indexArrayIndex] >= 0 && this.localMinDate[_indexArrayIndex] <= 59 ? this.localMinDate[_indexArrayIndex] : 0; this.localMaxDate[_indexArrayIndex] = max_date[i] = this.localMaxDate[_indexArrayIndex] >= 0 && this.localMaxDate[_indexArrayIndex] <= 59 ? this.localMaxDate[_indexArrayIndex] : 59; current_time[i] = this.currentTime[_indexArrayIndex]; break; } _indexArrayIndex++; } } /** @type {?} */ var minT = new Date(min_date[0], min_date[1], min_date[2], min_date[3], min_date[4]).getTime(); /** @type {?} */ var maxT = new Date(max_date[0], max_date[1], max_date[2], max_date[3], max_date[4]).getTime(); /** @type {?} */ var curT = new Date(current_time[0], current_time[1], current_time[2], current_time[3], current_time[4]).getTime(); return minT <= curT && curT <= maxT; } else { return false; } }; /** * @param {?} arr1 * @param {?} arr2 * @return {?} */ DatePickerComponent.prototype.judgeTime = /** * @param {?} arr1 * @param {?} arr2 * @return {?} */ function (arr1, arr2) { /** @type {?} */ var date1; /** @type {?} */ var date2; date1 = arr1.slice(0, 3).join('-') + ' ' + arr1.slice(3, 5).join(':'); date2 = arr2.slice(0, 3).join('-') + ' ' + arr2.slice(3, 5).join(':'); return new Date(date1).getTime() >= new Date(date2).getTime(); }; /** * @param {?} arr1 * @param {?} arr2 * @param {?} length * @return {?} */ DatePickerComponent.prototype.judgeEqualArray = /** * @param {?} arr1 * @param {?} arr2 * @param {?} length * @return {?} */ function (arr1, arr2, length) { /** @type {?} */ var status = true; for (var i = 0; i < length; i++) { if (arr1[i] != arr2[i]) { status = false; } } return status; }; /** * @return {?} */ DatePickerComponent.prototype.initReady = /** * @return {?} */ function () { /** @type {?} */ var realIdx = 0; for (var i = 0; i < this.clos; i++) { realIdx = this.indexArray[i]; /** @type {?} */ var min = 0; /** @type {?} */ var max = 0; /** @type {?} */ var tempArray = []; switch (realIdx) { case 0: this.initData(tempArray, this.localMinDate[i], this.localMaxDate[i], this.localeNew.year, i); break; case 1: min = this.judgeEqualArray(this.min_date, this.current_time, 1) ? this.localMinDate[i] : 1; max = this.judgeEqualArray(this.max_date, this.current_time, 1) ? this.localMaxDate[i] : 12; this.initData(tempArray, min, max, this.localeNew.month, i); break; case 2: min = this.judgeEqualArray(this.min_date, this.current_time, 2) ? this.localMinDate[i] : 1; max = this.judgeEqualArray(this.max_date, this.current_time, 2) ? this.localMaxDate[i] : new Date(this.current_time[0], this.current_time[1], 0).getDate(); this.initData(tempArray, min, max, this.localeNew.day, i); break; case 3: min = this.judgeEqualArray(this.min_date, this.current_time, 3) ? this.localMinDate[i] : 0; max = this.judgeEqualArray(this.max_date, this.current_time, 3) ? this.localMaxDate[i] : 23; this.initData(tempArray, min, max, this.localeNew.hour, i); break; case 4: min = this.judgeEqualArray(this.min_date, this.current_time, 4) ? this.localMinDate[i] : 0; max = this.judgeEqualArray(this.max_date, this.current_time, 4) ? this.localMaxDate[i] : 59; this.initData(tempArray, min, max, this.localeNew.minute, i); break; case 5: min = 0; max = 1; this.initData(tempArray, min, max, 'use12Hours', i); break; } } }; /** * @param {?} tempArr * @param {?} min * @param {?} max * @param {?} str * @param {?} idx * @return {?} */ DatePickerComponent.prototype.initData = /** * @param {?} tempArr * @param {?} min * @param {?} max * @param {?} str * @param {?} idx * @return {?} */ function (tempArr, min, max, str, idx) { /** @type {?} */ var dataWithStr = []; for (min; min < max + 1; min++) { tempArr.push(min); dataWithStr.push(min + str); } if (this.data.length > this.indexArray.length) { this.data = []; this.dataWithStr = []; } if (this.data.length > idx && this.data[idx].toString() !== tempArr.toString()) { this.data[idx] = tempArr; } else if (this.data.length > idx && this.data[idx].toString() === tempArr.toString()) { this.data[idx] = tempArr; } else { this.data.push(tempArr); } if (this.options.locale === undefined || this.options.locale.locale === 'zh_CN') { if (this.dataWithStr.length > idx && this.dataWithStr[idx].toString() !== dataWithStr.toString()) { this.dataWithStr[idx] = dataWithStr; } else if (this.dataWithStr.length > idx && this.dataWithStr[idx].toString() === dataWithStr.toString()) { this.dataWithStr[idx] = dataWithStr; } else { this.dataWithStr.push(dataWithStr); } } else { this.dataWithStr = this.data; } }; /** * @return {?} */ DatePickerComponent.prototype.ok = /** * @return {?} */ function () { this.options.onOk.emit(this.handleReslut()); this.setTransitionName(); }; /** * @return {?} */ DatePickerComponent.prototype.handleReslut = /** * @return {?} */ function () { /** @type {?} */ var result = ''; if (this.options.mode === 'datetime' || this.options.mode === 'time') { /** @type {?} */ var temp = this.resultArr; result = temp.slice(0, 3).join('-') + ' ' + temp.slice(3, 5).join(':'); } else { result = this.resultArr.map(function (v) { return v; }).join('-'); } this.resultDate = new Date(result.replace(/-/g, '/')); if (this.options.minDate.getTime() > this.resultDate.getTime()) { if (this.resultArr.length > 0) { for (var index = 0; index < this.resultArr.length; index++) { this.resultArr = this.min_date; this.currentTime = this.resultArr; this.current_time = this.currentTime; } } this.resultDate = this.options.minDate; } return this.resultDate; }; /** * @return {?} */ DatePickerComponent.prototype.cancel = /** * @return {?} */ function () { this.options.onDismiss.emit(); this.setTransitionName(); }; /** * @return {?} */ DatePickerComponent.prototype.setTransitionName = /** * @return {?} */ function () { var _this = this; this.transitionName = 'am-slide-up-leave am-slide-up-leave-active'; this.maskTransitionName = 'am-fade-leave am-fade-leave-active'; setTimeout(function () { _this.options.hidePicker(); }, 200); }; /** * @param {?} checkIdx * @param {?} sta * @param {?} indexT * @return {?} */ DatePickerComponent.prototype.setCurrentSelected = /** * @param {?} checkIdx * @param {?} sta * @param {?} indexT * @return {?} */ function (checkIdx, sta, indexT) { if (checkIdx >= this.clos - 1) { return; } /** @type {?} */ var status = null; if (sta) { status = this.judgeEqualArray(this.min_date, this.resultArr, checkIdx + 1); } else { status = this.judgeEqualArray(this.max_date, this.resultArr, checkIdx + 1); } if (!status) { /** @type {?} */ var min = 0; /** @type {?} */ var max = 0; /** @type {?} */ var str = ''; /** @type {?} */ var realIdx = this.indexArray[checkIdx]; switch (realIdx) { case 0: min = 1; max = 12; str = '月'; break; case 1: min = 1; max = new Date(this.current_time[0], this.current_time[1], 0).getDate(); str = '日'; break; case 2: min = 0; max = 23; str = '时'; break; case 3: min = 0; max = 59; str = '分'; break; } this.initRangeArr(min, max, indexT, checkIdx + 1, str); } this.setCurrentSelected(checkIdx + 1, sta, indexT); }; /** * @param {?} min * @param {?} max * @param {?} indexT * @param {?} checkIdx * @param {?} str * @return {?} */ DatePickerComponent.prototype.initRangeArr = /** * @param {?} min * @param {?} max * @param {?} indexT * @param {?} checkIdx * @param {?} str * @return {?} */ function (min, max, indexT, checkIdx, str) { var _this = this; /** @type {?} */ var realIdx = this.indexArray[checkIdx]; /** @type {?} */ var arr = []; /** @type {?} */ var targetLong = 0; for (var index = min; index < max + 1; index++) { arr.push(index); } if (arr.indexOf(this.resultArr[checkIdx]) == -1) { if (-this.selectedTarget[checkIdx].currentY > max - min) { indexT = max - min; this.selectedTarget[checkIdx].currentY = -indexT; } targetLong = -arr.length * this.lineHeight; } else { targetLong = -arr.indexOf(this.resultArr[checkIdx]) * this.lineHeight; this.selectedTarget[checkIdx].currentY = -arr.indexOf(this.resultArr[checkIdx]); } if (this.data[checkIdx].toString() !== arr.toString()) { this.current_time[realIdx] = -targetLong / this.lineHeight + 1; this.resultArr[checkIdx] = -targetLong / this.lineHeight + 1; this.data[checkIdx] = arr; this.dataWithStr[checkIdx] = this.options.locale.locale === 'zh_CN' ? arr.map(function (item) { return item + str; }) : arr; setTimeout(function () { _this.selectedTarget.forEach(function (item, i) { if (i >= checkIdx) { _this.currentPicker.children[i].children[2].style.transition = ''; /** @type {?} */ var index = parseInt(item.currentY, 0); _this.currentPicker.children[i].children[2].style.transform = "translateY(" + index * _this.lineHeight + "px)"; } }); }, 0); } }; /** * @param {?} event * @return {?} */ DatePickerComponent.prototype.getEventTarget = /** * @param {?} event * @return {?} */ function (event) { if (event.type === 'mousedown' || event.type === 'mousemove' || event.type === 'mouseup' || event.type === 'mouseleave') { return event; } else { if (event && event.changedTouches && event.changedTouches[0]) { return event.changedTouches[0]; } return null; } }; /** * @return {?} */ DatePickerComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.localeProvider(); this.checkMode(this.options.mode); /** @type {?} */ var value = this.transformDateFormat(this.options.value).split('-'); if (value.length > 0) { this.currentTime = value.map(function (item) { return parseInt(item, 0); }); } this.init(); }; /** * @return {?} */ DatePickerComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { this.reloadPicker(); }; /** * @return {?} */ DatePickerComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.unsubscribe$.next(); this.unsubscribe$.complete(); }; DatePickerComponent.decorators = [ { type: Component, args: [{ selector: 'DatePicker, nzm-date-picker', template: "<div *ngIf=\"options.mask\" class=\"am-picker-popup-mask {{maskTransitionName}}\" (click)=\"cancel()\"></div>\n<div class=\"am-picker-popup {{transitionName}}\" style=\"z-index: 1001\">\n <div class=\"am-picker-popup-content\">\n <div class=\"am-picker-popup-body\">\n <div>\n <div class=\"am-picker-popup-header\">\n <div class=\"am-picker-popup-item am-picker-popup-header-left\"\n (click)=\"cancel()\"\n >\n {{options.dismissText}}\n </div>\n <div class=\"am-picker-popup-item am-picker-popup-title\">{{options.title}}</div>\n <div class=\"am-picker-popup-item am-picker-popup-header-right\"\n (click)=\"ok()\"\n >\n {{options.okText}}\n </div>\n </div>\n <div #picker\n class=\"am-picker\"\n style=\"flex-direction: row; align-items: center;\"\n >\n <div *ngFor=\"let item of dataWithStr; let i = index\" class=\"am-picker-col\">\n <div class=\"am-picker-col-indicator \" style=\"top: 102px;\"></div>\n <div id={{i}}\n class=\"am-picker-col-mask\"\n style=\"background-size: 100% 102px;\"\n ></div>\n <div class=\"am-picker-col-content\">\n <div id={{i}}\n class=\"am-picker-col-item\"\n *ngFor=\"let val of item; let i = index\"\n >{{val.label?val.label:val}}</div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", encapsulation: ViewEncapsulation.None }] } ]; /** @nocollapse */ DatePickerComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: DatePickerOptions }, { type: LocaleProviderService } ]; }; DatePickerComponent.propDecorators = { picker: [{ type: ViewChild, args: ['picker', { read: ViewContainerRef },] }], panstart: [{ type: HostListener, args: ['mousedown', ['$event'],] }, { type: HostListener, args: ['touchstart', ['$event'],] }], panmove: [{ type: HostListener, args: ['mousemove', ['$event'],] }, { type: HostListener, args: ['touchmove', ['$event'],] }], panend: [{ type: HostListener, args: ['mouseleave', ['$event'],] }, { type: HostListener, args: ['mouseup', ['$event'],] }, { type: HostListener, args: ['touchend', ['$event'],] }] }; return DatePickerComponent; }()); export { DatePickerComponent }; if (false) { /** @type {?} */ DatePickerComponent.prototype.transitionName; /** @type {?} */ DatePickerComponent.prototype.maskTransitionName; /** @type {?} */ DatePickerComponent.prototype.modeSwitch; /** @type {?} */ DatePickerComponent.prototype.localMinDate; /** @type {?} */ DatePickerComponent.prototype.localMaxDate; /** @type {?} */ DatePickerComponent.prototype.currentTime; /** @type {?} */ DatePickerComponent.prototype.indexArray; /** @type {?} */ DatePickerComponent.prototype.min_date; /** @type {?} */ DatePickerComponent.prototype.max_date; /** @type {?} */ DatePickerComponent.prototype.current_time; /** @type {?} */ DatePickerComponent.prototype.clos; /** @type {?} */ DatePickerComponent.prototype.resultArr; /** @type {?} */ DatePickerComponent.prototype.resultDate; /** @type {?} */ DatePickerComponent.prototype.data; /** @type {?} */ DatePickerComponent.prototype.dataWithStr; /** @type {?} */ DatePickerComponent.prototype.startY; /** @type {?} */ DatePickerComponent.prototype.differY; /** @type {?} */ DatePickerComponent.prototype.currentY; /** @type {?} */ DatePickerComponent.prototype.len; /** @type {?} */ DatePickerComponent.prototype.dom; /** @type {?} */ DatePickerComponent.prototype.index; /** @type {?} */ DatePickerComponent.prototype.maxY; /** @type {?} */ DatePickerComponent.prototype.lineHeight; /** @type {?} */ DatePickerComponent.prototype.selectedTarget; /** @type {?} */ DatePickerComponent.prototype.isMouseDown; /** @type {?} */ DatePickerComponent.prototype.currentPicker; /** @type {?} */ DatePickerComponent.prototype.localeNew; /** @type {?} */ DatePickerComponent.prototype.unsubscribe$; /** @type {?} */ DatePickerComponent.prototype.Velocity; /** @type {?} */ DatePickerComponent.prototype.picker; /** @type {?} */ DatePickerComponent.prototype.elementRef; /** @type {?} */ DatePickerComponent.prototype.options; /** @type {?} */ DatePickerComponent.prototype.localeProviderService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC1tb2JpbGUvIiwic291cmNlcyI6WyJkYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULGdCQUFnQixFQUdqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRSxPQUFPLEtBQUssUUFBUSxNQUFNLHVCQUF1QixDQUFDOzs7OztJQXlKaEQsNkJBQ1MsWUFDQSxTQUNBO1FBRkEsZUFBVSxHQUFWLFVBQVU7UUFDVixZQUFPLEdBQVAsT0FBTztRQUNQLDBCQUFxQixHQUFyQixxQkFBcUI7OEJBbkpMLDRDQUE0QztrQ0FDeEMsb0NBQW9DOzBCQUMxQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDOzRCQUNuQixFQUFFOzRCQUNGLEVBQUU7MkJBQ0gsRUFBRTswQkFDTCxFQUFFO3dCQUNGLEVBQUU7d0JBQ0YsRUFBRTs0QkFDRTtZQUNwQixJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUN4QixJQUFJLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDcEIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDckIsSUFBSSxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUU7U0FDeEI7b0JBQ2MsQ0FBQzt5QkFDQyxFQUFFO29CQUVMLEVBQUU7MkJBQ0ssRUFBRTtzQkFDTixDQUFDO3VCQUNBLENBQUM7d0JBQ0EsQ0FBQzttQkFDTixDQUFDO21CQUNKLElBQUk7cUJBQ0MsQ0FBQztvQkFDRixDQUFDOzBCQUNLLEVBQUU7OEJBQ0MsRUFBRTsyQkFDSCxLQUFLO3lCQUVYLEVBQUU7NEJBQ0osSUFBSSxPQUFPLEVBQVE7d0JBRXZCLFFBQVEsQ0FBQyxXQUFXLEVBQUU7S0FpSDVCOzs7OztJQTFHTCxzQ0FBUTs7OztJQUZSLFVBRVMsS0FBSztRQUZkLGlCQXdCQztRQXJCQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUU7WUFDMUQsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFNUIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEtBQUssaUJBQWlCLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7WUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3QjthQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtnQkFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNyQyxLQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7aUJBQy9CO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7O1FBQ0QsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUM7S0FDMUI7Ozs7O0lBR0QscUNBQU87Ozs7SUFGUCxVQUVRLEtBQUs7UUFDWCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQy9FLE9BQU87U0FDUjtRQUNELEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7UUFDdkIsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsaUJBQWMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLFNBQUssQ0FBQztLQUM5Rjs7Ozs7SUFJRCxvQ0FBTTs7OztJQUhOLFVBR08sS0FBSztRQUhaLGlCQWdFQztRQTVEQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQy9FLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQzs7UUFDdkIsSUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQzs7UUFDeEMsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDOztRQUNmLElBQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDaEQsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFlBQVksR0FBRyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQzNFLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM1RCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQzNCO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDOUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVELElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7UUFFRCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTs7WUFDbEMsSUFBSSxRQUFNLEdBQUcsS0FBSyxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQUEsSUFBSTtnQkFDOUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO29CQUNyQyxRQUFNLEdBQUcsSUFBSSxDQUFDO29CQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7b0JBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQztpQkFDL0I7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBTSxFQUFFO2dCQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUNsRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDbEY7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsZ0JBQWMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxRQUFLLENBQUM7UUFDOUUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQy9FLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzlDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7U0FDdEQ7S0FDRjs7OztJQVFELGtDQUFJOzs7SUFBSjtRQUNFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0tBQzFCOzs7O0lBRUQsMENBQVk7OztJQUFaO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUU7WUFDN0MsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7O1lBQ2hFLElBQU0sTUFBSSxHQUFHLElBQUksQ0FBQztZQUNsQixVQUFVLENBQUM7Z0JBQ1QsTUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsVUFBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbEMsTUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDOztvQkFDOUUsSUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ3pDLE1BQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGdCQUFjLEtBQUssR0FBRyxNQUFJLENBQUMsVUFBVSxRQUFLLENBQUM7aUJBQ3pHLENBQUMsQ0FBQzthQUNKLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDUDtLQUNGOzs7O0lBRUQsNENBQWM7OztJQUFkOztRQUNFLElBQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRTtZQUM1RCxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQUEsQ0FBQztZQUNwRixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzFFLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQzVDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDO1lBQ3RELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztLQUNKOzs7OztJQUVELGlEQUFtQjs7OztJQUFuQixVQUFvQixJQUFJO1FBQ3RCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRTtZQUN4QixPQUFPLEVBQUUsQ0FBQztTQUNYO2FBQU07WUFDTCxPQUFPLGtCQUFrQjtpQkFDdEIsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDO2lCQUN4QyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO2lCQUN2QyxPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7aUJBQ2xDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQztpQkFDbkMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDMUM7S0FDRjs7Ozs7SUFFRCxxQ0FBTzs7OztJQUFQLFVBQVEsR0FBVztRQUNqQixPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7S0FDeEM7Ozs7SUFFRCwrQ0FBaUI7OztJQUFqQjtRQUFBLGlCQVlDO1FBWEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixLQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFDLElBQUksRUFBRSxDQUFDO2dCQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3BCLElBQUksS0FBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTt3QkFDaEQsS0FBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBRyxDQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDOUQ7aUJBQ0YsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0tBQ3JCOzs7OztJQUVELHVDQUFTOzs7O0lBQVQsVUFBVSxJQUFJO1FBQ1osSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLE1BQU07WUFDUixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3RDO3FCQUFNO29CQUNMLElBQUksQ0FBQyxVQUFVL