Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-cdk/aws-autoscaling-common

Package Overview
Dependencies
Maintainers
5
Versions
272
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-autoscaling-common - npm Package Compare versions

Comparing version 0.26.0 to 0.27.0

10

lib/interval-utils.d.ts
import { ScalingInterval } from "./types";
export interface CompleteScalingInterval {
lower: number;
upper: number;
change?: number;
readonly lower: number;
readonly upper: number;
readonly change?: number;
}

@@ -12,4 +12,4 @@ /**

export interface Alarms {
lowerAlarmIntervalIndex?: number;
upperAlarmIntervalIndex?: number;
readonly lowerAlarmIntervalIndex?: number;
readonly upperAlarmIntervalIndex?: number;
}

@@ -16,0 +16,0 @@ /**

@@ -39,8 +39,9 @@ "use strict";

while (propagateBounds(intervals)) { /* Repeat */ }
const lastIndex = intervals.length - 1;
// Validate that no intervals have undefined bounds now, which must mean they're complete.
if (intervals[0].lower === undefined) {
intervals[0].lower = 0;
intervals[0] = Object.assign({}, intervals[0], { lower: 0 });
}
if (last(intervals).upper === undefined) {
last(intervals).upper = Infinity;
if (intervals[lastIndex].upper === undefined) {
intervals[lastIndex] = Object.assign({}, intervals[lastIndex], { upper: Infinity });
}

@@ -110,5 +111,6 @@ for (const interval of intervals) {

function makeZerosUndefined(intervals) {
for (const interval of intervals) {
for (let i = 0; i < intervals.length; ++i) {
const interval = intervals[i];
if (interval.change === 0) {
interval.change = undefined;
intervals[i] = Object.assign({}, interval, { change: undefined });
}

@@ -124,3 +126,3 @@ }

if (intervals[i].change === undefined && intervals[i + 1].change === undefined) {
intervals[i].upper = intervals[i + 1].upper;
intervals[i] = Object.assign({}, intervals[i], { upper: intervals[i + 1].upper });
intervals.splice(i + 1, 1);

@@ -157,3 +159,3 @@ }

if (intervals[i].upper !== undefined && intervals[i + 1].lower === undefined) {
intervals[i + 1].lower = intervals[i].upper;
intervals[i + 1] = Object.assign({}, intervals[i + 1], { lower: intervals[i].upper });
ret = true;

@@ -165,3 +167,3 @@ }

if (intervals[i].lower !== undefined && intervals[i - 1].upper === undefined) {
intervals[i - 1].upper = intervals[i].lower;
intervals[i - 1] = Object.assign({}, intervals[i - 1], { upper: intervals[i].lower });
ret = true;

@@ -205,2 +207,2 @@ }

exports.findAlarmThresholds = findAlarmThresholds;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcnZhbC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsU0FBNEIsRUFBRSxrQkFBMkI7SUFDMUYsdUNBQXVDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELHlEQUF5RDtJQUN6RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4Qix1RkFBdUY7SUFDdkYsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUV0RCx1RUFBdUU7SUFDdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsZ0RBY0M7QUFFRDs7R0FFRztBQUNILFNBQVMseUJBQXlCLENBQUMsU0FBNEI7SUFDN0QsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDakQ7SUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JHO0tBQ0Y7SUFFRCxjQUFjO0lBQ2QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLG9EQUFvRDtJQUNwRCxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRXJHLDRDQUE0QztJQUM1QyxPQUFPLGVBQWUsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRTtJQUVuRCwwRkFBMEY7SUFDMUYsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0tBQUU7SUFDakUsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO0tBQUU7SUFDOUUsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUU7UUFDaEMsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNoRSxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRztLQUNGO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxTQUFzQyxDQUFDO0lBRWpFLHNEQUFzRDtJQUN0RCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyRCxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUMzRCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDbkk7S0FDRjtJQUVELG1CQUFtQjtJQUVuQixPQUFPLGlCQUFpQixDQUFDO0FBQzNCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILFNBQVMsaUJBQWlCLENBQUMsU0FBb0M7SUFDN0Qsa0ZBQWtGO0lBQ2xGLHFGQUFxRjtJQUNyRiwwREFBMEQ7SUFDMUQsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsRUFBRTtRQUM1QixTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDckIsS0FBSyxFQUFFLENBQUM7WUFDUixLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7WUFDekIsTUFBTSxFQUFFLFNBQVM7U0FDbEIsQ0FBQyxDQUFDO0tBQ0o7SUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUs7WUFDNUIsS0FBSyxFQUFFLFFBQVE7WUFDZixNQUFNLEVBQUUsU0FBUztTQUNsQixDQUFDLENBQUM7S0FDSjtJQUVELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUU7UUFDM0IsSUFBSSxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFO1lBQy9DLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTtnQkFDckIsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSztnQkFDN0IsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLO2dCQUN6QixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsQ0FBQyxFQUFFLENBQUM7U0FDTDtLQUNGO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxTQUFvQztJQUM5RCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDO1NBQzdCO0tBQ0Y7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGlCQUFpQixDQUFDLFNBQW9DO0lBQzdELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNWLE9BQU8sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQy9CLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1lBQzlFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDNUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzVCO2FBQU07WUFDTCxDQUFDLEVBQUUsQ0FBQztTQUNMO0tBQ0Y7QUFDSCxDQUFDO0FBRUQsU0FBUywwQkFBMEIsQ0FBQyxTQUFvQztJQUN0RSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztJQUM1RCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzFGO0FBQ0gsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQU8sS0FBa0I7SUFDakQsT0FBTyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRTtRQUNwQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLElBQUksSUFBSSxHQUFHLElBQUksRUFBRTtZQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FBRTtRQUMvQixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFBRSxPQUFPLENBQUMsQ0FBQztTQUFFO1FBQ2hDLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLFNBQTRCO0lBQ25ELElBQUksR0FBRyxHQUFHLEtBQUssQ0FBQztJQUVoQixpQ0FBaUM7SUFDakMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzdDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDNUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNaO0tBQ0Y7SUFFRCxtQ0FBbUM7SUFDbkMsS0FBSyxJQUFJLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzlDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQzVFLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDNUMsR0FBRyxHQUFHLElBQUksQ0FBQztTQUNaO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsT0FBTyxDQUFDLENBQTBCLEVBQUUsQ0FBMEI7SUFDckUsT0FBTyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ2hELENBQUM7QUFFRCxTQUFTLElBQUksQ0FBSSxFQUFPO0lBQ3RCLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQU9EOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBb0M7SUFDdEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFbEUsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbkIsT0FBTztZQUNMLHVCQUF1QixFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDaEUsdUJBQXVCLEVBQUUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3BGLENBQUM7S0FDSDtJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsRUFBRSxDQUFDO0tBQ3ZDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsQ0FBQztRQUN4Qyx1QkFBdUIsRUFBRSxXQUFXO0tBQ3JDLENBQUM7QUFDSixDQUFDO0FBcEJELGtEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjYWxpbmdJbnRlcnZhbCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwge1xuICBsb3dlcjogbnVtYmVyO1xuICB1cHBlcjogbnVtYmVyO1xuICBjaGFuZ2U/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBnaXZlbiBpbnRlcnZhbCBzZXQgdG8gY292ZXIgdGhlIGNvbXBsZXRlIG51bWJlciBsaW5lIGFuZCBtYWtlIHN1cmUgaXQgaGFzIGF0IG1vc3Qgb25lIGdhcFxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSW50ZXJ2YWxzKGludGVydmFsczogU2NhbGluZ0ludGVydmFsW10sIGNoYW5nZXNBcmVBYnNvbHV0ZTogYm9vbGVhbik6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICAvLyBNYWtlIGludGVydmFscyBhIGNvbXBsZXRlIG51bWJlcmxpbmVcbiAgY29uc3QgZnVsbCA9IG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzKTtcbiAgLy8gQWRkICd1bmRlZmluZWQncyBpbiB1bmNvdmVyZWQgYXJlYXMgb2YgdGhlIG51bWJlciBsaW5lXG4gIG1ha2VHYXBzVW5kZWZpbmVkKGZ1bGwpO1xuXG4gIC8vIEluIGNhc2Ugb2YgcmVsYXRpdmUgY2hhbmdlcywgdHJlYXQgMC1jaGFuZ2UgYWxzbyBhcyAndW5kZWZpbmVkJyAoPSBubyBjaGFuZ2UgYWN0aW9uKVxuICBpZiAoIWNoYW5nZXNBcmVBYnNvbHV0ZSkgeyBtYWtlWmVyb3NVbmRlZmluZWQoZnVsbCk7IH1cblxuICAvLyBDb21iaW5lIGFkamFjZW50IHVuZGVmaW5lcyBhbmQgbWFrZSBzdXJlIHRoZXJlJ3MgYXQgbW9zdCBvbmUgb2YgdGhlbVxuICBjb21iaW5lVW5kZWZpbmVkcyhmdWxsKTtcbiAgdmFsaWRhdGVBdE1vc3RPbmVVbmRlZmluZWQoZnVsbCk7XG5cbiAgcmV0dXJuIGZ1bGw7XG59XG5cbi8qKlxuICogQ29tcGxldGVseSBvcmRlciBzY2FsaW5nIGludGVydmFscywgbWFraW5nIHRoZWlyIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgY29uY3JldGUuXG4gKi9cbmZ1bmN0aW9uIG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSk6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICBpZiAoaW50ZXJ2YWxzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmUgYXQgbGVhc3QgMiBpbnRlcnZhbHMnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgaW50ZXJ2YWxzKSB7XG4gICAgaWYgKGludGVydmFsLmxvd2VyID09PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWwudXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdXN0IHN1cHBseSBhdCBsZWFzdCBvbmUgb2YgJ3VwcGVyJyBvciAnbG93ZXInLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkoaW50ZXJ2YWwpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBjb3B5XG4gIGludGVydmFscyA9IGludGVydmFscy5tYXAoeCA9PiAoey4uLnh9KSk7XG5cbiAgLy8gU29ydCBieSB3aGF0ZXZlciBudW1iZXIgd2UgaGF2ZSBmb3IgZWFjaCBpbnRlcnZhbFxuICBpbnRlcnZhbHMuc29ydChjb21wYXJhdG9yRnJvbUtleSgoeDogU2NhbGluZ0ludGVydmFsKSA9PiB4Lmxvd2VyICE9PSB1bmRlZmluZWQgPyB4Lmxvd2VyIDogeC51cHBlcikpO1xuXG4gIC8vIFByb3BhZ2F0ZSBib3VuZGFyaWVzIHVudGlsIG5vIG1vcmUgY2hhbmdlXG4gIHdoaWxlIChwcm9wYWdhdGVCb3VuZHMoaW50ZXJ2YWxzKSkgeyAvKiBSZXBlYXQgKi8gfVxuXG4gIC8vIFZhbGlkYXRlIHRoYXQgbm8gaW50ZXJ2YWxzIGhhdmUgdW5kZWZpbmVkIGJvdW5kcyBub3csIHdoaWNoIG11c3QgbWVhbiB0aGV5J3JlIGNvbXBsZXRlLlxuICBpZiAoaW50ZXJ2YWxzWzBdLmxvd2VyID09PSB1bmRlZmluZWQpIHsgaW50ZXJ2YWxzWzBdLmxvd2VyID0gMDsgfVxuICBpZiAobGFzdChpbnRlcnZhbHMpLnVwcGVyID09PSB1bmRlZmluZWQpIHsgbGFzdChpbnRlcnZhbHMpLnVwcGVyID0gSW5maW5pdHk7IH1cbiAgZm9yIChjb25zdCBpbnRlcnZhbCBvZiBpbnRlcnZhbHMpIHtcbiAgICBpZiAoaW50ZXJ2YWwubG93ZXIgPT09IHVuZGVmaW5lZCB8fCBpbnRlcnZhbC51cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgZm9yICR7SlNPTi5zdHJpbmdpZnkoaW50ZXJ2YWwpfWApO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvbXBsZXRlSW50ZXJ2YWxzID0gaW50ZXJ2YWxzIGFzIENvbXBsZXRlU2NhbGluZ0ludGVydmFsW107XG5cbiAgLy8gVmFsaWRhdGUgdGhhdCB3ZSBoYXZlIG5vbm92ZXJsYXBwaW5nIGludGVydmFscyBub3cuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY29tcGxldGVJbnRlcnZhbHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgaWYgKG92ZXJsYXAoY29tcGxldGVJbnRlcnZhbHNbaV0sIGNvbXBsZXRlSW50ZXJ2YWxzW2kgKyAxXSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVHdvIGludGVydmFscyBvdmVybGFwOiAke0pTT04uc3RyaW5naWZ5KGNvbXBsZXRlSW50ZXJ2YWxzW2ldKX0gYW5kICR7SlNPTi5zdHJpbmdpZnkoY29tcGxldGVJbnRlcnZhbHNbaSArIDFdKX1gKTtcbiAgICB9XG4gIH1cblxuICAvLyBGaWxsIHVwIHRoZSBnYXBzXG5cbiAgcmV0dXJuIGNvbXBsZXRlSW50ZXJ2YWxzO1xufVxuXG4vKipcbiAqIE1ha2UgdGhlIGludGVydmFscyBjb3ZlciB0aGUgY29tcGxldGUgbnVtYmVyIGxpbmVcbiAqXG4gKiBUaGlzIGVudGFpbHMgYWRkaW5nIGludGVydmFscyB3aXRoIGFuICd1bmRlZmluZWQnIGNoYW5nZSB0byBmaWxsIHVwIHRoZSBnYXBzLlxuICpcbiAqIFNpbmNlIG1ldHJpY3MgaGF2ZSBhIGhhbGZvcGVuIGludGVydmFsLCB0aGUgZmlyc3Qgb25lIHdpbGwgZ2V0IGEgbG93ZXIgYm91bmRcbiAqIG9mIDAsIHRoZSBsYXN0IG9uZSB3aWxsIGdldCBhbiB1cHBlciBib3VuZCBvZiArSW5maW5pdHkuXG4gKlxuICogSW4gY2FzZSBvZiBhYnNvbHV0ZSBhZGp1c3RtZW50cywgdGhlIGxvd2VyIG51bWJlciBvZiB0aGUgYWRqYWNlbnQgYm91bmQgd2lsbFxuICogYmUgdXNlZCwgd2hpY2ggbWVhbnMgY29uc2VydmF0aXZlIGNoYW5nZS4gSW4gY2FzZSBvZiByZWxhdGl2ZSBhZGp1c3RtZW50cyxcbiAqIHdlJ2xsIHVzZSByZWxhdGl2ZSBhZGp1c21lbnQgMCAod2hpY2ggbWVhbnMgbm8gY2hhbmdlKS5cbiAqL1xuZnVuY3Rpb24gbWFrZUdhcHNVbmRlZmluZWQoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKSB7XG4gIC8vIEFkZCBlZGdlIGludGVydmFscyBpZiBuZWNlc3NhcnksIGJ1dCBvbmx5IGZvciByZWxhdGl2ZSBhZGp1c3RtZW50cy4gU2luY2Ugd2UncmVcbiAgLy8gZ29pbmcgdG8gbWFrZSBzY2FsaW5nIGludGVydmFscyBleHRlbmQgYWxsIHRoZSB3YXkgb3V0IHRvIGluZmluaXR5IG9uIGVpdGhlciBzaWRlLFxuICAvLyB0aGUgcmVzdWx0IGlzIHRoZSBzYW1lIGZvciBhYnNvbHV0ZSBhZGp1c3RtZW50cyBhbnl3YXkuXG4gIGlmIChpbnRlcnZhbHNbMF0ubG93ZXIgIT09IDApIHtcbiAgICBpbnRlcnZhbHMuc3BsaWNlKDAsIDEsIHtcbiAgICAgIGxvd2VyOiAwLFxuICAgICAgdXBwZXI6IGludGVydmFsc1swXS5sb3dlcixcbiAgICAgIGNoYW5nZTogdW5kZWZpbmVkLFxuICAgIH0pO1xuICB9XG4gIGlmIChsYXN0KGludGVydmFscykudXBwZXIgIT09IEluZmluaXR5KSB7XG4gICAgaW50ZXJ2YWxzLnB1c2goe1xuICAgICAgbG93ZXI6IGxhc3QoaW50ZXJ2YWxzKS51cHBlcixcbiAgICAgIHVwcGVyOiBJbmZpbml0eSxcbiAgICAgIGNoYW5nZTogdW5kZWZpbmVkXG4gICAgfSk7XG4gIH1cblxuICBsZXQgaSA9IDE7XG4gIHdoaWxlIChpIDwgaW50ZXJ2YWxzLmxlbmd0aCkge1xuICAgIGlmIChpbnRlcnZhbHNbaSAtIDFdLnVwcGVyIDwgaW50ZXJ2YWxzW2ldLmxvd2VyKSB7XG4gICAgICBpbnRlcnZhbHMuc3BsaWNlKGksIDAsIHtcbiAgICAgICAgbG93ZXI6IGludGVydmFsc1tpIC0gMV0udXBwZXIsXG4gICAgICAgIHVwcGVyOiBpbnRlcnZhbHNbaV0ubG93ZXIsXG4gICAgICAgIGNoYW5nZTogdW5kZWZpbmVkXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSsrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFR1cm4gemVybyBjaGFuZ2VzIGludG8gdW5kZWZpbmVkLCBpbi1wbGFjZVxuICovXG5mdW5jdGlvbiBtYWtlWmVyb3NVbmRlZmluZWQoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKSB7XG4gIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgaW50ZXJ2YWxzKSB7XG4gICAgaWYgKGludGVydmFsLmNoYW5nZSA9PT0gMCkge1xuICAgICAgaW50ZXJ2YWwuY2hhbmdlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElmIHRoZXJlIGFyZSBhZGphY2VudCBcInVuZGVmaW5lZFwiIGludGVydmFscywgY29tYmluZSB0aGVtXG4gKi9cbmZ1bmN0aW9uIGNvbWJpbmVVbmRlZmluZWRzKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEpIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmNoYW5nZSA9PT0gdW5kZWZpbmVkICYmIGludGVydmFsc1tpICsgMV0uY2hhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpXS51cHBlciA9IGludGVydmFsc1tpICsgMV0udXBwZXI7XG4gICAgICBpbnRlcnZhbHMuc3BsaWNlKGkgKyAxLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSsrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUF0TW9zdE9uZVVuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgY29uc3QgdW5kZWYgPSBpbnRlcnZhbHMuZmlsdGVyKHggPT4geC5jaGFuZ2UgPT09IHVuZGVmaW5lZCk7XG4gIGlmICh1bmRlZi5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW4gaGF2ZSBhdCBtb3N0IG9uZSBuby1jaGFuZ2UgaW50ZXJ2YWwsIGdvdCAke0pTT04uc3RyaW5naWZ5KHVuZGVmKX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21wYXJhdG9yRnJvbUtleTxULCBVPihrZXlGbjogKHg6IFQpID0+IFUpIHtcbiAgcmV0dXJuIChhOiBULCBiOiBUKSA9PiB7XG4gICAgY29uc3Qga2V5QSA9IGtleUZuKGEpO1xuICAgIGNvbnN0IGtleUIgPSBrZXlGbihiKTtcblxuICAgIGlmIChrZXlBIDwga2V5QikgeyByZXR1cm4gLTE7IH1cbiAgICBpZiAoa2V5QSA9PT0ga2V5QikgeyByZXR1cm4gMDsgfVxuICAgIHJldHVybiAxO1xuICB9O1xufVxuXG5mdW5jdGlvbiBwcm9wYWdhdGVCb3VuZHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBsZXQgcmV0ID0gZmFsc2U7XG5cbiAgLy8gUHJvcGFnYXRlIHVwcGVyIGJvdW5kcyB1cHdhcmRzXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGlmIChpbnRlcnZhbHNbaV0udXBwZXIgIT09IHVuZGVmaW5lZCAmJiBpbnRlcnZhbHNbaSArIDFdLmxvd2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpICsgMV0ubG93ZXIgPSBpbnRlcnZhbHNbaV0udXBwZXI7XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByb3BhZ2F0ZSBsb3dlciBib3VuZHMgZG93bndhcmRzXG4gIGZvciAobGV0IGkgPSBpbnRlcnZhbHMubGVuZ3RoIC0gMTsgaSA+PSAxOyBpLS0pIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmxvd2VyICE9PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgLSAxXS51cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlcnZhbHNbaSAtIDFdLnVwcGVyID0gaW50ZXJ2YWxzW2ldLmxvd2VyO1xuICAgICAgcmV0ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdHdvIGludGVydmFscyBvdmVybGFwXG4gKi9cbmZ1bmN0aW9uIG92ZXJsYXAoYTogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwsIGI6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsKSB7XG4gIHJldHVybiBhLmxvd2VyIDwgYi51cHBlciAmJiBhLnVwcGVyID4gYi5sb3dlcjtcbn1cblxuZnVuY3Rpb24gbGFzdDxUPih4czogVFtdKSB7XG4gIHJldHVybiB4c1t4cy5sZW5ndGggLSAxXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbGFybXMge1xuICBsb3dlckFsYXJtSW50ZXJ2YWxJbmRleD86IG51bWJlcjtcbiAgdXBwZXJBbGFybUludGVydmFsSW5kZXg/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTG9jYXRlIHRoZSBpbnRlcnZhbHMgdGhhdCBzaG91bGQgaGF2ZSB0aGUgYWxhcm0gdGhyZXNob2xkcywgYnkgaW5kZXguXG4gKlxuICogUGljayB0aGUgaW50ZXJ2YWxzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBzaW5nbGV0b24gXCJ1bmRlZmluZWRcIiBpbnRlcnZhbCwgb3JcbiAqIHBpY2sgdGhlIG1pZGRsZSBpbnRlcnZhbCBpZiB0aGVyZSdzIG5vIHN1Y2ggaW50ZXJ2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kQWxhcm1UaHJlc2hvbGRzKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSk6IEFsYXJtcyB7XG4gIGNvbnN0IGdhcEluZGV4ID0gaW50ZXJ2YWxzLmZpbmRJbmRleCh4ID0+IHguY2hhbmdlID09PSB1bmRlZmluZWQpO1xuXG4gIGlmIChnYXBJbmRleCAhPT0gLTEpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbG93ZXJBbGFybUludGVydmFsSW5kZXg6IGdhcEluZGV4ID4gMCA/IGdhcEluZGV4IC0gMSA6IHVuZGVmaW5lZCxcbiAgICAgIHVwcGVyQWxhcm1JbnRlcnZhbEluZGV4OiBnYXBJbmRleCA8IGludGVydmFscy5sZW5ndGggLSAxID8gZ2FwSW5kZXggKyAxIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBpZiAoaW50ZXJ2YWxzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiB7IHVwcGVyQWxhcm1JbnRlcnZhbEluZGV4OiAwIH07XG4gIH1cblxuICBjb25zdCBtaWRkbGVJbmRleCA9IE1hdGguZmxvb3IoaW50ZXJ2YWxzLmxlbmd0aCAvIDIpO1xuXG4gIHJldHVybiB7XG4gICAgbG93ZXJBbGFybUludGVydmFsSW5kZXg6IG1pZGRsZUluZGV4IC0gMSxcbiAgICB1cHBlckFsYXJtSW50ZXJ2YWxJbmRleDogbWlkZGxlSW5kZXhcbiAgfTtcbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcnZhbC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsU0FBNEIsRUFBRSxrQkFBMkI7SUFDMUYsdUNBQXVDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELHlEQUF5RDtJQUN6RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4Qix1RkFBdUY7SUFDdkYsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUV0RCx1RUFBdUU7SUFDdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsZ0RBY0M7QUFFRDs7R0FFRztBQUNILFNBQVMseUJBQXlCLENBQUMsU0FBNEI7SUFDN0QsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDakQ7SUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JHO0tBQ0Y7SUFFRCxjQUFjO0lBQ2QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLG9EQUFvRDtJ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QUFDLENBQUM7QUFDM0IsQ0FBQztBQU9EOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBb0M7SUFDdEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFbEUsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbkIsT0FBTztZQUNMLHVCQUF1QixFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDaEUsdUJBQXVCLEVBQUUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3BGLENBQUM7S0FDSDtJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsRUFBRSxDQUFDO0tBQ3ZDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsQ0FBQztRQUN4Qyx1QkFBdUIsRUFBRSxXQUFXO0tBQ3JDLENBQUM7QUFDSixDQUFDO0FBcEJELGtEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjYWxpbmdJbnRlcnZhbCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwge1xuICByZWFkb25seSBsb3dlcjogbnVtYmVyO1xuICByZWFkb25seSB1cHBlcjogbnVtYmVyO1xuICByZWFkb25seSBjaGFuZ2U/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBnaXZlbiBpbnRlcnZhbCBzZXQgdG8gY292ZXIgdGhlIGNvbXBsZXRlIG51bWJlciBsaW5lIGFuZCBtYWtlIHN1cmUgaXQgaGFzIGF0IG1vc3Qgb25lIGdhcFxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSW50ZXJ2YWxzKGludGVydmFsczogU2NhbGluZ0ludGVydmFsW10sIGNoYW5nZXNBcmVBYnNvbHV0ZTogYm9vbGVhbik6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICAvLyBNYWtlIGludGVydmFscyBhIGNvbXBsZXRlIG51bWJlcmxpbmVcbiAgY29uc3QgZnVsbCA9IG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzKTtcbiAgLy8gQWRkICd1bmRlZmluZWQncyBpbiB1bmNvdmVyZWQgYXJlYXMgb2YgdGhlIG51bWJlciBsaW5lXG4gIG1ha2VHYXBzVW5kZWZpbmVkKGZ1bGwpO1xuXG4gIC8vIEluIGNhc2Ugb2YgcmVsYXRpdmUgY2hhbmdlcywgdHJlYXQgMC1jaGFuZ2UgYWxzbyBhcyAndW5kZWZpbmVkJyAoPSBubyBjaGFuZ2UgYWN0aW9uKVxuICBpZiAoIWNoYW5nZXNBcmVBYnNvbHV0ZSkgeyBtYWtlWmVyb3NVbmRlZmluZWQoZnVsbCk7IH1cblxuICAvLyBDb21iaW5lIGFkamFjZW50IHVuZGVmaW5lcyBhbmQgbWFrZSBzdXJlIHRoZXJlJ3MgYXQgbW9zdCBvbmUgb2YgdGhlbVxuICBjb21iaW5lVW5kZWZpbmVkcyhmdWxsKTtcbiAgdmFsaWRhdGVBdE1vc3RPbmVVbmRlZmluZWQoZnVsbCk7XG5cbiAgcmV0dXJuIGZ1bGw7XG59XG5cbi8qKlxuICogQ29tcGxldGVseSBvcmRlciBzY2FsaW5nIGludGVydmFscywgbWFraW5nIHRoZWlyIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgY29uY3JldGUuXG4gKi9cbmZ1bmN0aW9uIG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSk6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICBpZiAoaW50ZXJ2YWxzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmUgYXQgbGVhc3QgMiBpbnRlcnZhbHMnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgaW50ZXJ2YWxzKSB7XG4gICAgaWYgKGludGVydmFsLmxvd2VyID09PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWwudXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdXN0IHN1cHBseSBhdCBsZWFzdCBvbmUgb2YgJ3VwcGVyJyBvciAnbG93ZXInLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkoaW50ZXJ2YWwpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBjb3B5XG4gIGludGVydmFscyA9IGludGVydmFscy5tYXAoeCA9PiAoey4uLnh9KSk7XG5cbiAgLy8gU29ydCBieSB3aGF0ZXZlciBudW1iZXIgd2UgaGF2ZSBmb3IgZWFjaCBpbnRlcnZhbFxuICBpbnRlcnZhbHMuc29ydChjb21wYXJhdG9yRnJvbUtleSgoeDogU2NhbGluZ0ludGVydmFsKSA9PiB4Lmxvd2VyICE9PSB1bmRlZmluZWQgPyB4Lmxvd2VyIDogeC51cHBlcikpO1xuXG4gIC8vIFByb3BhZ2F0ZSBib3VuZGFyaWVzIHVudGlsIG5vIG1vcmUgY2hhbmdlXG4gIHdoaWxlIChwcm9wYWdhdGVCb3VuZHMoaW50ZXJ2YWxzKSkgeyAvKiBSZXBlYXQgKi8gfVxuXG4gIGNvbnN0IGxhc3RJbmRleCA9IGludGVydmFscy5sZW5ndGggLSAxO1xuXG4gIC8vIFZhbGlkYXRlIHRoYXQgbm8gaW50ZXJ2YWxzIGhhdmUgdW5kZWZpbmVkIGJvdW5kcyBub3csIHdoaWNoIG11c3QgbWVhbiB0aGV5J3JlIGNvbXBsZXRlLlxuICBpZiAoaW50ZXJ2YWxzWzBdLmxvd2VyID09PSB1bmRlZmluZWQpIHsgaW50ZXJ2YWxzWzBdID0geyAuLi5pbnRlcnZhbHNbMF0sIGxvd2VyOiAwIH07IH1cbiAgaWYgKGludGVydmFsc1tsYXN0SW5kZXhdLnVwcGVyID09PSB1bmRlZmluZWQpIHsgaW50ZXJ2YWxzW2xhc3RJbmRleF0gPSB7IC4uLmludGVydmFsc1tsYXN0SW5kZXhdLCB1cHBlcjogSW5maW5pdHkgfTsgfVxuICBmb3IgKGNvbnN0IGludGVydmFsIG9mIGludGVydmFscykge1xuICAgIGlmIChpbnRlcnZhbC5sb3dlciA9PT0gdW5kZWZpbmVkIHx8IGludGVydmFsLnVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBmb3IgJHtKU09OLnN0cmluZ2lmeShpbnRlcnZhbCl9YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29tcGxldGVJbnRlcnZhbHMgPSBpbnRlcnZhbHMgYXMgQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXTtcblxuICAvLyBWYWxpZGF0ZSB0aGF0IHdlIGhhdmUgbm9ub3ZlcmxhcHBpbmcgaW50ZXJ2YWxzIG5vdy5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wbGV0ZUludGVydmFscy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBpZiAob3ZlcmxhcChjb21wbGV0ZUludGVydmFsc1tpXSwgY29tcGxldGVJbnRlcnZhbHNbaSArIDFdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUd28gaW50ZXJ2YWxzIG92ZXJsYXA6ICR7SlNPTi5zdHJpbmdpZnkoY29tcGxldGVJbnRlcnZhbHNbaV0pfSBhbmQgJHtKU09OLnN0cmluZ2lmeShjb21wbGV0ZUludGVydmFsc1tpICsgMV0pfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpbGwgdXAgdGhlIGdhcHNcblxuICByZXR1cm4gY29tcGxldGVJbnRlcnZhbHM7XG59XG5cbi8qKlxuICogTWFrZSB0aGUgaW50ZXJ2YWxzIGNvdmVyIHRoZSBjb21wbGV0ZSBudW1iZXIgbGluZVxuICpcbiAqIFRoaXMgZW50YWlscyBhZGRpbmcgaW50ZXJ2YWxzIHdpdGggYW4gJ3VuZGVmaW5lZCcgY2hhbmdlIHRvIGZpbGwgdXAgdGhlIGdhcHMuXG4gKlxuICogU2luY2UgbWV0cmljcyBoYXZlIGEgaGFsZm9wZW4gaW50ZXJ2YWwsIHRoZSBmaXJzdCBvbmUgd2lsbCBnZXQgYSBsb3dlciBib3VuZFxuICogb2YgMCwgdGhlIGxhc3Qgb25lIHdpbGwgZ2V0IGFuIHVwcGVyIGJvdW5kIG9mICtJbmZpbml0eS5cbiAqXG4gKiBJbiBjYXNlIG9mIGFic29sdXRlIGFkanVzdG1lbnRzLCB0aGUgbG93ZXIgbnVtYmVyIG9mIHRoZSBhZGphY2VudCBib3VuZCB3aWxsXG4gKiBiZSB1c2VkLCB3aGljaCBtZWFucyBjb25zZXJ2YXRpdmUgY2hhbmdlLiBJbiBjYXNlIG9mIHJlbGF0aXZlIGFkanVzdG1lbnRzLFxuICogd2UnbGwgdXNlIHJlbGF0aXZlIGFkanVzbWVudCAwICh3aGljaCBtZWFucyBubyBjaGFuZ2UpLlxuICovXG5mdW5jdGlvbiBtYWtlR2Fwc1VuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgLy8gQWRkIGVkZ2UgaW50ZXJ2YWxzIGlmIG5lY2Vzc2FyeSwgYnV0IG9ubHkgZm9yIHJlbGF0aXZlIGFkanVzdG1lbnRzLiBTaW5jZSB3ZSdyZVxuICAvLyBnb2luZyB0byBtYWtlIHNjYWxpbmcgaW50ZXJ2YWxzIGV4dGVuZCBhbGwgdGhlIHdheSBvdXQgdG8gaW5maW5pdHkgb24gZWl0aGVyIHNpZGUsXG4gIC8vIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgZm9yIGFic29sdXRlIGFkanVzdG1lbnRzIGFueXdheS5cbiAgaWYgKGludGVydmFsc1swXS5sb3dlciAhPT0gMCkge1xuICAgIGludGVydmFscy5zcGxpY2UoMCwgMSwge1xuICAgICAgbG93ZXI6IDAsXG4gICAgICB1cHBlcjogaW50ZXJ2YWxzWzBdLmxvd2VyLFxuICAgICAgY2hhbmdlOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cbiAgaWYgKGxhc3QoaW50ZXJ2YWxzKS51cHBlciAhPT0gSW5maW5pdHkpIHtcbiAgICBpbnRlcnZhbHMucHVzaCh7XG4gICAgICBsb3dlcjogbGFzdChpbnRlcnZhbHMpLnVwcGVyLFxuICAgICAgdXBwZXI6IEluZmluaXR5LFxuICAgICAgY2hhbmdlOiB1bmRlZmluZWRcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBpID0gMTtcbiAgd2hpbGUgKGkgPCBpbnRlcnZhbHMubGVuZ3RoKSB7XG4gICAgaWYgKGludGVydmFsc1tpIC0gMV0udXBwZXIgPCBpbnRlcnZhbHNbaV0ubG93ZXIpIHtcbiAgICAgIGludGVydmFscy5zcGxpY2UoaSwgMCwge1xuICAgICAgICBsb3dlcjogaW50ZXJ2YWxzW2kgLSAxXS51cHBlcixcbiAgICAgICAgdXBwZXI6IGludGVydmFsc1tpXS5sb3dlcixcbiAgICAgICAgY2hhbmdlOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpKys7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHVybiB6ZXJvIGNoYW5nZXMgaW50byB1bmRlZmluZWQsIGluLXBsYWNlXG4gKi9cbmZ1bmN0aW9uIG1ha2VaZXJvc1VuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnRlcnZhbHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IGludGVydmFsc1tpXTtcbiAgICBpZiAoaW50ZXJ2YWwuY2hhbmdlID09PSAwKSB7XG4gICAgICBpbnRlcnZhbHNbaV0gPSB7IC4uLmludGVydmFsLCBjaGFuZ2U6IHVuZGVmaW5lZCB9O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElmIHRoZXJlIGFyZSBhZGphY2VudCBcInVuZGVmaW5lZFwiIGludGVydmFscywgY29tYmluZSB0aGVtXG4gKi9cbmZ1bmN0aW9uIGNvbWJpbmVVbmRlZmluZWRzKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEpIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmNoYW5nZSA9PT0gdW5kZWZpbmVkICYmIGludGVydmFsc1tpICsgMV0uY2hhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpXSA9IHsgLi4uaW50ZXJ2YWxzW2ldLCB1cHBlcjogaW50ZXJ2YWxzW2kgKyAxXS51cHBlciB9O1xuICAgICAgaW50ZXJ2YWxzLnNwbGljZShpICsgMSwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGkrKztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBdE1vc3RPbmVVbmRlZmluZWQoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKSB7XG4gIGNvbnN0IHVuZGVmID0gaW50ZXJ2YWxzLmZpbHRlcih4ID0+IHguY2hhbmdlID09PSB1bmRlZmluZWQpO1xuICBpZiAodW5kZWYubGVuZ3RoID4gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2FuIGhhdmUgYXQgbW9zdCBvbmUgbm8tY2hhbmdlIGludGVydmFsLCBnb3QgJHtKU09OLnN0cmluZ2lmeSh1bmRlZil9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyYXRvckZyb21LZXk8VCwgVT4oa2V5Rm46ICh4OiBUKSA9PiBVKSB7XG4gIHJldHVybiAoYTogVCwgYjogVCkgPT4ge1xuICAgIGNvbnN0IGtleUEgPSBrZXlGbihhKTtcbiAgICBjb25zdCBrZXlCID0ga2V5Rm4oYik7XG5cbiAgICBpZiAoa2V5QSA8IGtleUIpIHsgcmV0dXJuIC0xOyB9XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHsgcmV0dXJuIDA7IH1cbiAgICByZXR1cm4gMTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQm91bmRzKGludGVydmFsczogU2NhbGluZ0ludGVydmFsW10pIHtcbiAgbGV0IHJldCA9IGZhbHNlO1xuXG4gIC8vIFByb3BhZ2F0ZSB1cHBlciBib3VuZHMgdXB3YXJkc1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGludGVydmFscy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLnVwcGVyICE9PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgKyAxXS5sb3dlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlcnZhbHNbaSArIDFdID0geyAuLi5pbnRlcnZhbHNbaSArIDFdLCBsb3dlcjogaW50ZXJ2YWxzW2ldLnVwcGVyIH07XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByb3BhZ2F0ZSBsb3dlciBib3VuZHMgZG93bndhcmRzXG4gIGZvciAobGV0IGkgPSBpbnRlcnZhbHMubGVuZ3RoIC0gMTsgaSA+PSAxOyBpLS0pIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmxvd2VyICE9PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgLSAxXS51cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlcnZhbHNbaSAtIDFdID0geyAuLi5pbnRlcnZhbHNbaSAtIDFdLCB1cHBlcjogaW50ZXJ2YWxzW2ldLmxvd2VyIH07XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbi8qKlxuICogV2hldGhlciB0d28gaW50ZXJ2YWxzIG92ZXJsYXBcbiAqL1xuZnVuY3Rpb24gb3ZlcmxhcChhOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbCwgYjogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwpIHtcbiAgcmV0dXJuIGEubG93ZXIgPCBiLnVwcGVyICYmIGEudXBwZXIgPiBiLmxvd2VyO1xufVxuXG5mdW5jdGlvbiBsYXN0PFQ+KHhzOiBUW10pIHtcbiAgcmV0dXJuIHhzW3hzLmxlbmd0aCAtIDFdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtcyB7XG4gIHJlYWRvbmx5IGxvd2VyQWxhcm1JbnRlcnZhbEluZGV4PzogbnVtYmVyO1xuICByZWFkb25seSB1cHBlckFsYXJtSW50ZXJ2YWxJbmRleD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMb2NhdGUgdGhlIGludGVydmFscyB0aGF0IHNob3VsZCBoYXZlIHRoZSBhbGFybSB0aHJlc2hvbGRzLCBieSBpbmRleC5cbiAqXG4gKiBQaWNrIHRoZSBpbnRlcnZhbHMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIHNpbmdsZXRvbiBcInVuZGVmaW5lZFwiIGludGVydmFsLCBvclxuICogcGljayB0aGUgbWlkZGxlIGludGVydmFsIGlmIHRoZXJlJ3Mgbm8gc3VjaCBpbnRlcnZhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRBbGFybVRocmVzaG9sZHMoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKTogQWxhcm1zIHtcbiAgY29uc3QgZ2FwSW5kZXggPSBpbnRlcnZhbHMuZmluZEluZGV4KHggPT4geC5jaGFuZ2UgPT09IHVuZGVmaW5lZCk7XG5cbiAgaWYgKGdhcEluZGV4ICE9PSAtMSkge1xuICAgIHJldHVybiB7XG4gICAgICBsb3dlckFsYXJtSW50ZXJ2YWxJbmRleDogZ2FwSW5kZXggPiAwID8gZ2FwSW5kZXggLSAxIDogdW5kZWZpbmVkLFxuICAgICAgdXBwZXJBbGFybUludGVydmFsSW5kZXg6IGdhcEluZGV4IDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEgPyBnYXBJbmRleCArIDEgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChpbnRlcnZhbHMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHsgdXBwZXJBbGFybUludGVydmFsSW5kZXg6IDAgfTtcbiAgfVxuXG4gIGNvbnN0IG1pZGRsZUluZGV4ID0gTWF0aC5mbG9vcihpbnRlcnZhbHMubGVuZ3RoIC8gMik7XG5cbiAgcmV0dXJuIHtcbiAgICBsb3dlckFsYXJtSW50ZXJ2YWxJbmRleDogbWlkZGxlSW5kZXggLSAxLFxuICAgIHVwcGVyQWxhcm1JbnRlcnZhbEluZGV4OiBtaWRkbGVJbmRleFxuICB9O1xufSJdfQ==

@@ -19,4 +19,4 @@ import appscaling = require('../lib');

export interface ArbitraryIntervals {
absolute: boolean;
intervals: appscaling.ScalingInterval[];
readonly absolute: boolean;
readonly intervals: appscaling.ScalingInterval[];
}

@@ -36,3 +36,3 @@ "use strict";

else {
noChanges[0].change = -1 * factor + bias;
noChanges[0] = Object.assign({}, noChanges[0], { change: -1 * factor + bias });
}

@@ -45,3 +45,3 @@ }

else {
noChanges[1].change = 1 * factor + bias;
noChanges[1] = Object.assign({}, noChanges[1], { change: 1 * factor + bias });
}

@@ -58,4 +58,4 @@ }

else {
noChanges[0].change = -1 * factor + bias;
noChanges[1].change = 1 * factor + bias;
noChanges[0] = Object.assign({}, noChanges[0], { change: -1 * factor + bias });
noChanges[1] = Object.assign({}, noChanges[1], { change: 1 * factor + bias });
}

@@ -80,3 +80,3 @@ }

if (ret[i].upper !== undefined && (i === 0 || ret[i - 1].upper !== undefined)) {
ret[i].lower = undefined;
ret[i] = Object.assign({}, ret[i], { lower: undefined });
}

@@ -88,3 +88,3 @@ }

if (ret[i].lower !== undefined && (i === ret.length - 1 || ret[i + 1].lower !== undefined)) {
ret[i].upper = undefined;
ret[i] = Object.assign({}, ret[i], { upper: undefined });
}

@@ -96,2 +96,2 @@ }

exports.generateArbitraryIntervals = generateArbitraryIntervals;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsSUFBc0I7SUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQThCLENBQUM7SUFFcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBDLGtDQUFrQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVB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LEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUE5RUQsZ0VBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFwcHNjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcblxuLyoqXG4gKiBBcmJpdHJhcnkgKHZhbGlkKSBhcnJheSBvZiBpbnRlcnZhbHNcbiAqXG4gKiBUaGVyZSBhcmUgbWFueSBpbnZhbGlkIGNvbWJpbmF0aW9ucyBvZiBpbnRlcnZhbCBhcnJheXMsIHNvIHdlIGhhdmVcbiAqIHRvIGJlIHZlcnkgc3BlY2lmaWMgYWJvdXQgZ2VuZXJhdGluZyBhcnJheXMgdGhhdCBhcmUgdmFsaWQuIFdlIGRvIHRoaXNcbiAqIGJ5IHRha2luZyBhIGZ1bGwsIHZhbGlkIGludGVydmFsIHNjaGVkdWxlIGFuZCBwcm9ncmVzc2l2ZWx5IHN0cmlwcGluZyBwYXJ0c1xuICogYXdheSBmcm9tIGl0LlxuICpcbiAqIFNvbWUgb2YgdGhlIGNoYW5nZXMgbWF5IGNoYW5nZSBpdHMgbWVhbmluZywgYnV0IHdlIHRha2UgY2FyZSB0byBuZXZlciBsZWF2ZVxuICogYSBzY2hlZHVsZSB3aXRoIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbiBzbyB0aGF0IHRoZSBwYXJzZXIgd2lsbCBlcnJvciBvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFyYml0cmFyeUludGVydmFscyhtcm5nOiBJUmFuZG9tR2VuZXJhdG9yKTogQXJiaXRyYXJ5SW50ZXJ2YWxzIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8YXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWw+KCk7XG5cbiAgICBjb25zdCBhYnNvbHV0ZSA9IG1ybmcubmV4dEJvb2xlYW4oKTtcblxuICAgIC8vIEFzY2VuZGluZyBvciBkZXNjZW5kaW5nIHNjYWxpbmdcbiAgICBjb25zdCBmYWN0b3IgPSAobXJuZy5uZXh0Qm9vbGVhbigpID8gMSA6IC0xKSAqIChhYnNvbHV0ZSA/IDEwIDogMSk7XG4gICAgY29uc3QgYmlhcyA9IGFic29sdXRlID8gNTAgOiAwO1xuXG4gICAgLy8gQmVnaW4gd2l0aCBhIGZ1bGwgc2NoZWR1bGVcbiAgICByZXQucHVzaCh7IGxvd2VyOiAwLCB1cHBlcjogMTAsIGNoYW5nZTogLTIgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDEwLCB1cHBlcjogMjAsIGNoYW5nZTogLTEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDIwLCB1cHBlcjogNjAsIGNoYW5nZTogMCArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogNjAsIHVwcGVyOiA4MCwgY2hhbmdlOiAwICsgYmlhcyB9KTtcbiAgICByZXQucHVzaCh7IGxvd2VyOiA4MCwgdXBwZXI6IDkwLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDkwLCB1cHBlcjogSW5maW5pdHksIGNoYW5nZTogMiAqIGZhY3RvciArIGJpYXN9KTtcblxuICAgIC8vIFRha2UgYXdheSBwYXJ0cyBmcm9tIHRoaXMuIEZpcnN0IHdlIHNlZSBpZiB3ZSBkbyBzb21ldGhpbmcgdG8gdGhlIDAtY2hhbmdlIGFsYXJtcy5cbiAgICAvLyBUaGUgYWN0aW9ucyBjYW4gYmU6IHJlbW92ZSBpdCBPUiB0dXJuIGl0IGludG8gYSByZWd1bGFyIGNoYW5nZSB2YWx1ZS5cbiAgICBjb25zdCBub0NoYW5nZXMgPSByZXQuZmlsdGVyKHggPT4geC5jaGFuZ2UgPT09IGJpYXMpO1xuXG4gICAgaWYgKCFhYnNvbHV0ZSkge1xuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMF0pLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub0NoYW5nZXNbMF0uY2hhbmdlID0gLTEgKiBmYWN0b3IgKyBiaWFzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1sxXSksIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vQ2hhbmdlc1sxXS5jaGFuZ2UgPSAxICogZmFjdG9yICsgYmlhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJbiBhYnNvbHV0ZSBtb2RlIGJvdGggaGF2ZSB0byBnZXQgdGhlIHNhbWUgdHJlYXRtZW50IGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgIC8vIG90aGVyd2lzZSB3ZSdsbCBlbmQgdXAgd2l0aCBhIHRpbWVsaW5lIHdpdGggdHdvIGdhcHNcbiAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMF0pLCAxKTtcbiAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMV0pLCAxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vQ2hhbmdlc1swXS5jaGFuZ2UgPSAtMSAqIGZhY3RvciArIGJpYXM7XG4gICAgICAgIG5vQ2hhbmdlc1sxXS5jaGFuZ2UgPSAxICogZmFjdG9yICsgYmlhcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXZSBtaWdodCBhbHNvIHRha2UgYXdheSBlaXRoZXIgdGhlIGJvdHRvbSBvciB0aGUgdXBwZXIgaGFsZlxuICAgIGlmIChtcm5nLm5leHRJbnQoMCwgMikgPT09IDApIHtcbiAgICAgIGNvbnN0IHNpZ25Ub1N0cmlwID0gbXJuZy5uZXh0Qm9vbGVhbigpID8gLTEgOiAxO1xuICAgICAgbGV0IGl4ID0gcmV0LmZpbmRJbmRleCh4ID0+IE1hdGguc2lnbih4LmNoYW5nZSAtIGJpYXMpID09PSBzaWduVG9TdHJpcCk7XG4gICAgICB3aGlsZSAoaXggPj0gMCkge1xuICAgICAgICByZXQuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgaXggPSByZXQuZmluZEluZGV4KHggPT4gTWF0aC5zaWduKHguY2hhbmdlIC0gYmlhcykgPT09IHNpZ25Ub1N0cmlwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGVuIHdlJ3JlIGdvaW5nIHRvIGFyYml0cmFyaWx5IGdldCByaWQgb2YgYm91bmRzIGluIHRoZSBtb3N0IG5haXZlIHdheSBwb3NzaWJsZVxuICAgIGNvbnN0IGl0ZXJhdGlvbnMgPSBtcm5nLm5leHRJbnQoMCwgMTApO1xuICAgIGZvciAobGV0IGl0ZXIgPSAwOyBpdGVyIDwgaXRlcmF0aW9uczsgaXRlcisrKSB7XG4gICAgICBjb25zdCBpID0gbXJuZy5uZXh0SW50KDAsIHJldC5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgLy8gc2NyYXAgbG93ZXIgYm91bmRcbiAgICAgICAgLy8gb2theSBpZiBjdXJyZW50IGludGVydmFsIGhhcyBhbiB1cHBlciBib3VuZCBBTkQgdGhlIHByZWNlZGluZyBpbnRlcnZhbCBoYXMgYW4gdXBwZXIgYm91bmRcbiAgICAgICAgaWYgKHJldFtpXS51cHBlciAhPT0gdW5kZWZpbmVkICYmIChpID09PSAwIHx8IHJldFtpIC0gMV0udXBwZXIgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICByZXRbaV0ubG93ZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHNjcmFwIHVwcGVyIGJvdW5kXG4gICAgICAgIC8vIG9rYXkgaWYgY3VycmVudCBpbnRlcnZhbCBoYXMgYSBsb3dlciBib3VuZCBBTkQgdGhlIHN1Y2NlZWRpbmcgaW50ZXJ2YWwgaGFzIGEgbG93ZXIgYm91bmRcbiAgICAgICAgaWYgKHJldFtpXS5sb3dlciAhPT0gdW5kZWZpbmVkICYmIChpID09PSByZXQubGVuZ3RoIC0gMSB8fCByZXRbaSArIDFdLmxvd2VyICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgcmV0W2ldLnVwcGVyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgYWJzb2x1dGUsIGludGVydmFsczogcmV0IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJhbmRvbUdlbmVyYXRvciB7XG4gIG5leHRCb29sZWFuKCk6IGJvb2xlYW47XG4gIG5leHRJbnQobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFyYml0cmFyeUludGVydmFscyB7XG4gIGFic29sdXRlOiBib29sZWFuO1xuICBpbnRlcnZhbHM6IGFwcHNjYWxpbmcuU2NhbGluZ0ludGVydmFsW107XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsSUFBc0I7SUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQThCLENBQUM7SUFFcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBDLGtDQUFrQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVB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QUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsRUFBRTtnQkFDMUYsR0FBRyxDQUFDLENBQUMsQ0FBQyxxQkFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUUsS0FBSyxFQUFFLFNBQVMsR0FBRSxDQUFDO2FBQzFDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUE5RUQsZ0VBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFwcHNjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcblxuLyoqXG4gKiBBcmJpdHJhcnkgKHZhbGlkKSBhcnJheSBvZiBpbnRlcnZhbHNcbiAqXG4gKiBUaGVyZSBhcmUgbWFueSBpbnZhbGlkIGNvbWJpbmF0aW9ucyBvZiBpbnRlcnZhbCBhcnJheXMsIHNvIHdlIGhhdmVcbiAqIHRvIGJlIHZlcnkgc3BlY2lmaWMgYWJvdXQgZ2VuZXJhdGluZyBhcnJheXMgdGhhdCBhcmUgdmFsaWQuIFdlIGRvIHRoaXNcbiAqIGJ5IHRha2luZyBhIGZ1bGwsIHZhbGlkIGludGVydmFsIHNjaGVkdWxlIGFuZCBwcm9ncmVzc2l2ZWx5IHN0cmlwcGluZyBwYXJ0c1xuICogYXdheSBmcm9tIGl0LlxuICpcbiAqIFNvbWUgb2YgdGhlIGNoYW5nZXMgbWF5IGNoYW5nZSBpdHMgbWVhbmluZywgYnV0IHdlIHRha2UgY2FyZSB0byBuZXZlciBsZWF2ZVxuICogYSBzY2hlZHVsZSB3aXRoIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbiBzbyB0aGF0IHRoZSBwYXJzZXIgd2lsbCBlcnJvciBvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFyYml0cmFyeUludGVydmFscyhtcm5nOiBJUmFuZG9tR2VuZXJhdG9yKTogQXJiaXRyYXJ5SW50ZXJ2YWxzIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8YXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWw+KCk7XG5cbiAgICBjb25zdCBhYnNvbHV0ZSA9IG1ybmcubmV4dEJvb2xlYW4oKTtcblxuICAgIC8vIEFzY2VuZGluZyBvciBkZXNjZW5kaW5nIHNjYWxpbmdcbiAgICBjb25zdCBmYWN0b3IgPSAobXJuZy5uZXh0Qm9vbGVhbigpID8gMSA6IC0xKSAqIChhYnNvbHV0ZSA/IDEwIDogMSk7XG4gICAgY29uc3QgYmlhcyA9IGFic29sdXRlID8gNTAgOiAwO1xuXG4gICAgLy8gQmVnaW4gd2l0aCBhIGZ1bGwgc2NoZWR1bGVcbiAgICByZXQucHVzaCh7IGxvd2VyOiAwLCB1cHBlcjogMTAsIGNoYW5nZTogLTIgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDEwLCB1cHBlcjogMjAsIGNoYW5nZTogLTEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDIwLCB1cHBlcjogNjAsIGNoYW5nZTogMCArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogNjAsIHVwcGVyOiA4MCwgY2hhbmdlOiAwICsgYmlhcyB9KTtcbiAgICByZXQucHVzaCh7IGxvd2VyOiA4MCwgdXBwZXI6IDkwLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDkwLCB1cHBlcjogSW5maW5pdHksIGNoYW5nZTogMiAqIGZhY3RvciArIGJpYXN9KTtcblxuICAgIC8vIFRha2UgYXdheSBwYXJ0cyBmcm9tIHRoaXMuIEZpcnN0IHdlIHNlZSBpZiB3ZSBkbyBzb21ldGhpbmcgdG8gdGhlIDAtY2hhbmdlIGFsYXJtcy5cbiAgICAvLyBUaGUgYWN0aW9ucyBjYW4gYmU6IHJlbW92ZSBpdCBPUiB0dXJuIGl0IGludG8gYSByZWd1bGFyIGNoYW5nZSB2YWx1ZS5cbiAgICBjb25zdCBub0NoYW5nZXMgPSByZXQuZmlsdGVyKHggPT4geC5jaGFuZ2UgPT09IGJpYXMpO1xuXG4gICAgaWYgKCFhYnNvbHV0ZSkge1xuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMF0pLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub0NoYW5nZXNbMF0gPSB7IC4uLm5vQ2hhbmdlc1swXSwgY2hhbmdlOiAtMSAqIGZhY3RvciArIGJpYXMgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMV0pLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub0NoYW5nZXNbMV0gPSB7IC4uLm5vQ2hhbmdlc1sxXSwgY2hhbmdlOiAxICogZmFjdG9yICsgYmlhcyB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEluIGFic29sdXRlIG1vZGUgYm90aCBoYXZlIHRvIGdldCB0aGUgc2FtZSB0cmVhdG1lbnQgYXQgdGhlIHNhbWUgdGltZVxuICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCB3aXRoIGEgdGltZWxpbmUgd2l0aCB0d28gZ2Fwc1xuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1swXSksIDEpO1xuICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1sxXSksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9DaGFuZ2VzWzBdID0geyAuLi5ub0NoYW5nZXNbMF0sIGNoYW5nZTogLTEgKiBmYWN0b3IgKyBiaWFzIH07XG4gICAgICAgIG5vQ2hhbmdlc1sxXSA9IHsgLi4ubm9DaGFuZ2VzWzFdLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV2UgbWlnaHQgYWxzbyB0YWtlIGF3YXkgZWl0aGVyIHRoZSBib3R0b20gb3IgdGhlIHVwcGVyIGhhbGZcbiAgICBpZiAobXJuZy5uZXh0SW50KDAsIDIpID09PSAwKSB7XG4gICAgICBjb25zdCBzaWduVG9TdHJpcCA9IG1ybmcubmV4dEJvb2xlYW4oKSA/IC0xIDogMTtcbiAgICAgIGxldCBpeCA9IHJldC5maW5kSW5kZXgoeCA9PiBNYXRoLnNpZ24oeC5jaGFuZ2UgLSBiaWFzKSA9PT0gc2lnblRvU3RyaXApO1xuICAgICAgd2hpbGUgKGl4ID49IDApIHtcbiAgICAgICAgcmV0LnNwbGljZShpeCwgMSk7XG4gICAgICAgIGl4ID0gcmV0LmZpbmRJbmRleCh4ID0+IE1hdGguc2lnbih4LmNoYW5nZSAtIGJpYXMpID09PSBzaWduVG9TdHJpcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlbiB3ZSdyZSBnb2luZyB0byBhcmJpdHJhcmlseSBnZXQgcmlkIG9mIGJvdW5kcyBpbiB0aGUgbW9zdCBuYWl2ZSB3YXkgcG9zc2libGVcbiAgICBjb25zdCBpdGVyYXRpb25zID0gbXJuZy5uZXh0SW50KDAsIDEwKTtcbiAgICBmb3IgKGxldCBpdGVyID0gMDsgaXRlciA8IGl0ZXJhdGlvbnM7IGl0ZXIrKykge1xuICAgICAgY29uc3QgaSA9IG1ybmcubmV4dEludCgwLCByZXQubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIC8vIHNjcmFwIGxvd2VyIGJvdW5kXG4gICAgICAgIC8vIG9rYXkgaWYgY3VycmVudCBpbnRlcnZhbCBoYXMgYW4gdXBwZXIgYm91bmQgQU5EIHRoZSBwcmVjZWRpbmcgaW50ZXJ2YWwgaGFzIGFuIHVwcGVyIGJvdW5kXG4gICAgICAgIGlmIChyZXRbaV0udXBwZXIgIT09IHVuZGVmaW5lZCAmJiAoaSA9PT0gMCB8fCByZXRbaSAtIDFdLnVwcGVyICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgcmV0W2ldID0geyAuLi5yZXRbaV0sIGxvd2VyOiB1bmRlZmluZWQgfTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2NyYXAgdXBwZXIgYm91bmRcbiAgICAgICAgLy8gb2theSBpZiBjdXJyZW50IGludGVydmFsIGhhcyBhIGxvd2VyIGJvdW5kIEFORCB0aGUgc3VjY2VlZGluZyBpbnRlcnZhbCBoYXMgYSBsb3dlciBib3VuZFxuICAgICAgICBpZiAocmV0W2ldLmxvd2VyICE9PSB1bmRlZmluZWQgJiYgKGkgPT09IHJldC5sZW5ndGggLSAxIHx8IHJldFtpICsgMV0ubG93ZXIgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICByZXRbaV0gPSB7IC4uLnJldFtpXSwgdXBwZXI6IHVuZGVmaW5lZCB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgYWJzb2x1dGUsIGludGVydmFsczogcmV0IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJhbmRvbUdlbmVyYXRvciB7XG4gIG5leHRCb29sZWFuKCk6IGJvb2xlYW47XG4gIG5leHRJbnQobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFyYml0cmFyeUludGVydmFscyB7XG4gIHJlYWRvbmx5IGFic29sdXRlOiBib29sZWFuO1xuICByZWFkb25seSBpbnRlcnZhbHM6IGFwcHNjYWxpbmcuU2NhbGluZ0ludGVydmFsW107XG59Il19

@@ -12,3 +12,3 @@ /**

*/
lower?: number;
readonly lower?: number;
/**

@@ -21,3 +21,3 @@ * The upper bound of the interval.

*/
upper?: number;
readonly upper?: number;
/**

@@ -35,3 +35,3 @@ * The capacity adjustment to apply in this interval

*/
change: number;
readonly change: number;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHJhbmdlIG9mIG1ldHJpYyB2YWx1ZXMgaW4gd2hpY2ggdG8gYXBwbHkgYSBjZXJ0YWluIHNjYWxpbmcgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbGluZ0ludGVydmFsIHtcbiAgLyoqXG4gICAqIFRoZSBsb3dlciBib3VuZCBvZiB0aGUgaW50ZXJ2YWwuXG4gICAqXG4gICAqIFRoZSBzY2FsaW5nIGFkanVzdG1lbnQgd2lsbCBiZSBhcHBsaWVkIGlmIHRoZSBtZXRyaWMgaXMgaGlnaGVyIHRoYW4gdGhpcyB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgVGhyZXNob2xkIGF1dG9tYXRpY2FsbHkgZGVyaXZlZCBmcm9tIG5laWdoYm91cmluZyBpbnRlcnZhbHNcbiAgICovXG4gIGxvd2VyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdXBwZXIgYm91bmQgb2YgdGhlIGludGVydmFsLlxuICAgKlxuICAgKiBUaGUgc2NhbGluZyBhZGp1c3RtZW50IHdpbGwgYmUgYXBwbGllZCBpZiB0aGUgbWV0cmljIGlzIGxvd2VyIHRoYW4gdGhpcyB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgVGhyZXNob2xkIGF1dG9tYXRpY2FsbHkgZGVyaXZlZCBmcm9tIG5laWdoYm91cmluZyBpbnRlcnZhbHNcbiAgICovXG4gIHVwcGVyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FwYWNpdHkgYWRqdXN0bWVudCB0byBhcHBseSBpbiB0aGlzIGludGVydmFsXG4gICAqXG4gICAqIFRoZSBudW1iZXIgaXMgaW50ZXJwcmV0ZWQgZGlmZmVyZW50bHkgYmFzZWQgb24gQWRqdXN0bWVudFR5cGU6XG4gICAqXG4gICAqIC0gQ2hhbmdlSW5DYXBhY2l0eTogYWRkIHRoZSBhZGp1c3RtZW50IHRvIHRoZSBjdXJyZW50IGNhcGFjaXR5LlxuICAgKiAgVGhlIG51bWJlciBjYW4gYmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUuXG4gICAqIC0gUGVyY2VudENoYW5nZUluQ2FwYWNpdHk6IGFkZCBvciByZW1vdmUgdGhlIGdpdmVuIHBlcmNlbnRhZ2Ugb2YgdGhlIGN1cnJlbnRcbiAgICogICBjYXBhY2l0eSB0byBpdHNlbGYuIFRoZSBudW1iZXIgY2FuIGJlIGluIHRoZSByYW5nZSBbLTEwMC4uMTAwXS5cbiAgICogLSBFeGFjdENhcGFjaXR5OiBzZXQgdGhlIGNhcGFjaXR5IHRvIHRoaXMgbnVtYmVyLiBUaGUgbnVtYmVyIG11c3RcbiAgICogICBiZSBwb3NpdGl2ZS5cbiAgICovXG4gIGNoYW5nZTogbnVtYmVyO1xufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHJhbmdlIG9mIG1ldHJpYyB2YWx1ZXMgaW4gd2hpY2ggdG8gYXBwbHkgYSBjZXJ0YWluIHNjYWxpbmcgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NhbGluZ0ludGVydmFsIHtcbiAgLyoqXG4gICAqIFRoZSBsb3dlciBib3VuZCBvZiB0aGUgaW50ZXJ2YWwuXG4gICAqXG4gICAqIFRoZSBzY2FsaW5nIGFkanVzdG1lbnQgd2lsbCBiZSBhcHBsaWVkIGlmIHRoZSBtZXRyaWMgaXMgaGlnaGVyIHRoYW4gdGhpcyB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgVGhyZXNob2xkIGF1dG9tYXRpY2FsbHkgZGVyaXZlZCBmcm9tIG5laWdoYm91cmluZyBpbnRlcnZhbHNcbiAgICovXG4gIHJlYWRvbmx5IGxvd2VyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdXBwZXIgYm91bmQgb2YgdGhlIGludGVydmFsLlxuICAgKlxuICAgKiBUaGUgc2NhbGluZyBhZGp1c3RtZW50IHdpbGwgYmUgYXBwbGllZCBpZiB0aGUgbWV0cmljIGlzIGxvd2VyIHRoYW4gdGhpcyB2YWx1ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgVGhyZXNob2xkIGF1dG9tYXRpY2FsbHkgZGVyaXZlZCBmcm9tIG5laWdoYm91cmluZyBpbnRlcnZhbHNcbiAgICovXG4gIHJlYWRvbmx5IHVwcGVyPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgY2FwYWNpdHkgYWRqdXN0bWVudCB0byBhcHBseSBpbiB0aGlzIGludGVydmFsXG4gICAqXG4gICAqIFRoZSBudW1iZXIgaXMgaW50ZXJwcmV0ZWQgZGlmZmVyZW50bHkgYmFzZWQgb24gQWRqdXN0bWVudFR5cGU6XG4gICAqXG4gICAqIC0gQ2hhbmdlSW5DYXBhY2l0eTogYWRkIHRoZSBhZGp1c3RtZW50IHRvIHRoZSBjdXJyZW50IGNhcGFjaXR5LlxuICAgKiAgVGhlIG51bWJlciBjYW4gYmUgcG9zaXRpdmUgb3IgbmVnYXRpdmUuXG4gICAqIC0gUGVyY2VudENoYW5nZUluQ2FwYWNpdHk6IGFkZCBvciByZW1vdmUgdGhlIGdpdmVuIHBlcmNlbnRhZ2Ugb2YgdGhlIGN1cnJlbnRcbiAgICogICBjYXBhY2l0eSB0byBpdHNlbGYuIFRoZSBudW1iZXIgY2FuIGJlIGluIHRoZSByYW5nZSBbLTEwMC4uMTAwXS5cbiAgICogLSBFeGFjdENhcGFjaXR5OiBzZXQgdGhlIGNhcGFjaXR5IHRvIHRoaXMgbnVtYmVyLiBUaGUgbnVtYmVyIG11c3RcbiAgICogICBiZSBwb3NpdGl2ZS5cbiAgICovXG4gIHJlYWRvbmx5IGNoYW5nZTogbnVtYmVyO1xufSJdfQ==
{
"name": "@aws-cdk/aws-autoscaling-common",
"version": "0.26.0",
"version": "0.27.0",
"description": "Common implementation package for @aws-cdk/aws-autoscaling and @aws-cdk/aws-applicationautoscaling",

@@ -23,3 +23,7 @@ "main": "lib/index.js",

},
"sphinx": {}
"sphinx": {},
"python": {
"distName": "aws-cdk.aws-autoscaling-common",
"module": "aws_cdk.aws_autoscaling_common"
}
}

@@ -54,16 +58,16 @@ },

"devDependencies": {
"@aws-cdk/assert": "^0.26.0",
"cdk-build-tools": "^0.26.0",
"cdk-integ-tools": "^0.26.0",
"@aws-cdk/assert": "^0.27.0",
"cdk-build-tools": "^0.27.0",
"cdk-integ-tools": "^0.27.0",
"fast-check": "^1.7.0",
"pkglint": "^0.26.0"
"pkglint": "^0.27.0"
},
"dependencies": {
"@aws-cdk/aws-iam": "^0.26.0",
"@aws-cdk/cdk": "^0.26.0"
"@aws-cdk/aws-iam": "^0.27.0",
"@aws-cdk/cdk": "^0.27.0"
},
"homepage": "https://github.com/awslabs/aws-cdk",
"peerDependencies": {
"@aws-cdk/aws-iam": "^0.26.0",
"@aws-cdk/cdk": "^0.26.0"
"@aws-cdk/aws-iam": "^0.27.0",
"@aws-cdk/cdk": "^0.27.0"
},

@@ -70,0 +74,0 @@ "engines": {

@@ -25,2 +25,3 @@ {

"strictNullChecks": true,
"stripInternal": true,
"target": "ES2018",

@@ -27,0 +28,0 @@ "composite": true

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc