http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser/testing.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser/testing.js 
b/node_modules/@angular/animations/esm5/browser/testing.js
new file mode 100644
index 0000000..4c42ca0
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser/testing.js
@@ -0,0 +1,511 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+import { __extends } from 'tslib';
+import { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+
+/**
+ * @param {?} command
+ * @return {?}
+ */
+
+var _contains = function (elm1, elm2) { return false; };
+var _matches = function (element, selector) {
+    return false;
+};
+var _query = function (element, selector, multi) {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = function (elm1, elm2) { return /** @type {?} */ 
(elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = function (element, selector) { return 
element.matches(selector); };
+    }
+    else {
+        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        var /** @type {?} */ fn_1 = proto.matchesSelector || 
proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn_1) {
+            _matches = function (element, selector) { return 
fn_1.apply(element, [selector]); };
+        }
+    }
+    _query = function (element, selector, multi) {
+        var /** @type {?} */ results = [];
+        if (multi) {
+            results.push.apply(results, element.querySelectorAll(selector));
+        }
+        else {
+            var /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+var _CACHED_BODY = null;
+var _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? 
('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    var /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && 
!containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            var /** @type {?} */ camelProp = 'Webkit' + 
prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+var matchesElement = _matches;
+var containsElement = _contains;
+var invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} input
+ * @return {?}
+ */
+
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationDriver = /** @class */ (function () {
+    function MockAnimationDriver() {
+    }
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.validateStyleProperty = /**
+     * @param {?} prop
+     * @return {?}
+     */
+    function (prop) { return validateStyleProperty(prop); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.matchesElement = /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    function (element, selector) {
+        return matchesElement(element, selector);
+    };
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.containsElement = /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    function (elm1, elm2) { return containsElement(elm1, elm2); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.query = /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    function (element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    };
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.computeStyle = /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    function (element, prop, defaultValue) {
+        return defaultValue || '';
+    };
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.animate = /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    function (element, keyframes, duration, delay, easing, previousPlayers) {
+        if (previousPlayers === void 0) { previousPlayers = []; }
+        var /** @type {?} */ player = new MockAnimationPlayer(element, 
keyframes, duration, delay, easing, previousPlayers);
+        MockAnimationDriver.log.push(/** @type {?} */ (player));
+        return player;
+    };
+    MockAnimationDriver.log = [];
+    return MockAnimationDriver;
+}());
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationPlayer = /** @class */ (function (_super) {
+    __extends(MockAnimationPlayer, _super);
+    function MockAnimationPlayer(element, keyframes, duration, delay, easing, 
previousPlayers) {
+        var _this = _super.call(this) || this;
+        _this.element = element;
+        _this.keyframes = keyframes;
+        _this.duration = duration;
+        _this.delay = delay;
+        _this.easing = easing;
+        _this.previousPlayers = previousPlayers;
+        _this.__finished = false;
+        _this.__started = false;
+        _this.previousStyles = {};
+        _this._onInitFns = [];
+        _this.currentSnapshot = {};
+        if (allowPreviousPlayerStylesMerge(duration, delay)) {
+            previousPlayers.forEach(function (player) {
+                if (player instanceof MockAnimationPlayer) {
+                    var /** @type {?} */ styles_1 = player.currentSnapshot;
+                    Object.keys(styles_1).forEach(function (prop) { return 
_this.previousStyles[prop] = styles_1[prop]; });
+                }
+            });
+        }
+        _this.totalTime = delay + duration;
+        return _this;
+    }
+    /* @internal */
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.onInit = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onInitFns.push(fn); };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.init.call(this);
+        this._onInitFns.forEach(function (fn) { return fn(); });
+        this._onInitFns = [];
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.finish.call(this);
+        this.__finished = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.destroy.call(this);
+        this.__finished = true;
+    };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.triggerMicrotask = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.play.call(this);
+        this.__started = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this.__started; };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.beforeDestroy = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ captures = {};
+        Object.keys(this.previousStyles).forEach(function (prop) {
+            captures[prop] = _this.previousStyles[prop];
+        });
+        if (this.hasStarted()) {
+            // when assembling the captured styles, it's important that
+            // we build the keyframe styles in the following order:
+            // {other styles within keyframes, ... previousStyles }
+            this.keyframes.forEach(function (kf) {
+                Object.keys(kf).forEach(function (prop) {
+                    if (prop != 'offset') {
+                        captures[prop] = _this.__finished ? kf[prop] : 
AUTO_STYLE;
+                    }
+                });
+            });
+        }
+        this.currentSnapshot = captures;
+    };
+    return MockAnimationPlayer;
+}(NoopAnimationPlayer));
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { MockAnimationDriver, MockAnimationPlayer };
+//# sourceMappingURL=testing.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser/testing.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser/testing.js.map 
b/node_modules/@angular/animations/esm5/browser/testing.js.map
new file mode 100644
index 0000000..ac9c3ad
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser/testing.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"testing.js","sources":["../../../../packages/animations/esm5/browser/src/render/shared.js","../../../../packages/animations/esm5/browser/src/util.js","../../../../packages/animations/esm5/browser/testing/src/mock_animation_driver.js","../../../../packages/animations/esm5/browser/testing/src/testing.js","../../../../packages/animations/esm5/browser/testing/public_api.js","../../../../packages/animations/esm5/browser/testing/testing.js"],"sourcesContent":["/**\n
 * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n 
*/\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, 
ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} 
players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n  
  switch (players.length) {\n        case 0:\n            return new 
NoopAnimationPlayer();\n        case 1:\n            return players[0];\n       
 default:\n            return new ɵAnimationGroupPlayer(pla
 yers);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * 
@param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * 
@param {?=} postStyles\n * @return {?}\n */\nexport function 
normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, 
postStyles) {\n    if (preStyles === void 0) { preStyles = {}; }\n    if 
(postStyles === void 0) { postStyles = {}; }\n    var /** @type {?} */ errors = 
[];\n    var /** @type {?} */ normalizedKeyframes = [];\n    var /** @type {?} 
*/ previousOffset = -1;\n    var /** @type {?} */ previousKeyframe = null;\n    
keyframes.forEach(function (kf) {\n        var /** @type {?} */ offset = /** 
@type {?} */ (kf['offset']);\n        var /** @type {?} */ isSameOffset = 
offset == previousOffset;\n        var /** @type {?} */ normalizedKeyframe = 
(isSameOffset && previousKeyframe) || {};\n        
Object.keys(kf).forEach(function (prop) {\n            var /** @type {?} */ 
normalizedProp = prop;\n            var /** @type {
 ?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n      
          normalizedProp = normalizer.normalizePropertyName(normalizedProp, 
errors);\n                switch (normalizedValue) {\n                    case 
PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n        
                break;\n                    case AUTO_STYLE:\n                  
      normalizedValue = postStyles[prop];\n                        break;\n     
               default:\n                        normalizedValue =\n            
                normalizer.normalizeStyleValue(prop, normalizedProp, 
normalizedValue, errors);\n                        break;\n                }\n  
          }\n            normalizedKeyframe[normalizedProp] = 
normalizedValue;\n        });\n        if (!isSameOffset) {\n            
normalizedKeyframes.push(normalizedKeyframe);\n        }\n        
previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    
});\n    if (er
 rors.length) {\n        var /** @type {?} */ LINE_START = '\\n - ';\n        
throw new Error(\"Unable to animate due to the following errors:\" + LINE_START 
+ errors.join(LINE_START));\n    }\n    return normalizedKeyframes;\n}\n/**\n * 
@param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} 
callback\n * @return {?}\n */\nexport function listenOnPlayer(player, 
eventName, event, callback) {\n    switch (eventName) {\n        case 
'start':\n            player.onStart(function () { return callback(event && 
copyAnimationEvent(event, 'start', player.totalTime)); });\n            
break;\n        case 'done':\n            player.onDone(function () { return 
callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n   
         break;\n        case 'destroy':\n            player.onDestroy(function 
() { return callback(event && copyAnimationEvent(event, 'destroy', 
player.totalTime)); });\n            break;\n    }\n}\n/**\n * @param {?} e\n * 
@param {?
 =} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function 
copyAnimationEvent(e, phaseName, totalTime) {\n    var /** @type {?} */ event = 
makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName 
|| e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    var /** 
@type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n 
       (/** @type {?} */ (event))['_data'] = data;\n    }\n    return 
event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} 
fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} 
totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, 
triggerName, fromState, toState, phaseName, totalTime) {\n    if (phaseName === 
void 0) { phaseName = ''; }\n    if (totalTime === void 0) { totalTime = 0; }\n 
   return { element: element, triggerName: triggerName, fromState: fromState, 
toState: toState, phaseName: phaseName, totalTime: totalTime }
 ;\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n 
* @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n 
   var /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = 
map.get(key);\n        if (!value) {\n            map.set(key, value = 
defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n       
 if (!value) {\n            value = map[key] = defaultValue;\n        }\n    
}\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n 
*/\nexport function parseTimelineCommand(command) {\n    var /** @type {?} */ 
separatorPos = command.indexOf(':');\n    var /** @type {?} */ id = 
command.substring(1, separatorPos);\n    var /** @type {?} */ action = 
command.substr(separatorPos + 1);\n    return [id, action];\n}\nvar /** @type 
{?} */ _contains = function (elm1, elm2) { return false; };\nvar ɵ0 = 
_contains;\nvar /** @type {?} */ _matches = function (element, selector) {\n    
return false;\n}
 ;\nvar ɵ1 = _matches;\nvar /** @type {?} */ _query = function (element, 
selector, multi) {\n    return [];\n};\nvar ɵ2 = _query;\nif (typeof Element 
!= 'undefined') {\n    // this is well supported in all browsers\n    _contains 
= function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n   
 if (Element.prototype.matches) {\n        _matches = function (element, 
selector) { return element.matches(selector); };\n    }\n    else {\n        
var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var 
/** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || 
proto.msMatchesSelector ||\n            proto.oMatchesSelector || 
proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = 
function (element, selector) { return fn_1.apply(element, [selector]); };\n     
   }\n    }\n    _query = function (element, selector, multi) {\n        var 
/** @type {?} */ results = [];\n        if (multi) {\n            
results.push.app
 ly(results, element.querySelectorAll(selector));\n        }\n        else {\n  
          var /** @type {?} */ elm = element.querySelector(selector);\n         
   if (elm) {\n                results.push(elm);\n            }\n        }\n   
     return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n 
*/\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real 
popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    
return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar /** @type 
{?} */ _CACHED_BODY = null;\nvar /** @type {?} */ _IS_WEBKIT = false;\n/**\n * 
@param {?} prop\n * @return {?}\n */\nexport function 
validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = 
getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ 
((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ 
((_CACHED_BODY)).style) : false;\n    }\n    var /** @type {?} */ result = 
true;\n    if (/** @type {?} */ ((_CACHED_BO
 DY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** 
@type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n    
        var /** @type {?} */ camelProp = 'Webkit' + 
prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp 
in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return 
result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if 
(typeof document != 'undefined') {\n        return document.body;\n    }\n    
return null;\n}\nexport var /** @type {?} */ matchesElement = _matches;\nexport 
var /** @type {?} */ containsElement = _contains;\nexport var /** @type {?} */ 
invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# 
sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * 
@suppress {checkTypes} checked by tsc\n */\nimport { sequence } from 
'@angular/animations';\nexport var /** @type {?} */ ONE_SECOND = 1000;\nexport 
var /** @type {?} */ SUBSTITUTION_EXPR_START
  = '{{';\nexport var /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport 
var /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport var /** @type {?} */ 
LEAVE_CLASSNAME = 'ng-leave';\nexport var /** @type {?} */ ENTER_SELECTOR = 
'.ng-enter';\nexport var /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport 
var /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport var /** @type 
{?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport var /** @type {?} */ 
NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport var /** @type {?} */ 
NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return 
{?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 
'number')\n        return value;\n    var /** @type {?} */ matches = (/** @type 
{?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || 
matches.length < 2)\n        return 0;\n    return 
_convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param 
{?} value\n * @param {?} uni
 t\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    
switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n    
    default:\n            // ms or something else\n            return value;\n  
  }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} 
allowNegativeValues\n * @return {?}\n */\nexport function 
resolveTiming(timings, errors, allowNegativeValues) {\n    return 
timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        
parseTimeExpression(/** @type {?} */ (timings), errors, 
allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * 
@param {?=} allowNegativeValues\n * @return {?}\n */\nfunction 
parseTimeExpression(exp, errors, allowNegativeValues) {\n    var /** @type {?} 
*/ regex = 
/^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n
    var /** @type {?} */ duration;\n    var /** @type {?} */ delay = 0;\n    
var /** @type {?} */ easing = '';\n    if (t
 ypeof exp === 'string') {\n        var /** @type {?} */ matches = 
exp.match(regex);\n        if (matches === null) {\n            
errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n 
           return { duration: 0, delay: 0, easing: '' };\n        }\n        
duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        
var /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) 
{\n            delay = 
_convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        
}\n        var /** @type {?} */ easingVal = matches[5];\n        if (easingVal) 
{\n            easing = easingVal;\n        }\n    }\n    else {\n        
duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n    
    var /** @type {?} */ containsErrors = false;\n        var /** @type {?} */ 
startIndex = errors.length;\n        if (duration < 0) {\n            
errors.push(\"Duration values below 0 are not allowed for this ani
 mation step.\");\n            containsErrors = true;\n        }\n        if 
(delay < 0) {\n            errors.push(\"Delay values below 0 are not allowed 
for this animation step.\");\n            containsErrors = true;\n        }\n   
     if (containsErrors) {\n            errors.splice(startIndex, 0, \"The 
provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n        }\n    }\n 
   return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * 
@param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport 
function copyObj(obj, destination) {\n    if (destination === void 0) { 
destination = {}; }\n    Object.keys(obj).forEach(function (prop) { 
destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param 
{?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    
var /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n 
       styles.forEach(function (data) { return copyStyles(data, false, 
normalized
 Styles); });\n    }\n    else {\n        copyStyles(styles, false, 
normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} 
styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return 
{?}\n */\nexport function copyStyles(styles, readPrototype, destination) {\n    
if (destination === void 0) { destination = {}; }\n    if (readPrototype) {\n   
     // we make use of a for-in loop so that the\n        // prototypically 
inherited properties are\n        // revealed from the backFill map\n        
for (var /** @type {?} */ prop in styles) {\n            destination[prop] = 
styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, 
destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n 
* @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, 
styles) {\n    if (element['style']) {\n        
Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ 
camelProp = dashCaseToCamelCase(
 prop);\n            element.style[camelProp] = styles[prop];\n        });\n    
}\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n 
*/\nexport function eraseStyles(element, styles) {\n    if (element['style']) 
{\n        Object.keys(styles).forEach(function (prop) {\n            var /** 
@type {?} */ camelProp = dashCaseToCamelCase(prop);\n            
element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} 
steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n  
  if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            
return steps[0];\n        return sequence(steps);\n    }\n    return /** @type 
{?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param 
{?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, 
options, errors) {\n    var /** @type {?} */ params = options.params || {};\n   
 var /** @type {?} */ matches = extractStyleParams(value);\n    if 
(matches.lengt
 h) {\n        matches.forEach(function (varName) {\n            if 
(!params.hasOwnProperty(varName)) {\n                errors.push(\"Unable to 
resolve the local animation param \" + varName + \" in the given list of 
values\");\n            }\n        });\n    }\n}\nvar /** @type {?} */ 
PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + 
SUBSTITUTION_EXPR_END, 'g');\n/**\n * @param {?} value\n * @return {?}\n 
*/\nexport function extractStyleParams(value) {\n    var /** @type {?} */ 
params = [];\n    if (typeof value === 'string') {\n        var /** @type {?} 
*/ val = value.toString();\n        var /** @type {?} */ match = void 0;\n      
  while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type 
{?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    
return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param 
{?} errors\n * @return {?}\n */\nexport function interpolateParams(value, 
params, errors) {\n   
  var /** @type {?} */ original = value.toString();\n    var /** @type {?} */ 
str = original.replace(PARAM_REGEX, function (_, varName) {\n        var /** 
@type {?} */ localVal = params[varName];\n        // this means that the value 
was never overidden by the data passed in by the user\n        if 
(!params.hasOwnProperty(varName)) {\n            errors.push(\"Please provide a 
value for the animation param \" + varName);\n            localVal = '';\n      
  }\n        return localVal.toString();\n    });\n    // we do this to assert 
that numeric values stay as they are\n    return str == original ? value : 
str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function 
iteratorToArray(iterator) {\n    var /** @type {?} */ arr = [];\n    var /** 
@type {?} */ item = iterator.next();\n    while (!item.done) {\n        
arr.push(item.value);\n        item = iterator.next();\n    }\n    return 
arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n 
*/\nex
 port function mergeAnimationOptions(source, destination) {\n    if 
(source.params) {\n        var /** @type {?} */ p0_1 = source.params;\n        
if (!destination.params) {\n            destination.params = {};\n        }\n   
     var /** @type {?} */ p1_1 = destination.params;\n        
Object.keys(p0_1).forEach(function (param) {\n            if 
(!p1_1.hasOwnProperty(param)) {\n                p1_1[param] = p0_1[param];\n   
         }\n        });\n    }\n    return destination;\n}\nvar /** @type {?} 
*/ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return 
{?}\n */\nexport function dashCaseToCamelCase(input) {\n    return 
input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for 
(var _i = 0; _i < arguments.length; _i++) {\n            m[_i] = 
arguments[_i];\n        }\n        return m[1].toUpperCase();\n    
});\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n 
*/\nexport function allowPreviousPlayerStylesMerge(duration
 , delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} 
visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport 
function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n     
   case 7 /* Trigger */:\n            return visitor.visitTrigger(node, 
context);\n        case 0 /* State */:\n            return 
visitor.visitState(node, context);\n        case 1 /* Transition */:\n          
  return visitor.visitTransition(node, context);\n        case 2 /* Sequence 
*/:\n            return visitor.visitSequence(node, context);\n        case 3 
/* Group */:\n            return visitor.visitGroup(node, context);\n        
case 4 /* Animate */:\n            return visitor.visitAnimate(node, 
context);\n        case 5 /* Keyframes */:\n            return 
visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n           
 return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n   
         return visitor.v
 isitReference(node, context);\n        case 9 /* AnimateChild */:\n            
return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef 
*/:\n            return visitor.visitAnimateRef(node, context);\n        case 
11 /* Query */:\n            return visitor.visitQuery(node, context);\n        
case 12 /* Stagger */:\n            return visitor.visitStagger(node, 
context);\n        default:\n            throw new Error(\"Unable to resolve 
animation metadata node #\" + node.type);\n    }\n}\n//# 
sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * 
@suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from 
\"tslib\";\nimport { AUTO_STYLE, NoopAnimationPlayer } from 
'@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, 
validateStyleProperty } from '../../src/render/shared';\nimport { 
allowPreviousPlayerStylesMerge } from '../../src/util';\n/**\n * 
\\@experimental Animation support is experimental.\n */\nvar Mo
 ckAnimationDriver = /** @class */ (function () {\n    function 
MockAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return 
{?}\n     */\n    MockAnimationDriver.prototype.validateStyleProperty = /**\n   
  * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return 
validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * 
@param {?} selector\n     * @return {?}\n     */\n    
MockAnimationDriver.prototype.matchesElement = /**\n     * @param {?} element\n 
    * @param {?} selector\n     * @return {?}\n     */\n    function (element, 
selector) {\n        return matchesElement(element, selector);\n    };\n    
/**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     
*/\n    MockAnimationDriver.prototype.containsElement = /**\n     * @param {?} 
elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, 
elm2) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} 
element\n     * @pa
 ram {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    
MockAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * 
@param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    
function (element, selector, multi) {\n        return invokeQuery(element, 
selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param 
{?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    
MockAnimationDriver.prototype.computeStyle = /**\n     * @param {?} element\n   
  * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     
*/\n    function (element, prop, defaultValue) {\n        return defaultValue 
|| '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} 
keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param 
{?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n   
 MockAnimationDriver.prototype.animate = /**\n     * @param {?} element\
 n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} 
delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * 
@return {?}\n     */\n    function (element, keyframes, duration, delay, 
easing, previousPlayers) {\n        if (previousPlayers === void 0) { 
previousPlayers = []; }\n        var /** @type {?} */ player = new 
MockAnimationPlayer(element, keyframes, duration, delay, easing, 
previousPlayers);\n        MockAnimationDriver.log.push(/** @type {?} */ 
(player));\n        return player;\n    };\n    MockAnimationDriver.log = [];\n 
   return MockAnimationDriver;\n}());\nexport { MockAnimationDriver 
};\nfunction MockAnimationDriver_tsickle_Closure_declarations() {\n    /** 
@type {?} */\n    MockAnimationDriver.log;\n}\n/**\n * \\@experimental 
Animation support is experimental.\n */\nvar /**\n * \\@experimental Animation 
support is experimental.\n */\nMockAnimationPlayer = /** @class */ (function 
(_super) {\n    tslib_1.__extends(MockAnimation
 Player, _super);\n    function MockAnimationPlayer(element, keyframes, 
duration, delay, easing, previousPlayers) {\n        var _this = 
_super.call(this) || this;\n        _this.element = element;\n        
_this.keyframes = keyframes;\n        _this.duration = duration;\n        
_this.delay = delay;\n        _this.easing = easing;\n        
_this.previousPlayers = previousPlayers;\n        _this.__finished = false;\n   
     _this.__started = false;\n        _this.previousStyles = {};\n        
_this._onInitFns = [];\n        _this.currentSnapshot = {};\n        if 
(allowPreviousPlayerStylesMerge(duration, delay)) {\n            
previousPlayers.forEach(function (player) {\n                if (player 
instanceof MockAnimationPlayer) {\n                    var /** @type {?} */ 
styles_1 = player.currentSnapshot;\n                    
Object.keys(styles_1).forEach(function (prop) { return 
_this.previousStyles[prop] = styles_1[prop]; });\n                }\n           
 });\n        }\n       
  _this.totalTime = delay + duration;\n        return _this;\n    }\n    /* 
@internal */\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    
MockAnimationPlayer.prototype.onInit = /**\n     * @param {?} fn\n     * 
@return {?}\n     */\n    function (fn) { this._onInitFns.push(fn); };\n    /* 
@internal */\n    /**\n     * @return {?}\n     */\n    
MockAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    
function () {\n        _super.prototype.init.call(this);\n        
this._onInitFns.forEach(function (fn) { return fn(); });\n        
this._onInitFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    
MockAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    
function () {\n        _super.prototype.finish.call(this);\n        
this.__finished = true;\n    };\n    /**\n     * @return {?}\n     */\n    
MockAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    
function () {\n        _super.prototype.destroy.call(this)
 ;\n        this.__finished = true;\n    };\n    /* @internal */\n    /**\n     
* @return {?}\n     */\n    MockAnimationPlayer.prototype.triggerMicrotask = 
/**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return 
{?}\n     */\n    MockAnimationPlayer.prototype.play = /**\n     * @return 
{?}\n     */\n    function () {\n        _super.prototype.play.call(this);\n    
    this.__started = true;\n    };\n    /**\n     * @return {?}\n     */\n    
MockAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n   
 function () { return this.__started; };\n    /**\n     * @return {?}\n     
*/\n    MockAnimationPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n 
    */\n    function () {\n        var _this = this;\n        var /** @type {?} 
*/ captures = {};\n        Object.keys(this.previousStyles).forEach(function 
(prop) {\n            captures[prop] = _this.previousStyles[prop];\n        
});\n        if (this.hasStarted()) {\n            // when 
 assembling the captured styles, it's important that\n            // we build 
the keyframe styles in the following order:\n            // {other styles 
within keyframes, ... previousStyles }\n            
this.keyframes.forEach(function (kf) {\n                
Object.keys(kf).forEach(function (prop) {\n                    if (prop != 
'offset') {\n                        captures[prop] = _this.__finished ? 
kf[prop] : AUTO_STYLE;\n                    }\n                });\n            
});\n        }\n        this.currentSnapshot = captures;\n    };\n    return 
MockAnimationPlayer;\n}(NoopAnimationPlayer));\n/**\n * \\@experimental 
Animation support is experimental.\n */\nexport { MockAnimationPlayer 
};\nfunction MockAnimationPlayer_tsickle_Closure_declarations() {\n    /** 
@type {?} */\n    MockAnimationPlayer.prototype.__finished;\n    /** @type {?} 
*/\n    MockAnimationPlayer.prototype.__started;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.previousStyles;\n    /** @type 
 {?} */\n    MockAnimationPlayer.prototype._onInitFns;\n    /** @type {?} */\n  
  MockAnimationPlayer.prototype.currentSnapshot;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.element;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.keyframes;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.duration;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.delay;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.easing;\n    /** @type {?} */\n    
MockAnimationPlayer.prototype.previousPlayers;\n}\n//# 
sourceMappingURL=mock_animation_driver.js.map","/**\n * @fileoverview added by 
tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { 
MockAnimationDriver, MockAnimationPlayer } from './mock_animation_driver';\n//# 
sourceMappingURL=testing.js.map","/**\n * @fileoverview added by tsickle\n * 
@suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright 
Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by 
a
 n MIT-style license that can be\n * found in the LICENSE file at 
https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry 
point for all public APIs of this package.\n */\nexport { MockAnimationDriver, 
MockAnimationPlayer } from './src/testing';\n//# 
sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * 
@suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do 
not edit.\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from 
'./public_api';\n//# 
sourceMappingURL=testing.js.map"],"names":["tslib_1.__extends"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/package.json 
b/node_modules/@angular/animations/package.json
new file mode 100644
index 0000000..237b732
--- /dev/null
+++ b/node_modules/@angular/animations/package.json
@@ -0,0 +1,56 @@
+{
+  "_args": [
+    [
+      "@angular/[email protected]",
+      "/Users/scottyaslan/Development/nifi-fds/target"
+    ]
+  ],
+  "_from": "@angular/[email protected]",
+  "_id": "@angular/[email protected]",
+  "_inBundle": false,
+  "_integrity": 
"sha512-JLR42YHiJppO4ruAkFxgbzghUDtHkXHkKPM8udd2qyt16T7e1OX7EEOrrmldUu59CC56tZnJ/32p4SrYmxyBSA==",
+  "_location": "/@angular/animations",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "version",
+    "registry": true,
+    "raw": "@angular/[email protected]",
+    "name": "@angular/animations",
+    "escapedName": "@angular%2fanimations",
+    "scope": "@angular",
+    "rawSpec": "5.2.0",
+    "saveSpec": null,
+    "fetchSpec": "5.2.0"
+  },
+  "_requiredBy": [
+    "/"
+  ],
+  "_resolved": 
"https://registry.npmjs.org/@angular/animations/-/animations-5.2.0.tgz";,
+  "_spec": "5.2.0",
+  "_where": "/Users/scottyaslan/Development/nifi-fds/target",
+  "author": {
+    "name": "angular"
+  },
+  "bugs": {
+    "url": "https://github.com/angular/angular/issues";
+  },
+  "dependencies": {
+    "tslib": "^1.7.1"
+  },
+  "description": "Angular - animations integration with web-animationss",
+  "es2015": "./esm2015/animations.js",
+  "homepage": "https://github.com/angular/angular#readme";,
+  "license": "MIT",
+  "main": "./bundles/animations.umd.js",
+  "module": "./esm5/animations.js",
+  "name": "@angular/animations",
+  "peerDependencies": {
+    "@angular/core": "5.2.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/angular/angular.git";
+  },
+  "typings": "./animations.d.ts",
+  "version": "5.2.0"
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/public_api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/public_api.d.ts 
b/node_modules/@angular/animations/public_api.d.ts
new file mode 100644
index 0000000..47ea1d3
--- /dev/null
+++ b/node_modules/@angular/animations/public_api.d.ts
@@ -0,0 +1,13 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+export * from './src/animations';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/LICENSE 
b/node_modules/@angular/cdk/LICENSE
new file mode 100644
index 0000000..f3aca7b
--- /dev/null
+++ b/node_modules/@angular/cdk/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2018 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/README.md
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/README.md 
b/node_modules/@angular/cdk/README.md
new file mode 100644
index 0000000..19fce67
--- /dev/null
+++ b/node_modules/@angular/cdk/README.md
@@ -0,0 +1,6 @@
+Angular Material
+=======
+
+The sources for this package are in the main [Angular 
Material](https://github.com/angular/material2) repo. Please file issues and 
pull requests against that repo.
+
+License: MIT
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/_a11y.scss
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/_a11y.scss 
b/node_modules/@angular/cdk/_a11y.scss
new file mode 100644
index 0000000..2e67669
--- /dev/null
+++ b/node_modules/@angular/cdk/_a11y.scss
@@ -0,0 +1,30 @@
+@mixin cdk-a11y {
+  .cdk-visually-hidden {
+    border: 0;
+    clip: rect(0 0 0 0);
+    height: 1px;
+    margin: -1px;
+    overflow: hidden;
+    padding: 0;
+    position: absolute;
+    width: 1px;
+
+    // Avoid browsers rendering the focus ring in some cases.
+    outline: 0;
+
+    // Avoid some cases where the browser will still render the native 
controls (see #9049).
+    -webkit-appearance: none;
+    -moz-appearance: none;
+  }
+}
+
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+@mixin cdk-high-contrast {
+  @media screen and (-ms-high-contrast: active) {
+    @content;
+  }
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/_overlay.scss
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/_overlay.scss 
b/node_modules/@angular/cdk/_overlay.scss
new file mode 100644
index 0000000..44287a8
--- /dev/null
+++ b/node_modules/@angular/cdk/_overlay.scss
@@ -0,0 +1,99 @@
+// We want overlays to always appear over user content, so set a baseline
+// very high z-index for the overlay container, which is where we create the 
new
+// stacking context for all overlays.
+$cdk-z-index-overlay-container: 1000;
+$cdk-z-index-overlay: 1000;
+$cdk-z-index-overlay-backdrop: 1000;
+
+// Background color for all of the backdrops
+$cdk-overlay-dark-backdrop-background: rgba(0, 0, 0, 0.288);
+
+// Default backdrop animation is based on the Material Design swift-ease-out.
+$backdrop-animation-duration: 400ms !default;
+$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
+
+
+@mixin cdk-overlay() {
+  .cdk-overlay-container, .cdk-global-overlay-wrapper {
+    // Disable events from being captured on the overlay container.
+    pointer-events: none;
+
+    // The container should be the size of the viewport.
+    top: 0;
+    left: 0;
+    height: 100%;
+    width: 100%;
+  }
+
+  // The overlay-container is an invisible element which contains all 
individual overlays.
+  .cdk-overlay-container {
+    position: fixed;
+    z-index: $cdk-z-index-overlay-container;
+  }
+
+  // We use an extra wrapper element in order to use make the overlay itself a 
flex item.
+  // This makes centering the overlay easy without running into the subpixel 
rendering
+  // problems tied to using `transform` and without interfering with the other 
position
+  // strategies.
+  .cdk-global-overlay-wrapper {
+    display: flex;
+    position: absolute;
+    z-index: $cdk-z-index-overlay;
+  }
+
+  // A single overlay pane.
+  .cdk-overlay-pane {
+    position: absolute;
+    pointer-events: auto;
+    box-sizing: border-box;
+    z-index: $cdk-z-index-overlay;
+  }
+
+  .cdk-overlay-backdrop {
+    // TODO(jelbourn): reuse sidenav fullscreen mixin.
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+
+    z-index: $cdk-z-index-overlay-backdrop;
+    pointer-events: auto;
+    -webkit-tap-highlight-color: transparent;
+    transition: opacity $backdrop-animation-duration 
$backdrop-animation-timing-function;
+    opacity: 0;
+
+    &.cdk-overlay-backdrop-showing {
+      opacity: 1;
+    }
+  }
+
+  .cdk-overlay-dark-backdrop {
+    background: $cdk-overlay-dark-backdrop-background;
+  }
+
+  .cdk-overlay-transparent-backdrop {
+    // Note: as of Firefox 57, having the backdrop be `background: none` will 
prevent it from
+    // capturing the user's mouse scroll events. Since we also can't use 
something like
+    // `rgba(0, 0, 0, 0)`, we work around the inconsistency by not setting the 
background at
+    // all and using `opacity` to make the element transparent.
+    &, &.cdk-overlay-backdrop-showing {
+      opacity: 0;
+    }
+  }
+
+  // Used when disabling global scrolling.
+  .cdk-global-scrollblock {
+    position: fixed;
+
+    // Necessary for the content not to lose its width. Note that we're using 
100%, instead of
+    // 100vw, because 100vw includes the width plus the scrollbar, whereas 
100% is the width
+    // that the element had before we made it `fixed`.
+    width: 100%;
+
+    // Note: this will always add a scrollbar to whatever element it is on, 
which can
+    // potentially result in double scrollbars. It shouldn't be an issue, 
because we won't
+    // block scrolling on a page that doesn't have a scrollbar in the first 
place.
+    overflow-y: scroll;
+  }
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y-prebuilt.css
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y-prebuilt.css 
b/node_modules/@angular/cdk/a11y-prebuilt.css
new file mode 100644
index 0000000..e23a21d
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y-prebuilt.css
@@ -0,0 +1 @@
+.cdk-visually-hidden{border:0;clip:rect(0 0 0 
0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y.d.ts 
b/node_modules/@angular/cdk/a11y.d.ts
new file mode 100644
index 0000000..11b20cb
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './a11y/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y.metadata.json 
b/node_modules/@angular/cdk/a11y.metadata.json
new file mode 100644
index 0000000..90c7d2b
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./a11y/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/a11y"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/index.d.ts 
b/node_modules/@angular/cdk/a11y/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/index.metadata.json 
b/node_modules/@angular/cdk/a11y/index.metadata.json
new file mode 100644
index 0000000..c0d17e5
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/a11y"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/package.json 
b/node_modules/@angular/cdk/a11y/package.json
new file mode 100644
index 0000000..07200cd
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/a11y",
+  "typings": "../a11y.d.ts",
+  "main": "../bundles/cdk-a11y.umd.js",
+  "module": "../esm5/a11y.es5.js",
+  "es2015": "../esm2015/a11y.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts 
b/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
new file mode 100644
index 0000000..8d39e03
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
@@ -0,0 +1,2 @@
+export declare class A11yModule {
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
----------------------------------------------------------------------
diff --git 
a/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts 
b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
new file mode 100644
index 0000000..66abe45
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
@@ -0,0 +1,77 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { InjectionToken, Optional } from '@angular/core';
+/**
+ * Interface used to register message elements and keep a count of how many 
registrations have
+ * the same message and the reference to the message element used for the 
`aria-describedby`.
+ */
+export interface RegisteredMessage {
+    /** The element containing the message. */
+    messageElement: Element;
+    /** The number of elements that reference this message element via 
`aria-describedby`. */
+    referenceCount: number;
+}
+/** ID used for the body container where all messages are appended. */
+export declare const MESSAGES_CONTAINER_ID = 
"cdk-describedby-message-container";
+/** ID prefix used for each created message element. */
+export declare const CDK_DESCRIBEDBY_ID_PREFIX = "cdk-describedby-message";
+/** Attribute given to each host element that is described by a message 
element. */
+export declare const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = "cdk-describedby-host";
+/**
+ * Utility that creates visually hidden elements with a message content. 
Useful for elements that
+ * want to use aria-describedby to further describe themselves without adding 
additional visual
+ * content.
+ * @docs-private
+ */
+export declare class AriaDescriber {
+    private _document;
+    constructor(_document: any);
+    /**
+     * Adds to the host element an aria-describedby reference to a hidden 
element that contains
+     * the message. If the same message has already been registered, then it 
will reuse the created
+     * message element.
+     */
+    describe(hostElement: Element, message: string): void;
+    /** Removes the host element's aria-describedby reference to the message 
element. */
+    removeDescription(hostElement: Element, message: string): void;
+    /** Unregisters all created message elements and removes the message 
container. */
+    ngOnDestroy(): void;
+    /**
+     * Creates a new element in the visually hidden message container element 
with the message
+     * as its content and adds it to the message registry.
+     */
+    private _createMessageElement(message);
+    /** Deletes the message element from the global messages container. */
+    private _deleteMessageElement(message);
+    /** Creates the global container for all aria-describedby messages. */
+    private _createMessagesContainer();
+    /** Deletes the global messages container. */
+    private _deleteMessagesContainer();
+    /** Removes all cdk-describedby messages that are hosted through the 
element. */
+    private _removeCdkDescribedByReferenceIds(element);
+    /**
+     * Adds a message reference to the element using aria-describedby and 
increments the registered
+     * message's reference count.
+     */
+    private _addMessageReference(element, message);
+    /**
+     * Removes a message reference from the element using aria-describedby
+     * and decrements the registered message's reference count.
+     */
+    private _removeMessageReference(element, message);
+    /** Returns true if the element has been described by the provided message 
ID. */
+    private _isElementDescribedByMessage(element, message);
+}
+/** @docs-private */
+export declare function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher: 
AriaDescriber, _document: any): AriaDescriber;
+/** @docs-private */
+export declare const ARIA_DESCRIBER_PROVIDER: {
+    provide: typeof AriaDescriber;
+    deps: (Optional[] | InjectionToken<any>)[];
+    useFactory: (parentDispatcher: AriaDescriber, _document: any) => 
AriaDescriber;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
----------------------------------------------------------------------
diff --git 
a/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts 
b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
new file mode 100644
index 0000000..3e39404
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
@@ -0,0 +1,15 @@
+/**
+ * Adds the given ID to the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function addAriaReferencedId(el: Element, attr: string, id: 
string): void;
+/**
+ * Removes the given ID from the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function removeAriaReferencedId(el: Element, attr: string, id: 
string): void;
+/**
+ * Gets the list of IDs referenced by the given ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function getAriaReferenceIds(el: Element, attr: string): 
string[];

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts 
b/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
new file mode 100644
index 0000000..6cacbbd
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
@@ -0,0 +1,15 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * Screenreaders will often fire fake mousedown events when a focusable element
+ * is activated using the keyboard. We can typically distinguish between these 
faked
+ * mousedown events and real mousedown events using the "buttons" property. 
While
+ * real mousedowns will indicate the mouse button that was pressed (e.g. "1" 
for
+ * the left mouse button), faked mousedowns will usually set the property 
value to 0.
+ */
+export declare function isFakeMousedownFromScreenReader(event: MouseEvent): 
boolean;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
----------------------------------------------------------------------
diff --git 
a/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts 
b/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
new file mode 100644
index 0000000..c5d6598
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
@@ -0,0 +1,123 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Platform } from '@angular/cdk/platform';
+import { ElementRef, EventEmitter, NgZone, OnDestroy, Optional, Renderer2 } 
from '@angular/core';
+import { Observable } from 'rxjs/Observable';
+export declare const TOUCH_BUFFER_MS = 650;
+export declare type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | 
null;
+/** Monitors mouse and keyboard events to determine the cause of focus events. 
*/
+export declare class FocusMonitor implements OnDestroy {
+    private _ngZone;
+    private _platform;
+    /** The focus origin that the next focus event is a result of. */
+    private _origin;
+    /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */
+    private _lastFocusOrigin;
+    /** Whether the window has just been focused. */
+    private _windowFocused;
+    /** The target of the last touch event. */
+    private _lastTouchTarget;
+    /** The timeout id of the touch timeout, used to cancel timeout later. */
+    private _touchTimeoutId;
+    /** The timeout id of the window focus timeout. */
+    private _windowFocusTimeoutId;
+    /** The timeout id of the origin clearing timeout. */
+    private _originTimeoutId;
+    /** Map of elements being monitored to their info. */
+    private _elementInfo;
+    /** A map of global objects to lists of current listeners. */
+    private _unregisterGlobalListeners;
+    /** The number of elements currently being monitored. */
+    private _monitoredElementCount;
+    constructor(_ngZone: NgZone, _platform: Platform);
+    /**
+     * @docs-private
+     * @deprecated renderer param no longer needed.
+     * @deletion-target 6.0.0
+     */
+    monitor(element: HTMLElement, renderer: Renderer2, checkChildren: 
boolean): Observable<FocusOrigin>;
+    /**
+     * Monitors focus on an element and applies appropriate CSS classes.
+     * @param element The element to monitor
+     * @param checkChildren Whether to count the element as focused when its 
children are focused.
+     * @returns An observable that emits when the focus state of the element 
changes.
+     *     When the element is blurred, null will be emitted.
+     */
+    monitor(element: HTMLElement, checkChildren?: boolean): 
Observable<FocusOrigin>;
+    /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param element The element to stop monitoring.
+     */
+    stopMonitoring(element: HTMLElement): void;
+    /**
+     * Focuses the element via the specified focus origin.
+     * @param element The element to focus.
+     * @param origin The focus origin.
+     */
+    focusVia(element: HTMLElement, origin: FocusOrigin): void;
+    ngOnDestroy(): void;
+    /** Register necessary event listeners on the document and window. */
+    private _registerGlobalListeners();
+    private _toggleClass(element, className, shouldSet);
+    /**
+     * Sets the focus classes on the element based on the given focus origin.
+     * @param element The element to update the classes on.
+     * @param origin The focus origin.
+     */
+    private _setClasses(element, origin?);
+    /**
+     * Sets the origin and schedules an async function to clear it at the end 
of the event queue.
+     * @param origin The origin to set.
+     */
+    private _setOriginForCurrentEventQueue(origin);
+    /**
+     * Checks whether the given focus event was caused by a touchstart event.
+     * @param event The focus event to check.
+     * @returns Whether the event was caused by a touch.
+     */
+    private _wasCausedByTouch(event);
+    /**
+     * Handles focus events on a registered element.
+     * @param event The focus event.
+     * @param element The monitored element.
+     */
+    private _onFocus(event, element);
+    /**
+     * Handles blur events on a registered element.
+     * @param event The blur event.
+     * @param element The monitored element.
+     */
+    _onBlur(event: FocusEvent, element: HTMLElement): void;
+    private _incrementMonitoredElementCount();
+    private _decrementMonitoredElementCount();
+}
+/**
+ * Directive that determines how a particular element was focused (via 
keyboard, mouse, touch, or
+ * programmatically) and adds corresponding classes to the element.
+ *
+ * There are two variants of this directive:
+ * 1) cdkMonitorElementFocus: does not consider an element to be focused if 
one of its children is
+ *    focused.
+ * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its 
children are focused.
+ */
+export declare class CdkMonitorFocus implements OnDestroy {
+    private _elementRef;
+    private _focusMonitor;
+    private _monitorSubscription;
+    cdkFocusChange: EventEmitter<FocusOrigin>;
+    constructor(_elementRef: ElementRef, _focusMonitor: FocusMonitor);
+    ngOnDestroy(): void;
+}
+/** @docs-private */
+export declare function FOCUS_MONITOR_PROVIDER_FACTORY(parentDispatcher: 
FocusMonitor, ngZone: NgZone, platform: Platform): FocusMonitor;
+/** @docs-private */
+export declare const FOCUS_MONITOR_PROVIDER: {
+    provide: typeof FocusMonitor;
+    deps: (Optional[] | typeof NgZone | typeof Platform)[];
+    useFactory: (parentDispatcher: FocusMonitor, ngZone: NgZone, platform: 
Platform) => FocusMonitor;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts 
b/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
new file mode 100644
index 0000000..c30cf31
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
@@ -0,0 +1,137 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ElementRef, NgZone, OnDestroy, AfterContentInit } from 
'@angular/core';
+import { InteractivityChecker } from 
'../interactivity-checker/interactivity-checker';
+/**
+ * Class that allows for trapping focus within a DOM element.
+ *
+ * This class currently uses a relatively simple approach to focus trapping.
+ * It assumes that the tab order is the same as DOM order, which is not 
necessarily true.
+ * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two 
to misalign.
+ */
+export declare class FocusTrap {
+    private _element;
+    private _checker;
+    private _ngZone;
+    private _document;
+    private _startAnchor;
+    private _endAnchor;
+    /** Whether the focus trap is active. */
+    enabled: boolean;
+    private _enabled;
+    constructor(_element: HTMLElement, _checker: InteractivityChecker, 
_ngZone: NgZone, _document: Document, deferAnchors?: boolean);
+    /** Destroys the focus trap by cleaning up the anchors. */
+    destroy(): void;
+    /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with 
`*ngIf`.
+     */
+    attachAnchors(): void;
+    /**
+     * Waits for the zone to stabilize, then either focuses the first element 
that the
+     * user specified, or the first tabbable element.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusInitialElementWhenReady(): Promise<boolean>;
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusFirstTabbableElementWhenReady(): Promise<boolean>;
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusLastTabbableElementWhenReady(): Promise<boolean>;
+    /**
+     * Get the specified boundary element of the trapped region.
+     * @param bound The boundary to get (start or end of trapped region).
+     * @returns The boundary element.
+     */
+    private _getRegionBoundary(bound);
+    /**
+     * Focuses the element that should be focused when the focus trap is 
initialized.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusInitialElement(): boolean;
+    /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusFirstTabbableElement(): boolean;
+    /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusLastTabbableElement(): boolean;
+    /** Get the first tabbable element from a DOM subtree (inclusive). */
+    private _getFirstTabbableElement(root);
+    /** Get the last tabbable element from a DOM subtree (inclusive). */
+    private _getLastTabbableElement(root);
+    /** Creates an anchor element. */
+    private _createAnchor();
+    /** Executes a function when the zone is stable. */
+    private _executeOnStable(fn);
+}
+/** Factory that allows easy instantiation of focus traps. */
+export declare class FocusTrapFactory {
+    private _checker;
+    private _ngZone;
+    private _document;
+    constructor(_checker: InteractivityChecker, _ngZone: NgZone, _document: 
any);
+    /**
+     * Creates a focus-trapped region around the given element.
+     * @param element The element around which focus will be trapped.
+     * @param deferCaptureElements Defers the creation of focus-capturing 
elements to be done
+     *     manually by the user.
+     * @returns The created focus trap instance.
+     */
+    create(element: HTMLElement, deferCaptureElements?: boolean): FocusTrap;
+}
+/**
+ * Directive for trapping focus within a region.
+ * @docs-private
+ * @deprecated
+ * @deletion-target 6.0.0
+ */
+export declare class FocusTrapDeprecatedDirective implements OnDestroy, 
AfterContentInit {
+    private _elementRef;
+    private _focusTrapFactory;
+    focusTrap: FocusTrap;
+    /** Whether the focus trap is active. */
+    disabled: boolean;
+    constructor(_elementRef: ElementRef, _focusTrapFactory: FocusTrapFactory);
+    ngOnDestroy(): void;
+    ngAfterContentInit(): void;
+}
+/** Directive for trapping focus within a region. */
+export declare class CdkTrapFocus implements OnDestroy, AfterContentInit {
+    private _elementRef;
+    private _focusTrapFactory;
+    private _document;
+    /** Underlying FocusTrap instance. */
+    focusTrap: FocusTrap;
+    /** Previously focused element to restore focus to upon destroy when using 
autoCapture. */
+    private _previouslyFocusedElement;
+    /** Whether the focus trap is active. */
+    enabled: boolean;
+    /**
+     * Whether the directive should automatially move focus into the trapped 
region upon
+     * initialization and return focus to the previous activeElement upon 
destruction.
+     */
+    autoCapture: boolean;
+    private _autoCapture;
+    constructor(_elementRef: ElementRef, _focusTrapFactory: FocusTrapFactory, 
_document: any);
+    ngOnDestroy(): void;
+    ngAfterContentInit(): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/index.d.ts 
b/node_modules/@angular/cdk/a11y/typings/index.d.ts
new file mode 100644
index 0000000..e5daacf
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/index.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';

Reply via email to