angular-particle-effect-button
Advanced tools
Comparing version 0.0.42 to 0.0.43
(function (global, factory) { | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('animejs'), require('@angular/core')) : | ||
typeof define === 'function' && define.amd ? define('angular-particle-effect-button', ['exports', 'animejs', '@angular/core'], factory) : | ||
(factory((global['angular-particle-effect-button'] = {}),global.anime,global.ng.core)); | ||
}(this, (function (exports,anime,core) { 'use strict'; | ||
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('animejs')) : | ||
typeof define === 'function' && define.amd ? define('angular-particle-effect-button', ['exports', '@angular/core', 'animejs'], factory) : | ||
(global = global || self, factory(global['angular-particle-effect-button'] = {}, global.ng.core, global.animejs)); | ||
}(this, function (exports, core, anime) { 'use strict'; | ||
anime = anime && anime.hasOwnProperty('default') ? anime['default'] : anime; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** @type {?} */ | ||
var is = { | ||
arr: function (a) { return Array.isArray(a); }, | ||
str: function (a) { return typeof a === 'string'; }, | ||
fnc: function (a) { return typeof a === 'function'; } | ||
}; | ||
/** @type {?} */ | ||
var stringToHyphens = function (str) { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}; | ||
/** @type {?} */ | ||
var getCSSValue = function (el, prop) { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}; | ||
/** @type {?} */ | ||
var t = 'transform'; | ||
/** @type {?} */ | ||
var transformString = getCSSValue(document.body, t) ? t : '-webkit-' + t; | ||
/** @type {?} */ | ||
var rand = function (value) { | ||
return Math.random() * value - value / 2; | ||
}; | ||
/*! ***************************************************************************** | ||
@@ -52,9 +23,22 @@ Copyright (c) Microsoft Corporation. All rights reserved. | ||
***************************************************************************** */ | ||
var __assign = function () { | ||
/* global Reflect, Promise */ | ||
var extendStatics = function(d, b) { | ||
extendStatics = Object.setPrototypeOf || | ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || | ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; | ||
return extendStatics(d, b); | ||
}; | ||
function __extends(d, b) { | ||
extendStatics(d, b); | ||
function __() { this.constructor = d; } | ||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); | ||
} | ||
var __assign = function() { | ||
__assign = Object.assign || function __assign(t) { | ||
for (var s, i = 1, n = arguments.length; i < n; i++) { | ||
s = arguments[i]; | ||
for (var p in s) | ||
if (Object.prototype.hasOwnProperty.call(s, p)) | ||
t[p] = s[p]; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; | ||
} | ||
@@ -66,6 +50,262 @@ return t; | ||
function __rest(s, e) { | ||
var t = {}; | ||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) | ||
t[p] = s[p]; | ||
if (s != null && typeof Object.getOwnPropertySymbols === "function") | ||
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { | ||
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) | ||
t[p[i]] = s[p[i]]; | ||
} | ||
return t; | ||
} | ||
function __decorate(decorators, target, key, desc) { | ||
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; | ||
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); | ||
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; | ||
return c > 3 && r && Object.defineProperty(target, key, r), r; | ||
} | ||
function __param(paramIndex, decorator) { | ||
return function (target, key) { decorator(target, key, paramIndex); } | ||
} | ||
function __metadata(metadataKey, metadataValue) { | ||
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); | ||
} | ||
function __awaiter(thisArg, _arguments, P, generator) { | ||
return new (P || (P = Promise))(function (resolve, reject) { | ||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } | ||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } | ||
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } | ||
step((generator = generator.apply(thisArg, _arguments || [])).next()); | ||
}); | ||
} | ||
function __generator(thisArg, body) { | ||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; | ||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; | ||
function verb(n) { return function (v) { return step([n, v]); }; } | ||
function step(op) { | ||
if (f) throw new TypeError("Generator is already executing."); | ||
while (_) try { | ||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; | ||
if (y = 0, t) op = [op[0] & 2, t.value]; | ||
switch (op[0]) { | ||
case 0: case 1: t = op; break; | ||
case 4: _.label++; return { value: op[1], done: false }; | ||
case 5: _.label++; y = op[1]; op = [0]; continue; | ||
case 7: op = _.ops.pop(); _.trys.pop(); continue; | ||
default: | ||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } | ||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } | ||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } | ||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } | ||
if (t[2]) _.ops.pop(); | ||
_.trys.pop(); continue; | ||
} | ||
op = body.call(thisArg, _); | ||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } | ||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; | ||
} | ||
} | ||
function __exportStar(m, exports) { | ||
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; | ||
} | ||
function __values(o) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; | ||
if (m) return m.call(o); | ||
return { | ||
next: function () { | ||
if (o && i >= o.length) o = void 0; | ||
return { value: o && o[i++], done: !o }; | ||
} | ||
}; | ||
} | ||
function __read(o, n) { | ||
var m = typeof Symbol === "function" && o[Symbol.iterator]; | ||
if (!m) return o; | ||
var i = m.call(o), r, ar = [], e; | ||
try { | ||
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); | ||
} | ||
catch (error) { e = { error: error }; } | ||
finally { | ||
try { | ||
if (r && !r.done && (m = i["return"])) m.call(i); | ||
} | ||
finally { if (e) throw e.error; } | ||
} | ||
return ar; | ||
} | ||
function __spread() { | ||
for (var ar = [], i = 0; i < arguments.length; i++) | ||
ar = ar.concat(__read(arguments[i])); | ||
return ar; | ||
} | ||
function __spreadArrays() { | ||
for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; | ||
for (var r = Array(s), k = 0, i = 0; i < il; i++) | ||
for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) | ||
r[k] = a[j]; | ||
return r; | ||
}; | ||
function __await(v) { | ||
return this instanceof __await ? (this.v = v, this) : new __await(v); | ||
} | ||
function __asyncGenerator(thisArg, _arguments, generator) { | ||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); | ||
var g = generator.apply(thisArg, _arguments || []), i, q = []; | ||
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i; | ||
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; } | ||
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } } | ||
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); } | ||
function fulfill(value) { resume("next", value); } | ||
function reject(value) { resume("throw", value); } | ||
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); } | ||
} | ||
function __asyncDelegator(o) { | ||
var i, p; | ||
return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i; | ||
function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; } | ||
} | ||
function __asyncValues(o) { | ||
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); | ||
var m = o[Symbol.asyncIterator], i; | ||
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i); | ||
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; } | ||
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); } | ||
} | ||
function __makeTemplateObject(cooked, raw) { | ||
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; } | ||
return cooked; | ||
}; | ||
function __importStar(mod) { | ||
if (mod && mod.__esModule) return mod; | ||
var result = {}; | ||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; | ||
result.default = mod; | ||
return result; | ||
} | ||
function __importDefault(mod) { | ||
return (mod && mod.__esModule) ? mod : { default: mod }; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var ɵ0 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return Array.isArray(a); }, ɵ1 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'string'; }, ɵ2 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'function'; }; | ||
/** @type {?} */ | ||
var is = { | ||
arr: (ɵ0), | ||
str: (ɵ1), | ||
fnc: (ɵ2) | ||
}; | ||
/** @type {?} */ | ||
var stringToHyphens = (/** | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
function (str) { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}); | ||
/** @type {?} */ | ||
var getCSSValue = (/** | ||
* @param {?} el | ||
* @param {?} prop | ||
* @return {?} | ||
*/ | ||
function (el, prop) { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}); | ||
/** @type {?} */ | ||
var t = 'transform'; | ||
/** @type {?} */ | ||
var transformString = getCSSValue(document.body, t) ? t : '-webkit-' + t; | ||
/** @type {?} */ | ||
var rand = (/** | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
function (value) { | ||
return Math.random() * value - value / 2; | ||
}); | ||
/** @type {?} */ | ||
var getElement = (/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
return is.str(element) ? document.querySelector(element) : element; | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
function IOption() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
IOption.prototype.color; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.type; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.style; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.canvasPadding; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.duration; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.easing; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.direction; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.size; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.speed; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.particlesAmountCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.oscillationCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.begin; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.width; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.height; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.complete; | ||
} | ||
var Particles = /** @class */ (function () { | ||
@@ -87,24 +327,24 @@ function Particles(el, options, renderer) { | ||
*/ | ||
function () { | ||
this.canvas = this.renderer.createElement('canvas'); | ||
this.ctx = this.canvas.getContext('2d'); | ||
this.renderer.setStyle(this.canvas, 'position', 'absolute'); | ||
this.renderer.setStyle(this.canvas, 'pointerEvents', 'none'); | ||
this.renderer.setStyle(this.canvas, 'top', '50%'); | ||
this.renderer.setStyle(this.canvas, 'left', '50%'); | ||
this.renderer.setStyle(this.canvas, 'transform', 'translate3d(-50%, -50%, 0)'); | ||
this.renderer.setStyle(this.canvas, 'display', 'none'); | ||
this.wrapper = this.renderer.createElement('div'); | ||
this.renderer.setStyle(this.wrapper, 'position', 'relative'); | ||
this.renderer.setStyle(this.wrapper, 'display', 'inline-block'); | ||
this.renderer.setStyle(this.wrapper, 'overflow', 'hidden'); | ||
this.renderer.insertBefore(this.el.parentNode, this.wrapper, this.el); | ||
this.renderer.appendChild(this.wrapper, this.el); | ||
this.parentWrapper = this.renderer.createElement('div'); | ||
this.renderer.setStyle(this.parentWrapper, 'position', 'relative'); | ||
this.renderer.setStyle(this.parentWrapper, 'display', 'inline-block'); | ||
this.renderer.insertBefore(this.wrapper.parentNode, this.parentWrapper, this.wrapper); | ||
this.renderer.appendChild(this.parentWrapper, this.wrapper); | ||
this.renderer.appendChild(this.parentWrapper, this.canvas); | ||
}; | ||
function () { | ||
this.canvas = this.renderer.createElement('canvas'); | ||
this.ctx = this.canvas.getContext('2d'); | ||
this.renderer.setStyle(this.canvas, 'position', 'absolute'); | ||
this.renderer.setStyle(this.canvas, 'pointerEvents', 'none'); | ||
this.renderer.setStyle(this.canvas, 'top', '50%'); | ||
this.renderer.setStyle(this.canvas, 'left', '50%'); | ||
this.renderer.setStyle(this.canvas, 'transform', 'translate3d(-50%, -50%, 0)'); | ||
this.renderer.setStyle(this.canvas, 'display', 'none'); | ||
this.wrapper = this.renderer.createElement('div'); | ||
this.renderer.setStyle(this.wrapper, 'position', 'relative'); | ||
this.renderer.setStyle(this.wrapper, 'display', 'inline-block'); | ||
this.renderer.setStyle(this.wrapper, 'overflow', 'hidden'); | ||
this.renderer.insertBefore(this.el.parentNode, this.wrapper, this.el); | ||
this.renderer.appendChild(this.wrapper, this.el); | ||
this.parentWrapper = this.renderer.createElement('div'); | ||
this.renderer.setStyle(this.parentWrapper, 'position', 'relative'); | ||
this.renderer.setStyle(this.parentWrapper, 'display', 'inline-block'); | ||
this.renderer.insertBefore(this.wrapper.parentNode, this.parentWrapper, this.wrapper); | ||
this.renderer.appendChild(this.parentWrapper, this.wrapper); | ||
this.renderer.appendChild(this.parentWrapper, this.canvas); | ||
}; | ||
/** | ||
@@ -118,5 +358,5 @@ * @param {?} options | ||
*/ | ||
function (options) { | ||
this.options = __assign({}, this.options, options); | ||
}; | ||
function (options) { | ||
this.options = __assign({}, this.options, options); | ||
}; | ||
/** | ||
@@ -128,9 +368,9 @@ * @return {?} | ||
*/ | ||
function () { | ||
this.updateParticles(); | ||
this.renderParticles(); | ||
if (this.isAnimating()) { | ||
this.frame = requestAnimationFrame(this.loop.bind(this)); | ||
} | ||
}; | ||
function () { | ||
this.updateParticles(); | ||
this.renderParticles(); | ||
if (this.isAnimating()) { | ||
this.frame = requestAnimationFrame(this.loop.bind(this)); | ||
} | ||
}; | ||
/** | ||
@@ -142,25 +382,25 @@ * @return {?} | ||
*/ | ||
function () { | ||
/** @type {?} */ | ||
var p; | ||
for (var i = 0; i < this.particles.length; i++) { | ||
p = this.particles[i]; | ||
if (p.life > p.death) { | ||
this.particles.splice(i, 1); | ||
} | ||
else { | ||
p.x += p.speed; | ||
p.y = this.o.oscillationCoefficient * Math.sin(p.counter * p.increase); | ||
p.life++; | ||
p.counter += this.disintegrating ? 1 : -1; | ||
} | ||
function () { | ||
/** @type {?} */ | ||
var p; | ||
for (var i = 0; i < this.particles.length; i++) { | ||
p = this.particles[i]; | ||
if (p.life > p.death) { | ||
this.particles.splice(i, 1); | ||
} | ||
if (!this.particles.length) { | ||
this.pause(); | ||
this.renderer.setStyle(this.canvas, 'display', 'none'); | ||
if (is.fnc(this.o.complete)) { | ||
this.o.complete(); | ||
} | ||
else { | ||
p.x += p.speed; | ||
p.y = this.o.oscillationCoefficient * Math.sin(p.counter * p.increase); | ||
p.life++; | ||
p.counter += this.disintegrating ? 1 : -1; | ||
} | ||
}; | ||
} | ||
if (!this.particles.length) { | ||
this.pause(); | ||
this.renderer.setStyle(this.canvas, 'display', 'none'); | ||
if (is.fnc(this.o.complete)) { | ||
this.o.complete(); | ||
} | ||
} | ||
}; | ||
/** | ||
@@ -172,40 +412,40 @@ * @return {?} | ||
*/ | ||
function () { | ||
this.ctx.clearRect(0, 0, this.width, this.height); | ||
/** @type {?} */ | ||
var p; | ||
for (var i = 0; i < this.particles.length; i++) { | ||
p = this.particles[i]; | ||
if (p.life < p.death) { | ||
this.ctx.translate(p.startX, p.startY); | ||
this.ctx.rotate(p.angle * Math.PI / 180); | ||
this.ctx.globalAlpha = this.disintegrating | ||
? 1 - p.life / p.death | ||
: p.life / p.death; | ||
this.ctx.fillStyle = this.ctx.strokeStyle = this.o.color; | ||
this.ctx.beginPath(); | ||
if (this.o.type === 'circle') { | ||
this.ctx.arc(p.x, p.y, p.size, 0, 2 * Math.PI); | ||
} | ||
else if (this.o.type === 'triangle') { | ||
this.ctx.moveTo(p.x, p.y); | ||
this.ctx.lineTo(p.x + p.size, p.y + p.size); | ||
this.ctx.lineTo(p.x + p.size, p.y - p.size); | ||
} | ||
else if (this.o.type === 'rectangle') { | ||
this.ctx.rect(p.x, p.y, p.size, p.size); | ||
} | ||
if (this.o.style === 'fill') { | ||
this.ctx.fill(); | ||
} | ||
else if (this.o.style === 'stroke') { | ||
this.ctx.closePath(); | ||
this.ctx.stroke(); | ||
} | ||
this.ctx.globalAlpha = 1; | ||
this.ctx.rotate(-p.angle * Math.PI / 180); | ||
this.ctx.translate(-p.startX, -p.startY); | ||
function () { | ||
this.ctx.clearRect(0, 0, this.width, this.height); | ||
/** @type {?} */ | ||
var p; | ||
for (var i = 0; i < this.particles.length; i++) { | ||
p = this.particles[i]; | ||
if (p.life < p.death) { | ||
this.ctx.translate(p.startX, p.startY); | ||
this.ctx.rotate(p.angle * Math.PI / 180); | ||
this.ctx.globalAlpha = this.disintegrating | ||
? 1 - p.life / p.death | ||
: p.life / p.death; | ||
this.ctx.fillStyle = this.ctx.strokeStyle = this.o.color; | ||
this.ctx.beginPath(); | ||
if (this.o.type === 'circle') { | ||
this.ctx.arc(p.x, p.y, p.size, 0, 2 * Math.PI); | ||
} | ||
else if (this.o.type === 'triangle') { | ||
this.ctx.moveTo(p.x, p.y); | ||
this.ctx.lineTo(p.x + p.size, p.y + p.size); | ||
this.ctx.lineTo(p.x + p.size, p.y - p.size); | ||
} | ||
else if (this.o.type === 'rectangle') { | ||
this.ctx.rect(p.x, p.y, p.size, p.size); | ||
} | ||
if (this.o.style === 'fill') { | ||
this.ctx.fill(); | ||
} | ||
else if (this.o.style === 'stroke') { | ||
this.ctx.closePath(); | ||
this.ctx.stroke(); | ||
} | ||
this.ctx.globalAlpha = 1; | ||
this.ctx.rotate(-p.angle * Math.PI / 180); | ||
this.ctx.translate(-p.startX, -p.startY); | ||
} | ||
}; | ||
} | ||
}; | ||
/** | ||
@@ -217,5 +457,5 @@ * @return {?} | ||
*/ | ||
function () { | ||
this.frame = requestAnimationFrame(this.loop.bind(this)); | ||
}; | ||
function () { | ||
this.frame = requestAnimationFrame(this.loop.bind(this)); | ||
}; | ||
/** | ||
@@ -227,6 +467,6 @@ * @return {?} | ||
*/ | ||
function () { | ||
cancelAnimationFrame(this.frame); | ||
this.frame = null; | ||
}; | ||
function () { | ||
cancelAnimationFrame(this.frame); | ||
this.frame = null; | ||
}; | ||
/** | ||
@@ -240,23 +480,23 @@ * @param {?} options | ||
*/ | ||
function (options) { | ||
/** @type {?} */ | ||
var frames = this.o.duration * 60 / 1000; | ||
/** @type {?} */ | ||
var speed = ( /** @type {?} */((is.fnc(this.o.speed) | ||
? this.o.speed() | ||
: this.o.speed))); | ||
this.particles.push({ | ||
startX: options.x, | ||
startY: options.y, | ||
x: this.disintegrating ? 0 : speed * -frames, | ||
y: 0, | ||
angle: rand(360), | ||
counter: this.disintegrating ? 0 : frames, | ||
increase: Math.PI * 2 / 100, | ||
life: 0, | ||
death: this.disintegrating ? frames - 20 + Math.random() * 40 : frames, | ||
speed: speed, | ||
size: is.fnc(this.o.size) ? this.o.size() : this.o.size | ||
}); | ||
}; | ||
function (options) { | ||
/** @type {?} */ | ||
var frames = this.o.duration * 60 / 1000; | ||
/** @type {?} */ | ||
var speed = (/** @type {?} */ ((is.fnc(this.o.speed) | ||
? this.o.speed() | ||
: this.o.speed))); | ||
this.particles.push({ | ||
startX: options.x, | ||
startY: options.y, | ||
x: this.disintegrating ? 0 : speed * -frames, | ||
y: 0, | ||
angle: rand(360), | ||
counter: this.disintegrating ? 0 : frames, | ||
increase: Math.PI * 2 / 100, | ||
life: 0, | ||
death: this.disintegrating ? frames - 20 + Math.random() * 40 : frames, | ||
speed: speed, | ||
size: is.fnc(this.o.size) ? this.o.size() : this.o.size | ||
}); | ||
}; | ||
/** | ||
@@ -272,42 +512,42 @@ * @param {?} rect | ||
*/ | ||
function (rect, progress) { | ||
/** @type {?} */ | ||
var progressDiff = this.disintegrating | ||
? progress - this.lastProgress | ||
: this.lastProgress - progress; | ||
this.lastProgress = progress; | ||
/** @type {?} */ | ||
var x = this.options.canvasPadding; | ||
/** @type {?} */ | ||
var y = this.options.canvasPadding; | ||
/** @type {?} */ | ||
var progressValue = (this.isHorizontal() ? rect.width : rect.height) * progress + | ||
progressDiff * (this.disintegrating ? 100 : 220); | ||
if (this.isHorizontal()) { | ||
x += | ||
this.o.direction === 'left' | ||
? progressValue | ||
: rect.width - progressValue; | ||
function (rect, progress) { | ||
/** @type {?} */ | ||
var progressDiff = this.disintegrating | ||
? progress - this.lastProgress | ||
: this.lastProgress - progress; | ||
this.lastProgress = progress; | ||
/** @type {?} */ | ||
var x = this.options.canvasPadding; | ||
/** @type {?} */ | ||
var y = this.options.canvasPadding; | ||
/** @type {?} */ | ||
var progressValue = (this.isHorizontal() ? rect.width : rect.height) * progress + | ||
progressDiff * (this.disintegrating ? 100 : 220); | ||
if (this.isHorizontal()) { | ||
x += | ||
this.o.direction === 'left' | ||
? progressValue | ||
: rect.width - progressValue; | ||
} | ||
else { | ||
y += | ||
this.o.direction === 'top' | ||
? progressValue | ||
: rect.height - progressValue; | ||
} | ||
/** @type {?} */ | ||
var i = Math.floor(this.o.particlesAmountCoefficient * (progressDiff * 100 + 1)); | ||
if (i > 0) { | ||
while (i--) { | ||
this.addParticle({ | ||
x: x + (this.isHorizontal() ? 0 : rect.width * Math.random()), | ||
y: y + (this.isHorizontal() ? rect.height * Math.random() : 0) | ||
}); | ||
} | ||
else { | ||
y += | ||
this.o.direction === 'top' | ||
? progressValue | ||
: rect.height - progressValue; | ||
} | ||
/** @type {?} */ | ||
var i = Math.floor(this.o.particlesAmountCoefficient * (progressDiff * 100 + 1)); | ||
if (i > 0) { | ||
while (i--) { | ||
this.addParticle({ | ||
x: x + (this.isHorizontal() ? 0 : rect.width * Math.random()), | ||
y: y + (this.isHorizontal() ? rect.height * Math.random() : 0) | ||
}); | ||
} | ||
} | ||
if (!this.isAnimating()) { | ||
this.renderer.setStyle(this.canvas, 'display', 'block'); | ||
this.play(); | ||
} | ||
}; | ||
} | ||
if (!this.isAnimating()) { | ||
this.renderer.setStyle(this.canvas, 'display', 'block'); | ||
this.play(); | ||
} | ||
}; | ||
/** | ||
@@ -321,12 +561,12 @@ * @param {?} value | ||
*/ | ||
function (value) { | ||
/** @type {?} */ | ||
var translateProperty = this.isHorizontal() ? 'translateX' : 'translateY'; | ||
/** @type {?} */ | ||
var translateValue = this.o.direction === 'left' || this.o.direction === 'top' | ||
? value | ||
: -value; | ||
this.renderer.setStyle(this.wrapper, transformString, translateProperty + "(" + translateValue + "%)"); | ||
this.renderer.setStyle(this.el, transformString, translateProperty + "(" + -translateValue + "%)"); | ||
}; | ||
function (value) { | ||
/** @type {?} */ | ||
var translateProperty = this.isHorizontal() ? 'translateX' : 'translateY'; | ||
/** @type {?} */ | ||
var translateValue = this.o.direction === 'left' || this.o.direction === 'top' | ||
? value | ||
: -value; | ||
this.renderer.setStyle(this.wrapper, transformString, translateProperty + "(" + translateValue + "%)"); | ||
this.renderer.setStyle(this.el, transformString, translateProperty + "(" + -translateValue + "%)"); | ||
}; | ||
/** | ||
@@ -340,22 +580,24 @@ * @param {?=} options | ||
*/ | ||
function (options) { | ||
if (options === void 0) { | ||
options = {}; | ||
} | ||
if (!this.isAnimating()) { | ||
this.disintegrating = true; | ||
this.lastProgress = 0; | ||
this.setup(options); | ||
function (options) { | ||
if (options === void 0) { options = {}; } | ||
if (!this.isAnimating()) { | ||
this.disintegrating = true; | ||
this.lastProgress = 0; | ||
this.setup(options); | ||
/** @type {?} */ | ||
var _1 = this; | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
var _1 = this; | ||
this.animate(function (anim) { | ||
/** @type {?} */ | ||
var value = anim.animatables[0].target.value; | ||
_1.addTransforms(value); | ||
if (_1.o.duration) { | ||
_1.addParticles(_1.rect, value / 100); | ||
} | ||
}); | ||
} | ||
}; | ||
var value = anim.animatables[0].target.value; | ||
_1.addTransforms(value); | ||
if (_1.o.duration) { | ||
_1.addParticles(_1.rect, value / 100); | ||
} | ||
})); | ||
} | ||
}; | ||
/** | ||
@@ -369,24 +611,29 @@ * @param {?=} options | ||
*/ | ||
function (options) { | ||
if (options === void 0) { | ||
options = {}; | ||
} | ||
if (!this.isAnimating()) { | ||
this.disintegrating = false; | ||
this.lastProgress = 1; | ||
this.setup(options); | ||
function (options) { | ||
if (options === void 0) { options = {}; } | ||
if (!this.isAnimating()) { | ||
this.disintegrating = false; | ||
this.lastProgress = 1; | ||
this.setup(options); | ||
/** @type {?} */ | ||
var _2 = this; | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
var _2 = this; | ||
this.animate(function (anim) { | ||
/** @type {?} */ | ||
var value = anim.animatables[0].target.value; | ||
setTimeout(function () { | ||
_2.addTransforms(value); | ||
}, _2.o.duration); | ||
if (_2.o.duration) { | ||
_2.addParticles(_2.rect, value / 100); | ||
} | ||
}); | ||
} | ||
}; | ||
var value = anim.animatables[0].target.value; | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_2.addTransforms(value); | ||
}), _2.o.duration); | ||
if (_2.o.duration) { | ||
_2.addParticles(_2.rect, value / 100); | ||
} | ||
})); | ||
} | ||
}; | ||
/** | ||
@@ -400,13 +647,13 @@ * @param {?} options | ||
*/ | ||
function (options) { | ||
this.o = __assign({}, this.options, options); | ||
this.renderer.setStyle(this.wrapper, 'visibility', 'visible'); | ||
if (this.o.duration) { | ||
this.rect = this.el.getBoundingClientRect(); | ||
this.width = this.canvas.width = | ||
this.o.width || this.rect.width + this.o.canvasPadding * 2; | ||
this.height = this.canvas.height = | ||
this.o.height || this.rect.height + this.o.canvasPadding * 2; | ||
} | ||
}; | ||
function (options) { | ||
this.o = __assign({}, this.options, options); | ||
this.renderer.setStyle(this.wrapper, 'visibility', 'visible'); | ||
if (this.o.duration) { | ||
this.rect = this.el.getBoundingClientRect(); | ||
this.width = this.canvas.width = | ||
this.o.width || this.rect.width + this.o.canvasPadding * 2; | ||
this.height = this.canvas.height = | ||
this.o.height || this.rect.height + this.o.canvasPadding * 2; | ||
} | ||
}; | ||
/** | ||
@@ -418,5 +665,5 @@ * @return {?} | ||
*/ | ||
function () { | ||
return this.disintegrating; | ||
}; | ||
function () { | ||
return this.disintegrating; | ||
}; | ||
/** | ||
@@ -430,20 +677,23 @@ * @param {?} update | ||
*/ | ||
function (update) { | ||
var _this = this; | ||
/** @type {?} */ | ||
var _ = this; | ||
anime({ | ||
targets: { value: _.disintegrating ? 0 : 100 }, | ||
value: _.disintegrating ? 100 : 0, | ||
duration: _.o.duration, | ||
easing: _.o.easing, | ||
begin: _.o.begin, | ||
update: update, | ||
complete: function () { | ||
if (_.disintegrating) { | ||
_this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
function (update) { | ||
var _this = this; | ||
/** @type {?} */ | ||
var _ = this; | ||
anime({ | ||
targets: { value: _.disintegrating ? 0 : 100 }, | ||
value: _.disintegrating ? 100 : 0, | ||
duration: _.o.duration, | ||
easing: _.o.easing, | ||
begin: _.o.begin, | ||
update: update, | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (_.disintegrating) { | ||
_this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
}); | ||
}; | ||
}) | ||
}); | ||
}; | ||
/** | ||
@@ -455,5 +705,5 @@ * @return {?} | ||
*/ | ||
function () { | ||
return !!this.frame; | ||
}; | ||
function () { | ||
return !!this.frame; | ||
}; | ||
/** | ||
@@ -465,11 +715,52 @@ * @return {?} | ||
*/ | ||
function () { | ||
return this.o.direction === 'left' || this.o.direction === 'right'; | ||
}; | ||
function () { | ||
return this.o.direction === 'left' || this.o.direction === 'right'; | ||
}; | ||
return Particles; | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
Particles.prototype.particles; | ||
/** @type {?} */ | ||
Particles.prototype.frame; | ||
/** @type {?} */ | ||
Particles.prototype.canvas; | ||
/** @type {?} */ | ||
Particles.prototype.ctx; | ||
/** @type {?} */ | ||
Particles.prototype.wrapper; | ||
/** @type {?} */ | ||
Particles.prototype.parentWrapper; | ||
/** @type {?} */ | ||
Particles.prototype.o; | ||
/** @type {?} */ | ||
Particles.prototype.disintegrating; | ||
/** @type {?} */ | ||
Particles.prototype.width; | ||
/** @type {?} */ | ||
Particles.prototype.height; | ||
/** @type {?} */ | ||
Particles.prototype.lastProgress; | ||
/** @type {?} */ | ||
Particles.prototype.rect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.renderer; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -492,4 +783,10 @@ var ParticleEffectButtonDirective = /** @class */ (function () { | ||
this.pComplete = new core.EventEmitter(); | ||
this.pSize = function () { return Math.floor((Math.random() * 3) + 1); }; | ||
this.pSpeed = function () { return rand(4); }; | ||
this.pSize = (/** | ||
* @return {?} | ||
*/ | ||
function () { return Math.floor((Math.random() * 3) + 1); }); | ||
this.pSpeed = (/** | ||
* @return {?} | ||
*/ | ||
function () { return rand(4); }); | ||
} | ||
@@ -499,3 +796,4 @@ Object.defineProperty(ParticleEffectButtonDirective.prototype, "pHidden", { | ||
* @return {?} | ||
*/ function () { | ||
*/ | ||
function () { | ||
return this._pHidden; | ||
@@ -506,3 +804,4 @@ }, | ||
* @return {?} | ||
*/ function (value) { | ||
*/ | ||
function (value) { | ||
this._pHidden = value; | ||
@@ -527,8 +826,8 @@ if (this._particles) { | ||
*/ | ||
function () { | ||
this._particles = new Particles(this.el.nativeElement, this.getFormattedOptions(), this.renderer); | ||
if (this._pHidden) { | ||
this._particles.disintegrate({ duration: 0 }); | ||
} | ||
}; | ||
function () { | ||
this._particles = new Particles(this.el.nativeElement, this.getFormattedOptions(), this.renderer); | ||
if (this._pHidden) { | ||
this._particles.disintegrate({ duration: 0 }); | ||
} | ||
}; | ||
/** | ||
@@ -542,28 +841,35 @@ * @private | ||
*/ | ||
function () { | ||
var _this = this; | ||
return { | ||
color: this.pColor, | ||
type: this.pType, | ||
style: this.pStyle, | ||
canvasPadding: this.pCanvasPadding, | ||
duration: this.pDuration, | ||
easing: this.pEasing, | ||
direction: this.pDirection, | ||
size: this.pSize, | ||
speed: this.pSpeed, | ||
particlesAmountCoefficient: this.pParticlesAmountCoefficient, | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: function () { | ||
_this.pBegin.emit(); | ||
}, | ||
complete: function () { | ||
_this.pComplete.emit(); | ||
} | ||
}; | ||
function () { | ||
var _this = this; | ||
return { | ||
color: this.pColor, | ||
type: this.pType, | ||
style: this.pStyle, | ||
canvasPadding: this.pCanvasPadding, | ||
duration: this.pDuration, | ||
easing: this.pEasing, | ||
direction: this.pDirection, | ||
size: this.pSize, | ||
speed: this.pSpeed, | ||
particlesAmountCoefficient: this.pParticlesAmountCoefficient, | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pBegin.emit(); | ||
}), | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pComplete.emit(); | ||
}) | ||
}; | ||
}; | ||
Object.defineProperty(ParticleEffectButtonDirective.prototype, "pOptions", { | ||
get: /** | ||
* @return {?} | ||
*/ function () { | ||
*/ | ||
function () { | ||
return { | ||
@@ -588,11 +894,16 @@ pColor: this.pColor, | ||
* @return {?} | ||
*/ function (options) { | ||
*/ | ||
function (options) { | ||
var _this = this; | ||
/** @type {?} */ | ||
var allowedProps = this.pOptions; | ||
Object.keys(options).map(function (key) { | ||
Object.keys(options).map((/** | ||
* @param {?} key | ||
* @return {?} | ||
*/ | ||
function (key) { | ||
if (allowedProps[key]) { | ||
_this[key] = options[key]; | ||
} | ||
}); | ||
})); | ||
}, | ||
@@ -608,8 +919,6 @@ enumerable: true, | ||
/** @nocollapse */ | ||
ParticleEffectButtonDirective.ctorParameters = function () { | ||
return [ | ||
{ type: core.Renderer2 }, | ||
{ type: core.ElementRef } | ||
]; | ||
}; | ||
ParticleEffectButtonDirective.ctorParameters = function () { return [ | ||
{ type: core.Renderer2 }, | ||
{ type: core.ElementRef } | ||
]; }; | ||
ParticleEffectButtonDirective.propDecorators = { | ||
@@ -633,6 +942,54 @@ pColor: [{ type: core.Input }], | ||
}()); | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._particles; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._pHidden; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pColor; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDuration; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pEasing; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pType; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pStyle; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDirection; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pCanvasPadding; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pOscillationCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pParticlesAmountCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pBegin; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pComplete; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSize; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSpeed; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.renderer; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.el; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -651,12 +1008,2 @@ var ParticleEffectButtonModule = /** @class */ (function () { | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
exports.ParticleEffectButtonDirective = ParticleEffectButtonDirective; | ||
@@ -667,4 +1014,3 @@ exports.ParticleEffectButtonModule = ParticleEffectButtonModule; | ||
}))); | ||
//# sourceMappingURL=angular-particle-effect-button.umd.js.map | ||
})); | ||
//# sourceMappingURL=angular-particle-effect-button.umd.js.map |
@@ -1,2 +0,2 @@ | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("animejs"),require("@angular/core")):"function"==typeof define&&define.amd?define("angular-particle-effect-button",["exports","animejs","@angular/core"],e):e(t["angular-particle-effect-button"]={},t.anime,t.ng.core)}(this,function(t,s,i){"use strict";s=s&&s.hasOwnProperty("default")?s["default"]:s;var n=function(t){return"function"==typeof t},e="transform",r=function(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(function(t){return t.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}(e))||"0"}(document.body,e)?e:"-webkit-"+e,a=function(t){return Math.random()*t-t/2},o=function(){return(o=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)},p=function(){function t(t,e,i){this.el=t,this.options=e,this.renderer=i,this.particles=[],this.frame=null,this.options=o({},e),this.init()}return t.prototype.init=function(){this.canvas=this.renderer.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.renderer.setStyle(this.canvas,"position","absolute"),this.renderer.setStyle(this.canvas,"pointerEvents","none"),this.renderer.setStyle(this.canvas,"top","50%"),this.renderer.setStyle(this.canvas,"left","50%"),this.renderer.setStyle(this.canvas,"transform","translate3d(-50%, -50%, 0)"),this.renderer.setStyle(this.canvas,"display","none"),this.wrapper=this.renderer.createElement("div"),this.renderer.setStyle(this.wrapper,"position","relative"),this.renderer.setStyle(this.wrapper,"display","inline-block"),this.renderer.setStyle(this.wrapper,"overflow","hidden"),this.renderer.insertBefore(this.el.parentNode,this.wrapper,this.el),this.renderer.appendChild(this.wrapper,this.el),this.parentWrapper=this.renderer.createElement("div"),this.renderer.setStyle(this.parentWrapper,"position","relative"),this.renderer.setStyle(this.parentWrapper,"display","inline-block"),this.renderer.insertBefore(this.wrapper.parentNode,this.parentWrapper,this.wrapper),this.renderer.appendChild(this.parentWrapper,this.wrapper),this.renderer.appendChild(this.parentWrapper,this.canvas)},t.prototype.setOptions=function(t){this.options=o({},this.options,t)},t.prototype.loop=function(){this.updateParticles(),this.renderParticles(),this.isAnimating()&&(this.frame=requestAnimationFrame(this.loop.bind(this)))},t.prototype.updateParticles=function(){for(var t,e=0;e<this.particles.length;e++)(t=this.particles[e]).life>t.death?this.particles.splice(e,1):(t.x+=t.speed,t.y=this.o.oscillationCoefficient*Math.sin(t.counter*t.increase),t.life++,t.counter+=this.disintegrating?1:-1);this.particles.length||(this.pause(),this.renderer.setStyle(this.canvas,"display","none"),n(this.o.complete)&&this.o.complete())},t.prototype.renderParticles=function(){var t;this.ctx.clearRect(0,0,this.width,this.height);for(var e=0;e<this.particles.length;e++)(t=this.particles[e]).life<t.death&&(this.ctx.translate(t.startX,t.startY),this.ctx.rotate(t.angle*Math.PI/180),this.ctx.globalAlpha=this.disintegrating?1-t.life/t.death:t.life/t.death,this.ctx.fillStyle=this.ctx.strokeStyle=this.o.color,this.ctx.beginPath(),"circle"===this.o.type?this.ctx.arc(t.x,t.y,t.size,0,2*Math.PI):"triangle"===this.o.type?(this.ctx.moveTo(t.x,t.y),this.ctx.lineTo(t.x+t.size,t.y+t.size),this.ctx.lineTo(t.x+t.size,t.y-t.size)):"rectangle"===this.o.type&&this.ctx.rect(t.x,t.y,t.size,t.size),"fill"===this.o.style?this.ctx.fill():"stroke"===this.o.style&&(this.ctx.closePath(),this.ctx.stroke()),this.ctx.globalAlpha=1,this.ctx.rotate(-t.angle*Math.PI/180),this.ctx.translate(-t.startX,-t.startY))},t.prototype.play=function(){this.frame=requestAnimationFrame(this.loop.bind(this))},t.prototype.pause=function(){cancelAnimationFrame(this.frame),this.frame=null},t.prototype.addParticle=function(t){var e=60*this.o.duration/1e3,i=n(this.o.speed)?this.o.speed():this.o.speed;this.particles.push({startX:t.x,startY:t.y,x:this.disintegrating?0:i*-e,y:0,angle:a(360),counter:this.disintegrating?0:e,increase:2*Math.PI/100,life:0,death:this.disintegrating?e-20+40*Math.random():e,speed:i,size:n(this.o.size)?this.o.size():this.o.size})},t.prototype.addParticles=function(t,e){var i=this.disintegrating?e-this.lastProgress:this.lastProgress-e;this.lastProgress=e;var s=this.options.canvasPadding,n=this.options.canvasPadding,r=(this.isHorizontal()?t.width:t.height)*e+i*(this.disintegrating?100:220);this.isHorizontal()?s+="left"===this.o.direction?r:t.width-r:n+="top"===this.o.direction?r:t.height-r;var a=Math.floor(this.o.particlesAmountCoefficient*(100*i+1));if(0<a)for(;a--;)this.addParticle({x:s+(this.isHorizontal()?0:t.width*Math.random()),y:n+(this.isHorizontal()?t.height*Math.random():0)});this.isAnimating()||(this.renderer.setStyle(this.canvas,"display","block"),this.play())},t.prototype.addTransforms=function(t){var e=this.isHorizontal()?"translateX":"translateY",i="left"===this.o.direction||"top"===this.o.direction?t:-t;this.renderer.setStyle(this.wrapper,r,e+"("+i+"%)"),this.renderer.setStyle(this.el,r,e+"("+-i+"%)")},t.prototype.disintegrate=function(t){if(void 0===t&&(t={}),!this.isAnimating()){this.disintegrating=!0,this.lastProgress=0,this.setup(t);var i=this;this.animate(function(t){var e=t.animatables[0].target.value;i.addTransforms(e),i.o.duration&&i.addParticles(i.rect,e/100)})}},t.prototype.integrate=function(t){if(void 0===t&&(t={}),!this.isAnimating()){this.disintegrating=!1,this.lastProgress=1,this.setup(t);var i=this;this.animate(function(t){var e=t.animatables[0].target.value;setTimeout(function(){i.addTransforms(e)},i.o.duration),i.o.duration&&i.addParticles(i.rect,e/100)})}},t.prototype.setup=function(t){this.o=o({},this.options,t),this.renderer.setStyle(this.wrapper,"visibility","visible"),this.o.duration&&(this.rect=this.el.getBoundingClientRect(),this.width=this.canvas.width=this.o.width||this.rect.width+2*this.o.canvasPadding,this.height=this.canvas.height=this.o.height||this.rect.height+2*this.o.canvasPadding)},t.prototype.isDisintegrated=function(){return this.disintegrating},t.prototype.animate=function(t){var e=this,i=this;s({targets:{value:i.disintegrating?0:100},value:i.disintegrating?100:0,duration:i.o.duration,easing:i.o.easing,begin:i.o.begin,update:t,complete:function(){i.disintegrating&&e.renderer.setStyle(i.wrapper,"visibility","hidden")}})},t.prototype.isAnimating=function(){return!!this.frame},t.prototype.isHorizontal=function(){return"left"===this.o.direction||"right"===this.o.direction},t}(),h=function(){function t(t,e){this.renderer=t,this.el=e,this._pHidden=!1,this.pColor="#000",this.pDuration=1e3,this.pEasing="easeInOutCubic",this.pType="circle",this.pStyle="fill",this.pDirection="left",this.pCanvasPadding=150,this.pOscillationCoefficient=30,this.pParticlesAmountCoefficient=3,this.pBegin=new i.EventEmitter,this.pComplete=new i.EventEmitter,this.pSize=function(){return Math.floor(3*Math.random()+1)},this.pSpeed=function(){return a(4)}}return Object.defineProperty(t.prototype,"pHidden",{get:function(){return this._pHidden},set:function(t){this._pHidden=t,this._particles&&(t&&!this._particles.isDisintegrated()?this._particles.disintegrate(this.getFormattedOptions()):!t&&this._particles.isDisintegrated()&&this._particles.integrate(this.getFormattedOptions()))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._particles=new p(this.el.nativeElement,this.getFormattedOptions(),this.renderer),this._pHidden&&this._particles.disintegrate({duration:0})},t.prototype.getFormattedOptions=function(){var t=this;return{color:this.pColor,type:this.pType,style:this.pStyle,canvasPadding:this.pCanvasPadding,duration:this.pDuration,easing:this.pEasing,direction:this.pDirection,size:this.pSize,speed:this.pSpeed,particlesAmountCoefficient:this.pParticlesAmountCoefficient,oscillationCoefficient:this.pOscillationCoefficient,begin:function(){t.pBegin.emit()},complete:function(){t.pComplete.emit()}}},Object.defineProperty(t.prototype,"pOptions",{get:function(){return{pColor:this.pColor,pType:this.pType,pStyle:this.pStyle,pCanvasPadding:this.pCanvasPadding,pDuration:this.pDuration,pEasing:this.pEasing,pDirection:this.pDirection,pSize:this.pSize,pSpeed:this.pSpeed,pParticlesAmountCoefficient:this.pParticlesAmountCoefficient,pOscillationCoefficient:this.pOscillationCoefficient,pBegin:this.pBegin,pComplete:this.pComplete}},set:function(e){var i=this,s=this.pOptions;Object.keys(e).map(function(t){s[t]&&(i[t]=e[t])})},enumerable:!0,configurable:!0}),t.decorators=[{type:i.Directive,args:[{selector:"[libParticleEffectButton]"}]}],t.ctorParameters=function(){return[{type:i.Renderer2},{type:i.ElementRef}]},t.propDecorators={pColor:[{type:i.Input}],pDuration:[{type:i.Input}],pEasing:[{type:i.Input}],pType:[{type:i.Input}],pStyle:[{type:i.Input}],pDirection:[{type:i.Input}],pCanvasPadding:[{type:i.Input}],pOscillationCoefficient:[{type:i.Input}],pParticlesAmountCoefficient:[{type:i.Input}],pBegin:[{type:i.Output}],pComplete:[{type:i.Output}],pSize:[{type:i.Input}],pSpeed:[{type:i.Input}],pHidden:[{type:i.Input,args:["pHidden"]}]},t}(),l=function(){function t(){}return t.decorators=[{type:i.NgModule,args:[{declarations:[h],exports:[h]}]}],t}();t.ParticleEffectButtonDirective=h,t.ParticleEffectButtonModule=l,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("animejs")):"function"==typeof define&&define.amd?define("angular-particle-effect-button",["exports","@angular/core","animejs"],e):e((t=t||self)["angular-particle-effect-button"]={},t.ng.core,t.animejs)}(this,function(t,e,i){"use strict";i=i&&i.hasOwnProperty("default")?i.default:i;var s=function(){return(s=Object.assign||function(t){for(var e,i=1,s=arguments.length;i<s;i++)for(var n in e=arguments[i])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}).apply(this,arguments)};var n=function(t){return"function"==typeof t},r="transform",a=function(t,e){if(e in t.style)return getComputedStyle(t).getPropertyValue(e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase())||"0"}(document.body,r)?r:"-webkit-"+r,o=function(t){return Math.random()*t-t/2};var p=function(){function t(t,e,i){this.el=t,this.options=e,this.renderer=i,this.particles=[],this.frame=null,this.options=s({},e),this.init()}return t.prototype.init=function(){this.canvas=this.renderer.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.renderer.setStyle(this.canvas,"position","absolute"),this.renderer.setStyle(this.canvas,"pointerEvents","none"),this.renderer.setStyle(this.canvas,"top","50%"),this.renderer.setStyle(this.canvas,"left","50%"),this.renderer.setStyle(this.canvas,"transform","translate3d(-50%, -50%, 0)"),this.renderer.setStyle(this.canvas,"display","none"),this.wrapper=this.renderer.createElement("div"),this.renderer.setStyle(this.wrapper,"position","relative"),this.renderer.setStyle(this.wrapper,"display","inline-block"),this.renderer.setStyle(this.wrapper,"overflow","hidden"),this.renderer.insertBefore(this.el.parentNode,this.wrapper,this.el),this.renderer.appendChild(this.wrapper,this.el),this.parentWrapper=this.renderer.createElement("div"),this.renderer.setStyle(this.parentWrapper,"position","relative"),this.renderer.setStyle(this.parentWrapper,"display","inline-block"),this.renderer.insertBefore(this.wrapper.parentNode,this.parentWrapper,this.wrapper),this.renderer.appendChild(this.parentWrapper,this.wrapper),this.renderer.appendChild(this.parentWrapper,this.canvas)},t.prototype.setOptions=function(t){this.options=s({},this.options,t)},t.prototype.loop=function(){this.updateParticles(),this.renderParticles(),this.isAnimating()&&(this.frame=requestAnimationFrame(this.loop.bind(this)))},t.prototype.updateParticles=function(){for(var t,e=0;e<this.particles.length;e++)(t=this.particles[e]).life>t.death?this.particles.splice(e,1):(t.x+=t.speed,t.y=this.o.oscillationCoefficient*Math.sin(t.counter*t.increase),t.life++,t.counter+=this.disintegrating?1:-1);this.particles.length||(this.pause(),this.renderer.setStyle(this.canvas,"display","none"),n(this.o.complete)&&this.o.complete())},t.prototype.renderParticles=function(){var t;this.ctx.clearRect(0,0,this.width,this.height);for(var e=0;e<this.particles.length;e++)(t=this.particles[e]).life<t.death&&(this.ctx.translate(t.startX,t.startY),this.ctx.rotate(t.angle*Math.PI/180),this.ctx.globalAlpha=this.disintegrating?1-t.life/t.death:t.life/t.death,this.ctx.fillStyle=this.ctx.strokeStyle=this.o.color,this.ctx.beginPath(),"circle"===this.o.type?this.ctx.arc(t.x,t.y,t.size,0,2*Math.PI):"triangle"===this.o.type?(this.ctx.moveTo(t.x,t.y),this.ctx.lineTo(t.x+t.size,t.y+t.size),this.ctx.lineTo(t.x+t.size,t.y-t.size)):"rectangle"===this.o.type&&this.ctx.rect(t.x,t.y,t.size,t.size),"fill"===this.o.style?this.ctx.fill():"stroke"===this.o.style&&(this.ctx.closePath(),this.ctx.stroke()),this.ctx.globalAlpha=1,this.ctx.rotate(-t.angle*Math.PI/180),this.ctx.translate(-t.startX,-t.startY))},t.prototype.play=function(){this.frame=requestAnimationFrame(this.loop.bind(this))},t.prototype.pause=function(){cancelAnimationFrame(this.frame),this.frame=null},t.prototype.addParticle=function(t){var e=60*this.o.duration/1e3,i=n(this.o.speed)?this.o.speed():this.o.speed;this.particles.push({startX:t.x,startY:t.y,x:this.disintegrating?0:i*-e,y:0,angle:o(360),counter:this.disintegrating?0:e,increase:2*Math.PI/100,life:0,death:this.disintegrating?e-20+40*Math.random():e,speed:i,size:n(this.o.size)?this.o.size():this.o.size})},t.prototype.addParticles=function(t,e){var i=this.disintegrating?e-this.lastProgress:this.lastProgress-e;this.lastProgress=e;var s=this.options.canvasPadding,n=this.options.canvasPadding,r=(this.isHorizontal()?t.width:t.height)*e+i*(this.disintegrating?100:220);this.isHorizontal()?s+="left"===this.o.direction?r:t.width-r:n+="top"===this.o.direction?r:t.height-r;var a=Math.floor(this.o.particlesAmountCoefficient*(100*i+1));if(a>0)for(;a--;)this.addParticle({x:s+(this.isHorizontal()?0:t.width*Math.random()),y:n+(this.isHorizontal()?t.height*Math.random():0)});this.isAnimating()||(this.renderer.setStyle(this.canvas,"display","block"),this.play())},t.prototype.addTransforms=function(t){var e=this.isHorizontal()?"translateX":"translateY",i="left"===this.o.direction||"top"===this.o.direction?t:-t;this.renderer.setStyle(this.wrapper,a,e+"("+i+"%)"),this.renderer.setStyle(this.el,a,e+"("+-i+"%)")},t.prototype.disintegrate=function(t){if(void 0===t&&(t={}),!this.isAnimating()){this.disintegrating=!0,this.lastProgress=0,this.setup(t);var e=this;this.animate(function(t){var i=t.animatables[0].target.value;e.addTransforms(i),e.o.duration&&e.addParticles(e.rect,i/100)})}},t.prototype.integrate=function(t){if(void 0===t&&(t={}),!this.isAnimating()){this.disintegrating=!1,this.lastProgress=1,this.setup(t);var e=this;this.animate(function(t){var i=t.animatables[0].target.value;setTimeout(function(){e.addTransforms(i)},e.o.duration),e.o.duration&&e.addParticles(e.rect,i/100)})}},t.prototype.setup=function(t){this.o=s({},this.options,t),this.renderer.setStyle(this.wrapper,"visibility","visible"),this.o.duration&&(this.rect=this.el.getBoundingClientRect(),this.width=this.canvas.width=this.o.width||this.rect.width+2*this.o.canvasPadding,this.height=this.canvas.height=this.o.height||this.rect.height+2*this.o.canvasPadding)},t.prototype.isDisintegrated=function(){return this.disintegrating},t.prototype.animate=function(t){var e=this,s=this;i({targets:{value:s.disintegrating?0:100},value:s.disintegrating?100:0,duration:s.o.duration,easing:s.o.easing,begin:s.o.begin,update:t,complete:function(){s.disintegrating&&e.renderer.setStyle(s.wrapper,"visibility","hidden")}})},t.prototype.isAnimating=function(){return!!this.frame},t.prototype.isHorizontal=function(){return"left"===this.o.direction||"right"===this.o.direction},t}();var h=function(){function t(t,i){this.renderer=t,this.el=i,this._pHidden=!1,this.pColor="#000",this.pDuration=1e3,this.pEasing="easeInOutCubic",this.pType="circle",this.pStyle="fill",this.pDirection="left",this.pCanvasPadding=150,this.pOscillationCoefficient=30,this.pParticlesAmountCoefficient=3,this.pBegin=new e.EventEmitter,this.pComplete=new e.EventEmitter,this.pSize=function(){return Math.floor(3*Math.random()+1)},this.pSpeed=function(){return o(4)}}return Object.defineProperty(t.prototype,"pHidden",{get:function(){return this._pHidden},set:function(t){this._pHidden=t,this._particles&&(t&&!this._particles.isDisintegrated()?this._particles.disintegrate(this.getFormattedOptions()):!t&&this._particles.isDisintegrated()&&this._particles.integrate(this.getFormattedOptions()))},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){this._particles=new p(this.el.nativeElement,this.getFormattedOptions(),this.renderer),this._pHidden&&this._particles.disintegrate({duration:0})},t.prototype.getFormattedOptions=function(){var t=this;return{color:this.pColor,type:this.pType,style:this.pStyle,canvasPadding:this.pCanvasPadding,duration:this.pDuration,easing:this.pEasing,direction:this.pDirection,size:this.pSize,speed:this.pSpeed,particlesAmountCoefficient:this.pParticlesAmountCoefficient,oscillationCoefficient:this.pOscillationCoefficient,begin:function(){t.pBegin.emit()},complete:function(){t.pComplete.emit()}}},Object.defineProperty(t.prototype,"pOptions",{get:function(){return{pColor:this.pColor,pType:this.pType,pStyle:this.pStyle,pCanvasPadding:this.pCanvasPadding,pDuration:this.pDuration,pEasing:this.pEasing,pDirection:this.pDirection,pSize:this.pSize,pSpeed:this.pSpeed,pParticlesAmountCoefficient:this.pParticlesAmountCoefficient,pOscillationCoefficient:this.pOscillationCoefficient,pBegin:this.pBegin,pComplete:this.pComplete}},set:function(t){var e=this,i=this.pOptions;Object.keys(t).map(function(s){i[s]&&(e[s]=t[s])})},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Directive,args:[{selector:"[libParticleEffectButton]"}]}],t.ctorParameters=function(){return[{type:e.Renderer2},{type:e.ElementRef}]},t.propDecorators={pColor:[{type:e.Input}],pDuration:[{type:e.Input}],pEasing:[{type:e.Input}],pType:[{type:e.Input}],pStyle:[{type:e.Input}],pDirection:[{type:e.Input}],pCanvasPadding:[{type:e.Input}],pOscillationCoefficient:[{type:e.Input}],pParticlesAmountCoefficient:[{type:e.Input}],pBegin:[{type:e.Output}],pComplete:[{type:e.Output}],pSize:[{type:e.Input}],pSpeed:[{type:e.Input}],pHidden:[{type:e.Input,args:["pHidden"]}]},t}();var l=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[h],exports:[h]}]}],t}();t.ParticleEffectButtonDirective=h,t.ParticleEffectButtonModule=l,Object.defineProperty(t,"__esModule",{value:!0})}); | ||
//# sourceMappingURL=angular-particle-effect-button.umd.min.js.map |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /** |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -28,4 +28,10 @@ import { ElementRef, Input, Directive, EventEmitter, Output, Renderer2 } from '@angular/core'; | ||
this.pComplete = new EventEmitter(); | ||
this.pSize = () => Math.floor((Math.random() * 3) + 1); | ||
this.pSpeed = () => rand(4); | ||
this.pSize = (/** | ||
* @return {?} | ||
*/ | ||
() => Math.floor((Math.random() * 3) + 1)); | ||
this.pSpeed = (/** | ||
* @return {?} | ||
*/ | ||
() => rand(4)); | ||
} | ||
@@ -79,8 +85,14 @@ /** | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: () => { | ||
begin: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.pBegin.emit(); | ||
}, | ||
complete: () => { | ||
}), | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.pComplete.emit(); | ||
} | ||
}) | ||
}; | ||
@@ -115,7 +127,11 @@ } | ||
const allowedProps = this.pOptions; | ||
Object.keys(options).map(key => { | ||
Object.keys(options).map((/** | ||
* @param {?} key | ||
* @return {?} | ||
*/ | ||
key => { | ||
if (allowedProps[key]) { | ||
this[key] = options[key]; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -197,2 +213,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGFydGljbGUtZWZmZWN0LWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sYUFBYSxDQUFDO0FBS2pELE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0N4QyxZQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMzQixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsZ0NBQTJCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLFVBQUssR0FBMEIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVB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LENBQUM7SUFDSixDQUFDOzs7OztJQUNELElBQVcsUUFBUSxDQUFDLE9BQVk7O2NBQ3hCLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUTtRQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBRSxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxQjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7O1lBVkMsU0FBUztZQUxULFVBQVU7OztxQkFtQlQsS0FBSzt3QkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7NkJBQ0wsS0FBSztzQ0FDTCxLQUFLOzBDQUNMLEtBQUs7cUJBQ0wsTUFBTTt3QkFDTixNQUFNO29CQUNOLEtBQUs7cUJBQ0wsS0FBSztzQkFFTCxLQUFLLFNBQUMsU0FBUzs7Ozs7OztJQWhCaEIsbURBQThCOzs7OztJQUM5QixpREFBeUI7O0lBQ3pCLCtDQUF5Qjs7SUFDekIsa0RBQTBCOztJQUMxQixnREFBb0M7O0lBQ3BDLDhDQUEwQjs7SUFDMUIsK0NBQXlCOztJQUN6QixtREFBNkI7O0lBQzdCLHVEQUE4Qjs7SUFDOUIsZ0VBQXNDOztJQUN0QyxvRUFBeUM7O0lBQ3pDLCtDQUE0Qzs7SUFDNUMsa0RBQStDOztJQUMvQyw4Q0FBa0Y7O0lBQ2xGLCtDQUF1RDs7Ozs7SUFpQjNDLGlEQUEyQjs7Ozs7SUFBRSwyQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFBhcnRpY2xlcywgSU9wdGlvbiB9IGZyb20gJy4vcGFydGljbGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2xpYlBhcnRpY2xlRWZmZWN0QnV0dG9uXSdcbn0pXG5leHBvcnQgY2xhc3MgUGFydGljbGVFZmZlY3RCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSBfcGFydGljbGVzOiBQYXJ0aWNsZXM7XG4gIHByaXZhdGUgX3BIaWRkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcENvbG9yID0gJyMwMDAnO1xuICBASW5wdXQoKSBwRHVyYXRpb24gPSAxMDAwO1xuICBASW5wdXQoKSBwRWFzaW5nID0gJ2Vhc2VJbk91dEN1YmljJztcbiAgQElucHV0KCkgcFR5cGUgPSAnY2lyY2xlJztcbiAgQElucHV0KCkgcFN0eWxlID0gJ2ZpbGwnO1xuICBASW5wdXQoKSBwRGlyZWN0aW9uID0gJ2xlZnQnO1xuICBASW5wdXQoKSBwQ2FudmFzUGFkZGluZyA9IDE1MDtcbiAgQElucHV0KCkgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQgPSAzMDtcbiAgQElucHV0KCkgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ID0gMztcbiAgQE91dHB1dCgpIHBCZWdpbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHBDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcFNpemU6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAzKSArIDEpO1xuICBASW5wdXQoKSBwU3BlZWQ6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IHJhbmQoNCk7XG5cbiAgQElucHV0KCdwSGlkZGVuJylcbiAgc2V0IHBIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9wSGlkZGVuID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3BhcnRpY2xlcykge1xuICAgICAgaWYgKHZhbHVlICYmICF0aGlzLl9wYXJ0aWNsZXMuaXNEaXNpbnRlZ3JhdGVkKCkpIHtcbiAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUodGhpcy5nZXRGb3JtYXR0ZWRPcHRpb25zKCkpO1xuICAgICAgfSBlbHNlIGlmICghdmFsdWUgJiYgdGhpcy5fcGFydGljbGVzLmlzRGlzaW50ZWdyYXRlZCgpKSB7XG4gICAgICAgICB0aGlzLl9wYXJ0aWNsZXMuaW50ZWdyYXRlKHRoaXMuZ2V0Rm9ybWF0dGVkT3B0aW9ucygpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IHBIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BIaWRkZW47XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3BhcnRpY2xlcyA9IG5ldyBQYXJ0aWNsZXMoXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmdldEZvcm1hdHRlZE9wdGlvbnMoKSxcbiAgICAgIHRoaXMucmVuZGVyZXJcbiAgICApO1xuXG4gICAgICBpZiAodGhpcy5fcEhpZGRlbikge1xuICAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUoe2R1cmF0aW9uOiAwfSk7XG4gICAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRPcHRpb25zKCk6IElPcHRpb24ge1xuICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdGhpcy5wQ29sb3IsXG4gICAgICAgIHR5cGU6IHRoaXMucFR5cGUsXG4gICAgICAgIHN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgY2FudmFzUGFkZGluZzogdGhpcy5wQ2FudmFzUGFkZGluZyxcbiAgICAgICAgZHVyYXRpb246IHRoaXMucER1cmF0aW9uLFxuICAgICAgICBlYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnBEaXJlY3Rpb24sXG4gICAgICAgIHNpemU6IHRoaXMucFNpemUsXG4gICAgICAgIHNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ6IHRoaXMucFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50LFxuICAgICAgICBvc2NpbGxhdGlvbkNvZWZmaWNpZW50OiB0aGlzLnBPc2NpbGxhdGlvbkNvZWZmaWNpZW50LFxuICAgICAgICBiZWdpbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucEJlZ2luLmVtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnBDb21wbGV0ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgcE9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwQ29sb3I6IHRoaXMucENvbG9yLFxuICAgICAgICBwVHlwZTogdGhpcy5wVHlwZSxcbiAgICAgICAgcFN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgcENhbnZhc1BhZGRpbmc6IHRoaXMucENhbnZhc1BhZGRpbmcsXG4gICAgICAgIHBEdXJhdGlvbjogdGhpcy5wRHVyYXRpb24sXG4gICAgICAgIHBFYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgcERpcmVjdGlvbjogdGhpcy5wRGlyZWN0aW9uLFxuICAgICAgICBwU2l6ZTogdGhpcy5wU2l6ZSxcbiAgICAgICAgcFNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50OiB0aGlzLnBQYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCxcbiAgICAgICAgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQ6IHRoaXMucE9zY2lsbGF0aW9uQ29lZmZpY2llbnQsXG4gICAgICAgIHBCZWdpbjogdGhpcy5wQmVnaW4sXG4gICAgICAgIHBDb21wbGV0ZTogdGhpcy5wQ29tcGxldGVcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzZXQgcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgY29uc3QgYWxsb3dlZFByb3BzID0gdGhpcy5wT3B0aW9ucztcbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5tYXAoIGtleSA9PiB7XG4gICAgICBpZiAoYWxsb3dlZFByb3BzW2tleV0pIHtcbiAgICAgICAgdGhpc1trZXldID0gb3B0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGFydGljbGUtZWZmZWN0LWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sYUFBYSxDQUFDO0FBS2pELE1BQU0sT0FBTyw2QkFBNkI7Ozs7O0lBZ0N4QyxZQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMzQixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsZ0NBQTJCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLFVBQUs7OztRQUEwQixHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0s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QUksQ0FBQyxTQUFTO1NBQzVCLENBQUM7SUFDSixDQUFDOzs7OztJQUNELElBQVcsUUFBUSxDQUFDLE9BQVk7O2NBQ3hCLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUTtRQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUc7Ozs7UUFBRSxHQUFHLENBQUMsRUFBRTtZQUM5QixJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMxQjtRQUNILENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBN0ZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsMkJBQTJCO2FBQ3RDOzs7O1lBVkMsU0FBUztZQUxULFVBQVU7OztxQkFtQlQsS0FBSzt3QkFDTCxLQUFLO3NCQUNMLEtBQUs7b0JBQ0wsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7NkJBQ0wsS0FBSztzQ0FDTCxLQUFLOzBDQUNMLEtBQUs7cUJBQ0wsTUFBTTt3QkFDTixNQUFNO29CQUNOLEtBQUs7cUJBQ0wsS0FBSztzQkFFTCxLQUFLLFNBQUMsU0FBUzs7Ozs7OztJQWhCaEIsbURBQThCOzs7OztJQUM5QixpREFBeUI7O0lBQ3pCLCtDQUF5Qjs7SUFDekIsa0RBQTBCOztJQUMxQixnREFBb0M7O0lBQ3BDLDhDQUEwQjs7SUFDMUIsK0NBQXlCOztJQUN6QixtREFBNkI7O0lBQzdCLHVEQUE4Qjs7SUFDOUIsZ0VBQXNDOztJQUN0QyxvRUFBeUM7O0lBQ3pDLCtDQUE0Qzs7SUFDNUMsa0RBQStDOztJQUMvQyw4Q0FBa0Y7O0lBQ2xGLCtDQUF1RDs7Ozs7SUFpQjNDLGlEQUEyQjs7Ozs7SUFBRSwyQ0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFBhcnRpY2xlcywgSU9wdGlvbiB9IGZyb20gJy4vcGFydGljbGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2xpYlBhcnRpY2xlRWZmZWN0QnV0dG9uXSdcbn0pXG5leHBvcnQgY2xhc3MgUGFydGljbGVFZmZlY3RCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSBfcGFydGljbGVzOiBQYXJ0aWNsZXM7XG4gIHByaXZhdGUgX3BIaWRkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcENvbG9yID0gJyMwMDAnO1xuICBASW5wdXQoKSBwRHVyYXRpb24gPSAxMDAwO1xuICBASW5wdXQoKSBwRWFzaW5nID0gJ2Vhc2VJbk91dEN1YmljJztcbiAgQElucHV0KCkgcFR5cGUgPSAnY2lyY2xlJztcbiAgQElucHV0KCkgcFN0eWxlID0gJ2ZpbGwnO1xuICBASW5wdXQoKSBwRGlyZWN0aW9uID0gJ2xlZnQnO1xuICBASW5wdXQoKSBwQ2FudmFzUGFkZGluZyA9IDE1MDtcbiAgQElucHV0KCkgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQgPSAzMDtcbiAgQElucHV0KCkgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ID0gMztcbiAgQE91dHB1dCgpIHBCZWdpbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHBDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcFNpemU6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAzKSArIDEpO1xuICBASW5wdXQoKSBwU3BlZWQ6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IHJhbmQoNCk7XG5cbiAgQElucHV0KCdwSGlkZGVuJylcbiAgc2V0IHBIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9wSGlkZGVuID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3BhcnRpY2xlcykge1xuICAgICAgaWYgKHZhbHVlICYmICF0aGlzLl9wYXJ0aWNsZXMuaXNEaXNpbnRlZ3JhdGVkKCkpIHtcbiAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUodGhpcy5nZXRGb3JtYXR0ZWRPcHRpb25zKCkpO1xuICAgICAgfSBlbHNlIGlmICghdmFsdWUgJiYgdGhpcy5fcGFydGljbGVzLmlzRGlzaW50ZWdyYXRlZCgpKSB7XG4gICAgICAgICB0aGlzLl9wYXJ0aWNsZXMuaW50ZWdyYXRlKHRoaXMuZ2V0Rm9ybWF0dGVkT3B0aW9ucygpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IHBIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BIaWRkZW47XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3BhcnRpY2xlcyA9IG5ldyBQYXJ0aWNsZXMoXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmdldEZvcm1hdHRlZE9wdGlvbnMoKSxcbiAgICAgIHRoaXMucmVuZGVyZXJcbiAgICApO1xuXG4gICAgICBpZiAodGhpcy5fcEhpZGRlbikge1xuICAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUoe2R1cmF0aW9uOiAwfSk7XG4gICAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRPcHRpb25zKCk6IElPcHRpb24ge1xuICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdGhpcy5wQ29sb3IsXG4gICAgICAgIHR5cGU6IHRoaXMucFR5cGUsXG4gICAgICAgIHN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgY2FudmFzUGFkZGluZzogdGhpcy5wQ2FudmFzUGFkZGluZyxcbiAgICAgICAgZHVyYXRpb246IHRoaXMucER1cmF0aW9uLFxuICAgICAgICBlYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnBEaXJlY3Rpb24sXG4gICAgICAgIHNpemU6IHRoaXMucFNpemUsXG4gICAgICAgIHNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ6IHRoaXMucFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50LFxuICAgICAgICBvc2NpbGxhdGlvbkNvZWZmaWNpZW50OiB0aGlzLnBPc2NpbGxhdGlvbkNvZWZmaWNpZW50LFxuICAgICAgICBiZWdpbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucEJlZ2luLmVtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnBDb21wbGV0ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgcE9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwQ29sb3I6IHRoaXMucENvbG9yLFxuICAgICAgICBwVHlwZTogdGhpcy5wVHlwZSxcbiAgICAgICAgcFN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgcENhbnZhc1BhZGRpbmc6IHRoaXMucENhbnZhc1BhZGRpbmcsXG4gICAgICAgIHBEdXJhdGlvbjogdGhpcy5wRHVyYXRpb24sXG4gICAgICAgIHBFYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgcERpcmVjdGlvbjogdGhpcy5wRGlyZWN0aW9uLFxuICAgICAgICBwU2l6ZTogdGhpcy5wU2l6ZSxcbiAgICAgICAgcFNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50OiB0aGlzLnBQYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCxcbiAgICAgICAgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQ6IHRoaXMucE9zY2lsbGF0aW9uQ29lZmZpY2llbnQsXG4gICAgICAgIHBCZWdpbjogdGhpcy5wQmVnaW4sXG4gICAgICAgIHBDb21wbGV0ZTogdGhpcy5wQ29tcGxldGVcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzZXQgcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgY29uc3QgYWxsb3dlZFByb3BzID0gdGhpcy5wT3B0aW9ucztcbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5tYXAoIGtleSA9PiB7XG4gICAgICBpZiAoYWxsb3dlZFByb3BzW2tleV0pIHtcbiAgICAgICAgdGhpc1trZXldID0gb3B0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ import { NgModule } from '@angular/core'; |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -275,3 +275,7 @@ import anime from 'animejs'; // tslint:disable-line | ||
const _ = this; | ||
this.animate(anim => { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
anim => { | ||
/** @type {?} */ | ||
@@ -283,3 +287,3 @@ const value = anim.animatables[0].target.value; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -298,12 +302,19 @@ } | ||
const _ = this; | ||
this.animate(anim => { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
anim => { | ||
/** @type {?} */ | ||
const value = anim.animatables[0].target.value; | ||
setTimeout(() => { | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
_.addTransforms(value); | ||
}, _.o.duration); | ||
}), _.o.duration); | ||
if (_.o.duration) { | ||
_.addParticles(_.rect, value / 100); | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -346,7 +357,10 @@ } | ||
update: update, | ||
complete: () => { | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
if (_.disintegrating) { | ||
this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
} | ||
}) | ||
}); | ||
@@ -408,2 +422,2 @@ } | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFDLENBQUMsc0JBQXNCO0FBR25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFnQyxlQUFlLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7QUFFOUYsNkJBZ0JDOzs7SUFmQyx3QkFBZTs7SUFDZix1QkFBYzs7SUFDZCx3QkFBZTs7SUFDZixnQ0FBdUI7O0lBQ3ZCLDJCQUFrQjs7SUFDbEIseUJBQWdDOztJQUNoQyw0QkFBbUI7O0lBQ25CLHVCQUE2Qjs7SUFDN0Isd0JBQThCOztJQUM5Qiw2Q0FBb0M7O0lBQ3BDLHlDQUFnQzs7SUFDaEMsd0JBQW1COztJQUNuQix3QkFBZTs7SUFDZix5QkFBZ0I7O0lBQ2hCLDJCQUFzQjs7QUFHeEIsTUFBTSxPQUFPLFNBQVM7Ozs7OztJQWFwQixZQUNVLEVBQU8sRUFDUCxPQUFnQixFQUNoQixRQUFtQjtRQUZuQixPQUFFLEdBQUYsRUFBRSxDQUFLO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZjdCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBZ0JYLElBQUksQ0FBQyxPQUFPLHFCQUFRLE9BQU8sQ0FBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxJQUFJO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFF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QUs7WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQzNEO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFDRCxXQUFXO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDOzs7O0lBQ0QsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE9BQU8sQ0FBQztJQUNyRSxDQUFDO0NBQ0Y7OztJQWpRQyw4QkFBZTs7SUFDZiwwQkFBYTs7SUFDYiwyQkFBMEI7O0lBQzFCLHdCQUE4Qjs7SUFDOUIsNEJBQXdCOztJQUN4QixrQ0FBOEI7O0lBQzlCLHNCQUFXOztJQUNYLG1DQUF3Qjs7SUFDeEIsMEJBQWM7O0lBQ2QsMkJBQWU7O0lBQ2YsaUNBQXFCOztJQUNyQix5QkFBd0I7Ozs7O0lBRXRCLHVCQUFlOzs7OztJQUNmLDRCQUF3Qjs7Ozs7SUFDeEIsNkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFuaW1lIGZyb20gJ2FuaW1lanMnOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG5cbmltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmFuZCwgaXMsIHN0cmluZ1RvSHlwaGVucywgZ2V0Q1NTVmFsdWUsIHRyYW5zZm9ybVN0cmluZywgZ2V0RWxlbWVudCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElPcHRpb24ge1xuICBjb2xvcj86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgc3R5bGU/OiBzdHJpbmc7XG4gIGNhbnZhc1BhZGRpbmc/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBlYXNpbmc/OiBBcnJheTxudW1iZXI+IHwgc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG4gIHNpemU/OiAoKSA9PiBudW1iZXIgfCBudW1iZXI7XG4gIHNwZWVkPzogKCkgPT4gbnVtYmVyIHwgbnVtYmVyO1xuICBwYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudD86IG51bWJlcjtcbiAgb3NjaWxsYXRpb25Db2VmZmljaWVudD86IG51bWJlcjtcbiAgYmVnaW4/OiAoKSA9PiB2b2lkO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBjb21wbGV0ZT86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQYXJ0aWNsZXMge1xuICBwYXJ0aWNsZXMgPSBbXTtcbiAgZnJhbWUgPSBudWxsO1xuICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xuICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgd3JhcHBlcjogSFRNTERpdkVsZW1lbnQ7XG4gIHBhcmVudFdyYXBwZXI6IEhUTUxEaXZFbGVtZW50O1xuICBvOiBJT3B0aW9uO1xuICBkaXNpbnRlZ3JhdGluZzogYm9vbGVhbjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxhc3RQcm9ncmVzczogbnVtYmVyO1xuICByZWN0OiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogYW55LFxuICAgIHByaXZhdGUgb3B0aW9uczogSU9wdGlvbixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5vcHRpb25zIH07XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgdGhpcy5jYW52YXMgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIHRoaXMuY3R4ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAncG9pbnRlckV2ZW50cycsICdub25lJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3RvcCcsICc1MCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnbGVmdCcsICc1MCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgIHRoaXMud3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAnZGlzcGxheScsICdpbmxpbmUtYmxvY2snKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuZWwucGFyZW50Tm9kZSwgdGhpcy53cmFwcGVyLCB0aGlzLmVsKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMud3JhcHBlciwgdGhpcy5lbCk7XG4gICAgdGhpcy5wYXJlbnRXcmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMucGFyZW50V3JhcHBlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBhcmVudFdyYXBwZXIsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgdGhpcy53cmFwcGVyLnBhcmVudE5vZGUsXG4gICAgICB0aGlzLnBhcmVudFdyYXBwZXIsXG4gICAgICB0aGlzLndyYXBwZXJcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5wYXJlbnRXcmFwcGVyLCB0aGlzLndyYXBwZXIpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5wYXJlbnRXcmFwcGVyLCB0aGlzLmNhbnZhcyk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICB9XG4gIGxvb3AoKSB7XG4gICAgdGhpcy51cGRhdGVQYXJ0aWNsZXMoKTtcbiAgICB0aGlzLnJlbmRlclBhcnRpY2xlcygpO1xuICAgIGlmICh0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5sb29wLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuICB1cGRhdGVQYXJ0aWNsZXMoKSB7XG4gICAgbGV0IHA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgcCA9IHRoaXMucGFydGljbGVzW2ldO1xuICAgICAgaWYgKHAubGlmZSA+IHAuZGVhdGgpIHtcbiAgICAgICAgdGhpcy5wYXJ0aWNsZXMuc3BsaWNlKGksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcC54ICs9IHAuc3BlZWQ7XG4gICAgICAgIHAueSA9IHRoaXMuby5vc2NpbGxhdGlvbkNvZWZmaWNpZW50ICogTWF0aC5zaW4ocC5jb3VudGVyICogcC5pbmNyZWFzZSk7XG4gICAgICAgIHAubGlmZSsrO1xuICAgICAgICBwLmNvdW50ZXIgKz0gdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDEgOiAtMTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0aGlzLnBhcnRpY2xlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGF1c2UoKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgIGlmIChpcy5mbmModGhpcy5vLmNvbXBsZXRlKSkge1xuICAgICAgICB0aGlzLm8uY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVuZGVyUGFydGljbGVzKCkge1xuICAgIHRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7XG4gICAgbGV0IHA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgcCA9IHRoaXMucGFydGljbGVzW2ldO1xuICAgICAgaWYgKHAubGlmZSA8IHAuZGVhdGgpIHtcbiAgICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKHAuc3RhcnRYLCBwLnN0YXJ0WSk7XG4gICAgICAgIHRoaXMuY3R4LnJvdGF0ZShwLmFuZ2xlICogTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHRoaXMuY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5kaXNpbnRlZ3JhdGluZ1xuICAgICAgICAgID8gMSAtIHAubGlmZSAvIHAuZGVhdGhcbiAgICAgICAgICA6IHAubGlmZSAvIHAuZGVhdGg7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY3R4LnN0cm9rZVN0eWxlID0gdGhpcy5vLmNvbG9yO1xuICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTtcblxuICAgICAgICBpZiAodGhpcy5vLnR5cGUgPT09ICdjaXJjbGUnKSB7XG4gICAgICAgICAgdGhpcy5jdHguYXJjKHAueCwgcC55LCBwLnNpemUsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8udHlwZSA9PT0gJ3RyaWFuZ2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4Lm1vdmVUbyhwLngsIHAueSk7XG4gICAgICAgICAgdGhpcy5jdHgubGluZVRvKHAueCArIHAuc2l6ZSwgcC55ICsgcC5zaXplKTtcbiAgICAgICAgICB0aGlzLmN0eC5saW5lVG8ocC54ICsgcC5zaXplLCBwLnkgLSBwLnNpemUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuby50eXBlID09PSAncmVjdGFuZ2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4LnJlY3QocC54LCBwLnksIHAuc2l6ZSwgcC5zaXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm8uc3R5bGUgPT09ICdmaWxsJykge1xuICAgICAgICAgIHRoaXMuY3R4LmZpbGwoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8uc3R5bGUgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN0eC5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4LnJvdGF0ZSgtcC5hbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgICAgICB0aGlzLmN0eC50cmFuc2xhdGUoLXAuc3RhcnRYLCAtcC5zdGFydFkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwbGF5KCkge1xuICAgIHRoaXMuZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5sb29wLmJpbmQodGhpcykpO1xuICB9XG4gIHBhdXNlKCkge1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuZnJhbWUpO1xuICAgIHRoaXMuZnJhbWUgPSBudWxsO1xuICB9XG4gIGFkZFBhcnRpY2xlKG9wdGlvbnMpIHtcbiAgICBjb25zdCBmcmFtZXMgPSB0aGlzLm8uZHVyYXRpb24gKiA2MCAvIDEwMDA7XG4gICAgY29uc3Qgc3BlZWQ6IG51bWJlciA9IChpcy5mbmModGhpcy5vLnNwZWVkKVxuICAgICAgPyB0aGlzLm8uc3BlZWQoKVxuICAgICAgOiB0aGlzLm8uc3BlZWQpIGFzIG51bWJlcjtcbiAgICB0aGlzLnBhcnRpY2xlcy5wdXNoKHtcbiAgICAgIHN0YXJ0WDogb3B0aW9ucy54LFxuICAgICAgc3RhcnRZOiBvcHRpb25zLnksXG4gICAgICB4OiB0aGlzLmRpc2ludGVncmF0aW5nID8gMCA6IHNwZWVkICogLWZyYW1lcyxcbiAgICAgIHk6IDAsXG4gICAgICBhbmdsZTogcmFuZCgzNjApLFxuICAgICAgY291bnRlcjogdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDAgOiBmcmFtZXMsXG4gICAgICBpbmNyZWFzZTogTWF0aC5QSSAqIDIgLyAxMDAsXG4gICAgICBsaWZlOiAwLFxuICAgICAgZGVhdGg6IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyBmcmFtZXMgLSAyMCArIE1hdGgucmFuZG9tKCkgKiA0MCA6IGZyYW1lcyxcbiAgICAgIHNwZWVkOiBzcGVlZCxcbiAgICAgIHNpemU6IGlzLmZuYyh0aGlzLm8uc2l6ZSkgPyB0aGlzLm8uc2l6ZSgpIDogdGhpcy5vLnNpemVcbiAgICB9KTtcbiAgfVxuICBhZGRQYXJ0aWNsZXMocmVjdDogYW55LCBwcm9ncmVzcykge1xuICAgIGNvbnN0IHByb2dyZXNzRGlmZiA9IHRoaXMuZGlzaW50ZWdyYXRpbmdcbiAgICAgID8gcHJvZ3Jlc3MgLSB0aGlzLmxhc3RQcm9ncmVzc1xuICAgICAgOiB0aGlzLmxhc3RQcm9ncmVzcyAtIHByb2dyZXNzO1xuICAgIHRoaXMubGFzdFByb2dyZXNzID0gcHJvZ3Jlc3M7XG4gICAgbGV0IHggPSB0aGlzLm9wdGlvbnMuY2FudmFzUGFkZGluZztcbiAgICBsZXQgeSA9IHRoaXMub3B0aW9ucy5jYW52YXNQYWRkaW5nO1xuICAgIGNvbnN0IHByb2dyZXNzVmFsdWUgPVxuICAgICAgKHRoaXMuaXNIb3Jpem9udGFsKCkgPyByZWN0LndpZHRoIDogcmVjdC5oZWlnaHQpICogcHJvZ3Jlc3MgK1xuICAgICAgcHJvZ3Jlc3NEaWZmICogKHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAxMDAgOiAyMjApO1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICB4ICs9XG4gICAgICAgIHRoaXMuby5kaXJlY3Rpb24gPT09ICdsZWZ0J1xuICAgICAgICAgID8gcHJvZ3Jlc3NWYWx1ZVxuICAgICAgICAgIDogcmVjdC53aWR0aCAtIHByb2dyZXNzVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHkgKz1cbiAgICAgICAgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3RvcCdcbiAgICAgICAgICA/IHByb2dyZXNzVmFsdWVcbiAgICAgICAgICA6IHJlY3QuaGVpZ2h0IC0gcHJvZ3Jlc3NWYWx1ZTtcbiAgICB9XG4gICAgbGV0IGkgPSBNYXRoLmZsb29yKFxuICAgICAgdGhpcy5vLnBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ICogKHByb2dyZXNzRGlmZiAqIDEwMCArIDEpXG4gICAgKTtcbiAgICBpZiAoaSA+IDApIHtcbiAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgdGhpcy5hZGRQYXJ0aWNsZSh7XG4gICAgICAgICAgeDogeCArICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gMCA6IHJlY3Qud2lkdGggKiBNYXRoLnJhbmRvbSgpKSxcbiAgICAgICAgICB5OiB5ICsgKHRoaXMuaXNIb3Jpem9udGFsKCkgPyByZWN0LmhlaWdodCAqIE1hdGgucmFuZG9tKCkgOiAwKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICB0aGlzLnBsYXkoKTtcbiAgICB9XG4gIH1cbiAgYWRkVHJhbnNmb3Jtcyh2YWx1ZSkge1xuICAgIGNvbnN0IHRyYW5zbGF0ZVByb3BlcnR5ID0gdGhpcy5pc0hvcml6b250YWwoKSA/ICd0cmFuc2xhdGVYJyA6ICd0cmFuc2xhdGVZJztcbiAgICBjb25zdCB0cmFuc2xhdGVWYWx1ZSA9XG4gICAgICB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3RvcCdcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IC12YWx1ZTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgdHJhbnNmb3JtU3RyaW5nLCBgJHt0cmFuc2xhdGVQcm9wZXJ0eX0oJHt0cmFuc2xhdGVWYWx1ZX0lKWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbCwgdHJhbnNmb3JtU3RyaW5nLCBgJHt0cmFuc2xhdGVQcm9wZXJ0eX0oJHstdHJhbnNsYXRlVmFsdWV9JSlgKTtcbiAgfVxuICBkaXNpbnRlZ3JhdGUob3B0aW9uczogSU9wdGlvbiA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZGlzaW50ZWdyYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0UHJvZ3Jlc3MgPSAwO1xuICAgICAgdGhpcy5zZXR1cChvcHRpb25zKTtcbiAgICAgIGNvbnN0IF8gPSB0aGlzO1xuICAgICAgdGhpcy5hbmltYXRlKGFuaW0gPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFuaW0uYW5pbWF0YWJsZXNbMF0udGFyZ2V0LnZhbHVlO1xuICAgICAgICBfLmFkZFRyYW5zZm9ybXModmFsdWUpO1xuICAgICAgICBpZiAoXy5vLmR1cmF0aW9uKSB7XG4gICAgICAgICAgXy5hZGRQYXJ0aWNsZXMoXy5yZWN0LCB2YWx1ZSAvIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpbnRlZ3JhdGUob3B0aW9uczogSU9wdGlvbiA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZGlzaW50ZWdyYXRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMubGFzdFByb2dyZXNzID0gMTtcbiAgICAgIHRoaXMuc2V0dXAob3B0aW9ucyk7XG4gICAgICBjb25zdCBfID0gdGhpcztcbiAgICAgIHRoaXMuYW5pbWF0ZShhbmltID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhbmltLmFuaW1hdGFibGVzWzBdLnRhcmdldC52YWx1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgXy5hZGRUcmFuc2Zvcm1zKHZhbHVlKTtcbiAgICAgICAgfSwgXy5vLmR1cmF0aW9uKTtcbiAgICAgICAgaWYgKF8uby5kdXJhdGlvbikge1xuICAgICAgICAgIF8uYWRkUGFydGljbGVzKF8ucmVjdCwgdmFsdWUgLyAxMDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgc2V0dXAob3B0aW9ucykge1xuICAgIHRoaXMubyA9IHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTtcbiAgICBpZiAodGhpcy5vLmR1cmF0aW9uKSB7XG4gICAgICB0aGlzLnJlY3QgPSB0aGlzLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy53aWR0aCA9IHRoaXMuY2FudmFzLndpZHRoID1cbiAgICAgICAgdGhpcy5vLndpZHRoIHx8IHRoaXMucmVjdC53aWR0aCArIHRoaXMuby5jYW52YXNQYWRkaW5nICogMjtcbiAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy5jYW52YXMuaGVpZ2h0ID1cbiAgICAgICAgdGhpcy5vLmhlaWdodCB8fCB0aGlzLnJlY3QuaGVpZ2h0ICsgdGhpcy5vLmNhbnZhc1BhZGRpbmcgKiAyO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2ludGVncmF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzaW50ZWdyYXRpbmc7XG4gIH1cbiAgYW5pbWF0ZSh1cGRhdGUpIHtcbiAgICBjb25zdCBfID0gdGhpcztcbiAgICBhbmltZSh7XG4gICAgICB0YXJnZXRzOiB7IHZhbHVlOiBfLmRpc2ludGVncmF0aW5nID8gMCA6IDEwMCB9LFxuICAgICAgdmFsdWU6IF8uZGlzaW50ZWdyYXRpbmcgPyAxMDAgOiAwLFxuICAgICAgZHVyYXRpb246IF8uby5kdXJhdGlvbixcbiAgICAgIGVhc2luZzogXy5vLmVhc2luZyxcbiAgICAgIGJlZ2luOiBfLm8uYmVnaW4sXG4gICAgICB1cGRhdGU6IHVwZGF0ZSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIGlmIChfLmRpc2ludGVncmF0aW5nKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShfLndyYXBwZXIsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgaXNBbmltYXRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5mcmFtZTtcbiAgfVxuICBpc0hvcml6b250YWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuby5kaXJlY3Rpb24gPT09ICdsZWZ0JyB8fCB0aGlzLm8uZGlyZWN0aW9uID09PSAncmlnaHQnO1xuICB9XG59XG5cblxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sU0FBUyxDQUFDLENBQUMsc0JBQXNCO0FBR25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFnQyxlQUFlLEVBQWMsTUFBTSxTQUFTLENBQUM7Ozs7QUFFOUYsNkJBZ0JDOzs7SUFmQyx3QkFBZTs7SUFDZix1QkFBYzs7SUFDZCx3QkFBZTs7SUFDZixnQ0FBdUI7O0lBQ3ZCLDJCQUFrQjs7SUFDbEIseUJBQWdDOztJQUNoQyw0QkFBbUI7O0lBQ25CLHVCQUE2Qjs7SUFDN0Isd0JBQThCOztJQUM5Qiw2Q0FBb0M7O0lBQ3BDLHlDQUFnQzs7SUFDaEMsd0JBQW1COztJQUNuQix3QkFBZTs7SUFDZix5QkFBZ0I7O0lBQ2hCLDJCQUFzQjs7QUFHeEIsTUFBTSxPQUFPLFNBQVM7Ozs7OztJQWFwQixZQUNVLEVBQU8sRUFDUCxPQUFnQixFQUNoQixRQUFtQjtRQUZuQixPQUFFLEdBQUYsRUFBRSxDQUFLO1FBQ1AsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNoQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBZjdCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixVQUFLLEdBQUcsSUFBSSxDQUFDO1FBZ0JYLElBQUksQ0FBQyxPQUFPLHFCQUFRLE9BQU8sQ0FBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxJQUFJO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFF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QyxDQUFDLEtBQUs7WUFDaEIsTUFBTSxFQUFFLE1BQU07WUFDZCxRQUFROzs7WUFBRSxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFO29CQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDM0Q7WUFDSCxDQUFDLENBQUE7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBQ0QsV0FBVztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQzs7OztJQUNELFlBQVk7UUFDVixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDckUsQ0FBQztDQUNGOzs7SUFqUUMsOEJBQWU7O0lBQ2YsMEJBQWE7O0lBQ2IsMkJBQTBCOztJQUMxQix3QkFBOEI7O0lBQzlCLDRCQUF3Qjs7SUFDeEIsa0NBQThCOztJQUM5QixzQkFBVzs7SUFDWCxtQ0FBd0I7O0lBQ3hCLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLGlDQUFxQjs7SUFDckIseUJBQXdCOzs7OztJQUV0Qix1QkFBZTs7Ozs7SUFDZiw0QkFBd0I7Ozs7O0lBQ3hCLDZCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhbmltZSBmcm9tICdhbmltZWpzJzsgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQsIGlzLCBzdHJpbmdUb0h5cGhlbnMsIGdldENTU1ZhbHVlLCB0cmFuc2Zvcm1TdHJpbmcsIGdldEVsZW1lbnQgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9uIHtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHN0eWxlPzogc3RyaW5nO1xuICBjYW52YXNQYWRkaW5nPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZWFzaW5nPzogQXJyYXk8bnVtYmVyPiB8IHN0cmluZztcbiAgZGlyZWN0aW9uPzogc3RyaW5nO1xuICBzaXplPzogKCkgPT4gbnVtYmVyIHwgbnVtYmVyO1xuICBzcGVlZD86ICgpID0+IG51bWJlciB8IG51bWJlcjtcbiAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ/OiBudW1iZXI7XG4gIG9zY2lsbGF0aW9uQ29lZmZpY2llbnQ/OiBudW1iZXI7XG4gIGJlZ2luPzogKCkgPT4gdm9pZDtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgY29tcGxldGU/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUGFydGljbGVzIHtcbiAgcGFydGljbGVzID0gW107XG4gIGZyYW1lID0gbnVsbDtcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIHdyYXBwZXI6IEhUTUxEaXZFbGVtZW50O1xuICBwYXJlbnRXcmFwcGVyOiBIVE1MRGl2RWxlbWVudDtcbiAgbzogSU9wdGlvbjtcbiAgZGlzaW50ZWdyYXRpbmc6IGJvb2xlYW47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBsYXN0UHJvZ3Jlc3M6IG51bWJlcjtcbiAgcmVjdDogSFRNTENhbnZhc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IGFueSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IElPcHRpb24sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgaW5pdCgpOiB2b2lkIHtcbiAgIHRoaXMuY2FudmFzID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICB0aGlzLmN0eCA9IHRoaXMuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3BvaW50ZXJFdmVudHMnLCAnbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICd0b3AnLCAnNTAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ2xlZnQnLCAnNTAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICB0aGlzLndyYXBwZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgJ2Rpc3BsYXknLCAnaW5saW5lLWJsb2NrJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsLnBhcmVudE5vZGUsIHRoaXMud3JhcHBlciwgdGhpcy5lbCk7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIsIHRoaXMuZWwpO1xuICAgIHRoaXMucGFyZW50V3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBhcmVudFdyYXBwZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wYXJlbnRXcmFwcGVyLCAnZGlzcGxheScsICdpbmxpbmUtYmxvY2snKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgIHRoaXMud3JhcHBlci5wYXJlbnROb2RlLFxuICAgICAgdGhpcy5wYXJlbnRXcmFwcGVyLFxuICAgICAgdGhpcy53cmFwcGVyXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMucGFyZW50V3JhcHBlciwgdGhpcy53cmFwcGVyKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMucGFyZW50V3JhcHBlciwgdGhpcy5jYW52YXMpO1xuICB9XG5cbiAgc2V0T3B0aW9ucyhvcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgfVxuICBsb29wKCkge1xuICAgIHRoaXMudXBkYXRlUGFydGljbGVzKCk7XG4gICAgdGhpcy5yZW5kZXJQYXJ0aWNsZXMoKTtcbiAgICBpZiAodGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMubG9vcC5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cbiAgdXBkYXRlUGFydGljbGVzKCkge1xuICAgIGxldCBwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHAgPSB0aGlzLnBhcnRpY2xlc1tpXTtcbiAgICAgIGlmIChwLmxpZmUgPiBwLmRlYXRoKSB7XG4gICAgICAgIHRoaXMucGFydGljbGVzLnNwbGljZShpLCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHAueCArPSBwLnNwZWVkO1xuICAgICAgICBwLnkgPSB0aGlzLm8ub3NjaWxsYXRpb25Db2VmZmljaWVudCAqIE1hdGguc2luKHAuY291bnRlciAqIHAuaW5jcmVhc2UpO1xuICAgICAgICBwLmxpZmUrKztcbiAgICAgICAgcC5jb3VudGVyICs9IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAxIDogLTE7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5wYXJ0aWNsZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBhdXNlKCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICBpZiAoaXMuZm5jKHRoaXMuby5jb21wbGV0ZSkpIHtcbiAgICAgICAgdGhpcy5vLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJlbmRlclBhcnRpY2xlcygpIHtcbiAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xuICAgIGxldCBwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHAgPSB0aGlzLnBhcnRpY2xlc1tpXTtcbiAgICAgIGlmIChwLmxpZmUgPCBwLmRlYXRoKSB7XG4gICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZShwLnN0YXJ0WCwgcC5zdGFydFkpO1xuICAgICAgICB0aGlzLmN0eC5yb3RhdGUocC5hbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgICAgICB0aGlzLmN0eC5nbG9iYWxBbHBoYSA9IHRoaXMuZGlzaW50ZWdyYXRpbmdcbiAgICAgICAgICA/IDEgLSBwLmxpZmUgLyBwLmRlYXRoXG4gICAgICAgICAgOiBwLmxpZmUgLyBwLmRlYXRoO1xuICAgICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IHRoaXMuby5jb2xvcjtcbiAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuby50eXBlID09PSAnY2lyY2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4LmFyYyhwLngsIHAueSwgcC5zaXplLCAwLCAyICogTWF0aC5QSSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vLnR5cGUgPT09ICd0cmlhbmdsZScpIHtcbiAgICAgICAgICB0aGlzLmN0eC5tb3ZlVG8ocC54LCBwLnkpO1xuICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhwLnggKyBwLnNpemUsIHAueSArIHAuc2l6ZSk7XG4gICAgICAgICAgdGhpcy5jdHgubGluZVRvKHAueCArIHAuc2l6ZSwgcC55IC0gcC5zaXplKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8udHlwZSA9PT0gJ3JlY3RhbmdsZScpIHtcbiAgICAgICAgICB0aGlzLmN0eC5yZWN0KHAueCwgcC55LCBwLnNpemUsIHAuc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vLnN0eWxlID09PSAnZmlsbCcpIHtcbiAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vLnN0eWxlID09PSAnc3Ryb2tlJykge1xuICAgICAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgICAgIHRoaXMuY3R4LnN0cm9rZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eC5yb3RhdGUoLXAuYW5nbGUgKiBNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKC1wLnN0YXJ0WCwgLXAuc3RhcnRZKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcGxheSgpIHtcbiAgICB0aGlzLmZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMubG9vcC5iaW5kKHRoaXMpKTtcbiAgfVxuICBwYXVzZSgpIHtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmZyYW1lKTtcbiAgICB0aGlzLmZyYW1lID0gbnVsbDtcbiAgfVxuICBhZGRQYXJ0aWNsZShvcHRpb25zKSB7XG4gICAgY29uc3QgZnJhbWVzID0gdGhpcy5vLmR1cmF0aW9uICogNjAgLyAxMDAwO1xuICAgIGNvbnN0IHNwZWVkOiBudW1iZXIgPSAoaXMuZm5jKHRoaXMuby5zcGVlZClcbiAgICAgID8gdGhpcy5vLnNwZWVkKClcbiAgICAgIDogdGhpcy5vLnNwZWVkKSBhcyBudW1iZXI7XG4gICAgdGhpcy5wYXJ0aWNsZXMucHVzaCh7XG4gICAgICBzdGFydFg6IG9wdGlvbnMueCxcbiAgICAgIHN0YXJ0WTogb3B0aW9ucy55LFxuICAgICAgeDogdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDAgOiBzcGVlZCAqIC1mcmFtZXMsXG4gICAgICB5OiAwLFxuICAgICAgYW5nbGU6IHJhbmQoMzYwKSxcbiAgICAgIGNvdW50ZXI6IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAwIDogZnJhbWVzLFxuICAgICAgaW5jcmVhc2U6IE1hdGguUEkgKiAyIC8gMTAwLFxuICAgICAgbGlmZTogMCxcbiAgICAgIGRlYXRoOiB0aGlzLmRpc2ludGVncmF0aW5nID8gZnJhbWVzIC0gMjAgKyBNYXRoLnJhbmRvbSgpICogNDAgOiBmcmFtZXMsXG4gICAgICBzcGVlZDogc3BlZWQsXG4gICAgICBzaXplOiBpcy5mbmModGhpcy5vLnNpemUpID8gdGhpcy5vLnNpemUoKSA6IHRoaXMuby5zaXplXG4gICAgfSk7XG4gIH1cbiAgYWRkUGFydGljbGVzKHJlY3Q6IGFueSwgcHJvZ3Jlc3MpIHtcbiAgICBjb25zdCBwcm9ncmVzc0RpZmYgPSB0aGlzLmRpc2ludGVncmF0aW5nXG4gICAgICA/IHByb2dyZXNzIC0gdGhpcy5sYXN0UHJvZ3Jlc3NcbiAgICAgIDogdGhpcy5sYXN0UHJvZ3Jlc3MgLSBwcm9ncmVzcztcbiAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgIGxldCB4ID0gdGhpcy5vcHRpb25zLmNhbnZhc1BhZGRpbmc7XG4gICAgbGV0IHkgPSB0aGlzLm9wdGlvbnMuY2FudmFzUGFkZGluZztcbiAgICBjb25zdCBwcm9ncmVzc1ZhbHVlID1cbiAgICAgICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gcmVjdC53aWR0aCA6IHJlY3QuaGVpZ2h0KSAqIHByb2dyZXNzICtcbiAgICAgIHByb2dyZXNzRGlmZiAqICh0aGlzLmRpc2ludGVncmF0aW5nID8gMTAwIDogMjIwKTtcbiAgICBpZiAodGhpcy5pc0hvcml6b250YWwoKSkge1xuICAgICAgeCArPVxuICAgICAgICB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCdcbiAgICAgICAgICA/IHByb2dyZXNzVmFsdWVcbiAgICAgICAgICA6IHJlY3Qud2lkdGggLSBwcm9ncmVzc1ZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB5ICs9XG4gICAgICAgIHRoaXMuby5kaXJlY3Rpb24gPT09ICd0b3AnXG4gICAgICAgICAgPyBwcm9ncmVzc1ZhbHVlXG4gICAgICAgICAgOiByZWN0LmhlaWdodCAtIHByb2dyZXNzVmFsdWU7XG4gICAgfVxuICAgIGxldCBpID0gTWF0aC5mbG9vcihcbiAgICAgIHRoaXMuby5wYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCAqIChwcm9ncmVzc0RpZmYgKiAxMDAgKyAxKVxuICAgICk7XG4gICAgaWYgKGkgPiAwKSB7XG4gICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIHRoaXMuYWRkUGFydGljbGUoe1xuICAgICAgICAgIHg6IHggKyAodGhpcy5pc0hvcml6b250YWwoKSA/IDAgOiByZWN0LndpZHRoICogTWF0aC5yYW5kb20oKSksXG4gICAgICAgICAgeTogeSArICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gcmVjdC5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpIDogMClcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnZGlzcGxheScsICdibG9jaycpO1xuICAgICAgdGhpcy5wbGF5KCk7XG4gICAgfVxuICB9XG4gIGFkZFRyYW5zZm9ybXModmFsdWUpIHtcbiAgICBjb25zdCB0cmFuc2xhdGVQcm9wZXJ0eSA9IHRoaXMuaXNIb3Jpem9udGFsKCkgPyAndHJhbnNsYXRlWCcgOiAndHJhbnNsYXRlWSc7XG4gICAgY29uc3QgdHJhbnNsYXRlVmFsdWUgPVxuICAgICAgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IHRoaXMuby5kaXJlY3Rpb24gPT09ICd0b3AnXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiAtdmFsdWU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsIHRyYW5zZm9ybVN0cmluZywgYCR7dHJhbnNsYXRlUHJvcGVydHl9KCR7dHJhbnNsYXRlVmFsdWV9JSlgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwsIHRyYW5zZm9ybVN0cmluZywgYCR7dHJhbnNsYXRlUHJvcGVydHl9KCR7LXRyYW5zbGF0ZVZhbHVlfSUpYCk7XG4gIH1cbiAgZGlzaW50ZWdyYXRlKG9wdGlvbnM6IElPcHRpb24gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmRpc2ludGVncmF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMubGFzdFByb2dyZXNzID0gMDtcbiAgICAgIHRoaXMuc2V0dXAob3B0aW9ucyk7XG4gICAgICBjb25zdCBfID0gdGhpcztcbiAgICAgIHRoaXMuYW5pbWF0ZShhbmltID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhbmltLmFuaW1hdGFibGVzWzBdLnRhcmdldC52YWx1ZTtcbiAgICAgICAgXy5hZGRUcmFuc2Zvcm1zKHZhbHVlKTtcbiAgICAgICAgaWYgKF8uby5kdXJhdGlvbikge1xuICAgICAgICAgIF8uYWRkUGFydGljbGVzKF8ucmVjdCwgdmFsdWUgLyAxMDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgaW50ZWdyYXRlKG9wdGlvbnM6IElPcHRpb24gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmRpc2ludGVncmF0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IDE7XG4gICAgICB0aGlzLnNldHVwKG9wdGlvbnMpO1xuICAgICAgY29uc3QgXyA9IHRoaXM7XG4gICAgICB0aGlzLmFuaW1hdGUoYW5pbSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gYW5pbS5hbmltYXRhYmxlc1swXS50YXJnZXQudmFsdWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIF8uYWRkVHJhbnNmb3Jtcyh2YWx1ZSk7XG4gICAgICAgIH0sIF8uby5kdXJhdGlvbik7XG4gICAgICAgIGlmIChfLm8uZHVyYXRpb24pIHtcbiAgICAgICAgICBfLmFkZFBhcnRpY2xlcyhfLnJlY3QsIHZhbHVlIC8gMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHNldHVwKG9wdGlvbnMpIHtcbiAgICB0aGlzLm8gPSB7IC4uLnRoaXMub3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgaWYgKHRoaXMuby5kdXJhdGlvbikge1xuICAgICAgdGhpcy5yZWN0ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLmNhbnZhcy53aWR0aCA9XG4gICAgICAgIHRoaXMuby53aWR0aCB8fCB0aGlzLnJlY3Qud2lkdGggKyB0aGlzLm8uY2FudmFzUGFkZGluZyAqIDI7XG4gICAgICB0aGlzLmhlaWdodCA9IHRoaXMuY2FudmFzLmhlaWdodCA9XG4gICAgICAgIHRoaXMuby5oZWlnaHQgfHwgdGhpcy5yZWN0LmhlaWdodCArIHRoaXMuby5jYW52YXNQYWRkaW5nICogMjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEaXNpbnRlZ3JhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2ludGVncmF0aW5nO1xuICB9XG4gIGFuaW1hdGUodXBkYXRlKSB7XG4gICAgY29uc3QgXyA9IHRoaXM7XG4gICAgYW5pbWUoe1xuICAgICAgdGFyZ2V0czogeyB2YWx1ZTogXy5kaXNpbnRlZ3JhdGluZyA/IDAgOiAxMDAgfSxcbiAgICAgIHZhbHVlOiBfLmRpc2ludGVncmF0aW5nID8gMTAwIDogMCxcbiAgICAgIGR1cmF0aW9uOiBfLm8uZHVyYXRpb24sXG4gICAgICBlYXNpbmc6IF8uby5lYXNpbmcsXG4gICAgICBiZWdpbjogXy5vLmJlZ2luLFxuICAgICAgdXBkYXRlOiB1cGRhdGUsXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICBpZiAoXy5kaXNpbnRlZ3JhdGluZykge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXy53cmFwcGVyLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGlzQW5pbWF0aW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMuZnJhbWU7XG4gIH1cbiAgaXNIb3Jpem9udGFsKCkge1xuICAgIHJldHVybiB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0JztcbiAgfVxufVxuXG5cbiJdfQ== |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
const ɵ0 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => Array.isArray(a), ɵ1 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => typeof a === 'string', ɵ2 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => typeof a === 'function'; | ||
/** @type {?} */ | ||
export const is = { | ||
arr: a => Array.isArray(a), | ||
str: a => typeof a === 'string', | ||
fnc: a => typeof a === 'function' | ||
arr: (ɵ0), | ||
str: (ɵ1), | ||
fnc: (ɵ2) | ||
}; | ||
/** @type {?} */ | ||
export const stringToHyphens = str => { | ||
export const stringToHyphens = (/** | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
str => { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}; | ||
}); | ||
/** @type {?} */ | ||
export const getCSSValue = (el, prop) => { | ||
export const getCSSValue = (/** | ||
* @param {?} el | ||
* @param {?} prop | ||
* @return {?} | ||
*/ | ||
(el, prop) => { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}; | ||
}); | ||
/** @type {?} */ | ||
@@ -26,9 +48,18 @@ export const t = 'transform'; | ||
/** @type {?} */ | ||
export const rand = value => { | ||
export const rand = (/** | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
value => { | ||
return Math.random() * value - value / 2; | ||
}; | ||
}); | ||
/** @type {?} */ | ||
export const getElement = element => { | ||
export const getElement = (/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
element => { | ||
return is.str(element) ? document.querySelector(element) : element; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24vIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLE9BQU8sRUFBRSxHQUFHO0lBQ2hCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzFCLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVE7SUFDL0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssVUFBVTtDQUNsQzs7QUFFRCxNQUFNLE9BQU8sZUFBZSxHQUFHLEdBQUcsQ0FBQyxFQUFFO0lBQ25DLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUMvRCxDQUFDOztBQUVELE1BQU0sT0FBTyxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUU7SUFDdEMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRTtRQUNwQixPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztLQUM1RTtBQUNILENBQUM7O0FBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxXQUFXOztBQUM1QixNQUFNLE9BQU8sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDOztBQUVqRixNQUFNLE9BQU8sSUFBSSxHQUFHLEtBQUssQ0FBQyxFQUFFO0lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLENBQUM7O0FBRUQsTUFBTSxPQUFPLFVBQVUsR0FBRyxPQUFPLENBQUMsRUFBRTtJQUNsQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUNyRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGlzID0ge1xuICBhcnI6IGEgPT4gQXJyYXkuaXNBcnJheShhKSxcbiAgc3RyOiBhID0+IHR5cGVvZiBhID09PSAnc3RyaW5nJyxcbiAgZm5jOiBhID0+IHR5cGVvZiBhID09PSAnZnVuY3Rpb24nXG59O1xuXG5leHBvcnQgY29uc3Qgc3RyaW5nVG9IeXBoZW5zID0gc3RyID0+IHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCAnJDEtJDInKS50b0xvd2VyQ2FzZSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENTU1ZhbHVlID0gKGVsLCBwcm9wKSA9PiB7XG4gIGlmIChwcm9wIGluIGVsLnN0eWxlKSB7XG4gICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoc3RyaW5nVG9IeXBoZW5zKHByb3ApKSB8fCAnMCc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0ID0gJ3RyYW5zZm9ybSc7XG5leHBvcnQgY29uc3QgdHJhbnNmb3JtU3RyaW5nID0gZ2V0Q1NTVmFsdWUoZG9jdW1lbnQuYm9keSwgdCkgPyB0IDogJy13ZWJraXQtJyArIHQ7XG5cbmV4cG9ydCBjb25zdCByYW5kID0gdmFsdWUgPT4ge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKSAqIHZhbHVlIC0gdmFsdWUgLyAyO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnQgPSBlbGVtZW50ID0+IHtcbiAgcmV0dXJuIGlzLnN0cihlbGVtZW50KSA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWxlbWVudCkgOiBlbGVtZW50O1xufTtcbiJdfQ== | ||
}); | ||
export { ɵ0, ɵ1, ɵ2 }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24vIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDTyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzs7O0FBQ3JCLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTs7OztBQUMxQixDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFVBQVU7O0FBSG5DLE1BQU0sT0FBTyxFQUFFLEdBQUc7SUFDaEIsR0FBRyxNQUF1QjtJQUMxQixHQUFHLE1BQTRCO0lBQy9CLEdBQUcsTUFBOEI7Q0FDbEM7O0FBRUQsTUFBTSxPQUFPLGVBQWU7Ozs7QUFBRyxHQUFHLENBQUMsRUFBRTtJQUNuQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDL0QsQ0FBQyxDQUFBOztBQUVELE1BQU0sT0FBTyxXQUFXOzs7OztBQUFHLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3RDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7UUFDcEIsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7S0FDNUU7QUFDSCxDQUFDLENBQUE7O0FBRUQsTUFBTSxPQUFPLENBQUMsR0FBRyxXQUFXOztBQUM1QixNQUFNLE9BQU8sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDOztBQUVqRixNQUFNLE9BQU8sSUFBSTs7OztBQUFHLEtBQUssQ0FBQyxFQUFFO0lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQTs7QUFFRCxNQUFNLE9BQU8sVUFBVTs7OztBQUFHLE9BQU8sQ0FBQyxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3JFLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpcyA9IHtcbiAgYXJyOiBhID0+IEFycmF5LmlzQXJyYXkoYSksXG4gIHN0cjogYSA9PiB0eXBlb2YgYSA9PT0gJ3N0cmluZycsXG4gIGZuYzogYSA9PiB0eXBlb2YgYSA9PT0gJ2Z1bmN0aW9uJ1xufTtcblxuZXhwb3J0IGNvbnN0IHN0cmluZ1RvSHlwaGVucyA9IHN0ciA9PiB7XG4gIHJldHVybiBzdHIucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywgJyQxLSQyJykudG9Mb3dlckNhc2UoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDU1NWYWx1ZSA9IChlbCwgcHJvcCkgPT4ge1xuICBpZiAocHJvcCBpbiBlbC5zdHlsZSkge1xuICAgIHJldHVybiBnZXRDb21wdXRlZFN0eWxlKGVsKS5nZXRQcm9wZXJ0eVZhbHVlKHN0cmluZ1RvSHlwaGVucyhwcm9wKSkgfHwgJzAnO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdCA9ICd0cmFuc2Zvcm0nO1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVN0cmluZyA9IGdldENTU1ZhbHVlKGRvY3VtZW50LmJvZHksIHQpID8gdCA6ICctd2Via2l0LScgKyB0O1xuXG5leHBvcnQgY29uc3QgcmFuZCA9IHZhbHVlID0+IHtcbiAgcmV0dXJuIE1hdGgucmFuZG9tKCkgKiB2YWx1ZSAtIHZhbHVlIC8gMjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50ID0gZWxlbWVudCA9PiB7XG4gIHJldHVybiBpcy5zdHIoZWxlbWVudCkgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpIDogZWxlbWVudDtcbn07XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /* |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /** |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -24,4 +24,10 @@ import { ElementRef, Input, Directive, EventEmitter, Output, Renderer2 } from '@angular/core'; | ||
this.pComplete = new EventEmitter(); | ||
this.pSize = function () { return Math.floor((Math.random() * 3) + 1); }; | ||
this.pSpeed = function () { return rand(4); }; | ||
this.pSize = (/** | ||
* @return {?} | ||
*/ | ||
function () { return Math.floor((Math.random() * 3) + 1); }); | ||
this.pSpeed = (/** | ||
* @return {?} | ||
*/ | ||
function () { return rand(4); }); | ||
} | ||
@@ -87,8 +93,14 @@ Object.defineProperty(ParticleEffectButtonDirective.prototype, "pHidden", { | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: function () { | ||
begin: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pBegin.emit(); | ||
}, | ||
complete: function () { | ||
}), | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pComplete.emit(); | ||
} | ||
}) | ||
}; | ||
@@ -125,7 +137,11 @@ }; | ||
var allowedProps = this.pOptions; | ||
Object.keys(options).map(function (key) { | ||
Object.keys(options).map((/** | ||
* @param {?} key | ||
* @return {?} | ||
*/ | ||
function (key) { | ||
if (allowedProps[key]) { | ||
_this[key] = options[key]; | ||
} | ||
}); | ||
})); | ||
}, | ||
@@ -212,2 +228,2 @@ enumerable: true, | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGFydGljbGUtZWZmZWN0LWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sYUFBYSxDQUFDO0FBRWpEO0lBbUNFLHVDQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMzQixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsZ0NBQTJCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLFVBQUssR0FBMEIsY0FBTSxPQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FB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ZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFBhcnRpY2xlcywgSU9wdGlvbiB9IGZyb20gJy4vcGFydGljbGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2xpYlBhcnRpY2xlRWZmZWN0QnV0dG9uXSdcbn0pXG5leHBvcnQgY2xhc3MgUGFydGljbGVFZmZlY3RCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSBfcGFydGljbGVzOiBQYXJ0aWNsZXM7XG4gIHByaXZhdGUgX3BIaWRkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcENvbG9yID0gJyMwMDAnO1xuICBASW5wdXQoKSBwRHVyYXRpb24gPSAxMDAwO1xuICBASW5wdXQoKSBwRWFzaW5nID0gJ2Vhc2VJbk91dEN1YmljJztcbiAgQElucHV0KCkgcFR5cGUgPSAnY2lyY2xlJztcbiAgQElucHV0KCkgcFN0eWxlID0gJ2ZpbGwnO1xuICBASW5wdXQoKSBwRGlyZWN0aW9uID0gJ2xlZnQnO1xuICBASW5wdXQoKSBwQ2FudmFzUGFkZGluZyA9IDE1MDtcbiAgQElucHV0KCkgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQgPSAzMDtcbiAgQElucHV0KCkgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ID0gMztcbiAgQE91dHB1dCgpIHBCZWdpbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHBDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcFNpemU6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAzKSArIDEpO1xuICBASW5wdXQoKSBwU3BlZWQ6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IHJhbmQoNCk7XG5cbiAgQElucHV0KCdwSGlkZGVuJylcbiAgc2V0IHBIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9wSGlkZGVuID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3BhcnRpY2xlcykge1xuICAgICAgaWYgKHZhbHVlICYmICF0aGlzLl9wYXJ0aWNsZXMuaXNEaXNpbnRlZ3JhdGVkKCkpIHtcbiAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUodGhpcy5nZXRGb3JtYXR0ZWRPcHRpb25zKCkpO1xuICAgICAgfSBlbHNlIGlmICghdmFsdWUgJiYgdGhpcy5fcGFydGljbGVzLmlzRGlzaW50ZWdyYXRlZCgpKSB7XG4gICAgICAgICB0aGlzLl9wYXJ0aWNsZXMuaW50ZWdyYXRlKHRoaXMuZ2V0Rm9ybWF0dGVkT3B0aW9ucygpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IHBIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BIaWRkZW47XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3BhcnRpY2xlcyA9IG5ldyBQYXJ0aWNsZXMoXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmdldEZvcm1hdHRlZE9wdGlvbnMoKSxcbiAgICAgIHRoaXMucmVuZGVyZXJcbiAgICApO1xuXG4gICAgICBpZiAodGhpcy5fcEhpZGRlbikge1xuICAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUoe2R1cmF0aW9uOiAwfSk7XG4gICAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRPcHRpb25zKCk6IElPcHRpb24ge1xuICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdGhpcy5wQ29sb3IsXG4gICAgICAgIHR5cGU6IHRoaXMucFR5cGUsXG4gICAgICAgIHN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgY2FudmFzUGFkZGluZzogdGhpcy5wQ2FudmFzUGFkZGluZyxcbiAgICAgICAgZHVyYXRpb246IHRoaXMucER1cmF0aW9uLFxuICAgICAgICBlYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnBEaXJlY3Rpb24sXG4gICAgICAgIHNpemU6IHRoaXMucFNpemUsXG4gICAgICAgIHNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ6IHRoaXMucFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50LFxuICAgICAgICBvc2NpbGxhdGlvbkNvZWZmaWNpZW50OiB0aGlzLnBPc2NpbGxhdGlvbkNvZWZmaWNpZW50LFxuICAgICAgICBiZWdpbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucEJlZ2luLmVtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnBDb21wbGV0ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgcE9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwQ29sb3I6IHRoaXMucENvbG9yLFxuICAgICAgICBwVHlwZTogdGhpcy5wVHlwZSxcbiAgICAgICAgcFN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgcENhbnZhc1BhZGRpbmc6IHRoaXMucENhbnZhc1BhZGRpbmcsXG4gICAgICAgIHBEdXJhdGlvbjogdGhpcy5wRHVyYXRpb24sXG4gICAgICAgIHBFYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgcERpcmVjdGlvbjogdGhpcy5wRGlyZWN0aW9uLFxuICAgICAgICBwU2l6ZTogdGhpcy5wU2l6ZSxcbiAgICAgICAgcFNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50OiB0aGlzLnBQYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCxcbiAgICAgICAgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQ6IHRoaXMucE9zY2lsbGF0aW9uQ29lZmZpY2llbnQsXG4gICAgICAgIHBCZWdpbjogdGhpcy5wQmVnaW4sXG4gICAgICAgIHBDb21wbGV0ZTogdGhpcy5wQ29tcGxldGVcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzZXQgcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgY29uc3QgYWxsb3dlZFByb3BzID0gdGhpcy5wT3B0aW9ucztcbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5tYXAoIGtleSA9PiB7XG4gICAgICBpZiAoYWxsb3dlZFByb3BzW2tleV0pIHtcbiAgICAgICAgdGhpc1trZXldID0gb3B0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItcGFydGljbGUtZWZmZWN0LWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixTQUFTLEVBSVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFXLE1BQU0sYUFBYSxDQUFDO0FBRWpEO0lBbUNFLHVDQUFvQixRQUFtQixFQUFVLEVBQWM7UUFBM0MsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7UUE5QnZELGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLFlBQU8sR0FBRyxnQkFBZ0IsQ0FBQztRQUMzQixVQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUNwQixtQkFBYyxHQUFHLEdBQUcsQ0FBQztRQUNyQiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IsZ0NBQTJCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2xDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3RDLFVBQUs7OztRQUEwQixjQUFNLE9BQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxD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UmVmLFxuICBJbnB1dCxcbiAgRGlyZWN0aXZlLFxuICBFdmVudEVtaXR0ZXIsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFBhcnRpY2xlcywgSU9wdGlvbiB9IGZyb20gJy4vcGFydGljbGVzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2xpYlBhcnRpY2xlRWZmZWN0QnV0dG9uXSdcbn0pXG5leHBvcnQgY2xhc3MgUGFydGljbGVFZmZlY3RCdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgcHJpdmF0ZSBfcGFydGljbGVzOiBQYXJ0aWNsZXM7XG4gIHByaXZhdGUgX3BIaWRkZW4gPSBmYWxzZTtcbiAgQElucHV0KCkgcENvbG9yID0gJyMwMDAnO1xuICBASW5wdXQoKSBwRHVyYXRpb24gPSAxMDAwO1xuICBASW5wdXQoKSBwRWFzaW5nID0gJ2Vhc2VJbk91dEN1YmljJztcbiAgQElucHV0KCkgcFR5cGUgPSAnY2lyY2xlJztcbiAgQElucHV0KCkgcFN0eWxlID0gJ2ZpbGwnO1xuICBASW5wdXQoKSBwRGlyZWN0aW9uID0gJ2xlZnQnO1xuICBASW5wdXQoKSBwQ2FudmFzUGFkZGluZyA9IDE1MDtcbiAgQElucHV0KCkgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQgPSAzMDtcbiAgQElucHV0KCkgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ID0gMztcbiAgQE91dHB1dCgpIHBCZWdpbiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHBDb21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgcFNpemU6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAzKSArIDEpO1xuICBASW5wdXQoKSBwU3BlZWQ6ICgpID0+IG51bWJlciB8IG51bWJlciA9ICgpID0+IHJhbmQoNCk7XG5cbiAgQElucHV0KCdwSGlkZGVuJylcbiAgc2V0IHBIaWRkZW4odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9wSGlkZGVuID0gdmFsdWU7XG4gICAgaWYgKHRoaXMuX3BhcnRpY2xlcykge1xuICAgICAgaWYgKHZhbHVlICYmICF0aGlzLl9wYXJ0aWNsZXMuaXNEaXNpbnRlZ3JhdGVkKCkpIHtcbiAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUodGhpcy5nZXRGb3JtYXR0ZWRPcHRpb25zKCkpO1xuICAgICAgfSBlbHNlIGlmICghdmFsdWUgJiYgdGhpcy5fcGFydGljbGVzLmlzRGlzaW50ZWdyYXRlZCgpKSB7XG4gICAgICAgICB0aGlzLl9wYXJ0aWNsZXMuaW50ZWdyYXRlKHRoaXMuZ2V0Rm9ybWF0dGVkT3B0aW9ucygpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IHBIaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3BIaWRkZW47XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuX3BhcnRpY2xlcyA9IG5ldyBQYXJ0aWNsZXMoXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsXG4gICAgICB0aGlzLmdldEZvcm1hdHRlZE9wdGlvbnMoKSxcbiAgICAgIHRoaXMucmVuZGVyZXJcbiAgICApO1xuXG4gICAgICBpZiAodGhpcy5fcEhpZGRlbikge1xuICAgICAgICAgIHRoaXMuX3BhcnRpY2xlcy5kaXNpbnRlZ3JhdGUoe2R1cmF0aW9uOiAwfSk7XG4gICAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXRGb3JtYXR0ZWRPcHRpb25zKCk6IElPcHRpb24ge1xuICAgICByZXR1cm4ge1xuICAgICAgICBjb2xvcjogdGhpcy5wQ29sb3IsXG4gICAgICAgIHR5cGU6IHRoaXMucFR5cGUsXG4gICAgICAgIHN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgY2FudmFzUGFkZGluZzogdGhpcy5wQ2FudmFzUGFkZGluZyxcbiAgICAgICAgZHVyYXRpb246IHRoaXMucER1cmF0aW9uLFxuICAgICAgICBlYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnBEaXJlY3Rpb24sXG4gICAgICAgIHNpemU6IHRoaXMucFNpemUsXG4gICAgICAgIHNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ6IHRoaXMucFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50LFxuICAgICAgICBvc2NpbGxhdGlvbkNvZWZmaWNpZW50OiB0aGlzLnBPc2NpbGxhdGlvbkNvZWZmaWNpZW50LFxuICAgICAgICBiZWdpbjogKCkgPT4ge1xuICAgICAgICAgIHRoaXMucEJlZ2luLmVtaXQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICB0aGlzLnBDb21wbGV0ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9O1xuICB9XG4gIHB1YmxpYyBnZXQgcE9wdGlvbnMoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgICBwQ29sb3I6IHRoaXMucENvbG9yLFxuICAgICAgICBwVHlwZTogdGhpcy5wVHlwZSxcbiAgICAgICAgcFN0eWxlOiB0aGlzLnBTdHlsZSxcbiAgICAgICAgcENhbnZhc1BhZGRpbmc6IHRoaXMucENhbnZhc1BhZGRpbmcsXG4gICAgICAgIHBEdXJhdGlvbjogdGhpcy5wRHVyYXRpb24sXG4gICAgICAgIHBFYXNpbmc6IHRoaXMucEVhc2luZyxcbiAgICAgICAgcERpcmVjdGlvbjogdGhpcy5wRGlyZWN0aW9uLFxuICAgICAgICBwU2l6ZTogdGhpcy5wU2l6ZSxcbiAgICAgICAgcFNwZWVkOiB0aGlzLnBTcGVlZCxcbiAgICAgICAgcFBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50OiB0aGlzLnBQYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCxcbiAgICAgICAgcE9zY2lsbGF0aW9uQ29lZmZpY2llbnQ6IHRoaXMucE9zY2lsbGF0aW9uQ29lZmZpY2llbnQsXG4gICAgICAgIHBCZWdpbjogdGhpcy5wQmVnaW4sXG4gICAgICAgIHBDb21wbGV0ZTogdGhpcy5wQ29tcGxldGVcbiAgICB9O1xuICB9XG4gIHB1YmxpYyBzZXQgcE9wdGlvbnMob3B0aW9uczogYW55KSB7XG4gICAgY29uc3QgYWxsb3dlZFByb3BzID0gdGhpcy5wT3B0aW9ucztcbiAgICBPYmplY3Qua2V5cyhvcHRpb25zKS5tYXAoIGtleSA9PiB7XG4gICAgICBpZiAoYWxsb3dlZFByb3BzW2tleV0pIHtcbiAgICAgICAgdGhpc1trZXldID0gb3B0aW9uc1trZXldO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0= |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ import { NgModule } from '@angular/core'; |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -311,3 +311,7 @@ import * as tslib_1 from "tslib"; | ||
var _1 = this; | ||
this.animate(function (anim) { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
@@ -319,3 +323,3 @@ var value = anim.animatables[0].target.value; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -339,12 +343,19 @@ }; | ||
var _2 = this; | ||
this.animate(function (anim) { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
var value = anim.animatables[0].target.value; | ||
setTimeout(function () { | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_2.addTransforms(value); | ||
}, _2.o.duration); | ||
}), _2.o.duration); | ||
if (_2.o.duration) { | ||
_2.addParticles(_2.rect, value / 100); | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -399,7 +410,10 @@ }; | ||
update: update, | ||
complete: function () { | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (_.disintegrating) { | ||
_this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
} | ||
}) | ||
}); | ||
@@ -469,2 +483,2 @@ }; | ||
} | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQjtBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBZ0MsZUFBZSxFQUFjLE1BQU0sU0FBUyxDQUFDOzs7O0FBRTlGLDZCQWdCQzs7O0lBZkMsd0JBQWU7O0lBQ2YsdUJBQWM7O0lBQ2Qsd0JBQWU7O0lBQ2YsZ0NBQXVCOztJQUN2QiwyQkFBa0I7O0lBQ2xCLHlCQUFnQzs7SUFDaEMsNEJBQW1COztJQUNuQix1QkFBNkI7O0lBQzdCLHdCQUE4Qjs7SUFDOUIsNkNBQW9DOztJQUNwQyx5Q0FBZ0M7O0lBQ2hDLHdCQUFtQjs7SUFDbkIsd0JBQWU7O0lBQ2YseUJBQWdCOztJQUNoQiwyQkFBc0I7O0FBR3hCO0lBYUUsbUJBQ1UsRUFBTyxFQUNQLE9BQWdCLEVBQ2hCLFFBQW1CO1FBRm5CLE9BQUUsR0FBRixFQUFFLENBQUs7UUFDUCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFmN0IsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFVBQUssR0FBRyxJQUFJLENBQUM7UUFnQlgsSUFBSSxDQUFDLE9BQU8sd0JBQVEsT0FBTyxDQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELHdCQUFJOzs7SUFBSjtRQUNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENB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QyxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDdEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUSxFQUFFO2dCQUNSLElBQUksQ0FBQyxDQUFDLGNBQWMsRUFBRTtvQkFDcEIsS0FBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7aUJBQzNEO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7SUFDRCwrQkFBVzs7O0lBQVg7UUFDRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFDRCxnQ0FBWTs7O0lBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLE1BQU0sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7SUFDckUsQ0FBQztJQUNILGdCQUFDO0FBQUQsQ0FBQyxBQWxRRCxJQWtRQzs7OztJQWpRQyw4QkFBZTs7SUFDZiwwQkFBYTs7SUFDYiwyQkFBMEI7O0lBQzFCLHdCQUE4Qjs7SUFDOUIsNEJBQXdCOztJQUN4QixrQ0FBOEI7O0lBQzlCLHNCQUFXOztJQUNYLG1DQUF3Qjs7SUFDeEIsMEJBQWM7O0lBQ2QsMkJBQWU7O0lBQ2YsaUNBQXFCOztJQUNyQix5QkFBd0I7Ozs7O0lBRXRCLHVCQUFlOzs7OztJQUNmLDRCQUF3Qjs7Ozs7SUFDeEIsNkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFuaW1lIGZyb20gJ2FuaW1lanMnOyAvLyB0c2xpbnQ6ZGlzYWJsZS1saW5lXG5cbmltcG9ydCB7IEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmFuZCwgaXMsIHN0cmluZ1RvSHlwaGVucywgZ2V0Q1NTVmFsdWUsIHRyYW5zZm9ybVN0cmluZywgZ2V0RWxlbWVudCB9IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElPcHRpb24ge1xuICBjb2xvcj86IHN0cmluZztcbiAgdHlwZT86IHN0cmluZztcbiAgc3R5bGU/OiBzdHJpbmc7XG4gIGNhbnZhc1BhZGRpbmc/OiBudW1iZXI7XG4gIGR1cmF0aW9uPzogbnVtYmVyO1xuICBlYXNpbmc/OiBBcnJheTxudW1iZXI+IHwgc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBzdHJpbmc7XG4gIHNpemU/OiAoKSA9PiBudW1iZXIgfCBudW1iZXI7XG4gIHNwZWVkPzogKCkgPT4gbnVtYmVyIHwgbnVtYmVyO1xuICBwYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudD86IG51bWJlcjtcbiAgb3NjaWxsYXRpb25Db2VmZmljaWVudD86IG51bWJlcjtcbiAgYmVnaW4/OiAoKSA9PiB2b2lkO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBjb21wbGV0ZT86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjbGFzcyBQYXJ0aWNsZXMge1xuICBwYXJ0aWNsZXMgPSBbXTtcbiAgZnJhbWUgPSBudWxsO1xuICBjYW52YXM6IEhUTUxDYW52YXNFbGVtZW50O1xuICBjdHg6IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRDtcbiAgd3JhcHBlcjogSFRNTERpdkVsZW1lbnQ7XG4gIHBhcmVudFdyYXBwZXI6IEhUTUxEaXZFbGVtZW50O1xuICBvOiBJT3B0aW9uO1xuICBkaXNpbnRlZ3JhdGluZzogYm9vbGVhbjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIGxhc3RQcm9ncmVzczogbnVtYmVyO1xuICByZWN0OiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbDogYW55LFxuICAgIHByaXZhdGUgb3B0aW9uczogSU9wdGlvbixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5vcHRpb25zIH07XG4gICAgdGhpcy5pbml0KCk7XG4gIH1cblxuICBpbml0KCk6IHZvaWQge1xuICAgdGhpcy5jYW52YXMgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgIHRoaXMuY3R4ID0gdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAncG9pbnRlckV2ZW50cycsICdub25lJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3RvcCcsICc1MCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnbGVmdCcsICc1MCUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZTNkKC01MCUsIC01MCUsIDApJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ2Rpc3BsYXknLCAnbm9uZScpO1xuICAgIHRoaXMud3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAnZGlzcGxheScsICdpbmxpbmUtYmxvY2snKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgJ292ZXJmbG93JywgJ2hpZGRlbicpO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKHRoaXMuZWwucGFyZW50Tm9kZSwgdGhpcy53cmFwcGVyLCB0aGlzLmVsKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMud3JhcHBlciwgdGhpcy5lbCk7XG4gICAgdGhpcy5wYXJlbnRXcmFwcGVyID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMucGFyZW50V3JhcHBlciwgJ3Bvc2l0aW9uJywgJ3JlbGF0aXZlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBhcmVudFdyYXBwZXIsICdkaXNwbGF5JywgJ2lubGluZS1ibG9jaycpO1xuICAgIHRoaXMucmVuZGVyZXIuaW5zZXJ0QmVmb3JlKFxuICAgICAgdGhpcy53cmFwcGVyLnBhcmVudE5vZGUsXG4gICAgICB0aGlzLnBhcmVudFdyYXBwZXIsXG4gICAgICB0aGlzLndyYXBwZXJcbiAgICApO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5wYXJlbnRXcmFwcGVyLCB0aGlzLndyYXBwZXIpO1xuICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5wYXJlbnRXcmFwcGVyLCB0aGlzLmNhbnZhcyk7XG4gIH1cblxuICBzZXRPcHRpb25zKG9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLnRoaXMub3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICB9XG4gIGxvb3AoKSB7XG4gICAgdGhpcy51cGRhdGVQYXJ0aWNsZXMoKTtcbiAgICB0aGlzLnJlbmRlclBhcnRpY2xlcygpO1xuICAgIGlmICh0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5sb29wLmJpbmQodGhpcykpO1xuICAgIH1cbiAgfVxuICB1cGRhdGVQYXJ0aWNsZXMoKSB7XG4gICAgbGV0IHA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgcCA9IHRoaXMucGFydGljbGVzW2ldO1xuICAgICAgaWYgKHAubGlmZSA+IHAuZGVhdGgpIHtcbiAgICAgICAgdGhpcy5wYXJ0aWNsZXMuc3BsaWNlKGksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcC54ICs9IHAuc3BlZWQ7XG4gICAgICAgIHAueSA9IHRoaXMuby5vc2NpbGxhdGlvbkNvZWZmaWNpZW50ICogTWF0aC5zaW4ocC5jb3VudGVyICogcC5pbmNyZWFzZSk7XG4gICAgICAgIHAubGlmZSsrO1xuICAgICAgICBwLmNvdW50ZXIgKz0gdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDEgOiAtMTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0aGlzLnBhcnRpY2xlcy5sZW5ndGgpIHtcbiAgICAgIHRoaXMucGF1c2UoKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICAgIGlmIChpcy5mbmModGhpcy5vLmNvbXBsZXRlKSkge1xuICAgICAgICB0aGlzLm8uY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmVuZGVyUGFydGljbGVzKCkge1xuICAgIHRoaXMuY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLndpZHRoLCB0aGlzLmhlaWdodCk7XG4gICAgbGV0IHA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnBhcnRpY2xlcy5sZW5ndGg7IGkrKykge1xuICAgICAgcCA9IHRoaXMucGFydGljbGVzW2ldO1xuICAgICAgaWYgKHAubGlmZSA8IHAuZGVhdGgpIHtcbiAgICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKHAuc3RhcnRYLCBwLnN0YXJ0WSk7XG4gICAgICAgIHRoaXMuY3R4LnJvdGF0ZShwLmFuZ2xlICogTWF0aC5QSSAvIDE4MCk7XG4gICAgICAgIHRoaXMuY3R4Lmdsb2JhbEFscGhhID0gdGhpcy5kaXNpbnRlZ3JhdGluZ1xuICAgICAgICAgID8gMSAtIHAubGlmZSAvIHAuZGVhdGhcbiAgICAgICAgICA6IHAubGlmZSAvIHAuZGVhdGg7XG4gICAgICAgIHRoaXMuY3R4LmZpbGxTdHlsZSA9IHRoaXMuY3R4LnN0cm9rZVN0eWxlID0gdGhpcy5vLmNvbG9yO1xuICAgICAgICB0aGlzLmN0eC5iZWdpblBhdGgoKTtcblxuICAgICAgICBpZiAodGhpcy5vLnR5cGUgPT09ICdjaXJjbGUnKSB7XG4gICAgICAgICAgdGhpcy5jdHguYXJjKHAueCwgcC55LCBwLnNpemUsIDAsIDIgKiBNYXRoLlBJKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8udHlwZSA9PT0gJ3RyaWFuZ2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4Lm1vdmVUbyhwLngsIHAueSk7XG4gICAgICAgICAgdGhpcy5jdHgubGluZVRvKHAueCArIHAuc2l6ZSwgcC55ICsgcC5zaXplKTtcbiAgICAgICAgICB0aGlzLmN0eC5saW5lVG8ocC54ICsgcC5zaXplLCBwLnkgLSBwLnNpemUpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuby50eXBlID09PSAncmVjdGFuZ2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4LnJlY3QocC54LCBwLnksIHAuc2l6ZSwgcC5zaXplKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm8uc3R5bGUgPT09ICdmaWxsJykge1xuICAgICAgICAgIHRoaXMuY3R4LmZpbGwoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8uc3R5bGUgPT09ICdzdHJva2UnKSB7XG4gICAgICAgICAgdGhpcy5jdHguY2xvc2VQYXRoKCk7XG4gICAgICAgICAgdGhpcy5jdHguc3Ryb2tlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmN0eC5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICAgIHRoaXMuY3R4LnJvdGF0ZSgtcC5hbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgICAgICB0aGlzLmN0eC50cmFuc2xhdGUoLXAuc3RhcnRYLCAtcC5zdGFydFkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwbGF5KCkge1xuICAgIHRoaXMuZnJhbWUgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5sb29wLmJpbmQodGhpcykpO1xuICB9XG4gIHBhdXNlKCkge1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuZnJhbWUpO1xuICAgIHRoaXMuZnJhbWUgPSBudWxsO1xuICB9XG4gIGFkZFBhcnRpY2xlKG9wdGlvbnMpIHtcbiAgICBjb25zdCBmcmFtZXMgPSB0aGlzLm8uZHVyYXRpb24gKiA2MCAvIDEwMDA7XG4gICAgY29uc3Qgc3BlZWQ6IG51bWJlciA9IChpcy5mbmModGhpcy5vLnNwZWVkKVxuICAgICAgPyB0aGlzLm8uc3BlZWQoKVxuICAgICAgOiB0aGlzLm8uc3BlZWQpIGFzIG51bWJlcjtcbiAgICB0aGlzLnBhcnRpY2xlcy5wdXNoKHtcbiAgICAgIHN0YXJ0WDogb3B0aW9ucy54LFxuICAgICAgc3RhcnRZOiBvcHRpb25zLnksXG4gICAgICB4OiB0aGlzLmRpc2ludGVncmF0aW5nID8gMCA6IHNwZWVkICogLWZyYW1lcyxcbiAgICAgIHk6IDAsXG4gICAgICBhbmdsZTogcmFuZCgzNjApLFxuICAgICAgY291bnRlcjogdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDAgOiBmcmFtZXMsXG4gICAgICBpbmNyZWFzZTogTWF0aC5QSSAqIDIgLyAxMDAsXG4gICAgICBsaWZlOiAwLFxuICAgICAgZGVhdGg6IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyBmcmFtZXMgLSAyMCArIE1hdGgucmFuZG9tKCkgKiA0MCA6IGZyYW1lcyxcbiAgICAgIHNwZWVkOiBzcGVlZCxcbiAgICAgIHNpemU6IGlzLmZuYyh0aGlzLm8uc2l6ZSkgPyB0aGlzLm8uc2l6ZSgpIDogdGhpcy5vLnNpemVcbiAgICB9KTtcbiAgfVxuICBhZGRQYXJ0aWNsZXMocmVjdDogYW55LCBwcm9ncmVzcykge1xuICAgIGNvbnN0IHByb2dyZXNzRGlmZiA9IHRoaXMuZGlzaW50ZWdyYXRpbmdcbiAgICAgID8gcHJvZ3Jlc3MgLSB0aGlzLmxhc3RQcm9ncmVzc1xuICAgICAgOiB0aGlzLmxhc3RQcm9ncmVzcyAtIHByb2dyZXNzO1xuICAgIHRoaXMubGFzdFByb2dyZXNzID0gcHJvZ3Jlc3M7XG4gICAgbGV0IHggPSB0aGlzLm9wdGlvbnMuY2FudmFzUGFkZGluZztcbiAgICBsZXQgeSA9IHRoaXMub3B0aW9ucy5jYW52YXNQYWRkaW5nO1xuICAgIGNvbnN0IHByb2dyZXNzVmFsdWUgPVxuICAgICAgKHRoaXMuaXNIb3Jpem9udGFsKCkgPyByZWN0LndpZHRoIDogcmVjdC5oZWlnaHQpICogcHJvZ3Jlc3MgK1xuICAgICAgcHJvZ3Jlc3NEaWZmICogKHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAxMDAgOiAyMjApO1xuICAgIGlmICh0aGlzLmlzSG9yaXpvbnRhbCgpKSB7XG4gICAgICB4ICs9XG4gICAgICAgIHRoaXMuby5kaXJlY3Rpb24gPT09ICdsZWZ0J1xuICAgICAgICAgID8gcHJvZ3Jlc3NWYWx1ZVxuICAgICAgICAgIDogcmVjdC53aWR0aCAtIHByb2dyZXNzVmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHkgKz1cbiAgICAgICAgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3RvcCdcbiAgICAgICAgICA/IHByb2dyZXNzVmFsdWVcbiAgICAgICAgICA6IHJlY3QuaGVpZ2h0IC0gcHJvZ3Jlc3NWYWx1ZTtcbiAgICB9XG4gICAgbGV0IGkgPSBNYXRoLmZsb29yKFxuICAgICAgdGhpcy5vLnBhcnRpY2xlc0Ftb3VudENvZWZmaWNpZW50ICogKHByb2dyZXNzRGlmZiAqIDEwMCArIDEpXG4gICAgKTtcbiAgICBpZiAoaSA+IDApIHtcbiAgICAgIHdoaWxlIChpLS0pIHtcbiAgICAgICAgdGhpcy5hZGRQYXJ0aWNsZSh7XG4gICAgICAgICAgeDogeCArICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gMCA6IHJlY3Qud2lkdGggKiBNYXRoLnJhbmRvbSgpKSxcbiAgICAgICAgICB5OiB5ICsgKHRoaXMuaXNIb3Jpem9udGFsKCkgPyByZWN0LmhlaWdodCAqIE1hdGgucmFuZG9tKCkgOiAwKVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgICB0aGlzLnBsYXkoKTtcbiAgICB9XG4gIH1cbiAgYWRkVHJhbnNmb3Jtcyh2YWx1ZSkge1xuICAgIGNvbnN0IHRyYW5zbGF0ZVByb3BlcnR5ID0gdGhpcy5pc0hvcml6b250YWwoKSA/ICd0cmFuc2xhdGVYJyA6ICd0cmFuc2xhdGVZJztcbiAgICBjb25zdCB0cmFuc2xhdGVWYWx1ZSA9XG4gICAgICB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3RvcCdcbiAgICAgICAgPyB2YWx1ZVxuICAgICAgICA6IC12YWx1ZTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgdHJhbnNmb3JtU3RyaW5nLCBgJHt0cmFuc2xhdGVQcm9wZXJ0eX0oJHt0cmFuc2xhdGVWYWx1ZX0lKWApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbCwgdHJhbnNmb3JtU3RyaW5nLCBgJHt0cmFuc2xhdGVQcm9wZXJ0eX0oJHstdHJhbnNsYXRlVmFsdWV9JSlgKTtcbiAgfVxuICBkaXNpbnRlZ3JhdGUob3B0aW9uczogSU9wdGlvbiA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZGlzaW50ZWdyYXRpbmcgPSB0cnVlO1xuICAgICAgdGhpcy5sYXN0UHJvZ3Jlc3MgPSAwO1xuICAgICAgdGhpcy5zZXR1cChvcHRpb25zKTtcbiAgICAgIGNvbnN0IF8gPSB0aGlzO1xuICAgICAgdGhpcy5hbmltYXRlKGFuaW0gPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGFuaW0uYW5pbWF0YWJsZXNbMF0udGFyZ2V0LnZhbHVlO1xuICAgICAgICBfLmFkZFRyYW5zZm9ybXModmFsdWUpO1xuICAgICAgICBpZiAoXy5vLmR1cmF0aW9uKSB7XG4gICAgICAgICAgXy5hZGRQYXJ0aWNsZXMoXy5yZWN0LCB2YWx1ZSAvIDEwMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICBpbnRlZ3JhdGUob3B0aW9uczogSU9wdGlvbiA9IHt9KSB7XG4gICAgaWYgKCF0aGlzLmlzQW5pbWF0aW5nKCkpIHtcbiAgICAgIHRoaXMuZGlzaW50ZWdyYXRpbmcgPSBmYWxzZTtcbiAgICAgIHRoaXMubGFzdFByb2dyZXNzID0gMTtcbiAgICAgIHRoaXMuc2V0dXAob3B0aW9ucyk7XG4gICAgICBjb25zdCBfID0gdGhpcztcbiAgICAgIHRoaXMuYW5pbWF0ZShhbmltID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhbmltLmFuaW1hdGFibGVzWzBdLnRhcmdldC52YWx1ZTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgXy5hZGRUcmFuc2Zvcm1zKHZhbHVlKTtcbiAgICAgICAgfSwgXy5vLmR1cmF0aW9uKTtcbiAgICAgICAgaWYgKF8uby5kdXJhdGlvbikge1xuICAgICAgICAgIF8uYWRkUGFydGljbGVzKF8ucmVjdCwgdmFsdWUgLyAxMDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgc2V0dXAob3B0aW9ucykge1xuICAgIHRoaXMubyA9IHsgLi4udGhpcy5vcHRpb25zLCAuLi5vcHRpb25zIH07XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTtcbiAgICBpZiAodGhpcy5vLmR1cmF0aW9uKSB7XG4gICAgICB0aGlzLnJlY3QgPSB0aGlzLmVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy53aWR0aCA9IHRoaXMuY2FudmFzLndpZHRoID1cbiAgICAgICAgdGhpcy5vLndpZHRoIHx8IHRoaXMucmVjdC53aWR0aCArIHRoaXMuby5jYW52YXNQYWRkaW5nICogMjtcbiAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy5jYW52YXMuaGVpZ2h0ID1cbiAgICAgICAgdGhpcy5vLmhlaWdodCB8fCB0aGlzLnJlY3QuaGVpZ2h0ICsgdGhpcy5vLmNhbnZhc1BhZGRpbmcgKiAyO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpc0Rpc2ludGVncmF0ZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzaW50ZWdyYXRpbmc7XG4gIH1cbiAgYW5pbWF0ZSh1cGRhdGUpIHtcbiAgICBjb25zdCBfID0gdGhpcztcbiAgICBhbmltZSh7XG4gICAgICB0YXJnZXRzOiB7IHZhbHVlOiBfLmRpc2ludGVncmF0aW5nID8gMCA6IDEwMCB9LFxuICAgICAgdmFsdWU6IF8uZGlzaW50ZWdyYXRpbmcgPyAxMDAgOiAwLFxuICAgICAgZHVyYXRpb246IF8uby5kdXJhdGlvbixcbiAgICAgIGVhc2luZzogXy5vLmVhc2luZyxcbiAgICAgIGJlZ2luOiBfLm8uYmVnaW4sXG4gICAgICB1cGRhdGU6IHVwZGF0ZSxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIGlmIChfLmRpc2ludGVncmF0aW5nKSB7XG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShfLndyYXBwZXIsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbiAgaXNBbmltYXRpbmcoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5mcmFtZTtcbiAgfVxuICBpc0hvcml6b250YWwoKSB7XG4gICAgcmV0dXJuIHRoaXMuby5kaXJlY3Rpb24gPT09ICdsZWZ0JyB8fCB0aGlzLm8uZGlyZWN0aW9uID09PSAncmlnaHQnO1xuICB9XG59XG5cblxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljbGVzLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1wYXJ0aWNsZS1lZmZlY3QtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3BhcnRpY2xlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLFNBQVMsQ0FBQyxDQUFDLHNCQUFzQjtBQUduRCxPQUFPLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBZ0MsZUFBZSxFQUFjLE1BQU0sU0FBUyxDQUFDOzs7O0FBRTlGLDZCQWdCQzs7O0lBZkMsd0JBQWU7O0lBQ2YsdUJBQWM7O0lBQ2Qsd0JBQWU7O0lBQ2YsZ0NBQXVCOztJQUN2QiwyQkFBa0I7O0lBQ2xCLHlCQUFnQzs7SUFDaEMsNEJBQW1COztJQUNuQix1QkFBNkI7O0lBQzdCLHdCQUE4Qjs7SUFDOUIsNkNBQW9DOztJQUNwQyx5Q0FBZ0M7O0lBQ2hDLHdCQUFtQjs7SUFDbkIsd0JBQWU7O0lBQ2YseUJBQWdCOztJQUNoQiwyQkFBc0I7O0FBR3hCO0lBYUUsbUJBQ1UsRUFBTyxFQUNQLE9BQWdCLEVBQ2hCLFFBQW1CO1FBRm5CLE9BQUUsR0FBRixFQUFFLENBQUs7UUFDUCxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFmN0IsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNmLFVBQUssR0FBRyxJQUFJLENBQUM7UUFnQlgsSUFBSSxDQUFDLE9BQU8sd0JBQVEsT0FBTyxDQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELHdCQUFJOzs7SUFBSjtRQUNDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDM0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQ3ZCLElBQUksQ0FBQyxhQUFhLEVBQ2xCLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdELENBQUM7Ozs7O0lBRUQsOEJBQVU7Ozs7SUFBVixVQUFXLE9BQU87UUFDaEIsSUFBSSxDQUFDLE9BQU8sd0JBQVEsSUFBSSxDQUFDLE9BQU8sRUFBSyxPQUFPLENBQUUsQ0FBQztJQUNqRCxDQUFDOzs7O0lBQ0Qsd0JBQUk7OztJQUFKO1FBQ0UsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDOzs7O0lBQ0QsbUNBQWU7OztJQUFmOztZQUNNLENBQUM7UUFDTCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUM3QjtpQkFBTTtnQkFDTCxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ2YsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDVCxDQUFDLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0M7U0FDRjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRTtZQUMxQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDM0IsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNuQjtTQUNGO0lBQ0gsQ0FBQzs7OztJQUNELG1DQUFlOzs7SUFBZjtRQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7O1lBQzlDLENBQUM7UUFDTCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjO29CQUN4QyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUs7b0JBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2dCQUN6RCxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUVyQixJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtvQkFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7aUJBQ2hEO3FCQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFO29CQUNyQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzdDO3FCQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxFQUFFO29CQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ3pDO2dCQUVELElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFO29CQUMzQixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNqQjtxQkFBTSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDbkI7Z0JBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzFDO1NBQ0Y7SUFDSCxDQUFDOzs7O0lBQ0Qsd0JBQUk7OztJQUFKO1FBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7Ozs7SUFDRCx5QkFBSzs7O0lBQUw7UUFDRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFDRCwrQkFBVzs7OztJQUFYLFVBQVksT0FBTzs7WUFDWCxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUk7O1lBQ3BDLEtBQUssR0FBVyxtQkFBQSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQ2hCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFVO1FBQzNCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2xCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqQixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakIsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTTtZQUM1QyxDQUFDLEVBQUUsQ0FBQztZQUNKLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDekMsUUFBUSxFQUFFLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEdBQUc7WUFDM0IsSUFBSSxFQUFFLENBQUM7WUFDUCxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3RFLEtBQUssRUFBRSxLQUFLO1lBQ1osSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUNELGdDQUFZOzs7OztJQUFaLFVBQWEsSUFBUyxFQUFFLFFBQVE7O1lBQ3hCLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZO1lBQzlCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVE7UUFDaEMsSUFBSSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7O1lBQ3pCLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7O1lBQzlCLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWE7O1lBQzVCLGFBQWEsR0FDakIsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRO1lBQzNELFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQ2xELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ3ZCLENBQUM7Z0JBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssTUFBTTtvQkFDekIsQ0FBQyxDQUFDLGFBQWE7b0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsYUFBYSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxDQUFDO2dCQUNDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFLLEtBQUs7b0JBQ3hCLENBQUMsQ0FBQyxhQUFhO29CQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztTQUNuQzs7WUFDRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDaEIsSUFBSSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQzdEO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsT0FBTyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLENBQUMsV0FBVyxDQUFDO29CQUNmLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzdELENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQy9ELENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3hELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs7Ozs7SUFDRCxpQ0FBYTs7OztJQUFiLFVBQWMsS0FBSzs7WUFDWCxpQkFBaUIsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWTs7WUFDckUsY0FBYyxHQUNsQixJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssS0FBSztZQUN2RCxDQUFDLENBQUMsS0FBSztZQUNQLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDWixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBSyxpQkFBaUIsU0FBSSxjQUFjLE9BQUksQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsZUFBZSxFQUFLLGlCQUFpQixTQUFJLENBQUMsY0FBYyxPQUFJLENBQUMsQ0FBQztJQUNoRyxDQUFDOzs7OztJQUNELGdDQUFZOzs7O0lBQVosVUFBYSxPQUFxQjtRQUFyQix3QkFBQSxFQUFBLFlBQXFCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzs7Z0JBQ2QsRUFBQyxHQUFHLElBQUk7WUFDZCxJQUFJLENBQUMsT0FBTzs7OztZQUFDLFVBQUEsSUFBSTs7b0JBQ1QsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7Z0JBQzlDLEVBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7b0JBQ2hCLEVBQUMsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUM7aUJBQ3JDO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7O0lBQ0QsNkJBQVM7Ozs7SUFBVCxVQUFVLE9BQXFCO1FBQXJCLHdCQUFBLEVBQUEsWUFBcUI7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDOztnQkFDZCxFQUFDLEdBQUcsSUFBSTtZQUNkLElBQUksQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQSxJQUFJOztvQkFDVCxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztnQkFDOUMsVUFBVTs7O2dCQUFDO29CQUNULEVBQUMsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3pCLENBQUMsR0FBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUNqQixJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO29CQUNoQixFQUFDLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2lCQUNyQztZQUNILENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7OztJQUNELHlCQUFLOzs7O0lBQUwsVUFBTSxPQUFPO1FBQ1gsSUFBSSxDQUFDLENBQUMsd0JBQVEsSUFBSSxDQUFDLE9BQU8sRUFBSyxPQUFPLENBQUUsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztRQUM5RCxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLO2dCQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLENBQUM7WUFDN0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07Z0JBQzlCLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztTQUNoRTtJQUNILENBQUM7Ozs7SUFFTSxtQ0FBZTs7O0lBQXRCO1FBQ0UsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBQ0QsMkJBQU87Ozs7SUFBUCxVQUFRLE1BQU07UUFBZCxpQkFlQzs7WUFkTyxDQUFDLEdBQUcsSUFBSTtRQUNkLEtBQUssQ0FBQztZQUNKLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRTtZQUM5QyxLQUFLLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVE7WUFDdEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUNsQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQ2hCLE1BQU0sRUFBRSxNQUFNO1lBQ2QsUUFBUTs7O1lBQUU7Z0JBQ1IsSUFBSSxDQUFDLENBQUMsY0FBYyxFQUFFO29CQUNwQixLQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztpQkFDM0Q7WUFDSCxDQUFDLENBQUE7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOzs7O0lBQ0QsK0JBQVc7OztJQUFYO1FBQ0UsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDOzs7O0lBQ0QsZ0NBQVk7OztJQUFaO1FBQ0UsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDO0lBQ3JFLENBQUM7SUFDSCxnQkFBQztBQUFELENBQUMsQUFsUUQsSUFrUUM7Ozs7SUFqUUMsOEJBQWU7O0lBQ2YsMEJBQWE7O0lBQ2IsMkJBQTBCOztJQUMxQix3QkFBOEI7O0lBQzlCLDRCQUF3Qjs7SUFDeEIsa0NBQThCOztJQUM5QixzQkFBVzs7SUFDWCxtQ0FBd0I7O0lBQ3hCLDBCQUFjOztJQUNkLDJCQUFlOztJQUNmLGlDQUFxQjs7SUFDckIseUJBQXdCOzs7OztJQUV0Qix1QkFBZTs7Ozs7SUFDZiw0QkFBd0I7Ozs7O0lBQ3hCLDZCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhbmltZSBmcm9tICdhbmltZWpzJzsgLy8gdHNsaW50OmRpc2FibGUtbGluZVxuXG5pbXBvcnQgeyBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJhbmQsIGlzLCBzdHJpbmdUb0h5cGhlbnMsIGdldENTU1ZhbHVlLCB0cmFuc2Zvcm1TdHJpbmcsIGdldEVsZW1lbnQgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9uIHtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHR5cGU/OiBzdHJpbmc7XG4gIHN0eWxlPzogc3RyaW5nO1xuICBjYW52YXNQYWRkaW5nPzogbnVtYmVyO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgZWFzaW5nPzogQXJyYXk8bnVtYmVyPiB8IHN0cmluZztcbiAgZGlyZWN0aW9uPzogc3RyaW5nO1xuICBzaXplPzogKCkgPT4gbnVtYmVyIHwgbnVtYmVyO1xuICBzcGVlZD86ICgpID0+IG51bWJlciB8IG51bWJlcjtcbiAgcGFydGljbGVzQW1vdW50Q29lZmZpY2llbnQ/OiBudW1iZXI7XG4gIG9zY2lsbGF0aW9uQ29lZmZpY2llbnQ/OiBudW1iZXI7XG4gIGJlZ2luPzogKCkgPT4gdm9pZDtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgY29tcGxldGU/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY2xhc3MgUGFydGljbGVzIHtcbiAgcGFydGljbGVzID0gW107XG4gIGZyYW1lID0gbnVsbDtcbiAgY2FudmFzOiBIVE1MQ2FudmFzRWxlbWVudDtcbiAgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ7XG4gIHdyYXBwZXI6IEhUTUxEaXZFbGVtZW50O1xuICBwYXJlbnRXcmFwcGVyOiBIVE1MRGl2RWxlbWVudDtcbiAgbzogSU9wdGlvbjtcbiAgZGlzaW50ZWdyYXRpbmc6IGJvb2xlYW47XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICBsYXN0UHJvZ3Jlc3M6IG51bWJlcjtcbiAgcmVjdDogSFRNTENhbnZhc0VsZW1lbnQ7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWw6IGFueSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IElPcHRpb24sXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICkge1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMuaW5pdCgpO1xuICB9XG5cbiAgaW5pdCgpOiB2b2lkIHtcbiAgIHRoaXMuY2FudmFzID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICB0aGlzLmN0eCA9IHRoaXMuY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3Bvc2l0aW9uJywgJ2Fic29sdXRlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3BvaW50ZXJFdmVudHMnLCAnbm9uZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICd0b3AnLCAnNTAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ2xlZnQnLCAnNTAlJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNhbnZhcywgJ3RyYW5zZm9ybScsICd0cmFuc2xhdGUzZCgtNTAlLCAtNTAlLCAwKScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jYW52YXMsICdkaXNwbGF5JywgJ25vbmUnKTtcbiAgICB0aGlzLndyYXBwZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAncG9zaXRpb24nLCAncmVsYXRpdmUnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMud3JhcHBlciwgJ2Rpc3BsYXknLCAnaW5saW5lLWJsb2NrJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsICdvdmVyZmxvdycsICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZSh0aGlzLmVsLnBhcmVudE5vZGUsIHRoaXMud3JhcHBlciwgdGhpcy5lbCk7XG4gICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLndyYXBwZXIsIHRoaXMuZWwpO1xuICAgIHRoaXMucGFyZW50V3JhcHBlciA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnBhcmVudFdyYXBwZXIsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wYXJlbnRXcmFwcGVyLCAnZGlzcGxheScsICdpbmxpbmUtYmxvY2snKTtcbiAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShcbiAgICAgIHRoaXMud3JhcHBlci5wYXJlbnROb2RlLFxuICAgICAgdGhpcy5wYXJlbnRXcmFwcGVyLFxuICAgICAgdGhpcy53cmFwcGVyXG4gICAgKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMucGFyZW50V3JhcHBlciwgdGhpcy53cmFwcGVyKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMucGFyZW50V3JhcHBlciwgdGhpcy5jYW52YXMpO1xuICB9XG5cbiAgc2V0T3B0aW9ucyhvcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi50aGlzLm9wdGlvbnMsIC4uLm9wdGlvbnMgfTtcbiAgfVxuICBsb29wKCkge1xuICAgIHRoaXMudXBkYXRlUGFydGljbGVzKCk7XG4gICAgdGhpcy5yZW5kZXJQYXJ0aWNsZXMoKTtcbiAgICBpZiAodGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMubG9vcC5iaW5kKHRoaXMpKTtcbiAgICB9XG4gIH1cbiAgdXBkYXRlUGFydGljbGVzKCkge1xuICAgIGxldCBwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHAgPSB0aGlzLnBhcnRpY2xlc1tpXTtcbiAgICAgIGlmIChwLmxpZmUgPiBwLmRlYXRoKSB7XG4gICAgICAgIHRoaXMucGFydGljbGVzLnNwbGljZShpLCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHAueCArPSBwLnNwZWVkO1xuICAgICAgICBwLnkgPSB0aGlzLm8ub3NjaWxsYXRpb25Db2VmZmljaWVudCAqIE1hdGguc2luKHAuY291bnRlciAqIHAuaW5jcmVhc2UpO1xuICAgICAgICBwLmxpZmUrKztcbiAgICAgICAgcC5jb3VudGVyICs9IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAxIDogLTE7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5wYXJ0aWNsZXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnBhdXNlKCk7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnZGlzcGxheScsICdub25lJyk7XG4gICAgICBpZiAoaXMuZm5jKHRoaXMuby5jb21wbGV0ZSkpIHtcbiAgICAgICAgdGhpcy5vLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJlbmRlclBhcnRpY2xlcygpIHtcbiAgICB0aGlzLmN0eC5jbGVhclJlY3QoMCwgMCwgdGhpcy53aWR0aCwgdGhpcy5oZWlnaHQpO1xuICAgIGxldCBwO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5wYXJ0aWNsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHAgPSB0aGlzLnBhcnRpY2xlc1tpXTtcbiAgICAgIGlmIChwLmxpZmUgPCBwLmRlYXRoKSB7XG4gICAgICAgIHRoaXMuY3R4LnRyYW5zbGF0ZShwLnN0YXJ0WCwgcC5zdGFydFkpO1xuICAgICAgICB0aGlzLmN0eC5yb3RhdGUocC5hbmdsZSAqIE1hdGguUEkgLyAxODApO1xuICAgICAgICB0aGlzLmN0eC5nbG9iYWxBbHBoYSA9IHRoaXMuZGlzaW50ZWdyYXRpbmdcbiAgICAgICAgICA/IDEgLSBwLmxpZmUgLyBwLmRlYXRoXG4gICAgICAgICAgOiBwLmxpZmUgLyBwLmRlYXRoO1xuICAgICAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSB0aGlzLmN0eC5zdHJva2VTdHlsZSA9IHRoaXMuby5jb2xvcjtcbiAgICAgICAgdGhpcy5jdHguYmVnaW5QYXRoKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuby50eXBlID09PSAnY2lyY2xlJykge1xuICAgICAgICAgIHRoaXMuY3R4LmFyYyhwLngsIHAueSwgcC5zaXplLCAwLCAyICogTWF0aC5QSSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vLnR5cGUgPT09ICd0cmlhbmdsZScpIHtcbiAgICAgICAgICB0aGlzLmN0eC5tb3ZlVG8ocC54LCBwLnkpO1xuICAgICAgICAgIHRoaXMuY3R4LmxpbmVUbyhwLnggKyBwLnNpemUsIHAueSArIHAuc2l6ZSk7XG4gICAgICAgICAgdGhpcy5jdHgubGluZVRvKHAueCArIHAuc2l6ZSwgcC55IC0gcC5zaXplKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLm8udHlwZSA9PT0gJ3JlY3RhbmdsZScpIHtcbiAgICAgICAgICB0aGlzLmN0eC5yZWN0KHAueCwgcC55LCBwLnNpemUsIHAuc2l6ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vLnN0eWxlID09PSAnZmlsbCcpIHtcbiAgICAgICAgICB0aGlzLmN0eC5maWxsKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5vLnN0eWxlID09PSAnc3Ryb2tlJykge1xuICAgICAgICAgIHRoaXMuY3R4LmNsb3NlUGF0aCgpO1xuICAgICAgICAgIHRoaXMuY3R4LnN0cm9rZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jdHguZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgICB0aGlzLmN0eC5yb3RhdGUoLXAuYW5nbGUgKiBNYXRoLlBJIC8gMTgwKTtcbiAgICAgICAgdGhpcy5jdHgudHJhbnNsYXRlKC1wLnN0YXJ0WCwgLXAuc3RhcnRZKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcGxheSgpIHtcbiAgICB0aGlzLmZyYW1lID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMubG9vcC5iaW5kKHRoaXMpKTtcbiAgfVxuICBwYXVzZSgpIHtcbiAgICBjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLmZyYW1lKTtcbiAgICB0aGlzLmZyYW1lID0gbnVsbDtcbiAgfVxuICBhZGRQYXJ0aWNsZShvcHRpb25zKSB7XG4gICAgY29uc3QgZnJhbWVzID0gdGhpcy5vLmR1cmF0aW9uICogNjAgLyAxMDAwO1xuICAgIGNvbnN0IHNwZWVkOiBudW1iZXIgPSAoaXMuZm5jKHRoaXMuby5zcGVlZClcbiAgICAgID8gdGhpcy5vLnNwZWVkKClcbiAgICAgIDogdGhpcy5vLnNwZWVkKSBhcyBudW1iZXI7XG4gICAgdGhpcy5wYXJ0aWNsZXMucHVzaCh7XG4gICAgICBzdGFydFg6IG9wdGlvbnMueCxcbiAgICAgIHN0YXJ0WTogb3B0aW9ucy55LFxuICAgICAgeDogdGhpcy5kaXNpbnRlZ3JhdGluZyA/IDAgOiBzcGVlZCAqIC1mcmFtZXMsXG4gICAgICB5OiAwLFxuICAgICAgYW5nbGU6IHJhbmQoMzYwKSxcbiAgICAgIGNvdW50ZXI6IHRoaXMuZGlzaW50ZWdyYXRpbmcgPyAwIDogZnJhbWVzLFxuICAgICAgaW5jcmVhc2U6IE1hdGguUEkgKiAyIC8gMTAwLFxuICAgICAgbGlmZTogMCxcbiAgICAgIGRlYXRoOiB0aGlzLmRpc2ludGVncmF0aW5nID8gZnJhbWVzIC0gMjAgKyBNYXRoLnJhbmRvbSgpICogNDAgOiBmcmFtZXMsXG4gICAgICBzcGVlZDogc3BlZWQsXG4gICAgICBzaXplOiBpcy5mbmModGhpcy5vLnNpemUpID8gdGhpcy5vLnNpemUoKSA6IHRoaXMuby5zaXplXG4gICAgfSk7XG4gIH1cbiAgYWRkUGFydGljbGVzKHJlY3Q6IGFueSwgcHJvZ3Jlc3MpIHtcbiAgICBjb25zdCBwcm9ncmVzc0RpZmYgPSB0aGlzLmRpc2ludGVncmF0aW5nXG4gICAgICA/IHByb2dyZXNzIC0gdGhpcy5sYXN0UHJvZ3Jlc3NcbiAgICAgIDogdGhpcy5sYXN0UHJvZ3Jlc3MgLSBwcm9ncmVzcztcbiAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IHByb2dyZXNzO1xuICAgIGxldCB4ID0gdGhpcy5vcHRpb25zLmNhbnZhc1BhZGRpbmc7XG4gICAgbGV0IHkgPSB0aGlzLm9wdGlvbnMuY2FudmFzUGFkZGluZztcbiAgICBjb25zdCBwcm9ncmVzc1ZhbHVlID1cbiAgICAgICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gcmVjdC53aWR0aCA6IHJlY3QuaGVpZ2h0KSAqIHByb2dyZXNzICtcbiAgICAgIHByb2dyZXNzRGlmZiAqICh0aGlzLmRpc2ludGVncmF0aW5nID8gMTAwIDogMjIwKTtcbiAgICBpZiAodGhpcy5pc0hvcml6b250YWwoKSkge1xuICAgICAgeCArPVxuICAgICAgICB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCdcbiAgICAgICAgICA/IHByb2dyZXNzVmFsdWVcbiAgICAgICAgICA6IHJlY3Qud2lkdGggLSBwcm9ncmVzc1ZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB5ICs9XG4gICAgICAgIHRoaXMuby5kaXJlY3Rpb24gPT09ICd0b3AnXG4gICAgICAgICAgPyBwcm9ncmVzc1ZhbHVlXG4gICAgICAgICAgOiByZWN0LmhlaWdodCAtIHByb2dyZXNzVmFsdWU7XG4gICAgfVxuICAgIGxldCBpID0gTWF0aC5mbG9vcihcbiAgICAgIHRoaXMuby5wYXJ0aWNsZXNBbW91bnRDb2VmZmljaWVudCAqIChwcm9ncmVzc0RpZmYgKiAxMDAgKyAxKVxuICAgICk7XG4gICAgaWYgKGkgPiAwKSB7XG4gICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgIHRoaXMuYWRkUGFydGljbGUoe1xuICAgICAgICAgIHg6IHggKyAodGhpcy5pc0hvcml6b250YWwoKSA/IDAgOiByZWN0LndpZHRoICogTWF0aC5yYW5kb20oKSksXG4gICAgICAgICAgeTogeSArICh0aGlzLmlzSG9yaXpvbnRhbCgpID8gcmVjdC5oZWlnaHQgKiBNYXRoLnJhbmRvbSgpIDogMClcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY2FudmFzLCAnZGlzcGxheScsICdibG9jaycpO1xuICAgICAgdGhpcy5wbGF5KCk7XG4gICAgfVxuICB9XG4gIGFkZFRyYW5zZm9ybXModmFsdWUpIHtcbiAgICBjb25zdCB0cmFuc2xhdGVQcm9wZXJ0eSA9IHRoaXMuaXNIb3Jpem9udGFsKCkgPyAndHJhbnNsYXRlWCcgOiAndHJhbnNsYXRlWSc7XG4gICAgY29uc3QgdHJhbnNsYXRlVmFsdWUgPVxuICAgICAgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ2xlZnQnIHx8IHRoaXMuby5kaXJlY3Rpb24gPT09ICd0b3AnXG4gICAgICAgID8gdmFsdWVcbiAgICAgICAgOiAtdmFsdWU7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLndyYXBwZXIsIHRyYW5zZm9ybVN0cmluZywgYCR7dHJhbnNsYXRlUHJvcGVydHl9KCR7dHJhbnNsYXRlVmFsdWV9JSlgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwsIHRyYW5zZm9ybVN0cmluZywgYCR7dHJhbnNsYXRlUHJvcGVydHl9KCR7LXRyYW5zbGF0ZVZhbHVlfSUpYCk7XG4gIH1cbiAgZGlzaW50ZWdyYXRlKG9wdGlvbnM6IElPcHRpb24gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmRpc2ludGVncmF0aW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMubGFzdFByb2dyZXNzID0gMDtcbiAgICAgIHRoaXMuc2V0dXAob3B0aW9ucyk7XG4gICAgICBjb25zdCBfID0gdGhpcztcbiAgICAgIHRoaXMuYW5pbWF0ZShhbmltID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBhbmltLmFuaW1hdGFibGVzWzBdLnRhcmdldC52YWx1ZTtcbiAgICAgICAgXy5hZGRUcmFuc2Zvcm1zKHZhbHVlKTtcbiAgICAgICAgaWYgKF8uby5kdXJhdGlvbikge1xuICAgICAgICAgIF8uYWRkUGFydGljbGVzKF8ucmVjdCwgdmFsdWUgLyAxMDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgaW50ZWdyYXRlKG9wdGlvbnM6IElPcHRpb24gPSB7fSkge1xuICAgIGlmICghdGhpcy5pc0FuaW1hdGluZygpKSB7XG4gICAgICB0aGlzLmRpc2ludGVncmF0aW5nID0gZmFsc2U7XG4gICAgICB0aGlzLmxhc3RQcm9ncmVzcyA9IDE7XG4gICAgICB0aGlzLnNldHVwKG9wdGlvbnMpO1xuICAgICAgY29uc3QgXyA9IHRoaXM7XG4gICAgICB0aGlzLmFuaW1hdGUoYW5pbSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gYW5pbS5hbmltYXRhYmxlc1swXS50YXJnZXQudmFsdWU7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIF8uYWRkVHJhbnNmb3Jtcyh2YWx1ZSk7XG4gICAgICAgIH0sIF8uby5kdXJhdGlvbik7XG4gICAgICAgIGlmIChfLm8uZHVyYXRpb24pIHtcbiAgICAgICAgICBfLmFkZFBhcnRpY2xlcyhfLnJlY3QsIHZhbHVlIC8gMTAwKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHNldHVwKG9wdGlvbnMpIHtcbiAgICB0aGlzLm8gPSB7IC4uLnRoaXMub3B0aW9ucywgLi4ub3B0aW9ucyB9O1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy53cmFwcGVyLCAndmlzaWJpbGl0eScsICd2aXNpYmxlJyk7XG4gICAgaWYgKHRoaXMuby5kdXJhdGlvbikge1xuICAgICAgdGhpcy5yZWN0ID0gdGhpcy5lbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHRoaXMud2lkdGggPSB0aGlzLmNhbnZhcy53aWR0aCA9XG4gICAgICAgIHRoaXMuby53aWR0aCB8fCB0aGlzLnJlY3Qud2lkdGggKyB0aGlzLm8uY2FudmFzUGFkZGluZyAqIDI7XG4gICAgICB0aGlzLmhlaWdodCA9IHRoaXMuY2FudmFzLmhlaWdodCA9XG4gICAgICAgIHRoaXMuby5oZWlnaHQgfHwgdGhpcy5yZWN0LmhlaWdodCArIHRoaXMuby5jYW52YXNQYWRkaW5nICogMjtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNEaXNpbnRlZ3JhdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmRpc2ludGVncmF0aW5nO1xuICB9XG4gIGFuaW1hdGUodXBkYXRlKSB7XG4gICAgY29uc3QgXyA9IHRoaXM7XG4gICAgYW5pbWUoe1xuICAgICAgdGFyZ2V0czogeyB2YWx1ZTogXy5kaXNpbnRlZ3JhdGluZyA/IDAgOiAxMDAgfSxcbiAgICAgIHZhbHVlOiBfLmRpc2ludGVncmF0aW5nID8gMTAwIDogMCxcbiAgICAgIGR1cmF0aW9uOiBfLm8uZHVyYXRpb24sXG4gICAgICBlYXNpbmc6IF8uby5lYXNpbmcsXG4gICAgICBiZWdpbjogXy5vLmJlZ2luLFxuICAgICAgdXBkYXRlOiB1cGRhdGUsXG4gICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICBpZiAoXy5kaXNpbnRlZ3JhdGluZykge1xuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXy53cmFwcGVyLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIGlzQW5pbWF0aW5nKCkge1xuICAgIHJldHVybiAhIXRoaXMuZnJhbWU7XG4gIH1cbiAgaXNIb3Jpem9udGFsKCkge1xuICAgIHJldHVybiB0aGlzLm8uZGlyZWN0aW9uID09PSAnbGVmdCcgfHwgdGhpcy5vLmRpcmVjdGlvbiA9PT0gJ3JpZ2h0JztcbiAgfVxufVxuXG5cbiJdfQ== |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var ɵ0 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return Array.isArray(a); }, ɵ1 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'string'; }, ɵ2 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'function'; }; | ||
/** @type {?} */ | ||
export var is = { | ||
arr: function (a) { return Array.isArray(a); }, | ||
str: function (a) { return typeof a === 'string'; }, | ||
fnc: function (a) { return typeof a === 'function'; } | ||
arr: (ɵ0), | ||
str: (ɵ1), | ||
fnc: (ɵ2) | ||
}; | ||
/** @type {?} */ | ||
export var stringToHyphens = function (str) { | ||
export var stringToHyphens = (/** | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
function (str) { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}; | ||
}); | ||
/** @type {?} */ | ||
export var getCSSValue = function (el, prop) { | ||
export var getCSSValue = (/** | ||
* @param {?} el | ||
* @param {?} prop | ||
* @return {?} | ||
*/ | ||
function (el, prop) { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}; | ||
}); | ||
/** @type {?} */ | ||
@@ -26,9 +48,18 @@ export var t = 'transform'; | ||
/** @type {?} */ | ||
export var rand = function (value) { | ||
export var rand = (/** | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
function (value) { | ||
return Math.random() * value - value / 2; | ||
}; | ||
}); | ||
/** @type {?} */ | ||
export var getElement = function (element) { | ||
export var getElement = (/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
return is.str(element) ? document.querySelector(element) : element; | ||
}; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24vIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxNQUFNLEtBQU8sRUFBRSxHQUFHO0lBQ2hCLEdBQUcsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQWhCLENBQWdCO0lBQzFCLEdBQUcsRUFBRSxVQUFBLENBQUMsSUFBSSxPQUFBLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBckIsQ0FBcUI7SUFDL0IsR0FBRyxFQUFFLFVBQUEsQ0FBQyxJQUFJLE9BQUEsT0FBTyxDQUFDLEtBQUssVUFBVSxFQUF2QixDQUF1QjtDQUNsQzs7QUFFRCxNQUFNLEtBQU8sZUFBZSxHQUFHLFVBQUEsR0FBRztJQUNoQyxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDL0QsQ0FBQzs7QUFFRCxNQUFNLEtBQU8sV0FBVyxHQUFHLFVBQUMsRUFBRSxFQUFFLElBQUk7SUFDbEMsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRTtRQUNwQixPQUFPLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQztLQUM1RTtBQUNILENBQUM7O0FBRUQsTUFBTSxLQUFPLENBQUMsR0FBRyxXQUFXOztBQUM1QixNQUFNLEtBQU8sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDOztBQUVqRixNQUFNLEtBQU8sSUFBSSxHQUFHLFVBQUEsS0FBSztJQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDOztBQUVELE1BQU0sS0FBTyxVQUFVLEdBQUcsVUFBQSxPQUFPO0lBQy9CLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQ3JFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgaXMgPSB7XG4gIGFycjogYSA9PiBBcnJheS5pc0FycmF5KGEpLFxuICBzdHI6IGEgPT4gdHlwZW9mIGEgPT09ICdzdHJpbmcnLFxuICBmbmM6IGEgPT4gdHlwZW9mIGEgPT09ICdmdW5jdGlvbidcbn07XG5cbmV4cG9ydCBjb25zdCBzdHJpbmdUb0h5cGhlbnMgPSBzdHIgPT4ge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMS0kMicpLnRvTG93ZXJDYXNlKCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q1NTVmFsdWUgPSAoZWwsIHByb3ApID0+IHtcbiAgaWYgKHByb3AgaW4gZWwuc3R5bGUpIHtcbiAgICByZXR1cm4gZ2V0Q29tcHV0ZWRTdHlsZShlbCkuZ2V0UHJvcGVydHlWYWx1ZShzdHJpbmdUb0h5cGhlbnMocHJvcCkpIHx8ICcwJztcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHQgPSAndHJhbnNmb3JtJztcbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1TdHJpbmcgPSBnZXRDU1NWYWx1ZShkb2N1bWVudC5ib2R5LCB0KSA/IHQgOiAnLXdlYmtpdC0nICsgdDtcblxuZXhwb3J0IGNvbnN0IHJhbmQgPSB2YWx1ZSA9PiB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpICogdmFsdWUgLSB2YWx1ZSAvIDI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWxlbWVudCA9IGVsZW1lbnQgPT4ge1xuICByZXR1cm4gaXMuc3RyKGVsZW1lbnQpID8gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihlbGVtZW50KSA6IGVsZW1lbnQ7XG59O1xuIl19 | ||
}); | ||
export { ɵ0, ɵ1, ɵ2 }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLXBhcnRpY2xlLWVmZmVjdC1idXR0b24vIiwic291cmNlcyI6WyJsaWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFDTyxVQUFBLENBQUMsSUFBSSxPQUFBLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQWhCLENBQWdCOzs7O0FBQ3JCLFVBQUEsQ0FBQyxJQUFJLE9BQUEsT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFyQixDQUFxQjs7OztBQUMxQixVQUFBLENBQUMsSUFBSSxPQUFBLE9BQU8sQ0FBQyxLQUFLLFVBQVUsRUFBdkIsQ0FBdUI7O0FBSG5DLE1BQU0sS0FBTyxFQUFFLEdBQUc7SUFDaEIsR0FBRyxNQUF1QjtJQUMxQixHQUFHLE1BQTRCO0lBQy9CLEdBQUcsTUFBOEI7Q0FDbEM7O0FBRUQsTUFBTSxLQUFPLGVBQWU7Ozs7QUFBRyxVQUFBLEdBQUc7SUFDaEMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQy9ELENBQUMsQ0FBQTs7QUFFRCxNQUFNLEtBQU8sV0FBVzs7Ozs7QUFBRyxVQUFDLEVBQUUsRUFBRSxJQUFJO0lBQ2xDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUU7UUFDcEIsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUM7S0FDNUU7QUFDSCxDQUFDLENBQUE7O0FBRUQsTUFBTSxLQUFPLENBQUMsR0FBRyxXQUFXOztBQUM1QixNQUFNLEtBQU8sZUFBZSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDOztBQUVqRixNQUFNLEtBQU8sSUFBSTs7OztBQUFHLFVBQUEsS0FBSztJQUN2QixPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUE7O0FBRUQsTUFBTSxLQUFPLFVBQVU7Ozs7QUFBRyxVQUFBLE9BQU87SUFDL0IsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDckUsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGlzID0ge1xuICBhcnI6IGEgPT4gQXJyYXkuaXNBcnJheShhKSxcbiAgc3RyOiBhID0+IHR5cGVvZiBhID09PSAnc3RyaW5nJyxcbiAgZm5jOiBhID0+IHR5cGVvZiBhID09PSAnZnVuY3Rpb24nXG59O1xuXG5leHBvcnQgY29uc3Qgc3RyaW5nVG9IeXBoZW5zID0gc3RyID0+IHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCAnJDEtJDInKS50b0xvd2VyQ2FzZSgpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENTU1ZhbHVlID0gKGVsLCBwcm9wKSA9PiB7XG4gIGlmIChwcm9wIGluIGVsLnN0eWxlKSB7XG4gICAgcmV0dXJuIGdldENvbXB1dGVkU3R5bGUoZWwpLmdldFByb3BlcnR5VmFsdWUoc3RyaW5nVG9IeXBoZW5zKHByb3ApKSB8fCAnMCc7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB0ID0gJ3RyYW5zZm9ybSc7XG5leHBvcnQgY29uc3QgdHJhbnNmb3JtU3RyaW5nID0gZ2V0Q1NTVmFsdWUoZG9jdW1lbnQuYm9keSwgdCkgPyB0IDogJy13ZWJraXQtJyArIHQ7XG5cbmV4cG9ydCBjb25zdCByYW5kID0gdmFsdWUgPT4ge1xuICByZXR1cm4gTWF0aC5yYW5kb20oKSAqIHZhbHVlIC0gdmFsdWUgLyAyO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnQgPSBlbGVtZW50ID0+IHtcbiAgcmV0dXJuIGlzLnN0cihlbGVtZW50KSA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWxlbWVudCkgOiBlbGVtZW50O1xufTtcbiJdfQ== |
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -5,0 +5,0 @@ /* |
@@ -0,24 +1,46 @@ | ||
import { EventEmitter, Directive, Renderer2, ElementRef, Input, Output, NgModule } from '@angular/core'; | ||
import anime from 'animejs'; | ||
import { ElementRef, Input, Directive, EventEmitter, Output, Renderer2, NgModule } from '@angular/core'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
const ɵ0 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => Array.isArray(a), ɵ1 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => typeof a === 'string', ɵ2 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
a => typeof a === 'function'; | ||
/** @type {?} */ | ||
const is = { | ||
arr: a => Array.isArray(a), | ||
str: a => typeof a === 'string', | ||
fnc: a => typeof a === 'function' | ||
arr: (ɵ0), | ||
str: (ɵ1), | ||
fnc: (ɵ2) | ||
}; | ||
/** @type {?} */ | ||
const stringToHyphens = str => { | ||
const stringToHyphens = (/** | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
str => { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}; | ||
}); | ||
/** @type {?} */ | ||
const getCSSValue = (el, prop) => { | ||
const getCSSValue = (/** | ||
* @param {?} el | ||
* @param {?} prop | ||
* @return {?} | ||
*/ | ||
(el, prop) => { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}; | ||
}); | ||
/** @type {?} */ | ||
@@ -29,10 +51,58 @@ const t = 'transform'; | ||
/** @type {?} */ | ||
const rand = value => { | ||
const rand = (/** | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
value => { | ||
return Math.random() * value - value / 2; | ||
}; | ||
}); | ||
/** @type {?} */ | ||
const getElement = (/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
element => { | ||
return is.str(element) ? document.querySelector(element) : element; | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
function IOption() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
IOption.prototype.color; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.type; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.style; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.canvasPadding; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.duration; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.easing; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.direction; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.size; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.speed; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.particlesAmountCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.oscillationCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.begin; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.width; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.height; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.complete; | ||
} | ||
class Particles { | ||
@@ -270,3 +340,7 @@ /** | ||
const _ = this; | ||
this.animate(anim => { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
anim => { | ||
/** @type {?} */ | ||
@@ -278,3 +352,3 @@ const value = anim.animatables[0].target.value; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -293,12 +367,19 @@ } | ||
const _ = this; | ||
this.animate(anim => { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
anim => { | ||
/** @type {?} */ | ||
const value = anim.animatables[0].target.value; | ||
setTimeout(() => { | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
_.addTransforms(value); | ||
}, _.o.duration); | ||
}), _.o.duration); | ||
if (_.o.duration) { | ||
_.addParticles(_.rect, value / 100); | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -341,7 +422,10 @@ } | ||
update: update, | ||
complete: () => { | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
if (_.disintegrating) { | ||
this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
} | ||
}) | ||
}); | ||
@@ -362,6 +446,47 @@ } | ||
} | ||
if (false) { | ||
/** @type {?} */ | ||
Particles.prototype.particles; | ||
/** @type {?} */ | ||
Particles.prototype.frame; | ||
/** @type {?} */ | ||
Particles.prototype.canvas; | ||
/** @type {?} */ | ||
Particles.prototype.ctx; | ||
/** @type {?} */ | ||
Particles.prototype.wrapper; | ||
/** @type {?} */ | ||
Particles.prototype.parentWrapper; | ||
/** @type {?} */ | ||
Particles.prototype.o; | ||
/** @type {?} */ | ||
Particles.prototype.disintegrating; | ||
/** @type {?} */ | ||
Particles.prototype.width; | ||
/** @type {?} */ | ||
Particles.prototype.height; | ||
/** @type {?} */ | ||
Particles.prototype.lastProgress; | ||
/** @type {?} */ | ||
Particles.prototype.rect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.renderer; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -388,4 +513,10 @@ class ParticleEffectButtonDirective { | ||
this.pComplete = new EventEmitter(); | ||
this.pSize = () => Math.floor((Math.random() * 3) + 1); | ||
this.pSpeed = () => rand(4); | ||
this.pSize = (/** | ||
* @return {?} | ||
*/ | ||
() => Math.floor((Math.random() * 3) + 1)); | ||
this.pSpeed = (/** | ||
* @return {?} | ||
*/ | ||
() => rand(4)); | ||
} | ||
@@ -439,8 +570,14 @@ /** | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: () => { | ||
begin: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.pBegin.emit(); | ||
}, | ||
complete: () => { | ||
}), | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
() => { | ||
this.pComplete.emit(); | ||
} | ||
}) | ||
}; | ||
@@ -475,7 +612,11 @@ } | ||
const allowedProps = this.pOptions; | ||
Object.keys(options).map(key => { | ||
Object.keys(options).map((/** | ||
* @param {?} key | ||
* @return {?} | ||
*/ | ||
key => { | ||
if (allowedProps[key]) { | ||
this[key] = options[key]; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -509,6 +650,54 @@ } | ||
}; | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._particles; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._pHidden; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pColor; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDuration; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pEasing; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pType; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pStyle; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDirection; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pCanvasPadding; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pOscillationCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pParticlesAmountCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pBegin; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pComplete; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSize; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSpeed; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.renderer; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.el; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -526,3 +715,3 @@ class ParticleEffectButtonModule { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -532,7 +721,6 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
export { ParticleEffectButtonDirective, ParticleEffectButtonModule }; | ||
//# sourceMappingURL=angular-particle-effect-button.js.map | ||
//# sourceMappingURL=angular-particle-effect-button.js.map |
@@ -0,25 +1,47 @@ | ||
import { EventEmitter, Directive, Renderer2, ElementRef, Input, Output, NgModule } from '@angular/core'; | ||
import { __assign } from 'tslib'; | ||
import anime from 'animejs'; | ||
import { ElementRef, Input, Directive, EventEmitter, Output, Renderer2, NgModule } from '@angular/core'; | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
var ɵ0 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return Array.isArray(a); }, ɵ1 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'string'; }, ɵ2 = /** | ||
* @param {?} a | ||
* @return {?} | ||
*/ | ||
function (a) { return typeof a === 'function'; }; | ||
/** @type {?} */ | ||
var is = { | ||
arr: function (a) { return Array.isArray(a); }, | ||
str: function (a) { return typeof a === 'string'; }, | ||
fnc: function (a) { return typeof a === 'function'; } | ||
arr: (ɵ0), | ||
str: (ɵ1), | ||
fnc: (ɵ2) | ||
}; | ||
/** @type {?} */ | ||
var stringToHyphens = function (str) { | ||
var stringToHyphens = (/** | ||
* @param {?} str | ||
* @return {?} | ||
*/ | ||
function (str) { | ||
return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase(); | ||
}; | ||
}); | ||
/** @type {?} */ | ||
var getCSSValue = function (el, prop) { | ||
var getCSSValue = (/** | ||
* @param {?} el | ||
* @param {?} prop | ||
* @return {?} | ||
*/ | ||
function (el, prop) { | ||
if (prop in el.style) { | ||
return getComputedStyle(el).getPropertyValue(stringToHyphens(prop)) || '0'; | ||
} | ||
}; | ||
}); | ||
/** @type {?} */ | ||
@@ -30,10 +52,58 @@ var t = 'transform'; | ||
/** @type {?} */ | ||
var rand = function (value) { | ||
var rand = (/** | ||
* @param {?} value | ||
* @return {?} | ||
*/ | ||
function (value) { | ||
return Math.random() * value - value / 2; | ||
}; | ||
}); | ||
/** @type {?} */ | ||
var getElement = (/** | ||
* @param {?} element | ||
* @return {?} | ||
*/ | ||
function (element) { | ||
return is.str(element) ? document.querySelector(element) : element; | ||
}); | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
/** | ||
* @record | ||
*/ | ||
function IOption() { } | ||
if (false) { | ||
/** @type {?|undefined} */ | ||
IOption.prototype.color; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.type; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.style; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.canvasPadding; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.duration; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.easing; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.direction; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.size; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.speed; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.particlesAmountCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.oscillationCoefficient; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.begin; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.width; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.height; | ||
/** @type {?|undefined} */ | ||
IOption.prototype.complete; | ||
} | ||
var Particles = /** @class */ (function () { | ||
@@ -306,3 +376,7 @@ function Particles(el, options, renderer) { | ||
var _1 = this; | ||
this.animate(function (anim) { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
@@ -314,3 +388,3 @@ var value = anim.animatables[0].target.value; | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -334,12 +408,19 @@ }; | ||
var _2 = this; | ||
this.animate(function (anim) { | ||
this.animate((/** | ||
* @param {?} anim | ||
* @return {?} | ||
*/ | ||
function (anim) { | ||
/** @type {?} */ | ||
var value = anim.animatables[0].target.value; | ||
setTimeout(function () { | ||
setTimeout((/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_2.addTransforms(value); | ||
}, _2.o.duration); | ||
}), _2.o.duration); | ||
if (_2.o.duration) { | ||
_2.addParticles(_2.rect, value / 100); | ||
} | ||
}); | ||
})); | ||
} | ||
@@ -394,7 +475,10 @@ }; | ||
update: update, | ||
complete: function () { | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
if (_.disintegrating) { | ||
_this.renderer.setStyle(_.wrapper, 'visibility', 'hidden'); | ||
} | ||
} | ||
}) | ||
}); | ||
@@ -422,6 +506,47 @@ }; | ||
}()); | ||
if (false) { | ||
/** @type {?} */ | ||
Particles.prototype.particles; | ||
/** @type {?} */ | ||
Particles.prototype.frame; | ||
/** @type {?} */ | ||
Particles.prototype.canvas; | ||
/** @type {?} */ | ||
Particles.prototype.ctx; | ||
/** @type {?} */ | ||
Particles.prototype.wrapper; | ||
/** @type {?} */ | ||
Particles.prototype.parentWrapper; | ||
/** @type {?} */ | ||
Particles.prototype.o; | ||
/** @type {?} */ | ||
Particles.prototype.disintegrating; | ||
/** @type {?} */ | ||
Particles.prototype.width; | ||
/** @type {?} */ | ||
Particles.prototype.height; | ||
/** @type {?} */ | ||
Particles.prototype.lastProgress; | ||
/** @type {?} */ | ||
Particles.prototype.rect; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.el; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.options; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
Particles.prototype.renderer; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -444,4 +569,10 @@ var ParticleEffectButtonDirective = /** @class */ (function () { | ||
this.pComplete = new EventEmitter(); | ||
this.pSize = function () { return Math.floor((Math.random() * 3) + 1); }; | ||
this.pSpeed = function () { return rand(4); }; | ||
this.pSize = (/** | ||
* @return {?} | ||
*/ | ||
function () { return Math.floor((Math.random() * 3) + 1); }); | ||
this.pSpeed = (/** | ||
* @return {?} | ||
*/ | ||
function () { return rand(4); }); | ||
} | ||
@@ -507,8 +638,14 @@ Object.defineProperty(ParticleEffectButtonDirective.prototype, "pHidden", { | ||
oscillationCoefficient: this.pOscillationCoefficient, | ||
begin: function () { | ||
begin: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pBegin.emit(); | ||
}, | ||
complete: function () { | ||
}), | ||
complete: (/** | ||
* @return {?} | ||
*/ | ||
function () { | ||
_this.pComplete.emit(); | ||
} | ||
}) | ||
}; | ||
@@ -545,7 +682,11 @@ }; | ||
var allowedProps = this.pOptions; | ||
Object.keys(options).map(function (key) { | ||
Object.keys(options).map((/** | ||
* @param {?} key | ||
* @return {?} | ||
*/ | ||
function (key) { | ||
if (allowedProps[key]) { | ||
_this[key] = options[key]; | ||
} | ||
}); | ||
})); | ||
}, | ||
@@ -583,6 +724,54 @@ enumerable: true, | ||
}()); | ||
if (false) { | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._particles; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype._pHidden; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pColor; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDuration; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pEasing; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pType; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pStyle; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pDirection; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pCanvasPadding; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pOscillationCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pParticlesAmountCoefficient; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pBegin; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pComplete; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSize; | ||
/** @type {?} */ | ||
ParticleEffectButtonDirective.prototype.pSpeed; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.renderer; | ||
/** | ||
* @type {?} | ||
* @private | ||
*/ | ||
ParticleEffectButtonDirective.prototype.el; | ||
} | ||
/** | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -603,3 +792,3 @@ var ParticleEffectButtonModule = /** @class */ (function () { | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
@@ -609,7 +798,6 @@ | ||
* @fileoverview added by tsickle | ||
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc | ||
*/ | ||
export { ParticleEffectButtonDirective, ParticleEffectButtonModule }; | ||
//# sourceMappingURL=angular-particle-effect-button.js.map | ||
//# sourceMappingURL=angular-particle-effect-button.js.map |
{ | ||
"name": "angular-particle-effect-button", | ||
"version": "0.0.42", | ||
"version": "0.0.43", | ||
"peerDependencies": { | ||
"@angular/common": "^7.2.0", | ||
"@angular/core": "^7.2.0" | ||
"@angular/common": "^8.2.0", | ||
"@angular/core": "^8.2.0" | ||
}, | ||
@@ -8,0 +8,0 @@ "dependencies": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
No README
QualityPackage does not have a README. This may indicate a failed publish or a low quality package.
Found 1 instance in 1 package
372932
4100
28
2
0
1