Socket
Socket
Sign inDemoInstall

@blueprintjs/datetime

Package Overview
Dependencies
Maintainers
1
Versions
253
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@blueprintjs/datetime - npm Package Compare versions

Comparing version 1.1.0 to 1.2.0

2

dist/common/dateUtils.d.ts

@@ -1,2 +0,2 @@

export declare type DateRange = [Date, Date];
export declare type DateRange = [Date | undefined, Date | undefined];
export declare function areEqual(date1: Date, date2: Date): boolean;

@@ -3,0 +3,0 @@ export declare function areSameDay(date1: Date, date2: Date): boolean;

@@ -100,2 +100,2 @@ /*

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vZGF0ZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUlILGtCQUF5QixLQUFXLEVBQUUsS0FBVztJQUM3QyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0MsQ0FBQztBQUNMLENBQUM7QUFSZSxnQkFBUSxXQVF2QixDQUFBO0FBRUQsb0JBQTJCLEtBQVcsRUFBRSxLQUFXO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSTtXQUNiLEtBQUssSUFBSSxJQUFJO1dBQ2IsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUU7V0FDbkMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7V0FDckMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN2RCxDQUFDO0FBTmUsa0JBQVUsYUFNekIsQ0FBQTtBQUVELHNCQUE2QixLQUFXLEVBQUUsS0FBVztJQUNqRCxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUk7V0FDYixLQUFLLElBQUksSUFBSTtXQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFO1dBQ3JDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDdkQsQ0FBQztBQUxlLG9CQUFZLGVBSzNCLENBQUE7QUFFRCxxQkFBNEIsS0FBVyxFQUFFLEtBQVc7SUFDaEQsTUFBTSxDQUFDLEtBQUssSUFBSSxJQUFJO1dBQ2IsS0FBSyxJQUFJLElBQUk7V0FDYixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTtXQUNyQyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRTtXQUN6QyxLQUFLLENBQUMsVUFBVSxFQUFFLEtBQUssS0FBSyxDQUFDLFVBQVUsRUFBRTtXQUN6QyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0FBQy9ELENBQUM7QUFQZSxtQkFBVyxjQU8xQixDQUFBO0FBRUQsZUFBc0IsQ0FBTztJQUN6QixNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUZlLGFBQUssUUFFcEIsQ0FBQTtBQUVELHNCQUE2QixJQUFVLEVBQUUsU0FBb0IsRUFBRSxTQUFpQjtJQUFqQix5QkFBaUIsR0FBakIsaUJBQWlCO0lBQzVFLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6QixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNCLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFekIsTUFBTSxDQUFDLEtBQUssSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUc7V0FDMUIsQ0FBQyxDQUFDLFNBQVM7ZUFDUCxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQWhCZSxvQkFBWSxlQWdCM0IsQ0FBQTtBQUVELDJCQUFrQyxVQUFxQixFQUFFLFVBQXFCO0lBQzFFLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztXQUNsRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQzlFLENBQUM7QUFIZSx5QkFBaUIsb0JBR2hDLENBQUE7QUFFRCx3QkFBK0IsSUFBVSxFQUFFLFNBQW9CO0lBQzNELEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2YsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQyxJQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNmLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNmLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMzQixHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRXpCLE1BQU0sQ0FBQyxLQUFLLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUM7QUFDdEMsQ0FBQztBQWpCZSxzQkFBYyxpQkFpQjdCLENBQUE7QUFFRDs7R0FFRztBQUNILHdCQUErQixTQUFvQjtJQUMvQyxJQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDckMsSUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25DLElBQU0sTUFBTSxHQUFHLEtBQUssR0FBRyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDM0MsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFMZSxzQkFBYyxpQkFLN0IsQ0FBQTtBQUVELHFCQUE0QixJQUFVLEVBQUUsSUFBVTtJQUM5QyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFIZSxtQkFBVyxjQUcxQixDQUFBIiwiZmlsZSI6ImNvbW1vbi9kYXRlVXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IFtEYXRlLCBEYXRlXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUVxdWFsKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIGlmIChkYXRlMSA9PSBudWxsICYmIGRhdGUyID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChkYXRlMSA9PSBudWxsIHx8IGRhdGUyID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRlMS5nZXRUaW1lKCkgPT09IGRhdGUyLmdldFRpbWUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVTYW1lRGF5KGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlMSAhPSBudWxsXG4gICAgICAgICYmIGRhdGUyICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTEuZ2V0RGF0ZSgpID09PSBkYXRlMi5nZXREYXRlKClcbiAgICAgICAgJiYgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKVxuICAgICAgICAmJiBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlU2FtZU1vbnRoKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlMSAhPSBudWxsXG4gICAgICAgICYmIGRhdGUyICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKVxuICAgICAgICAmJiBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlU2FtZVRpbWUoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSB7XG4gICAgcmV0dXJuIGRhdGUxICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTIgIT0gbnVsbFxuICAgICAgICAmJiBkYXRlMS5nZXRIb3VycygpID09PSBkYXRlMi5nZXRIb3VycygpXG4gICAgICAgICYmIGRhdGUxLmdldE1pbnV0ZXMoKSA9PT0gZGF0ZTIuZ2V0TWludXRlcygpXG4gICAgICAgICYmIGRhdGUxLmdldFNlY29uZHMoKSA9PT0gZGF0ZTIuZ2V0U2Vjb25kcygpXG4gICAgICAgICYmIGRhdGUxLmdldE1pbGxpc2Vjb25kcygpID09PSBkYXRlMi5nZXRNaWxsaXNlY29uZHMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKGQ6IERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZC5nZXRUaW1lKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXlJblJhbmdlKGRhdGU6IERhdGUsIGRhdGVSYW5nZTogRGF0ZVJhbmdlLCBleGNsdXNpdmUgPSBmYWxzZSkge1xuICAgIGlmIChkYXRlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRheSA9IGNsb25lKGRhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gY2xvbmUoZGF0ZVJhbmdlWzBdKTtcbiAgICBjb25zdCBlbmQgPSBjbG9uZShkYXRlUmFuZ2VbMV0pO1xuXG4gICAgZGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIHN0YXJ0LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIGVuZC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblxuICAgIHJldHVybiBzdGFydCA8PSBkYXkgJiYgZGF5IDw9IGVuZFxuICAgICAgICAmJiAoIWV4Y2x1c2l2ZVxuICAgICAgICAgICAgfHwgIWFyZVNhbWVEYXkoc3RhcnQsIGRheSkgJiYgIWFyZVNhbWVEYXkoZGF5LCBlbmQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF5UmFuZ2VJblJhbmdlKGlubmVyUmFuZ2U6IERhdGVSYW5nZSwgb3V0ZXJSYW5nZTogRGF0ZVJhbmdlKSB7XG4gICAgcmV0dXJuIChpbm5lclJhbmdlWzBdID09IG51bGwgfHwgaXNEYXlJblJhbmdlKGlubmVyUmFuZ2VbMF0sIG91dGVyUmFuZ2UpKVxuICAgICAgICAmJiAoaW5uZXJSYW5nZVsxXSA9PSBudWxsIHx8IGlzRGF5SW5SYW5nZShpbm5lclJhbmdlWzFdLCBvdXRlclJhbmdlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vbnRoSW5SYW5nZShkYXRlOiBEYXRlLCBkYXRlUmFuZ2U6IERhdGVSYW5nZSkge1xuICAgIGlmIChkYXRlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRheSA9IGNsb25lKGRhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gY2xvbmUoZGF0ZVJhbmdlWzBdKTtcbiAgICBjb25zdCBlbmQgPSBjbG9uZShkYXRlUmFuZ2VbMV0pO1xuXG4gICAgZGF5LnNldERhdGUoMSk7XG4gICAgc3RhcnQuc2V0RGF0ZSgxKTtcbiAgICBlbmQuc2V0RGF0ZSgxKTtcbiAgICBkYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgc3RhcnQuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgZW5kLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgcmV0dXJuIHN0YXJ0IDw9IGRheSAmJiBkYXkgPD0gZW5kO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIGEgRGF0ZSBhdCB0aGUgZXhhY3QgdGltZS13aXNlIG1pZHBvaW50IGJldHdlZW4gc3RhcnREYXRlIGFuZCBlbmREYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlQmV0d2VlbihkYXRlUmFuZ2U6IERhdGVSYW5nZSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gZGF0ZVJhbmdlWzBdLmdldFRpbWUoKTtcbiAgICBjb25zdCBlbmQgPSBkYXRlUmFuZ2VbMV0uZ2V0VGltZSgpO1xuICAgIGNvbnN0IG1pZGRsZSA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAqIDAuNTtcbiAgICByZXR1cm4gbmV3IERhdGUobWlkZGxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVUaW1lKGRhdGU6IERhdGUsIHRpbWU6IERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgICB0aW1lLmdldEhvdXJzKCksIHRpbWUuZ2V0TWludXRlcygpLCB0aW1lLmdldFNlY29uZHMoKSwgdGltZS5nZXRNaWxsaXNlY29uZHMoKSk7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vZGF0ZVV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUlILGtCQUF5QixLQUFXLEVBQUUsS0FBVztJQUM3QyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUFDLElBQUksQ0FBQyxDQUFDO1FBQ0osTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0MsQ0FBQztBQUNMLENBQUM7QUFSZSxnQkFBUSxXQVF2QixDQUFBO0FBRUQsb0JBQTJCLEtBQVcsRUFBRSxLQUFXO0lBQy9DLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSTtXQUNiLEtBQUssSUFBSSxJQUFJO1dBQ2IsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUU7V0FDbkMsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEtBQUssQ0FBQyxRQUFRLEVBQUU7V0FDckMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUN2RCxDQUFDO0FBTmUsa0JBQVUsYUFNekIsQ0FBQTtBQUVELHNCQUE2QixLQUFXLEVBQUUsS0FBVztJQUNqRCxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUk7V0FDYixLQUFLLElBQUksSUFBSTtXQUNiLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxLQUFLLENBQUMsUUFBUSxFQUFFO1dBQ3JDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxL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QUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO0FBQzFGLENBQUM7QUFIZSxtQkFBVyxjQUcxQixDQUFBIiwiZmlsZSI6ImNvbW1vbi9kYXRlVXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmV4cG9ydCB0eXBlIERhdGVSYW5nZSA9IFtEYXRlIHwgdW5kZWZpbmVkLCBEYXRlIHwgdW5kZWZpbmVkXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFyZUVxdWFsKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIGlmIChkYXRlMSA9PSBudWxsICYmIGRhdGUyID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChkYXRlMSA9PSBudWxsIHx8IGRhdGUyID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRlMS5nZXRUaW1lKCkgPT09IGRhdGUyLmdldFRpbWUoKTtcbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmVTYW1lRGF5KGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlMSAhPSBudWxsXG4gICAgICAgICYmIGRhdGUyICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTEuZ2V0RGF0ZSgpID09PSBkYXRlMi5nZXREYXRlKClcbiAgICAgICAgJiYgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKVxuICAgICAgICAmJiBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlU2FtZU1vbnRoKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICAgIHJldHVybiBkYXRlMSAhPSBudWxsXG4gICAgICAgICYmIGRhdGUyICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTEuZ2V0TW9udGgoKSA9PT0gZGF0ZTIuZ2V0TW9udGgoKVxuICAgICAgICAmJiBkYXRlMS5nZXRGdWxsWWVhcigpID09PSBkYXRlMi5nZXRGdWxsWWVhcigpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlU2FtZVRpbWUoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSB7XG4gICAgcmV0dXJuIGRhdGUxICE9IG51bGxcbiAgICAgICAgJiYgZGF0ZTIgIT0gbnVsbFxuICAgICAgICAmJiBkYXRlMS5nZXRIb3VycygpID09PSBkYXRlMi5nZXRIb3VycygpXG4gICAgICAgICYmIGRhdGUxLmdldE1pbnV0ZXMoKSA9PT0gZGF0ZTIuZ2V0TWludXRlcygpXG4gICAgICAgICYmIGRhdGUxLmdldFNlY29uZHMoKSA9PT0gZGF0ZTIuZ2V0U2Vjb25kcygpXG4gICAgICAgICYmIGRhdGUxLmdldE1pbGxpc2Vjb25kcygpID09PSBkYXRlMi5nZXRNaWxsaXNlY29uZHMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lKGQ6IERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZC5nZXRUaW1lKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEYXlJblJhbmdlKGRhdGU6IERhdGUsIGRhdGVSYW5nZTogRGF0ZVJhbmdlLCBleGNsdXNpdmUgPSBmYWxzZSkge1xuICAgIGlmIChkYXRlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRheSA9IGNsb25lKGRhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gY2xvbmUoZGF0ZVJhbmdlWzBdKTtcbiAgICBjb25zdCBlbmQgPSBjbG9uZShkYXRlUmFuZ2VbMV0pO1xuXG4gICAgZGF5LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIHN0YXJ0LnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgIGVuZC5zZXRIb3VycygwLCAwLCAwLCAwKTtcblxuICAgIHJldHVybiBzdGFydCA8PSBkYXkgJiYgZGF5IDw9IGVuZFxuICAgICAgICAmJiAoIWV4Y2x1c2l2ZVxuICAgICAgICAgICAgfHwgIWFyZVNhbWVEYXkoc3RhcnQsIGRheSkgJiYgIWFyZVNhbWVEYXkoZGF5LCBlbmQpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGF5UmFuZ2VJblJhbmdlKGlubmVyUmFuZ2U6IERhdGVSYW5nZSwgb3V0ZXJSYW5nZTogRGF0ZVJhbmdlKSB7XG4gICAgcmV0dXJuIChpbm5lclJhbmdlWzBdID09IG51bGwgfHwgaXNEYXlJblJhbmdlKGlubmVyUmFuZ2VbMF0sIG91dGVyUmFuZ2UpKVxuICAgICAgICAmJiAoaW5uZXJSYW5nZVsxXSA9PSBudWxsIHx8IGlzRGF5SW5SYW5nZShpbm5lclJhbmdlWzFdLCBvdXRlclJhbmdlKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc01vbnRoSW5SYW5nZShkYXRlOiBEYXRlLCBkYXRlUmFuZ2U6IERhdGVSYW5nZSkge1xuICAgIGlmIChkYXRlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGNvbnN0IGRheSA9IGNsb25lKGRhdGUpO1xuICAgIGNvbnN0IHN0YXJ0ID0gY2xvbmUoZGF0ZVJhbmdlWzBdKTtcbiAgICBjb25zdCBlbmQgPSBjbG9uZShkYXRlUmFuZ2VbMV0pO1xuXG4gICAgZGF5LnNldERhdGUoMSk7XG4gICAgc3RhcnQuc2V0RGF0ZSgxKTtcbiAgICBlbmQuc2V0RGF0ZSgxKTtcbiAgICBkYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgc3RhcnQuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG4gICAgZW5kLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgcmV0dXJuIHN0YXJ0IDw9IGRheSAmJiBkYXkgPD0gZW5kO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIGEgRGF0ZSBhdCB0aGUgZXhhY3QgdGltZS13aXNlIG1pZHBvaW50IGJldHdlZW4gc3RhcnREYXRlIGFuZCBlbmREYXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREYXRlQmV0d2VlbihkYXRlUmFuZ2U6IERhdGVSYW5nZSkge1xuICAgIGNvbnN0IHN0YXJ0ID0gZGF0ZVJhbmdlWzBdLmdldFRpbWUoKTtcbiAgICBjb25zdCBlbmQgPSBkYXRlUmFuZ2VbMV0uZ2V0VGltZSgpO1xuICAgIGNvbnN0IG1pZGRsZSA9IHN0YXJ0ICsgKGVuZCAtIHN0YXJ0KSAqIDAuNTtcbiAgICByZXR1cm4gbmV3IERhdGUobWlkZGxlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGVUaW1lKGRhdGU6IERhdGUsIHRpbWU6IERhdGUpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgICB0aW1lLmdldEhvdXJzKCksIHRpbWUuZ2V0TWludXRlcygpLCB0aW1lLmdldFNlY29uZHMoKSwgdGltZS5nZXRNaWxsaXNlY29uZHMoKSk7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -94,2 +94,12 @@ import * as moment from "moment";

private setInputRef;
/**
* Translate a moment into a Date object, adjusting the moment timezone into the local one.
* This is a no-op unless moment-timezone's setDefault has been called.
*/
private fromMomentToDate;
/**
* Translate a Date object into a moment, adjusting the local timezone into the moment one.
* This is a no-op unless moment-timezone's setDefault has been called.
*/
private fromDateToMoment;
}

@@ -52,7 +52,8 @@ /*

this.handleDateChange = function (date, hasUserManuallySelectedDate) {
var momentDate = _this.fromDateToMoment(date);
var hasMonthChanged = date !== null && !_this.isNull(_this.state.value) && _this.state.value.isValid() &&
date.getMonth() !== _this.state.value.toDate().getMonth();
momentDate.month() !== _this.state.value.month();
var isOpen = !(_this.props.closeOnSelection && hasUserManuallySelectedDate && !hasMonthChanged);
if (_this.props.value === undefined) {
_this.setState({ isInputFocused: false, isOpen: isOpen, value: moment(date) });
_this.setState({ isInputFocused: false, isOpen: isOpen, value: momentDate });
}

@@ -62,3 +63,3 @@ else {

}
core_1.Utils.safeInvoke(_this.props.onChange, date);
core_1.Utils.safeInvoke(_this.props.onChange, _this.fromMomentToDate(momentDate));
};

@@ -103,3 +104,3 @@ this.handleIconClick = function (e) {

}
core_1.Utils.safeInvoke(_this.props.onChange, value.toDate());
core_1.Utils.safeInvoke(_this.props.onChange, _this.fromMomentToDate(value));
}

@@ -124,6 +125,6 @@ else {

else if (!_this.dateIsInRange(value)) {
core_1.Utils.safeInvoke(_this.props.onError, value.toDate());
core_1.Utils.safeInvoke(_this.props.onError, _this.fromMomentToDate(value));
}
else {
core_1.Utils.safeInvoke(_this.props.onChange, value.toDate());
core_1.Utils.safeInvoke(_this.props.onChange, _this.fromMomentToDate(value));
}

@@ -138,7 +139,29 @@ }

};
var defaultValue = this.props.defaultValue ? moment(this.props.defaultValue) : moment(null);
/**
* Translate a moment into a Date object, adjusting the moment timezone into the local one.
* This is a no-op unless moment-timezone's setDefault has been called.
*/
this.fromMomentToDate = function (momentDate) {
return new Date(momentDate.year(), momentDate.month(), momentDate.date(), momentDate.hours(), momentDate.minutes(), momentDate.seconds(), momentDate.milliseconds());
};
/**
* Translate a Date object into a moment, adjusting the local timezone into the moment one.
* This is a no-op unless moment-timezone's setDefault has been called.
*/
this.fromDateToMoment = function (date) {
return moment([
date.getFullYear(),
date.getMonth(),
date.getDate(),
date.getHours(),
date.getMinutes(),
date.getSeconds(),
date.getMilliseconds(),
]);
};
var defaultValue = this.props.defaultValue ? this.fromDateToMoment(this.props.defaultValue) : moment(null);
this.state = {
isInputFocused: false,
isOpen: false,
value: this.props.value !== undefined ? moment(this.props.value) : defaultValue,
value: this.props.value !== undefined ? this.fromDateToMoment(this.props.value) : defaultValue,
valueString: null,

@@ -150,3 +173,3 @@ };

var date = this.state.isInputFocused ? moment(this.state.valueString, this.props.format) : this.state.value;
var popoverContent = (React.createElement(datePicker_1.DatePicker, __assign({}, this.props, {canClearSelection: this.props.canClearSelection, defaultValue: null, onChange: this.handleDateChange, value: this.validAndInRange(this.state.value) ? this.state.value.toDate() : null})));
var popoverContent = (React.createElement(datePicker_1.DatePicker, __assign({}, this.props, {canClearSelection: this.props.canClearSelection, defaultValue: null, onChange: this.handleDateChange, value: this.validAndInRange(this.state.value) ? this.fromMomentToDate(this.state.value) : null})));
var inputClasses = classNames({

@@ -162,3 +185,3 @@ "pt-intent-danger": !(this.validAndInRange(date) || this.isNull(date) || dateString === ""),

if (nextProps.value !== this.props.value) {
this.setState({ value: moment(nextProps.value) });
this.setState({ value: this.fromDateToMoment(nextProps.value) });
}

@@ -191,2 +214,2 @@ _super.prototype.componentWillReceiveProps.call(this, nextProps);

//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlSW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOzs7Ozs7Ozs7Ozs7Ozs7QUFFSCxJQUFZLFVBQVUsV0FBTSxZQUFZLENBQUMsQ0FBQTtBQUN6QyxJQUFZLE1BQU0sV0FBTSxRQUFRLENBQUMsQ0FBQTtBQUNqQyxJQUFZLEtBQUssV0FBTSxPQUFPLENBQUMsQ0FBQTtBQUUvQixxQkFVTyxtQkFBbUIsQ0FBQyxDQUFBO0FBRTNCLDJCQUEyQixjQUFjLENBQUMsQ0FBQTtBQUMxQywrQkFJTyxrQkFBa0IsQ0FBQyxDQUFBO0FBc0YxQjtJQUErQiw2QkFBbUQ7SUFpQjlFLG1CQUFtQixLQUF1QixFQUFFLE9BQWE7UUFqQjdELGlCQWdOQztRQTlMTyxrQkFBTSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMbkIsZ0JBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUVuQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQStFN0Isa0JBQWEsR0FBRyxVQUFDLEtBQW9CO1lBQ3pDLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNKLE1BQU0sQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU0sQ0FBQyxLQUFJLENB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QUFzQixLQUFvQjtRQUN0QyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQXJIYSxzQkFBWSxHQUFvQjtRQUMxQyxnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsTUFBTSxFQUFFLFlBQVk7UUFDcEIsa0JBQWtCLEVBQUUsY0FBYztRQUNsQyxPQUFPLEVBQUUsa0NBQWlCLEVBQUU7UUFDNUIsT0FBTyxFQUFFLGtDQUFpQixFQUFFO1FBQzVCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGlCQUFpQixFQUFFLGNBQWM7UUFDakMsZUFBZSxFQUFFLGVBQVEsQ0FBQyxNQUFNO0tBQ25DLENBQUM7SUFxTU4sZ0JBQUM7QUFBRCxDQWhOQSxBQWdOQyxDQWhOOEIsd0JBQWlCLEdBZ04vQztBQWhOWSxpQkFBUyxZQWdOckIsQ0FBQSIsImZpbGUiOiJkYXRlSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTYgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbXBvbmVudCxcbiAgICBCdXR0b24sXG4gICAgQ2xhc3NlcyxcbiAgICBJbnB1dEdyb3VwLFxuICAgIEludGVudCxcbiAgICBJUHJvcHMsXG4gICAgUG9wb3ZlcixcbiAgICBQb3NpdGlvbixcbiAgICBVdGlscyxcbn0gZnJvbSBcIkBibHVlcHJpbnRqcy9jb3JlXCI7XG5cbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tIFwiLi9kYXRlUGlja2VyXCI7XG5pbXBvcnQge1xuICAgIGdldERlZmF1bHRNYXhEYXRlLFxuICAgIGdldERlZmF1bHRNaW5EYXRlLFxuICAgIElEYXRlUGlja2VyQmFzZVByb3BzLFxufSBmcm9tIFwiLi9kYXRlUGlja2VyQ29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlSW5wdXRQcm9wcyBleHRlbmRzIElEYXRlUGlja2VyQmFzZVByb3BzLCBJUHJvcHMge1xuICAgIC8qKlxuICAgICAqIEFsbG93cyB0aGUgdXNlciB0byBjbGVhciB0aGUgc2VsZWN0aW9uIGJ5IGNsaWNraW5nIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF5LlxuICAgICAqIFBhc3NlZCB0byBgRGF0ZVBpY2tlcmAgY29tcG9uZW50XG4gICAgICovXG4gICAgY2FuQ2xlYXJTZWxlY3Rpb24/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY2FsZW5kYXIgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiBhIGRhdGUgaXMgc2VsZWN0ZWQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGNsb3NlT25TZWxlY3Rpb24/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgZGF0ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wb25lbnQgd2hlbiB1bmNvbnRyb2xsZWQuXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogRGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBmb3JtYXQgb2YgdGhlIGRhdGUuIFNlZSBvcHRpb25zXG4gICAgICogaGVyZTogaHR0cDovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy9mb3JtYXQvXG4gICAgICogQGRlZmF1bHQgXCJZWVlZLU1NLUREXCJcbiAgICAgKi9cbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIGRhdGUgc2VsZWN0ZWQgaW52YWxpZC5cbiAgICAgKiBAZGVmYXVsdCBcIkludmFsaWQgZGF0ZVwiXG4gICAgICovXG4gICAgaW52YWxpZERhdGVNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhIG5ldyB2YWxpZCBkYXRlIHRocm91Z2ggdGhlIGBEYXRlUGlja2VyYCBvciBieSB0eXBpbmdcbiAgICAgKiBpbiB0aGUgaW5wdXQuXG4gICAgICovXG4gICAgb25DaGFuZ2U/OiAoc2VsZWN0ZWREYXRlOiBEYXRlKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIGluIGEgbmV3IGRhdGUgYW5kIHRoZSBkYXRlIGNhdXNlcyBhbiBlcnJvciBzdGF0ZS5cbiAgICAgKiBJZiB0aGUgZGF0ZSBpcyBpbnZhbGlkLCBgbmV3IERhdGUodW5kZWZpbmVkKWAgd2lsbCBiZSByZXR1cm5lZC4gSWYgdGhlIGRhdGUgaXMgb3V0IG9mIHJhbmdlLFxuICAgICAqIHRoZSBvdXQgb2YgcmFuZ2UgZGF0ZSB3aWxsIGJlIHJldHVybmVkIChgb25DaGFuZ2VgIGlzIG5vdCBjYWxsZWQgaW4gdGhpcyBjYXNlKS5cbiAgICAgKi9cbiAgICBvbkVycm9yPzogKGVycm9yRGF0ZTogRGF0ZSkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBQb3BvdmVyIHdpbGwgb3BlbiB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgaW5wdXQuIElmIGZhbHNlLCB0aGUgUG9wb3ZlciB3aWxsIG9ubHlcbiAgICAgKiBvcGVuIHdoZW4gdGhlIGNhbGVuZGFyIGljb24gaXMgY2xpY2tlZC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgb3Blbk9uRm9jdXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBkYXRlIHNlbGVjdGVkIGlzIG91dCBvZiByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBcIk91dCBvZiByYW5nZVwiXG4gICAgICovXG4gICAgb3V0T2ZSYW5nZU1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcG9zaXRpb24gdGhlIGRhdGUgcG9wb3ZlciBzaG91bGQgYXBwZWFyIGluIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBib3guXG4gICAgICogQGRlZmF1bHQgUG9zaXRpb24uQk9UVE9NXG4gICAgICovXG4gICAgcG9wb3ZlclBvc2l0aW9uPzogUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIGRheS4gSWYgdGhpcyBwcm9wIGlzIHByZXNlbnQsIHRoZSBjb21wb25lbnQgYWN0cyBpbiBhIGNvbnRyb2xsZWQgbWFubmVyLlxuICAgICAqIFRvIGRpc3BsYXkgbm8gZGF0ZSBpbiB0aGUgaW5wdXQgZmllbGQsIHBhc3MgYG51bGxgIHRvIHRoZSB2YWx1ZSBwcm9wLiBUbyBkaXNwbGF5IGFuIGludmFsaWQgZGF0ZSBlcnJvclxuICAgICAqIGluIHRoZSBpbnB1dCBmaWVsZCwgcGFzcyBgbmV3IERhdGUodW5kZWZpbmVkKWAgdG8gdGhlIHZhbHVlIHByb3AuXG4gICAgICovXG4gICAgdmFsdWU/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlSW5wdXRTdGF0ZSB7XG4gICAgdmFsdWU/OiBtb21lbnQuTW9tZW50O1xuICAgIHZhbHVlU3RyaW5nPzogc3RyaW5nO1xuICAgIGlzSW5wdXRGb2N1c2VkPzogYm9vbGVhbjtcbiAgICBpc09wZW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUlucHV0IGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnQ8SURhdGVJbnB1dFByb3BzLCBJRGF0ZUlucHV0U3RhdGU+IHtcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wczogSURhdGVJbnB1dFByb3BzID0ge1xuICAgICAgICBjbG9zZU9uU2VsZWN0aW9uOiB0cnVlLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGZvcm1hdDogXCJZWVlZLU1NLUREXCIsXG4gICAgICAgIGludmFsaWREYXRlTWVzc2FnZTogXCJJbnZhbGlkIGRhdGVcIixcbiAgICAgICAgbWF4RGF0ZTogZ2V0RGVmYXVsdE1heERhdGUoKSxcbiAgICAgICAgbWluRGF0ZTogZ2V0RGVmYXVsdE1pbkRhdGUoKSxcbiAgICAgICAgb3Blbk9uRm9jdXM6IHRydWUsXG4gICAgICAgIG91dE9mUmFuZ2VNZXNzYWdlOiBcIk91dCBvZiByYW5nZVwiLFxuICAgICAgICBwb3BvdmVyUG9zaXRpb246IFBvc2l0aW9uLkJPVFRPTSxcbiAgICB9O1xuXG4gICAgcHVibGljIGRpc3BsYXlOYW1lID0gXCJCbHVlcHJpbnQuRGF0ZUlucHV0XCI7XG5cbiAgICBwcml2YXRlIGlucHV0UmVmOiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM/OiBJRGF0ZUlucHV0UHJvcHMsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlID8gbW9tZW50KHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKSA6IG1vbWVudChudWxsKTtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgPyBtb21lbnQodGhpcy5wcm9wcy52YWx1ZSkgOiBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICB2YWx1ZVN0cmluZzogbnVsbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5zdGF0ZS5pc0lucHV0Rm9jdXNlZCA/IHRoaXMuc3RhdGUudmFsdWVTdHJpbmcgOiB0aGlzLmdldERhdGVTdHJpbmcodGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnN0YXRlLmlzSW5wdXRGb2N1c2VkID8gbW9tZW50KHRoaXMuc3RhdGUudmFsdWVTdHJpbmcsIHRoaXMucHJvcHMuZm9ybWF0KSA6IHRoaXMuc3RhdGUudmFsdWU7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSAoXG4gICAgICAgICAgICA8RGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgICAgICAgIGNhbkNsZWFyU2VsZWN0aW9uPXt0aGlzLnByb3BzLmNhbkNsZWFyU2VsZWN0aW9ufVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bnVsbH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVEYXRlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnZhbGlkQW5kSW5SYW5nZSh0aGlzLnN0YXRlLnZhbHVlKSA/IHRoaXMuc3RhdGUudmFsdWUudG9EYXRlKCkgOiBudWxsfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBpbnB1dENsYXNzZXMgPSBjbGFzc05hbWVzKHtcbiAgICAgICAgICAgIFwicHQtaW50ZW50LWRhbmdlclwiOiAhKHRoaXMudmFsaWRBbmRJblJhbmdlKGRhdGUpIHx8IHRoaXMuaXNOdWxsKGRhdGUpIHx8IGRhdGVTdHJpbmcgPT09IFwiXCIpLFxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zdCBjYWxlbmRhckljb24gPSAoXG4gICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtDbGFzc2VzLk1JTklNQUx9XG4gICAgICAgICAgICAgICAgZGlzYWJsZWQ9e3RoaXMucHJvcHMuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgaWNvbk5hbWU9XCJjYWxlbmRhclwiXG4gICAgICAgICAgICAgICAgaW50ZW50PXtJbnRlbnQuUFJJTUFSWX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLmhhbmRsZUljb25DbGlja31cbiAgICAgICAgICAgIC8+XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxQb3BvdmVyXG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBjb250ZW50PXtwb3BvdmVyQ29udGVudH1cbiAgICAgICAgICAgICAgICBlbmZvcmNlRm9jdXM9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGlubGluZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICBpc09wZW49e3RoaXMuc3RhdGUuaXNPcGVufVxuICAgICAgICAgICAgICAgIG9uQ2xvc2U9e3RoaXMuaGFuZGxlQ2xvc2VQb3BvdmVyfVxuICAgICAgICAgICAgICAgIHBvcG92ZXJDbGFzc05hbWU9XCJwdC1kYXRlaW5wdXQtcG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgcG9zaXRpb249e3RoaXMucHJvcHMucG9wb3ZlclBvc2l0aW9ufVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJbnB1dEdyb3VwXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17aW5wdXRDbGFzc2VzfVxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5wcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXRSZWY9e3RoaXMuc2V0SW5wdXRSZWZ9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgb25CbHVyPXt0aGlzLmhhbmRsZUlucHV0Qmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlSW5wdXRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlSW5wdXRDbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17dGhpcy5oYW5kbGVJbnB1dEZvY3VzfVxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17dGhpcy5wcm9wcy5mb3JtYXR9XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0RWxlbWVudD17Y2FsZW5kYXJJY29ufVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17ZGF0ZVN0cmluZ31cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9Qb3BvdmVyPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wczogSURhdGVJbnB1dFByb3BzKSB7XG4gICAgICAgIGlmIChuZXh0UHJvcHMudmFsdWUgIT09IHRoaXMucHJvcHMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogbW9tZW50KG5leHRQcm9wcy52YWx1ZSkgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdXBlci5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHRQcm9wcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREYXRlU3RyaW5nID0gKHZhbHVlOiBtb21lbnQuTW9tZW50KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzTnVsbCh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGVJc0luUmFuZ2UodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlLmZvcm1hdCh0aGlzLnByb3BzLmZvcm1hdCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnByb3BzLm91dE9mUmFuZ2VNZXNzYWdlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmludmFsaWREYXRlTWVzc2FnZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZhbGlkQW5kSW5SYW5nZSh2YWx1ZTogbW9tZW50Lk1vbWVudCkge1xuICAgICAgICByZXR1cm4gdmFsdWUuaXNWYWxpZCgpICYmIHRoaXMuZGF0ZUlzSW5SYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc051bGwodmFsdWU6IG1vbWVudC5Nb21lbnQpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLnBhcnNpbmdGbGFncygpLm51bGxJbnB1dDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRhdGVJc0luUmFuZ2UodmFsdWU6IG1vbWVudC5Nb21lbnQpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlLmlzQmV0d2Vlbih0aGlzLnByb3BzLm1pbkRhdGUsIHRoaXMucHJvcHMubWF4RGF0ZSwgXCJkYXlcIiwgXCJbXVwiKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNsb3NlUG9wb3ZlciA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogZmFsc2UgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVEYXRlQ2hhbmdlID0gKGRhdGU6IERhdGUsIGhhc1VzZXJNYW51YWxseVNlbGVjdGVkRGF0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBjb25zdCBoYXNNb250aENoYW5nZWQgPSBkYXRlICE9PSBudWxsICYmICF0aGlzLmlzTnVsbCh0aGlzLnN0YXRlLnZhbHVlKSAmJiB0aGlzLnN0YXRlLnZhbHVlLmlzVmFsaWQoKSAmJlxuICAgICAgICAgICAgZGF0ZS5nZXRNb250aCgpICE9PSB0aGlzLnN0YXRlLnZhbHVlLnRvRGF0ZSgpLmdldE1vbnRoKCk7XG4gICAgICAgIGNvbnN0IGlzT3BlbiA9ICEodGhpcy5wcm9wcy5jbG9zZU9uU2VsZWN0aW9uICYmIGhhc1VzZXJNYW51YWxseVNlbGVjdGVkRGF0ZSAmJiAhaGFzTW9udGhDaGFuZ2VkKTtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMudmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiBmYWxzZSwgaXNPcGVuLCB2YWx1ZTogbW9tZW50KGRhdGUpIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiBmYWxzZSwgaXNPcGVuIH0pO1xuICAgICAgICB9XG4gICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkNoYW5nZSwgZGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJY29uQ2xpY2sgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmlzT3Blbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuaW5wdXRSZWYgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXRSZWYuYmx1cigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogdHJ1ZSB9KTtcbiAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFJlZi5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnB1dEZvY3VzID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHRoaXMuaXNOdWxsKHRoaXMuc3RhdGUudmFsdWUpID8gXCJcIiA6IHRoaXMuc3RhdGUudmFsdWUuZm9ybWF0KHRoaXMucHJvcHMuZm9ybWF0KTtcblxuICAgICAgICBpZiAodGhpcy5wcm9wcy5vcGVuT25Gb2N1cykge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiB0cnVlLCBpc09wZW46IHRydWUsIHZhbHVlU3RyaW5nIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiB0cnVlLCB2YWx1ZVN0cmluZyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlSW5wdXRDbGljayA9IChlOiBSZWFjdC5TeW50aGV0aWNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBpZiAodGhpcy5wcm9wcy5vcGVuT25Gb2N1cykge1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlSW5wdXRDaGFuZ2UgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSAoZS50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbW9tZW50KHZhbHVlU3RyaW5nLCB0aGlzLnByb3BzLmZvcm1hdCk7XG5cbiAgICAgICAgaWYgKHZhbHVlLmlzVmFsaWQoKSAmJiB0aGlzLmRhdGVJc0luUmFuZ2UodmFsdWUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlLCB2YWx1ZVN0cmluZyB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlU3RyaW5nIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVXRpbHMuc2FmZUludm9rZSh0aGlzLnByb3BzLm9uQ2hhbmdlLCB2YWx1ZS50b0RhdGUoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWVTdHJpbmcgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUlucHV0Qmx1ciA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB0aGlzLnN0YXRlLnZhbHVlU3RyaW5nO1xuICAgICAgICBsZXQgdmFsdWUgPSBtb21lbnQodmFsdWVTdHJpbmcsIHRoaXMucHJvcHMuZm9ybWF0KTtcbiAgICAgICAgaWYgKHZhbHVlU3RyaW5nICE9PSB0aGlzLmdldERhdGVTdHJpbmcodGhpcy5zdGF0ZS52YWx1ZSkgJiYgKCF2YWx1ZS5pc1ZhbGlkKCkgfHwgIXRoaXMuZGF0ZUlzSW5SYW5nZSh2YWx1ZSkpKSB7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlLCB2YWx1ZSwgdmFsdWVTdHJpbmc6IG51bGwgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc0lucHV0Rm9jdXNlZDogZmFsc2UgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmFsdWUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgVXRpbHMuc2FmZUludm9rZSh0aGlzLnByb3BzLm9uRXJyb3IsIG5ldyBEYXRlKHVuZGVmaW5lZCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICghdGhpcy5kYXRlSXNJblJhbmdlKHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkVycm9yLCB2YWx1ZS50b0RhdGUoKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkNoYW5nZSwgdmFsdWUudG9EYXRlKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiBmYWxzZSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5wdXRSZWYgPSAoZWw6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICAgIHRoaXMuaW5wdXRSZWYgPSBlbDtcbiAgICB9XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRlSW5wdXQudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOzs7Ozs7Ozs7Ozs7Ozs7QUFFSCxJQUFZLFVBQVUsV0FBTSxZQUFZLENBQUMsQ0FBQTtBQUN6QyxJQUFZLE1BQU0sV0FBTSxRQUFRLENBQUMsQ0FBQTtBQUNqQyxJQUFZLEtBQUssV0FBTSxPQUFPLENBQUMsQ0FBQTtBQUUvQixxQkFVTyxtQkFBbUIsQ0FBQyxDQUFBO0FBRTNCLDJCQUEyQixjQUFjLENBQUMsQ0FBQTtBQUMxQywrQkFJTyxrQkFBa0IsQ0FBQyxDQUFBO0FBc0YxQjtJQUErQiw2QkFBbUQ7SUFpQjlFLG1CQUFtQixLQUF1QixFQUFFLE9BQWE7UUFqQjdELGlCQWlQQztRQS9OTyxrQkFBTSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFMbkIsZ0JBQVcsR0FBRyxxQkFBcUIsQ0FBQztRQUVuQyxhQUFRLEdBQWdCLElBQUksQ0FBQztRQStFN0Isa0JBQWEsR0FBRyxVQUFDLEtBQW9CO1lBQ3pDLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQixNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2QsQ0FBQztZQUNELEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xCLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1QixNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQyxDQUFDO2dCQUFDLElBQUksQ0FBQyxDQUFDO29CQUNKLE1BQU0sQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO2dCQUN4QyxDQUFDO1lBQ0wsQ0FBQztZQUNELE1BQU0sQ0FBQyxLQUFJLENB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Q2YsTUFBTSxFQUFFLFlBQVk7UUFDcEIsa0JBQWtCLEVBQUUsY0FBYztRQUNsQyxPQUFPLEVBQUUsa0NBQWlCLEVBQUU7UUFDNUIsT0FBTyxFQUFFLGtDQUFpQixFQUFFO1FBQzVCLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGlCQUFpQixFQUFFLGNBQWM7UUFDakMsZUFBZSxFQUFFLGVBQVEsQ0FBQyxNQUFNO0tBQ25DLENBQUM7SUFzT04sZ0JBQUM7QUFBRCxDQWpQQSxBQWlQQyxDQWpQOEIsd0JBQWlCLEdBaVAvQztBQWpQWSxpQkFBUyxZQWlQckIsQ0FBQSIsImZpbGUiOiJkYXRlSW5wdXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTYgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbXBvbmVudCxcbiAgICBCdXR0b24sXG4gICAgQ2xhc3NlcyxcbiAgICBJbnB1dEdyb3VwLFxuICAgIEludGVudCxcbiAgICBJUHJvcHMsXG4gICAgUG9wb3ZlcixcbiAgICBQb3NpdGlvbixcbiAgICBVdGlscyxcbn0gZnJvbSBcIkBibHVlcHJpbnRqcy9jb3JlXCI7XG5cbmltcG9ydCB7IERhdGVQaWNrZXIgfSBmcm9tIFwiLi9kYXRlUGlja2VyXCI7XG5pbXBvcnQge1xuICAgIGdldERlZmF1bHRNYXhEYXRlLFxuICAgIGdldERlZmF1bHRNaW5EYXRlLFxuICAgIElEYXRlUGlja2VyQmFzZVByb3BzLFxufSBmcm9tIFwiLi9kYXRlUGlja2VyQ29yZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlSW5wdXRQcm9wcyBleHRlbmRzIElEYXRlUGlja2VyQmFzZVByb3BzLCBJUHJvcHMge1xuICAgIC8qKlxuICAgICAqIEFsbG93cyB0aGUgdXNlciB0byBjbGVhciB0aGUgc2VsZWN0aW9uIGJ5IGNsaWNraW5nIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgZGF5LlxuICAgICAqIFBhc3NlZCB0byBgRGF0ZVBpY2tlcmAgY29tcG9uZW50XG4gICAgICovXG4gICAgY2FuQ2xlYXJTZWxlY3Rpb24/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY2FsZW5kYXIgcG9wb3ZlciBzaG91bGQgY2xvc2Ugd2hlbiBhIGRhdGUgaXMgc2VsZWN0ZWQuXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIGNsb3NlT25TZWxlY3Rpb24/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGRlZmF1bHQgZGF0ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wb25lbnQgd2hlbiB1bmNvbnRyb2xsZWQuXG4gICAgICovXG4gICAgZGVmYXVsdFZhbHVlPzogRGF0ZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBmb3JtYXQgb2YgdGhlIGRhdGUuIFNlZSBvcHRpb25zXG4gICAgICogaGVyZTogaHR0cDovL21vbWVudGpzLmNvbS9kb2NzLyMvZGlzcGxheWluZy9mb3JtYXQvXG4gICAgICogQGRlZmF1bHQgXCJZWVlZLU1NLUREXCJcbiAgICAgKi9cbiAgICBmb3JtYXQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IHdoZW4gdGhlIGRhdGUgc2VsZWN0ZWQgaW52YWxpZC5cbiAgICAgKiBAZGVmYXVsdCBcIkludmFsaWQgZGF0ZVwiXG4gICAgICovXG4gICAgaW52YWxpZERhdGVNZXNzYWdlPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgc2VsZWN0cyBhIG5ldyB2YWxpZCBkYXRlIHRocm91Z2ggdGhlIGBEYXRlUGlja2VyYCBvciBieSB0eXBpbmdcbiAgICAgKiBpbiB0aGUgaW5wdXQuXG4gICAgICovXG4gICAgb25DaGFuZ2U/OiAoc2VsZWN0ZWREYXRlOiBEYXRlKSA9PiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIHVzZXIgZmluaXNoZXMgdHlwaW5nIGluIGEgbmV3IGRhdGUgYW5kIHRoZSBkYXRlIGNhdXNlcyBhbiBlcnJvciBzdGF0ZS5cbiAgICAgKiBJZiB0aGUgZGF0ZSBpcyBpbnZhbGlkLCBgbmV3IERhdGUodW5kZWZpbmVkKWAgd2lsbCBiZSByZXR1cm5lZC4gSWYgdGhlIGRhdGUgaXMgb3V0IG9mIHJhbmdlLFxuICAgICAqIHRoZSBvdXQgb2YgcmFuZ2UgZGF0ZSB3aWxsIGJlIHJldHVybmVkIChgb25DaGFuZ2VgIGlzIG5vdCBjYWxsZWQgaW4gdGhpcyBjYXNlKS5cbiAgICAgKi9cbiAgICBvbkVycm9yPzogKGVycm9yRGF0ZTogRGF0ZSkgPT4gdm9pZDtcblxuICAgIC8qKlxuICAgICAqIElmIHRydWUsIHRoZSBQb3BvdmVyIHdpbGwgb3BlbiB3aGVuIHRoZSB1c2VyIGNsaWNrcyBvbiB0aGUgaW5wdXQuIElmIGZhbHNlLCB0aGUgUG9wb3ZlciB3aWxsIG9ubHlcbiAgICAgKiBvcGVuIHdoZW4gdGhlIGNhbGVuZGFyIGljb24gaXMgY2xpY2tlZC5cbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgb3Blbk9uRm9jdXM/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSB3aGVuIHRoZSBkYXRlIHNlbGVjdGVkIGlzIG91dCBvZiByYW5nZS5cbiAgICAgKiBAZGVmYXVsdCBcIk91dCBvZiByYW5nZVwiXG4gICAgICovXG4gICAgb3V0T2ZSYW5nZU1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcG9zaXRpb24gdGhlIGRhdGUgcG9wb3ZlciBzaG91bGQgYXBwZWFyIGluIHJlbGF0aXZlIHRvIHRoZSBpbnB1dCBib3guXG4gICAgICogQGRlZmF1bHQgUG9zaXRpb24uQk9UVE9NXG4gICAgICovXG4gICAgcG9wb3ZlclBvc2l0aW9uPzogUG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIGRheS4gSWYgdGhpcyBwcm9wIGlzIHByZXNlbnQsIHRoZSBjb21wb25lbnQgYWN0cyBpbiBhIGNvbnRyb2xsZWQgbWFubmVyLlxuICAgICAqIFRvIGRpc3BsYXkgbm8gZGF0ZSBpbiB0aGUgaW5wdXQgZmllbGQsIHBhc3MgYG51bGxgIHRvIHRoZSB2YWx1ZSBwcm9wLiBUbyBkaXNwbGF5IGFuIGludmFsaWQgZGF0ZSBlcnJvclxuICAgICAqIGluIHRoZSBpbnB1dCBmaWVsZCwgcGFzcyBgbmV3IERhdGUodW5kZWZpbmVkKWAgdG8gdGhlIHZhbHVlIHByb3AuXG4gICAgICovXG4gICAgdmFsdWU/OiBEYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlSW5wdXRTdGF0ZSB7XG4gICAgdmFsdWU/OiBtb21lbnQuTW9tZW50O1xuICAgIHZhbHVlU3RyaW5nPzogc3RyaW5nO1xuICAgIGlzSW5wdXRGb2N1c2VkPzogYm9vbGVhbjtcbiAgICBpc09wZW4/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUlucHV0IGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnQ8SURhdGVJbnB1dFByb3BzLCBJRGF0ZUlucHV0U3RhdGU+IHtcbiAgICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wczogSURhdGVJbnB1dFByb3BzID0ge1xuICAgICAgICBjbG9zZU9uU2VsZWN0aW9uOiB0cnVlLFxuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIGZvcm1hdDogXCJZWVlZLU1NLUREXCIsXG4gICAgICAgIGludmFsaWREYXRlTWVzc2FnZTogXCJJbnZhbGlkIGRhdGVcIixcbiAgICAgICAgbWF4RGF0ZTogZ2V0RGVmYXVsdE1heERhdGUoKSxcbiAgICAgICAgbWluRGF0ZTogZ2V0RGVmYXVsdE1pbkRhdGUoKSxcbiAgICAgICAgb3Blbk9uRm9jdXM6IHRydWUsXG4gICAgICAgIG91dE9mUmFuZ2VNZXNzYWdlOiBcIk91dCBvZiByYW5nZVwiLFxuICAgICAgICBwb3BvdmVyUG9zaXRpb246IFBvc2l0aW9uLkJPVFRPTSxcbiAgICB9O1xuXG4gICAgcHVibGljIGRpc3BsYXlOYW1lID0gXCJCbHVlcHJpbnQuRGF0ZUlucHV0XCI7XG5cbiAgICBwcml2YXRlIGlucHV0UmVmOiBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHJvcHM/OiBJRGF0ZUlucHV0UHJvcHMsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuXG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlID8gdGhpcy5mcm9tRGF0ZVRvTW9tZW50KHRoaXMucHJvcHMuZGVmYXVsdFZhbHVlKSA6IG1vbWVudChudWxsKTtcblxuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlLFxuICAgICAgICAgICAgaXNPcGVuOiBmYWxzZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnByb3BzLnZhbHVlICE9PSB1bmRlZmluZWQgPyB0aGlzLmZyb21EYXRlVG9Nb21lbnQodGhpcy5wcm9wcy52YWx1ZSkgOiBkZWZhdWx0VmFsdWUsXG4gICAgICAgICAgICB2YWx1ZVN0cmluZzogbnVsbCxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5zdGF0ZS5pc0lucHV0Rm9jdXNlZCA/IHRoaXMuc3RhdGUudmFsdWVTdHJpbmcgOiB0aGlzLmdldERhdGVTdHJpbmcodGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgICAgIGNvbnN0IGRhdGUgPSB0aGlzLnN0YXRlLmlzSW5wdXRGb2N1c2VkID8gbW9tZW50KHRoaXMuc3RhdGUudmFsdWVTdHJpbmcsIHRoaXMucHJvcHMuZm9ybWF0KSA6IHRoaXMuc3RhdGUudmFsdWU7XG5cbiAgICAgICAgY29uc3QgcG9wb3ZlckNvbnRlbnQgPSAoXG4gICAgICAgICAgICA8RGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgIHsuLi50aGlzLnByb3BzfVxuICAgICAgICAgICAgICAgIGNhbkNsZWFyU2VsZWN0aW9uPXt0aGlzLnByb3BzLmNhbkNsZWFyU2VsZWN0aW9ufVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bnVsbH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVEYXRlQ2hhbmdlfVxuICAgICAgICAgICAgICAgIHZhbHVlPXt0aGlzLnZhbGlkQW5kSW5SYW5nZSh0aGlzLnN0YXRlLnZhbHVlKSA/IHRoaXMuZnJvbU1vbWVudFRvRGF0ZSh0aGlzLnN0YXRlLnZhbHVlKSA6IG51bGx9XG4gICAgICAgICAgICAvPlxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IGlucHV0Q2xhc3NlcyA9IGNsYXNzTmFtZXMoe1xuICAgICAgICAgICAgXCJwdC1pbnRlbnQtZGFuZ2VyXCI6ICEodGhpcy52YWxpZEFuZEluUmFuZ2UoZGF0ZSkgfHwgdGhpcy5pc051bGwoZGF0ZSkgfHwgZGF0ZVN0cmluZyA9PT0gXCJcIiksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IGNhbGVuZGFySWNvbiA9IChcbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e0NsYXNzZXMuTUlOSU1BTH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17dGhpcy5wcm9wcy5kaXNhYmxlZH1cbiAgICAgICAgICAgICAgICBpY29uTmFtZT1cImNhbGVuZGFyXCJcbiAgICAgICAgICAgICAgICBpbnRlbnQ9e0ludGVudC5QUklNQVJZfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMuaGFuZGxlSWNvbkNsaWNrfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFBvcG92ZXJcbiAgICAgICAgICAgICAgICBhdXRvRm9jdXM9e2ZhbHNlfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ9e3BvcG92ZXJDb250ZW50fVxuICAgICAgICAgICAgICAgIGVuZm9yY2VGb2N1cz17ZmFsc2V9XG4gICAgICAgICAgICAgICAgaW5saW5lPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW59XG4gICAgICAgICAgICAgICAgb25DbG9zZT17dGhpcy5oYW5kbGVDbG9zZVBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgcG9wb3ZlckNsYXNzTmFtZT1cInB0LWRhdGVpbnB1dC1wb3BvdmVyXCJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbj17dGhpcy5wcm9wcy5wb3BvdmVyUG9zaXRpb259XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPElucHV0R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtpbnB1dENsYXNzZXN9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0aGlzLnByb3BzLmRpc2FibGVkfVxuICAgICAgICAgICAgICAgICAgICBpbnB1dFJlZj17dGhpcy5zZXRJbnB1dFJlZn1cbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICBvbkJsdXI9e3RoaXMuaGFuZGxlSW5wdXRCbHVyfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5oYW5kbGVJbnB1dENoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5oYW5kbGVJbnB1dENsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbkZvY3VzPXt0aGlzLmhhbmRsZUlucHV0Rm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0aGlzLnByb3BzLmZvcm1hdH1cbiAgICAgICAgICAgICAgICAgICAgcmlnaHRFbGVtZW50PXtjYWxlbmRhckljb259XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtkYXRlU3RyaW5nfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzOiBJRGF0ZUlucHV0UHJvcHMpIHtcbiAgICAgICAgaWYgKG5leHRQcm9wcy52YWx1ZSAhPT0gdGhpcy5wcm9wcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiB0aGlzLmZyb21EYXRlVG9Nb21lbnQobmV4dFByb3BzLnZhbHVlKSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1cGVyLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldERhdGVTdHJpbmcgPSAodmFsdWU6IG1vbWVudC5Nb21lbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNOdWxsKHZhbHVlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0ZUlzSW5SYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWUuZm9ybWF0KHRoaXMucHJvcHMuZm9ybWF0KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMub3V0T2ZSYW5nZU1lc3NhZ2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuaW52YWxpZERhdGVNZXNzYWdlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmFsaWRBbmRJblJhbmdlKHZhbHVlOiBtb21lbnQuTW9tZW50KSB7XG4gICAgICAgIHJldHVybiB2YWx1ZS5pc1ZhbGlkKCkgJiYgdGhpcy5kYXRlSXNJblJhbmdlKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzTnVsbCh2YWx1ZTogbW9tZW50Lk1vbWVudCkge1xuICAgICAgICByZXR1cm4gdmFsdWUucGFyc2luZ0ZsYWdzKCkubnVsbElucHV0O1xuICAgIH1cblxuICAgIHByaXZhdGUgZGF0ZUlzSW5SYW5nZSh2YWx1ZTogbW9tZW50Lk1vbWVudCkge1xuICAgICAgICByZXR1cm4gdmFsdWUuaXNCZXR3ZWVuKHRoaXMucHJvcHMubWluRGF0ZSwgdGhpcy5wcm9wcy5tYXhEYXRlLCBcImRheVwiLCBcIltdXCIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQ2xvc2VQb3BvdmVyID0gKCkgPT4ge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuOiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZURhdGVDaGFuZ2UgPSAoZGF0ZTogRGF0ZSwgaGFzVXNlck1hbnVhbGx5U2VsZWN0ZWREYXRlOiBib29sZWFuKSA9PiB7XG4gICAgICAgIGNvbnN0IG1vbWVudERhdGUgPSB0aGlzLmZyb21EYXRlVG9Nb21lbnQoZGF0ZSk7XG4gICAgICAgIGNvbnN0IGhhc01vbnRoQ2hhbmdlZCA9IGRhdGUgIT09IG51bGwgJiYgIXRoaXMuaXNOdWxsKHRoaXMuc3RhdGUudmFsdWUpICYmIHRoaXMuc3RhdGUudmFsdWUuaXNWYWxpZCgpICYmXG4gICAgICAgICAgICBtb21lbnREYXRlLm1vbnRoKCkgIT09IHRoaXMuc3RhdGUudmFsdWUubW9udGgoKTtcbiAgICAgICAgY29uc3QgaXNPcGVuID0gISh0aGlzLnByb3BzLmNsb3NlT25TZWxlY3Rpb24gJiYgaGFzVXNlck1hbnVhbGx5U2VsZWN0ZWREYXRlICYmICFoYXNNb250aENoYW5nZWQpO1xuICAgICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlLCBpc09wZW4sIHZhbHVlOiBtb21lbnREYXRlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiBmYWxzZSwgaXNPcGVuIH0pO1xuICAgICAgICB9XG4gICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkNoYW5nZSwgdGhpcy5mcm9tTW9tZW50VG9EYXRlKG1vbWVudERhdGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUljb25DbGljayA9IChlOiBSZWFjdC5TeW50aGV0aWNFdmVudDxIVE1MRWxlbWVudD4pID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuaXNPcGVuKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pbnB1dFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnB1dFJlZi5ibHVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNPcGVuOiB0cnVlIH0pO1xuICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlucHV0UmVmICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0UmVmLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUlucHV0Rm9jdXMgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdGhpcy5pc051bGwodGhpcy5zdGF0ZS52YWx1ZSkgPyBcIlwiIDogdGhpcy5zdGF0ZS52YWx1ZS5mb3JtYXQodGhpcy5wcm9wcy5mb3JtYXQpO1xuXG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5PbkZvY3VzKSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IHRydWUsIGlzT3BlbjogdHJ1ZSwgdmFsdWVTdHJpbmcgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IHRydWUsIHZhbHVlU3RyaW5nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnB1dENsaWNrID0gKGU6IFJlYWN0LlN5bnRoZXRpY0V2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9wZW5PbkZvY3VzKSB7XG4gICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnB1dENoYW5nZSA9IChlOiBSZWFjdC5TeW50aGV0aWNFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IChlLnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KS52YWx1ZTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBtb21lbnQodmFsdWVTdHJpbmcsIHRoaXMucHJvcHMuZm9ybWF0KTtcblxuICAgICAgICBpZiAodmFsdWUuaXNWYWxpZCgpICYmIHRoaXMuZGF0ZUlzSW5SYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWUsIHZhbHVlU3RyaW5nIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWVTdHJpbmcgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBVdGlscy5zYWZlSW52b2tlKHRoaXMucHJvcHMub25DaGFuZ2UsIHRoaXMuZnJvbU1vbWVudFRvRGF0ZSh2YWx1ZSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlU3RyaW5nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVJbnB1dEJsdXIgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdGhpcy5zdGF0ZS52YWx1ZVN0cmluZztcbiAgICAgICAgbGV0IHZhbHVlID0gbW9tZW50KHZhbHVlU3RyaW5nLCB0aGlzLnByb3BzLmZvcm1hdCk7XG4gICAgICAgIGlmICh2YWx1ZVN0cmluZyAhPT0gdGhpcy5nZXREYXRlU3RyaW5nKHRoaXMuc3RhdGUudmFsdWUpICYmICghdmFsdWUuaXNWYWxpZCgpIHx8ICF0aGlzLmRhdGVJc0luUmFuZ2UodmFsdWUpKSkge1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wcm9wcy52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzSW5wdXRGb2N1c2VkOiBmYWxzZSwgdmFsdWUsIHZhbHVlU3RyaW5nOiBudWxsIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlIH0pO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXZhbHVlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkVycm9yLCBuZXcgRGF0ZSh1bmRlZmluZWQpKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGF0ZUlzSW5SYW5nZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBVdGlscy5zYWZlSW52b2tlKHRoaXMucHJvcHMub25FcnJvciwgdGhpcy5mcm9tTW9tZW50VG9EYXRlKHZhbHVlKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFV0aWxzLnNhZmVJbnZva2UodGhpcy5wcm9wcy5vbkNoYW5nZSwgdGhpcy5mcm9tTW9tZW50VG9EYXRlKHZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgaXNJbnB1dEZvY3VzZWQ6IGZhbHNlIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbnB1dFJlZiA9IChlbDogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgICAgdGhpcy5pbnB1dFJlZiA9IGVsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zbGF0ZSBhIG1vbWVudCBpbnRvIGEgRGF0ZSBvYmplY3QsIGFkanVzdGluZyB0aGUgbW9tZW50IHRpbWV6b25lIGludG8gdGhlIGxvY2FsIG9uZS5cbiAgICAgKiBUaGlzIGlzIGEgbm8tb3AgdW5sZXNzIG1vbWVudC10aW1lem9uZSdzIHNldERlZmF1bHQgaGFzIGJlZW4gY2FsbGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgZnJvbU1vbWVudFRvRGF0ZSA9IChtb21lbnREYXRlOiBtb21lbnQuTW9tZW50KSA9PiB7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShcbiAgICAgICAgICAgIG1vbWVudERhdGUueWVhcigpLFxuICAgICAgICAgICAgbW9tZW50RGF0ZS5tb250aCgpLFxuICAgICAgICAgICAgbW9tZW50RGF0ZS5kYXRlKCksXG4gICAgICAgICAgICBtb21lbnREYXRlLmhvdXJzKCksXG4gICAgICAgICAgICBtb21lbnREYXRlLm1pbnV0ZXMoKSxcbiAgICAgICAgICAgIG1vbWVudERhdGUuc2Vjb25kcygpLFxuICAgICAgICAgICAgbW9tZW50RGF0ZS5taWxsaXNlY29uZHMoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmFuc2xhdGUgYSBEYXRlIG9iamVjdCBpbnRvIGEgbW9tZW50LCBhZGp1c3RpbmcgdGhlIGxvY2FsIHRpbWV6b25lIGludG8gdGhlIG1vbWVudCBvbmUuXG4gICAgICogVGhpcyBpcyBhIG5vLW9wIHVubGVzcyBtb21lbnQtdGltZXpvbmUncyBzZXREZWZhdWx0IGhhcyBiZWVuIGNhbGxlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZyb21EYXRlVG9Nb21lbnQgPSAoZGF0ZTogRGF0ZSkgPT4ge1xuICAgICAgICByZXR1cm4gbW9tZW50KFtcbiAgICAgICAgICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TW9udGgoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgICAgICAgZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgICAgICAgICBkYXRlLmdldFNlY29uZHMoKSxcbiAgICAgICAgICAgIGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
{
"name": "@blueprintjs/datetime",
"version": "1.1.0",
"version": "1.2.0",
"description": "Components for interacting with dates and times",

@@ -9,3 +9,3 @@ "main": "dist/index.js",

"dependencies": {
"@blueprintjs/core": "^1.1.0",
"@blueprintjs/core": "^1.2.0",
"classnames": "^2.2",

@@ -12,0 +12,0 @@ "moment": "^2.14.1",

@@ -8,3 +8,3 @@ /*

export type DateRange = [Date, Date];
export type DateRange = [Date | undefined, Date | undefined];

@@ -11,0 +11,0 @@ export function areEqual(date1: Date, date2: Date) {

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