From e69fbb7deb432bb9940e43993cb72b33decbb7ac Mon Sep 17 00:00:00 2001 From: Marcin Wosinek Date: Thu, 8 Nov 2018 12:45:46 +0100 Subject: [PATCH 1/2] update dist to v0.3.0 --- dist/index.html | 4 +- dist/scripts/ng-password-strength.js | 488 +++++++++++++---------- dist/scripts/ng-password-strength.min.js | 2 +- dist/scripts/vendor.js | 10 +- 4 files changed, 281 insertions(+), 223 deletions(-) diff --git a/dist/index.html b/dist/index.html index 8b65b54..eb78556 100644 --- a/dist/index.html +++ b/dist/index.html @@ -1,3 +1,3 @@ -

ngPasswordStrength

Choose:

Vars

Mode

Current strength is {{passStrength}}
\ No newline at end of file +

ngPasswordStrength

CSS mode:

Calculation mode:

To improve performance goal is not watched so you have to change password to see how it influences

Vars

Mode

Current strength is {{demo.passStrength}}
\ No newline at end of file diff --git a/dist/scripts/ng-password-strength.js b/dist/scripts/ng-password-strength.js index ea0e3ec..fa9a421 100644 --- a/dist/scripts/ng-password-strength.js +++ b/dist/scripts/ng-password-strength.js @@ -1,220 +1,278 @@ -(function() { +(function () { 'use strict'; - - /* global _ */ - /** - * @ngdoc directive - * @name ngPasswordStrengthApp.directive:ngPasswordStrength - * @description - * Progress bar showing the strength of a given password + * @ngdoc module + * @name ngPasswordStrengthApp.module */ - angular.module('ngPasswordStrength', []) - .directive('ngPasswordStrength', - function() { - return { - template: '
{{value}}%
', - restrict: 'A', - scope: { - pwd: '=ngPasswordStrength', - value: '=strength', - innerClassPrefix: '@?', - outterClassPrefix: '@?', - innerClass: '@?', - mode: '=?' - }, - link: function(scope /*, elem, attrs*/ ) { - var modes = { - foundation: { - innerClass: 'meter' - }, - bootstrap: { - innerClass: 'progress-bar', - innerClassPrefix: 'progress-bar-' - } - }, - measureStrength = function(p) { - var stringReverse = function(str) { - for (var i = str.length - 1, out = ''; i >= 0; out += str[i--]) {} - return out; - }, - matches = { - pos: {}, - neg: {} - }, - counts = { - pos: {}, - neg: { - seqLetter: 0, - seqNumber: 0, - seqSymbol: 0 - } - }, - tmp, - strength = 0, - letters = 'abcdefghijklmnopqrstuvwxyz', - numbers = '01234567890', - symbols = '\\!@#$%&/()=?¿', - back, - forth, - i; - - if (p) { - // Benefits - matches.pos.lower = p.match(/[a-z]/g); - matches.pos.upper = p.match(/[A-Z]/g); - matches.pos.numbers = p.match(/\d/g); - matches.pos.symbols = p.match(/[$-/:-?{-~!^_`\[\]]/g); - matches.pos.middleNumber = p.slice(1, -1).match(/\d/g); - matches.pos.middleSymbol = p.slice(1, -1).match(/[$-/:-?{-~!^_`\[\]]/g); - - counts.pos.lower = matches.pos.lower ? matches.pos.lower.length : 0; - counts.pos.upper = matches.pos.upper ? matches.pos.upper.length : 0; - counts.pos.numbers = matches.pos.numbers ? matches.pos.numbers.length : 0; - counts.pos.symbols = matches.pos.symbols ? matches.pos.symbols.length : 0; - - tmp = Object.keys(counts.pos).reduce(function (previous, key) { - return previous + Math.min(1, counts.pos[key]); - }, 0); - - counts.pos.numChars = p.length; - tmp += (counts.pos.numChars >= 8) ? 1 : 0; - - counts.pos.requirements = (tmp >= 3) ? tmp : 0; - counts.pos.middleNumber = matches.pos.middleNumber ? matches.pos.middleNumber.length : 0; - counts.pos.middleSymbol = matches.pos.middleSymbol ? matches.pos.middleSymbol.length : 0; - - // Deductions - matches.neg.consecLower = p.match(/(?=([a-z]{2}))/g); - matches.neg.consecUpper = p.match(/(?=([A-Z]{2}))/g); - matches.neg.consecNumbers = p.match(/(?=(\d{2}))/g); - matches.neg.onlyNumbers = p.match(/^[0-9]*$/g); - matches.neg.onlyLetters = p.match(/^([a-z]|[A-Z])*$/g); - - counts.neg.consecLower = matches.neg.consecLower ? matches.neg.consecLower.length : 0; - counts.neg.consecUpper = matches.neg.consecUpper ? matches.neg.consecUpper.length : 0; - counts.neg.consecNumbers = matches.neg.consecNumbers ? matches.neg.consecNumbers.length : 0; - - - // sequential letters (back and forth) - for (i = 0; i < letters.length - 2; i++) { - var p2 = p.toLowerCase(); - forth = letters.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p2.indexOf(forth) !== -1 || p2.indexOf(back) !== -1) { - counts.neg.seqLetter++; - } - } - - // sequential numbers (back and forth) - for (i = 0; i < numbers.length - 2; i++) { - forth = numbers.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { - counts.neg.seqNumber++; - } - } - - // sequential symbols (back and forth) - for (i = 0; i < symbols.length - 2; i++) { - forth = symbols.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { - counts.neg.seqSymbol++; - } - } - - // repeated chars - var repeats = {}; - var _p = p.toLowerCase(); - var arr = _p.split(''); - counts.neg.repeated = 0; - for(i = 0; i< arr.length; i++) { - var _reg = new RegExp(_p[i],'g'); - var cnt = _p.match(_reg).length; - if (cnt > 1 && !repeats[_p[i]]) { - repeats[_p[i]] = cnt; - counts.neg.repeated += cnt; - } - } - - // Calculations - strength += counts.pos.numChars * 4; - if (counts.pos.upper) { - strength += (counts.pos.numChars - counts.pos.upper) * 2; - } - if (counts.pos.lower) { - strength += (counts.pos.numChars - counts.pos.lower) * 2; - } - if (counts.pos.upper || counts.pos.lower) { - strength += counts.pos.numbers * 4; - } - strength += counts.pos.symbols * 6; - strength += (counts.pos.middleSymbol + counts.pos.middleNumber) * 2; - strength += counts.pos.requirements * 2; - - strength -= counts.neg.consecLower * 2; - strength -= counts.neg.consecUpper * 2; - strength -= counts.neg.consecNumbers * 2; - strength -= counts.neg.seqNumber * 3; - strength -= counts.neg.seqLetter * 3; - strength -= counts.neg.seqSymbol * 3; - - if (matches.neg.onlyNumbers) { - strength -= counts.pos.numChars; - } - if (matches.neg.onlyLetters) { - strength -= counts.pos.numChars; - } - if (counts.neg.repeated) { - strength -= (counts.neg.repeated / counts.pos.numChars) * 10; - } - } - - return Math.max(0, Math.min(100, Math.round(strength))); - }, - - - getClass = function(s) { - switch (Math.round(s / 33)) { - case 0: - case 1: - return { - inner: scope.outterClassPrefix + 'danger', - outter: scope.innerClassPrefix + 'alert' - }; - case 2: - return { - outter: scope.outterClassPrefix + 'warning', - inner: scope.innerClassPrefix + 'warning' - }; - case 3: - return { - outter: scope.outterClassPrefix + 'success', - inner: scope.innerClassPrefix + 'success' - }; - } - }; - - - - // DISPLAY - - - scope.innerClassPrefix = scope.innerClassPrefix || ''; - scope.outterClassPrefix = scope.outterClassPrefix || ''; - - - scope.$watch('mode', function() { - angular.extend(scope, modes[scope.mode]); - scope.valueClass = getClass(scope.value); - }); - - scope.$watch('pwd', function() { - scope.value = measureStrength(scope.pwd); - scope.valueClass = getClass(scope.value); - }); - }, + angular.module('ngPasswordStrength', []); +}()); +(function () { + 'use strict'; + /** + * @ngdoc directive + * @name ngPasswordStrengthApp.factory:PasswordStrengthFormulaService + * @description + * Service to determine strength of password + */ + angular.module('ngPasswordStrength').factory('PasswordStrengthFormulaService', PasswordStrengthFormulaService); + function PasswordStrengthFormulaService() { + var service = { getStrength: getStrength }; + ///////////////////////////// + function getStrength(p) { + var stringReverse = function (str) { + for (var i = str.length - 1, out = ''; i >= 0; out += str[i--]) { + } + return out; + }, matches = { + pos: {}, + neg: {} + }, counts = { + pos: {}, + neg: { + seqLetter: 0, + seqNumber: 0, + seqSymbol: 0 + } + }, tmp, strength = 0, letters = 'abcdefghijklmnopqrstuvwxyz', numbers = '01234567890', symbols = '\\!@#$%&/()=?\xbf', back, forth, i; + if (p) { + // Benefits + matches.pos.lower = p.match(/[a-z]/g); + matches.pos.upper = p.match(/[A-Z]/g); + matches.pos.numbers = p.match(/\d/g); + matches.pos.symbols = p.match(/[$-\/:-?{-~!^_`\[\]]/g); + matches.pos.middleNumber = p.slice(1, -1).match(/\d/g); + matches.pos.middleSymbol = p.slice(1, -1).match(/[$-\/:-?{-~!^_`\[\]]/g); + counts.pos.lower = matches.pos.lower ? matches.pos.lower.length : 0; + counts.pos.upper = matches.pos.upper ? matches.pos.upper.length : 0; + counts.pos.numbers = matches.pos.numbers ? matches.pos.numbers.length : 0; + counts.pos.symbols = matches.pos.symbols ? matches.pos.symbols.length : 0; + tmp = Object.keys(counts.pos).reduce(function (previous, key) { + return previous + Math.min(1, counts.pos[key]); + }, 0); + counts.pos.numChars = p.length; + tmp += counts.pos.numChars >= 8 ? 1 : 0; + counts.pos.requirements = tmp >= 3 ? tmp : 0; + counts.pos.middleNumber = matches.pos.middleNumber ? matches.pos.middleNumber.length : 0; + counts.pos.middleSymbol = matches.pos.middleSymbol ? matches.pos.middleSymbol.length : 0; + // Deductions + matches.neg.consecLower = p.match(/(?=([a-z]{2}))/g); + matches.neg.consecUpper = p.match(/(?=([A-Z]{2}))/g); + matches.neg.consecNumbers = p.match(/(?=(\d{2}))/g); + matches.neg.onlyNumbers = p.match(/^[0-9]*$/g); + matches.neg.onlyLetters = p.match(/^([a-z]|[A-Z])*$/g); + counts.neg.consecLower = matches.neg.consecLower ? matches.neg.consecLower.length : 0; + counts.neg.consecUpper = matches.neg.consecUpper ? matches.neg.consecUpper.length : 0; + counts.neg.consecNumbers = matches.neg.consecNumbers ? matches.neg.consecNumbers.length : 0; + // sequential letters (back and forth) + for (i = 0; i < letters.length - 2; i++) { + var p2 = p.toLowerCase(); + forth = letters.substring(i, parseInt(i + 3)); + back = stringReverse(forth); + if (p2.indexOf(forth) !== -1 || p2.indexOf(back) !== -1) { + counts.neg.seqLetter++; + } + } + // sequential numbers (back and forth) + for (i = 0; i < numbers.length - 2; i++) { + forth = numbers.substring(i, parseInt(i + 3)); + back = stringReverse(forth); + if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { + counts.neg.seqNumber++; + } + } + // sequential symbols (back and forth) + for (i = 0; i < symbols.length - 2; i++) { + forth = symbols.substring(i, parseInt(i + 3)); + back = stringReverse(forth); + if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { + counts.neg.seqSymbol++; + } + } + var repeats = {}; + var _p = p.toLowerCase(); + var arr = _p.split(''); + counts.neg.repeated = 0; + for (i = 0; i < arr.length; i++) { + var _reg = new RegExp(_p[i], 'g'); + var cnt = _p.match(_reg).length; + if (cnt > 1 && !repeats[_p[i]]) { + repeats[_p[i]] = cnt; + counts.neg.repeated += cnt; + } + } + // Calculations + strength += counts.pos.numChars * 4; + if (counts.pos.upper) { + strength += (counts.pos.numChars - counts.pos.upper) * 2; + } + if (counts.pos.lower) { + strength += (counts.pos.numChars - counts.pos.lower) * 2; + } + if (counts.pos.upper || counts.pos.lower) { + strength += counts.pos.numbers * 4; + } + strength += counts.pos.symbols * 6; + strength += (counts.pos.middleSymbol + counts.pos.middleNumber) * 2; + strength += counts.pos.requirements * 2; + strength -= counts.neg.consecLower * 2; + strength -= counts.neg.consecUpper * 2; + strength -= counts.neg.consecNumbers * 2; + strength -= counts.neg.seqNumber * 3; + strength -= counts.neg.seqLetter * 3; + strength -= counts.neg.seqSymbol * 3; + if (matches.neg.onlyNumbers) { + strength -= counts.pos.numChars; + } + if (matches.neg.onlyLetters) { + strength -= counts.pos.numChars; + } + if (counts.neg.repeated) { + strength -= counts.neg.repeated / counts.pos.numChars * 10; + } + } + return Math.max(0, Math.min(100, Math.round(strength))); + } + ///////////////////////////// + return service; + } +}()); +(function () { + 'use strict'; + /** + * @ngdoc directive + * @name ngPasswordStrengthApp.factory:PasswordStrengthEntropyService + * @description + * Service to determine strength of password + */ + angular.module('ngPasswordStrength').factory('PasswordStrengthEntropyService', PasswordStrengthEntropyService); + function PasswordStrengthEntropyService() { + var service = { getStrength: getStrength }; + ///////////////////////////// + function add(label, exp, score) { + sets.push({ + label: label, + regex: exp, + score: score + }); + } + var sets = []; + add('ASCII Lowercase', /[a-z]/, 26); + add('ASCII Uppercase', /[A-Z]/, 26); + add('ASCII Numbers', /\d/, 10); + add('ASCII Top Row Symbols', /[!@£#\$%\^&\*\(\)\-_=\+]/, 15); + add('ASCII Other Symbols', /[\?\/\.>\,<`~\\|"';:\]\}\[\{\s]/, 19); + // Unicode Latin Subset + add('Unicode Latin 1 Supplement', /[\u00A1-\u00FF]/, 94); + add('Unicode Latin Extended A', /[\u0100-\u017F]/, 128); + add('Unicode Latin Extended B', /[\u0180-\u024F]/, 208); + add('Unicode Latin Extended C', /[\u2C60-\u2C7F]/, 32); + add('Unicode Latin Extended D', /[\uA720-\uA7FF]/, 29); + // Unicode Cyrillic Subset + add('Unicode Cyrillic Uppercase', /[\u0410-\u042F]/, 32); + add('Unicode Cyrillic Lowercase', /[\u0430-\u044F]/, 32); + function getStrength(password, goal) { + var characters = 0; + for (var i = 0; i < sets.length; i++) { + var match = password.match(sets[i].regex); + if (match) { + characters += sets[i].score; + } + } + var entropy = Math.log(characters) / Math.LN2 * password.length; + return Math.min(100, Math.round(100 * entropy / goal)); + } + ///////////////////////////// + return service; + } +}()); +(function () { + 'use strict'; + /** + * @ngdoc directive + * @name ngPasswordStrengthApp.directive:ngPasswordStrength + * @description + * Progress bar showing the strength of a given password + */ + angular.module('ngPasswordStrength').directive('ngPasswordStrength', ngPasswordStrength); + function ngPasswordStrength(PasswordStrengthFormulaService, PasswordStrengthEntropyService) { + return { + templateUrl: 'src/directive/ng-password-strength.tpl.html', + restrict: 'A', + scope: { + password: '=ngPasswordStrength', + value: '=strength', + innerClassPrefix: '@?', + outterClassPrefix: '@?', + innerClass: '@?', + cssMode: '@?', + calculationMode: '@?', + goal: '@?' + }, + link: link + }; + function link(scope) { + scope.innerClassPrefix = scope.innerClassPrefix || ''; + scope.outterClassPrefix = scope.outterClassPrefix || ''; + var modes = { + foundation: { innerClass: 'meter' }, + bootstrap: { + innerClass: 'progress-bar', + innerClassPrefix: 'progress-bar-' + } }; + scope.$watch('cssMode', function (newVal) { + if (newVal === 'bootstrap' || newVal === 'foundation') { + //If bootstrap or foundation mode then apply the classes + angular.extend(scope, modes[scope.cssMode]); + return; + } + scope.valueClass = getClass(scope.value); + }); + scope.$watch('password', function () { + calculateStrength(); + }); + scope.$watch('calculationMode', function () { + calculateStrength(); }); -})(); + // calculate strength based on password and calculation mode + function calculateStrength() { + if (scope.password && scope.password.length) { + if (scope.calculationMode === 'entropy') { + // ENTROPY + var goal = parseInt(scope.goal || '96'); + scope.value = PasswordStrengthEntropyService.getStrength(scope.password, goal); + } else { + // FORMULA (default) + scope.value = PasswordStrengthFormulaService.getStrength(scope.password); + } + scope.valueClass = getClass(scope.value); + } else { + scope.value = 0; + scope.class = getClass(0); + } + } + // getClasses depending on percentage + function getClass(percentage) { + switch (Math.round(percentage / 33)) { + case 0: + case 1: + return { + outter: scope.outterClassPrefix + 'danger', + inner: scope.innerClassPrefix + 'danger' + }; + case 2: + return { + outter: scope.outterClassPrefix + 'warning', + inner: scope.innerClassPrefix + 'warning' + }; + default: + // 100 or more + return { + outter: scope.outterClassPrefix + 'success', + inner: scope.innerClassPrefix + 'success' + }; + } + } + } + } +}()); \ No newline at end of file diff --git a/dist/scripts/ng-password-strength.min.js b/dist/scripts/ng-password-strength.min.js index ce4f044..6693d2f 100644 --- a/dist/scripts/ng-password-strength.min.js +++ b/dist/scripts/ng-password-strength.min.js @@ -1 +1 @@ -!function(){"use strict";angular.module("ngPasswordStrength",[])}(),function(){"use strict";function a(){function a(a){var b,c,d,e,f=function(a){for(var b=a.length-1,c="";b>=0;c+=a[b--]);return c},g={pos:{},neg:{}},h={pos:{},neg:{seqLetter:0,seqNumber:0,seqSymbol:0}},i=0,j="abcdefghijklmnopqrstuvwxyz",k="01234567890",l="\\!@#$%&/()=?¿";if(a){for(g.pos.lower=a.match(/[a-z]/g),g.pos.upper=a.match(/[A-Z]/g),g.pos.numbers=a.match(/\d/g),g.pos.symbols=a.match(/[$-/:-?{-~!^_`\[\]]/g),g.pos.middleNumber=a.slice(1,-1).match(/\d/g),g.pos.middleSymbol=a.slice(1,-1).match(/[$-/:-?{-~!^_`\[\]]/g),h.pos.lower=g.pos.lower?g.pos.lower.length:0,h.pos.upper=g.pos.upper?g.pos.upper.length:0,h.pos.numbers=g.pos.numbers?g.pos.numbers.length:0,h.pos.symbols=g.pos.symbols?g.pos.symbols.length:0,b=Object.keys(h.pos).reduce(function(a,b){return a+Math.min(1,h.pos[b])},0),h.pos.numChars=a.length,b+=h.pos.numChars>=8?1:0,h.pos.requirements=b>=3?b:0,h.pos.middleNumber=g.pos.middleNumber?g.pos.middleNumber.length:0,h.pos.middleSymbol=g.pos.middleSymbol?g.pos.middleSymbol.length:0,g.neg.consecLower=a.match(/(?=([a-z]{2}))/g),g.neg.consecUpper=a.match(/(?=([A-Z]{2}))/g),g.neg.consecNumbers=a.match(/(?=(\d{2}))/g),g.neg.onlyNumbers=a.match(/^[0-9]*$/g),g.neg.onlyLetters=a.match(/^([a-z]|[A-Z])*$/g),h.neg.consecLower=g.neg.consecLower?g.neg.consecLower.length:0,h.neg.consecUpper=g.neg.consecUpper?g.neg.consecUpper.length:0,h.neg.consecNumbers=g.neg.consecNumbers?g.neg.consecNumbers.length:0,e=0;e1&&!n[o[e]]&&(n[o[e]]=r,h.neg.repeated+=r)}i+=4*h.pos.numChars,h.pos.upper&&(i+=2*(h.pos.numChars-h.pos.upper)),h.pos.lower&&(i+=2*(h.pos.numChars-h.pos.lower)),(h.pos.upper||h.pos.lower)&&(i+=4*h.pos.numbers),i+=6*h.pos.symbols,i+=2*(h.pos.middleSymbol+h.pos.middleNumber),i+=2*h.pos.requirements,i-=2*h.neg.consecLower,i-=2*h.neg.consecUpper,i-=2*h.neg.consecNumbers,i-=3*h.neg.seqNumber,i-=3*h.neg.seqLetter,i-=3*h.neg.seqSymbol,g.neg.onlyNumbers&&(i-=h.pos.numChars),g.neg.onlyLetters&&(i-=h.pos.numChars),h.neg.repeated&&(i-=h.neg.repeated/h.pos.numChars*10)}return Math.max(0,Math.min(100,Math.round(i)))}return{measureStrength:a}}angular.module("ngPasswordStrength").factory("PasswordStrengthService",a)}(),function(){"use strict";function a(a){function b(b){function c(a){switch(Math.round(a/33)){case 0:case 1:return{outter:b.outterClassPrefix+"danger",inner:b.innerClassPrefix+"danger"};case 2:return{outter:b.outterClassPrefix+"warning",inner:b.innerClassPrefix+"warning"};case 3:return{outter:b.outterClassPrefix+"success",inner:b.innerClassPrefix+"success"}}}b.value=b.value||a.measureStrength(b.pwd),b.innerClassPrefix=b.innerClassPrefix||"",b.outterClassPrefix=b.outterClassPrefix||"";var d={foundation:{innerClass:"meter"},bootstrap:{innerClass:"progress-bar",innerClassPrefix:"progress-bar-"}};b.$watch("mode",function(){return"bootstrap"===b.mode||"foundation"===b.mode?void angular.extend(b,d[b.mode]):void(b.valueClass=c(b.value))}),b.$watch("pwd",function(){b.value=a.measureStrength(b.pwd),b.valueClass=c(b.value)})}return{template:'
{{value}}%
',restrict:"A",scope:{pwd:"=ngPasswordStrength",value:"=strength",innerClassPrefix:"@?",outterClassPrefix:"@?",innerClass:"@?",mode:"@?"},link:b}}angular.module("ngPasswordStrength").directive("ngPasswordStrength",a)}(); \ No newline at end of file +!function(){"use strict";angular.module("ngPasswordStrength",[])}(),function(){"use strict";function a(){function a(a){var b,c,d,e,f=function(a){for(var b=a.length-1,c="";b>=0;c+=a[b--]);return c},g={pos:{},neg:{}},h={pos:{},neg:{seqLetter:0,seqNumber:0,seqSymbol:0}},i=0,j="abcdefghijklmnopqrstuvwxyz",k="01234567890",l="\\!@#$%&/()=?¿";if(a){for(g.pos.lower=a.match(/[a-z]/g),g.pos.upper=a.match(/[A-Z]/g),g.pos.numbers=a.match(/\d/g),g.pos.symbols=a.match(/[$-\/:-?{-~!^_`\[\]]/g),g.pos.middleNumber=a.slice(1,-1).match(/\d/g),g.pos.middleSymbol=a.slice(1,-1).match(/[$-\/:-?{-~!^_`\[\]]/g),h.pos.lower=g.pos.lower?g.pos.lower.length:0,h.pos.upper=g.pos.upper?g.pos.upper.length:0,h.pos.numbers=g.pos.numbers?g.pos.numbers.length:0,h.pos.symbols=g.pos.symbols?g.pos.symbols.length:0,b=Object.keys(h.pos).reduce(function(a,b){return a+Math.min(1,h.pos[b])},0),h.pos.numChars=a.length,b+=h.pos.numChars>=8?1:0,h.pos.requirements=b>=3?b:0,h.pos.middleNumber=g.pos.middleNumber?g.pos.middleNumber.length:0,h.pos.middleSymbol=g.pos.middleSymbol?g.pos.middleSymbol.length:0,g.neg.consecLower=a.match(/(?=([a-z]{2}))/g),g.neg.consecUpper=a.match(/(?=([A-Z]{2}))/g),g.neg.consecNumbers=a.match(/(?=(\d{2}))/g),g.neg.onlyNumbers=a.match(/^[0-9]*$/g),g.neg.onlyLetters=a.match(/^([a-z]|[A-Z])*$/g),h.neg.consecLower=g.neg.consecLower?g.neg.consecLower.length:0,h.neg.consecUpper=g.neg.consecUpper?g.neg.consecUpper.length:0,h.neg.consecNumbers=g.neg.consecNumbers?g.neg.consecNumbers.length:0,e=0;e1&&!n[o[e]]&&(n[o[e]]=r,h.neg.repeated+=r)}i+=4*h.pos.numChars,h.pos.upper&&(i+=2*(h.pos.numChars-h.pos.upper)),h.pos.lower&&(i+=2*(h.pos.numChars-h.pos.lower)),(h.pos.upper||h.pos.lower)&&(i+=4*h.pos.numbers),i+=6*h.pos.symbols,i+=2*(h.pos.middleSymbol+h.pos.middleNumber),i+=2*h.pos.requirements,i-=2*h.neg.consecLower,i-=2*h.neg.consecUpper,i-=2*h.neg.consecNumbers,i-=3*h.neg.seqNumber,i-=3*h.neg.seqLetter,i-=3*h.neg.seqSymbol,g.neg.onlyNumbers&&(i-=h.pos.numChars),g.neg.onlyLetters&&(i-=h.pos.numChars),h.neg.repeated&&(i-=h.neg.repeated/h.pos.numChars*10)}return Math.max(0,Math.min(100,Math.round(i)))}var b={getStrength:a};return b}angular.module("ngPasswordStrength").factory("PasswordStrengthFormulaService",a)}(),function(){"use strict";function a(){function a(a,b,c){d.push({label:a,regex:b,score:c})}function b(a,b){for(var c=0,e=0;e\,<`~\\|"';:\]\}\[\{\s]/,19),a("Unicode Latin 1 Supplement",/[\u00A1-\u00FF]/,94),a("Unicode Latin Extended A",/[\u0100-\u017F]/,128),a("Unicode Latin Extended B",/[\u0180-\u024F]/,208),a("Unicode Latin Extended C",/[\u2C60-\u2C7F]/,32),a("Unicode Latin Extended D",/[\uA720-\uA7FF]/,29),a("Unicode Cyrillic Uppercase",/[\u0410-\u042F]/,32),a("Unicode Cyrillic Lowercase",/[\u0430-\u044F]/,32),c}angular.module("ngPasswordStrength").factory("PasswordStrengthEntropyService",a)}(),function(){"use strict";function a(a,b){function c(c){function d(){if(c.password&&c.password.length){if("entropy"===c.calculationMode){var d=parseInt(c.goal||"96");c.value=b.getStrength(c.password,d)}else c.value=a.getStrength(c.password);c.valueClass=e(c.value)}else c.value=0,c["class"]=e(0)}function e(a){switch(Math.round(a/33)){case 0:case 1:return{outter:c.outterClassPrefix+"danger",inner:c.innerClassPrefix+"danger"};case 2:return{outter:c.outterClassPrefix+"warning",inner:c.innerClassPrefix+"warning"};default:return{outter:c.outterClassPrefix+"success",inner:c.innerClassPrefix+"success"}}}c.innerClassPrefix=c.innerClassPrefix||"",c.outterClassPrefix=c.outterClassPrefix||"";var f={foundation:{innerClass:"meter"},bootstrap:{innerClass:"progress-bar",innerClassPrefix:"progress-bar-"}};c.$watch("cssMode",function(a){return"bootstrap"===a||"foundation"===a?void angular.extend(c,f[c.cssMode]):void(c.valueClass=e(c.value))}),c.$watch("password",function(){d()}),c.$watch("calculationMode",function(){d()})}return{templateUrl:"src/directive/ng-password-strength.tpl.html",restrict:"A",scope:{password:"=ngPasswordStrength",value:"=strength",innerClassPrefix:"@?",outterClassPrefix:"@?",innerClass:"@?",cssMode:"@?",calculationMode:"@?",goal:"@?"},link:c}}angular.module("ngPasswordStrength").directive("ngPasswordStrength",a)}(); \ No newline at end of file diff --git a/dist/scripts/vendor.js b/dist/scripts/vendor.js index 1f8b325..887b7ac 100644 --- a/dist/scripts/vendor.js +++ b/dist/scripts/vendor.js @@ -1,5 +1,5 @@ -!function(a,b,c){"use strict";function d(a,b){return b=b||Error,function(){var c,d,e=arguments[0],f="["+(a?a+":":"")+e+"] ",g=arguments[1],h=arguments;for(c=f+g.replace(/\{\d+\}/g,function(a){var b=+a.slice(1,-1);return b+20&&b-1 in a}function f(a,b,c){var d,g;if(a)if(x(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d,a);else if(md(a)||e(a)){var h="object"!=typeof a;for(d=0,g=a.length;g>d;d++)(h||d in a)&&b.call(c,a[d],d,a)}else if(a.forEach&&a.forEach!==f)a.forEach(b,c,a);else for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a);return a}function g(a){return Object.keys(a).sort()}function h(a,b,c){for(var d=g(a),e=0;ec;c++){var e=arguments[c];if(e)for(var f=Object.keys(e),g=0,h=f.length;h>g;g++){var i=f[g];a[i]=e[i]}}return k(a,b),a}function m(a){return parseInt(a,10)}function n(a,b){return l(Object.create(a),b)}function o(){}function p(a){return a}function q(a){return function(){return a}}function r(a){return"undefined"==typeof a}function s(a){return"undefined"!=typeof a}function t(a){return null!==a&&"object"==typeof a}function u(a){return"string"==typeof a}function v(a){return"number"==typeof a}function w(a){return"[object Date]"===hd.call(a)}function x(a){return"function"==typeof a}function y(a){return"[object RegExp]"===hd.call(a)}function z(a){return a&&a.window===a}function A(a){return a&&a.$evalAsync&&a.$watch}function B(a){return"[object File]"===hd.call(a)}function C(a){return"[object FormData]"===hd.call(a)}function D(a){return"[object Blob]"===hd.call(a)}function E(a){return"boolean"==typeof a}function F(a){return a&&x(a.then)}function G(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function H(a){var b,c={},d=a.split(",");for(b=0;b=0&&a.splice(c,1),b}function K(a,b,c,d){if(z(a)||A(a))throw id("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(b){if(a===b)throw id("cpi","Can't copy! Source and destination are identical.");if(c=c||[],d=d||[],t(a)){var e=c.indexOf(a);if(-1!==e)return d[e];c.push(a),d.push(b)}var g;if(md(a)){b.length=0;for(var h=0;hc;c++)b[c]=a[c]}else if(t(a)){b=b||{};for(var e in a)("$"!==e.charAt(0)||"$"!==e.charAt(1))&&(b[e]=a[e])}return b||a}function M(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var d,e,f,g=typeof a,h=typeof b;if(g==h&&"object"==g){if(!md(a)){if(w(a))return w(b)?M(a.getTime(),b.getTime()):!1;if(y(a))return y(b)?a.toString()==b.toString():!1;if(A(a)||A(b)||z(a)||z(b)||md(b)||w(b)||y(b))return!1;f={};for(e in a)if("$"!==e.charAt(0)&&!x(a[e])){if(!M(a[e],b[e]))return!1;f[e]=!0}for(e in b)if(!f.hasOwnProperty(e)&&"$"!==e.charAt(0)&&b[e]!==c&&!x(b[e]))return!1;return!0}if(!md(b))return!1;if((d=a.length)==b.length){for(e=0;d>e;e++)if(!M(a[e],b[e]))return!1;return!0}}return!1}function N(a,b,c){return a.concat(ed.call(b,c))}function O(a,b){return ed.call(a,b||0)}function P(a,b){var c=arguments.length>2?O(arguments,2):[];return!x(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,N(c,arguments,0)):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function Q(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?e=c:z(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":A(d)&&(e="$SCOPE"),e}function R(a,b){return"undefined"==typeof a?c:(v(b)||(b=b?2:null),JSON.stringify(a,Q,b))}function S(a){return u(a)?JSON.parse(a):a}function T(a){a=bd(a).clone();try{a.empty()}catch(b){}var c=bd("
").append(a).html();try{return a[0].nodeType===vd?Xc(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+Xc(b)})}catch(b){return Xc(c)}}function U(a){try{return decodeURIComponent(a)}catch(b){}}function V(a){var b,c,d={};return f((a||"").split("&"),function(a){if(a&&(b=a.replace(/\+/g,"%20").split("="),c=U(b[0]),s(c))){var e=s(b[1])?U(b[1]):!0;Yc.call(d,c)?md(d[c])?d[c].push(e):d[c]=[d[c],e]:d[c]=e}}),d}function W(a){var b=[];return f(a,function(a,c){md(a)?f(a,function(a){b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}):b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}),b.length?b.join("&"):""}function X(a){return Y(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Y(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function Z(a,b){var c,d,e=qd.length;for(a=bd(a),d=0;e>d;++d)if(c=qd[d]+b,u(c=a.attr(c)))return c;return null}function $(a,b){var c,d,e={};f(qd,function(b){var e=b+"app";!c&&a.hasAttribute&&a.hasAttribute(e)&&(c=a,d=a.getAttribute(e))}),f(qd,function(b){var e,f=b+"app";!c&&(e=a.querySelector("["+f.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(f))}),c&&(e.strictDi=null!==Z(c,"strict-di"),b(c,d?[d]:[],e))}function _(c,d,e){t(e)||(e={});var g={strictDi:!1};e=l(g,e);var h=function(){if(c=bd(c),c.injector()){var a=c[0]===b?"document":T(c);throw id("btstrpd","App Already Bootstrapped with this Element '{0}'",a.replace(//,">"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),e.debugInfoEnabled&&d.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]),d.unshift("ng");var f=Sa(d,e.strictDi);return f.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),f},i=/^NG_ENABLE_DEBUG_INFO!/,j=/^NG_DEFER_BOOTSTRAP!/;return a&&i.test(a.name)&&(e.debugInfoEnabled=!0,a.name=a.name.replace(i,"")),a&&!j.test(a.name)?h():(a.name=a.name.replace(j,""),jd.resumeBootstrap=function(a){return f(a,function(a){d.push(a)}),h()},void(x(jd.resumeDeferredBootstrap)&&jd.resumeDeferredBootstrap()))}function aa(){a.name="NG_ENABLE_DEBUG_INFO!"+a.name,a.location.reload()}function ba(a){var b=jd.element(a).injector();if(!b)throw id("test","no injector found for element argument to getTestability");return b.get("$$testability")}function ca(a,b){return b=b||"_",a.replace(rd,function(a,c){return(c?b:"")+a.toLowerCase()})}function da(){var b;sd||(cd=a.jQuery,cd&&cd.fn.on?(bd=cd,l(cd.fn,{scope:Nd.scope,isolateScope:Nd.isolateScope,controller:Nd.controller,injector:Nd.injector,inheritedData:Nd.inheritedData}),b=cd.cleanData,cd.cleanData=function(a){var c;if(ld)ld=!1;else for(var d,e=0;null!=(d=a[e]);e++)c=cd._data(d,"events"),c&&c.$destroy&&cd(d).triggerHandler("$destroy");b(a)}):bd=ua,jd.element=bd,sd=!0)}function ea(a,b,c){if(!a)throw id("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function fa(a,b,c){return c&&md(a)&&(a=a[a.length-1]),ea(x(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function ga(a,b){if("hasOwnProperty"===a)throw id("badname","hasOwnProperty is not a valid {0} name",b)}function ha(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&x(a)?P(f,a):a}function ia(a){var b=a[0],c=a[a.length-1],d=[b];do{if(b=b.nextSibling,!b)break;d.push(b)}while(b!==c);return bd(d)}function ja(){return Object.create(null)}function ka(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),b(a,d,function(){function a(a,c,d,e){return e||(e=b),function(){return e[d||"push"]([a,c,arguments]),j}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var b=[],e=[],h=[],i=a("$injector","invoke","push",e),j={_invokeQueue:b,_configBlocks:e,_runBlocks:h,requires:f,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:i,run:function(a){return h.push(a),this}};return g&&i(g),j})}})}function la(a){var b=[];return JSON.stringify(a,function(a,c){if(c=Q(a,c),t(c)){if(b.indexOf(c)>=0)return"<>";b.push(c)}return c})}function ma(a){return"function"==typeof a?a.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof a?"undefined":"string"!=typeof a?la(a):a}function na(b){l(b,{bootstrap:_,copy:K,extend:l,equals:M,element:bd,forEach:f,injector:Sa,noop:o,bind:P,toJson:R,fromJson:S,identity:p,isUndefined:r,isDefined:s,isString:u,isFunction:x,isObject:t,isNumber:v,isElement:G,isArray:md,version:zd,isDate:w,lowercase:Xc,uppercase:Zc,callbacks:{counter:0},getTestability:ba,$$minErr:d,$$csp:pd,reloadWithDebugInfo:aa}),dd=ka(a);try{dd("ngLocale")}catch(c){dd("ngLocale",[]).provider("$locale",qb)}dd("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Xb}),a.provider("$compile",Za).directive({a:Fe,input:We,textarea:We,form:Ke,script:Mf,select:Pf,style:Rf,option:Qf,ngBind:Ze,ngBindHtml:_e,ngBindTemplate:$e,ngClass:bf,ngClassEven:df,ngClassOdd:cf,ngCloak:ef,ngController:ff,ngForm:Le,ngHide:Gf,ngIf:jf,ngInclude:kf,ngInit:mf,ngNonBindable:Af,ngPluralize:Bf,ngRepeat:Cf,ngShow:Ff,ngStyle:Hf,ngSwitch:If,ngSwitchWhen:Jf,ngSwitchDefault:Kf,ngOptions:Of,ngTransclude:Lf,ngModel:xf,ngList:nf,ngChange:af,pattern:Tf,ngPattern:Tf,required:Sf,ngRequired:Sf,minlength:Vf,ngMinlength:Vf,maxlength:Uf,ngMaxlength:Uf,ngValue:Ye,ngModelOptions:zf}).directive({ngInclude:lf}).directive(Ge).directive(gf),a.provider({$anchorScroll:Ta,$animate:Xd,$browser:Wa,$cacheFactory:Xa,$controller:bb,$document:cb,$exceptionHandler:db,$filter:hc,$interpolate:ob,$interval:pb,$http:kb,$httpBackend:mb,$location:Eb,$log:Fb,$parse:Rb,$rootScope:Wb,$q:Sb,$$q:Tb,$sce:_b,$sceDelegate:$b,$sniffer:ac,$templateCache:Ya,$templateRequest:bc,$$testability:cc,$timeout:dc,$window:gc,$$rAF:Vb,$$asyncCallback:Ua,$$jqLite:Na})}])}function oa(){return++Bd}function pa(a){return a.replace(Ed,function(a,b,c,d){return d?c.toUpperCase():c}).replace(Fd,"Moz$1")}function qa(a){return!Jd.test(a)}function ra(a){var b=a.nodeType;return b===td||!b||b===xd}function sa(a,b){var c,d,e,g,h=b.createDocumentFragment(),i=[];if(qa(a))i.push(b.createTextNode(a));else{for(c=c||h.appendChild(b.createElement("div")),d=(Kd.exec(a)||["",""])[1].toLowerCase(),e=Md[d]||Md._default,c.innerHTML=e[1]+a.replace(Ld,"<$1>")+e[2],g=e[0];g--;)c=c.lastChild;i=N(i,c.childNodes),c=h.firstChild,c.textContent=""}return h.textContent="",h.innerHTML="",f(i,function(a){h.appendChild(a)}),h}function ta(a,c){c=c||b;var d;return(d=Id.exec(a))?[c.createElement(d[1])]:(d=sa(a,c))?d.childNodes:[]}function ua(a){if(a instanceof ua)return a;var b;if(u(a)&&(a=nd(a),b=!0),!(this instanceof ua)){if(b&&"<"!=a.charAt(0))throw Hd("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new ua(a)}b?Ea(this,ta(a)):Ea(this,a)}function va(a){return a.cloneNode(!0)}function wa(a,b){if(b||ya(a),a.querySelectorAll)for(var c=a.querySelectorAll("*"),d=0,e=c.length;e>d;d++)ya(c[d])}function xa(a,b,c,d){if(s(d))throw Hd("offargs","jqLite#off() does not support the `selector` argument");var e=za(a),g=e&&e.events,h=e&&e.handle;if(h)if(b)f(b.split(" "),function(b){if(s(c)){var d=g[b];if(J(d||[],c),d&&d.length>0)return}Dd(a,b,h),delete g[b]});else for(b in g)"$destroy"!==b&&Dd(a,b,h),delete g[b]}function ya(a,b){var d=a.ng339,e=d&&Ad[d];if(e){if(b)return void delete e.data[b];e.handle&&(e.events.$destroy&&e.handle({},"$destroy"),xa(a)),delete Ad[d],a.ng339=c}}function za(a,b){var d=a.ng339,e=d&&Ad[d];return b&&!e&&(a.ng339=d=oa(),e=Ad[d]={events:{},data:{},handle:c}),e}function Aa(a,b,c){if(ra(a)){var d=s(c),e=!d&&b&&!t(b),f=!b,g=za(a,!e),h=g&&g.data;if(d)h[b]=c;else{if(f)return h;if(e)return h&&h[b];l(h,b)}}}function Ba(a,b){return a.getAttribute?(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1:!1}function Ca(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",nd((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+nd(b)+" "," ")))})}function Da(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=nd(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",nd(c))}}function Ea(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var c=b.length;if("number"==typeof c&&b.window!==b){if(c)for(var d=0;c>d;d++)a[a.length++]=b[d]}else a[a.length++]=b}}function Fa(a,b){return Ga(a,"$"+(b||"ngController")+"Controller")}function Ga(a,b,d){a.nodeType==xd&&(a=a.documentElement);for(var e=md(b)?b:[b];a;){for(var f=0,g=e.length;g>f;f++)if((d=bd.data(a,e[f]))!==c)return d;a=a.parentNode||a.nodeType===yd&&a.host}}function Ha(a){for(wa(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Ia(a,b){b||wa(a);var c=a.parentNode;c&&c.removeChild(a)}function Ja(b,c){c=c||a,"complete"===c.document.readyState?c.setTimeout(b):bd(c).on("load",b)}function Ka(a,b){var c=Od[b.toLowerCase()];return c&&Pd[I(a)]&&c}function La(a,b){var c=a.nodeName;return("INPUT"===c||"TEXTAREA"===c)&&Qd[b]}function Ma(a,b){var c=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],f=e?e.length:0;if(f){if(r(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0,c.stopPropagation&&c.stopPropagation(),g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return c.immediatePropagationStopped===!0},f>1&&(e=L(e));for(var h=0;f>h;h++)c.isImmediatePropagationStopped()||e[h].call(a,c)}};return c.elem=a,c}function Na(){this.$get=function(){return l(ua,{hasClass:function(a,b){return a.attr&&(a=a[0]),Ba(a,b)},addClass:function(a,b){return a.attr&&(a=a[0]),Da(a,b)},removeClass:function(a,b){return a.attr&&(a=a[0]),Ca(a,b)}})}}function Oa(a,b){var c=a&&a.$$hashKey;if(c)return"function"==typeof c&&(c=a.$$hashKey()),c;var d=typeof a;return c="function"==d||"object"==d&&null!==a?a.$$hashKey=d+":"+(b||j)():d+":"+a}function Pa(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function Qa(a){var b=a.toString().replace(Ud,""),c=b.match(Rd);return c?"function("+(c[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Ra(a,b,c){var d,e,g,h;if("function"==typeof a){if(!(d=a.$inject)){if(d=[],a.length){if(b)throw u(c)&&c||(c=a.name||Qa(a)),Vd("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",c);e=a.toString().replace(Ud,""),g=e.match(Rd),f(g[1].split(Sd),function(a){a.replace(Td,function(a,b,c){d.push(c)})})}a.$inject=d}}else md(a)?(h=a.length-1,fa(a[h],"fn"),d=a.slice(0,h)):fa(a,"fn",!0);return d}function Sa(a,b){function d(a){return function(b,c){return t(b)?void f(b,i(a)):a(b,c)}}function e(a,b){if(ga(a,"service"),(x(b)||md(b))&&(b=A.instantiate(b)),!b.$get)throw Vd("pget","Provider '{0}' must define $get factory method.",a);return z[a+v]=b}function g(a,b){return function(){var c=C.invoke(b,this);if(r(c))throw Vd("undef","Provider '{0}' must return a value from $get factory method.",a);return c}}function h(a,b,c){return e(a,{$get:c!==!1?g(a,b):b})}function j(a,b){return h(a,["$injector",function(a){return a.instantiate(b)}])}function k(a,b){return h(a,q(b),!1)}function l(a,b){ga(a,"constant"),z[a]=b,B[a]=b}function m(a,b){var c=A.get(a+v),d=c.$get;c.$get=function(){var a=C.invoke(d,c);return C.invoke(b,null,{$delegate:a})}}function n(a){var b,c=[];return f(a,function(a){function d(a){var b,c;for(b=0,c=a.length;c>b;b++){var d=a[b],e=A.get(d[0]);e[d[1]].apply(e,d[2])}}if(!y.get(a)){y.put(a,!0);try{u(a)?(b=dd(a),c=c.concat(n(b.requires)).concat(b._runBlocks),d(b._invokeQueue),d(b._configBlocks)):x(a)?c.push(A.invoke(a)):md(a)?c.push(A.invoke(a)):fa(a,"module")}catch(e){throw md(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Vd("modulerr","Failed to instantiate module {0} due to:\n{1}",a,e.stack||e.message||e)}}}),c}function p(a,c){function d(b,d){if(a.hasOwnProperty(b)){if(a[b]===s)throw Vd("cdep","Circular dependency found: {0}",b+" <- "+w.join(" <- "));return a[b]}try{return w.unshift(b),a[b]=s,a[b]=c(b,d)}catch(e){throw a[b]===s&&delete a[b],e}finally{w.shift()}}function e(a,c,e,f){"string"==typeof e&&(f=e,e=null);var g,h,i,j=[],k=Sa.$$annotate(a,b,f);for(h=0,g=k.length;g>h;h++){if(i=k[h],"string"!=typeof i)throw Vd("itkn","Incorrect injection token! Expected service name as string, got {0}",i);j.push(e&&e.hasOwnProperty(i)?e[i]:d(i,f))}return md(a)&&(a=a[g]),a.apply(c,j)}function f(a,b,c){var d=Object.create((md(a)?a[a.length-1]:a).prototype||null),f=e(a,d,b,c);return t(f)||x(f)?f:d}return{invoke:e,instantiate:f,get:d,annotate:Sa.$$annotate,has:function(b){return z.hasOwnProperty(b+v)||a.hasOwnProperty(b)}}}b=b===!0;var s={},v="Provider",w=[],y=new Pa([],!0),z={$provide:{provider:d(e),factory:d(h),service:d(j),value:d(k),constant:d(l),decorator:m}},A=z.$injector=p(z,function(a,b){throw jd.isString(b)&&w.push(b),Vd("unpr","Unknown provider: {0}",w.join(" <- "))}),B={},C=B.$injector=p(B,function(a,b){var d=A.get(a+v,b);return C.invoke(d.$get,d,c,a)});return f(n(a),function(a){C.invoke(a||o)}),C}function Ta(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return Array.prototype.some.call(a,function(a){return"a"===I(a)?(b=a,!0):void 0}),b}function f(){var a=h.yOffset;if(x(a))a=a();else if(G(a)){var c=a[0],d=b.getComputedStyle(c);a="fixed"!==d.position?0:c.getBoundingClientRect().bottom}else v(a)||(a=0);return a}function g(a){if(a){a.scrollIntoView();var c=f();if(c){var d=a.getBoundingClientRect().top;b.scrollBy(0,d-c)}}else b.scrollTo(0,0)}function h(){var a,b=c.hash();b?(a=i.getElementById(b))?g(a):(a=e(i.getElementsByName(b)))?g(a):"top"===b&&g(null):g(null)}var i=b.document;return a&&d.$watch(function(){return c.hash()},function(a,b){(a!==b||""!==a)&&Ja(function(){d.$evalAsync(h)})}),h}]}function Ua(){this.$get=["$$rAF","$timeout",function(a,b){return a.supported?function(b){return a(b)}:function(a){return b(a,0,!1)}}]}function Va(a,b,d,e){function g(a){try{a.apply(null,O(arguments,1))}finally{if(y--,0===y)for(;z.length;)try{z.pop()()}catch(b){d.error(b)}}}function h(a){var b=a.indexOf("#");return-1===b?"":a.substr(b)}function i(a,b){!function c(){f(B,function(a){a()}),A=b(c,a)}()}function j(){l(),m()}function k(){try{return t.state}catch(a){}}function l(){C=k(),C=r(C)?null:C,M(C,J)&&(C=J),J=C}function m(){(E!==p.url()||D!==C)&&(E=p.url(),D=C,f(H,function(a){a(p.url(),C)}))}function n(a){try{return decodeURIComponent(a)}catch(b){return a}}var p=this,q=b[0],s=a.location,t=a.history,v=a.setTimeout,w=a.clearTimeout,x={};p.isMock=!1;var y=0,z=[];p.$$completeOutstandingRequest=g,p.$$incOutstandingRequestCount=function(){y++},p.notifyWhenNoOutstandingRequests=function(a){f(B,function(a){a()}),0===y?a():z.push(a)};var A,B=[];p.addPollFn=function(a){return r(A)&&i(100,v),B.push(a),a};var C,D,E=s.href,F=b.find("base"),G=null;l(),D=C,p.url=function(b,c,d){if(r(d)&&(d=null),s!==a.location&&(s=a.location),t!==a.history&&(t=a.history),b){var f=D===d;if(E===b&&(!e.history||f))return p;var g=E&&vb(E)===vb(b);return E=b,D=d,!e.history||g&&f?((!g||G)&&(G=b),c?s.replace(b):g?s.hash=h(b):s.href=b):(t[c?"replaceState":"pushState"](d,"",b),l(),D=C),p}return G||s.href.replace(/%27/g,"'")},p.state=function(){return C};var H=[],I=!1,J=null;p.onUrlChange=function(b){return I||(e.history&&bd(a).on("popstate",j),bd(a).on("hashchange",j),I=!0),H.push(b),b},p.$$checkUrlChange=m,p.baseHref=function(){var a=F.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var K={},L="",N=p.baseHref();p.cookies=function(a,b){var e,f,g,h,i;if(!a){if(q.cookie!==L)for(L=q.cookie,f=L.split("; "),K={},h=0;h0&&(a=n(g.substring(0,i)),K[a]===c&&(K[a]=n(g.substring(i+1))));return K}b===c?q.cookie=encodeURIComponent(a)+"=;path="+N+";expires=Thu, 01 Jan 1970 00:00:00 GMT":u(b)&&(e=(q.cookie=encodeURIComponent(a)+"="+encodeURIComponent(b)+";path="+N).length+1,e>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!"))},p.defer=function(a,b){var c;return y++,c=v(function(){delete x[c],g(a)},b||0),x[c]=!0,c},p.defer.cancel=function(a){return x[a]?(delete x[a],w(a),g(o),!0):!1}}function Wa(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Va(a,d,b,c)}]}function Xa(){this.$get=function(){function a(a,c){function e(a){a!=m&&(n?n==a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i={},j=c&&c.capacity||Number.MAX_VALUE,k={},m=null,n=null;return b[a]={put:function(a,b){if(jj&&this.remove(n.key),b},get:function(a){if(j").parent()[0])});var g=H(a,b,a,c,d,e);F.$$addScopeClass(a);var h=null;return function(b,c,d){ea(b,"scope"),d=d||{};var e=d.parentBoundTranscludeFn,f=d.transcludeControllers,i=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude),h||(h=G(i));var j;if(j="html"!==h?bd($(h,bd("
").append(a).html())):c?Nd.clone.call(a):a,f)for(var k in f)j.data("$"+k+"Controller",f[k].instance);return F.$$addScopeInfo(j,b),c&&c(j,b),g&&g(b,j,j,e),j}}function G(a){var b=a&&a[0];return b&&"foreignobject"!==I(b)&&b.toString().match(/SVG/)?"svg":"html"}function H(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,q;if(o){var r=d.length;for(q=new Array(r),k=0;kk;)i=q[p[k++]],g=p[k++],h=p[k++],g?(g.scope?(j=a.$new(),F.$$addScopeInfo(bd(i),j)):j=a,n=g.transcludeOnThisElement?K(a,g.transclude,f,g.elementTranscludeOnThisElement):!g.templateOnThisElement&&f?f:!f&&b?K(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o,p=[],q=0;qs;s++){var w=!1,x=!1;l=r[s],m=l.name,p=nd(l.value),o=$a(m),(q=la.test(o))&&(m=m.replace(Zd,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));var y=o.replace(/(Start|End)$/,"");U(y)&&o===y+"Start"&&(w=m,x=m.substr(0,m.length-5)+"end",m=m.substr(0,m.length-6)),n=$a(m.toLowerCase()),i[n]=m,(q||!c.hasOwnProperty(n))&&(c[n]=p,Ka(a,n)&&(c[n]=!0)),aa(a,b,p,n,q),S(b,n,"A",d,e,w,x)}if(g=a.className,t(g)&&(g=g.animVal),u(g)&&""!==g)for(;f=k.exec(g);)n=$a(f[2]),S(b,n,"C",d,e)&&(c[n]=nd(f[3])),g=g.substr(f.index+f[0].length);break;case vd:Z(b,a.nodeValue);break;case wd:try{f=j.exec(a.nodeValue),f&&(n=$a(f[1]),S(b,n,"M",d,e)&&(c[n]=nd(f[2])))}catch(z){}}return b.sort(X),b}function N(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw Yd("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);a.nodeType==td&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return bd(d)}function P(a,b,c){return function(d,e,f,g,h){return e=N(e[0],b,c),a(d,e,f,g,h)}}function Q(a,g,h,i,j,k,l,m,n){function o(a,b,c,d){a&&(c&&(a=P(a,c,d)),a.require=z.require,a.directiveName=B,(I===z||z.$$isolateScope)&&(a=da(a,{isolateScope:!0})),l.push(a)),b&&(c&&(b=P(b,c,d)),b.require=z.require,b.directiveName=B,(I===z||z.$$isolateScope)&&(b=da(b,{isolateScope:!0})),m.push(b))}function p(a,b,c,d){var e,g,h="data",i=!1,j=c;if(u(b)){if(g=b.match(r),b=b.substring(g[0].length),g[3]&&(g[1]?g[3]=null:g[1]=g[3]),"^"===g[1]?h="inheritedData":"^^"===g[1]&&(h="inheritedData",j=c.parent()),"?"===g[2]&&(i=!0),e=null,d&&"data"===h&&(e=d[b])&&(e=e.instance),e=e||j[h]("$"+b+"Controller"),!e&&!i)throw Yd("ctreq","Controller '{0}', required by directive '{1}', can't be found!",b,a);return e||null}return md(b)&&(e=[],f(b,function(b){e.push(p(a,b,c,d))})),e}function v(a,b,e,i,j){function k(a,b,d){var e;return A(a)||(d=b,b=a,a=c),U&&(e=v),d||(d=U?x.parent():x),j(a,b,e,d,D)}var n,o,r,t,u,v,w,x,z;if(g===e?(z=h,x=h.$$element):(x=bd(e),z=new ga(x,h)),I&&(u=b.$new(!0)),j&&(w=k,w.$$boundTransclude=j),H&&(y={},v={},f(H,function(a){var c,d={$scope:a===I||a.$$isolateScope?u:b,$element:x,$attrs:z,$transclude:w};t=a.controller,"@"==t&&(t=z[a.name]),c=s(t,d,!0,a.controllerAs),v[a.name]=c,U||x.data("$"+a.name+"Controller",c.instance),y[a.name]=c})),I){F.$$addScopeInfo(x,u,!0,!(J&&(J===I||J===I.$$originalDirective))),F.$$addScopeClass(x,!0);var B=y&&y[I.name],C=u;B&&B.identifier&&I.bindToController===!0&&(C=B.instance),f(u.$$isolateBindings=I.$$isolateBindings,function(a,c){var e,f,g,h,i=a.attrName,j=a.optional,k=a.mode;switch(k){case"@":z.$observe(i,function(a){C[c]=a}),z.$$observers[i].$$scope=b,z[i]&&(C[c]=d(z[i])(b));break;case"=":if(j&&!z[i])return;f=q(z[i]),h=f.literal?M:function(a,b){return a===b||a!==a&&b!==b},g=f.assign||function(){throw e=C[c]=f(b),Yd("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",z[i],I.name)},e=C[c]=f(b);var l=function(a){return h(a,C[c])||(h(a,e)?g(b,a=C[c]):C[c]=a),e=a};l.$stateful=!0;var m;m=a.collection?b.$watchCollection(z[i],l):b.$watch(q(z[i],l),null,f.literal),u.$on("$destroy",m);break;case"&":f=q(z[i]),C[c]=function(a){return f(b,a)}}})}for(y&&(f(y,function(a){a()}),y=null),n=0,o=l.length;o>n;n++)r=l[n],fa(r,r.isolateScope?u:b,x,z,r.require&&p(r.directiveName,r.require,x,v),w);var D=b;for(I&&(I.template||null===I.templateUrl)&&(D=u),a&&a(D,e.childNodes,c,j),n=m.length-1;n>=0;n--)r=m[n],fa(r,r.isolateScope?u:b,x,z,r.require&&p(r.directiveName,r.require,x,v),w)}n=n||{};for(var w,y,z,B,C,D,E,G=-Number.MAX_VALUE,H=n.controllerDirectives,I=n.newIsolateScopeDirective,J=n.templateDirective,K=n.nonTlbTranscludeDirective,Q=!1,S=!1,U=n.hasElementTranscludeDirective,X=h.$$element=bd(g),Z=k,_=i,aa=0,ca=a.length;ca>aa;aa++){z=a[aa];var ea=z.$$start,ha=z.$$end;if(ea&&(X=N(g,ea,ha)),C=c,G>z.priority)break;if((E=z.scope)&&(z.templateUrl||(t(E)?(Y("new/isolated scope",I||w,z,X),I=z):Y("new/isolated scope",I,z,X)),w=w||z),B=z.name,!z.templateUrl&&z.controller&&(E=z.controller,H=H||{},Y("'"+B+"' controller",H[B],z,X),H[B]=z),(E=z.transclude)&&(Q=!0,z.$$tlb||(Y("transclusion",K,z,X),K=z),"element"==E?(U=!0,G=z.priority,C=X,X=h.$$element=bd(b.createComment(" "+B+": "+h[B]+" ")),g=X[0],ba(j,O(C),g),_=F(C,i,G,Z&&Z.name,{nonTlbTranscludeDirective:K})):(C=bd(va(g)).contents(),X.empty(),_=F(C,i))),z.template)if(S=!0,Y("template",J,z,X),J=z,E=x(z.template)?z.template(X,h):z.template,E=ka(E),z.replace){if(Z=z,C=qa(E)?[]:ab($(z.templateNamespace,nd(E))),g=C[0],1!=C.length||g.nodeType!==td)throw Yd("tplrt","Template for directive '{0}' must have exactly one root element. {1}",B,"");ba(j,X,g);var ia={$attr:{}},ja=L(g,[],ia),la=a.splice(aa+1,a.length-(aa+1));I&&R(ja),a=a.concat(ja).concat(la),V(h,ia),ca=a.length}else X.html(E);if(z.templateUrl)S=!0,Y("template",J,z,X),J=z,z.replace&&(Z=z),v=W(a.splice(aa,a.length-aa),X,h,j,Q&&_,l,m,{controllerDirectives:H,newIsolateScopeDirective:I,templateDirective:J,nonTlbTranscludeDirective:K}),ca=a.length;else if(z.compile)try{D=z.compile(X,h,_),x(D)?o(null,D,ea,ha):D&&o(D.pre,D.post,ea,ha)}catch(ma){e(ma,T(X))}z.terminal&&(v.terminal=!0,G=Math.max(G,z.priority))}return v.scope=w&&w.scope===!0,v.transcludeOnThisElement=Q,v.elementTranscludeOnThisElement=U,v.templateOnThisElement=S,v.transclude=_,n.hasElementTranscludeDirective=U,v}function R(a){for(var b=0,c=a.length;c>b;b++)a[b]=n(a[b],{$$isolateScope:!0})}function S(b,d,f,i,j,k,l){if(d===j)return null;var m=null;if(g.hasOwnProperty(d))for(var o,p=a.get(d+h),q=0,r=p.length;r>q;q++)try{o=p[q],(i===c||i>o.priority)&&-1!=o.restrict.indexOf(f)&&(k&&(o=n(o,{ -$$start:k,$$end:l})),b.push(o),m=o)}catch(s){e(s)}return m}function U(b){if(g.hasOwnProperty(b))for(var c,d=a.get(b+h),e=0,f=d.length;f>e;e++)if(c=d[e],c.multiElement)return!0;return!1}function V(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(E(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function W(a,b,c,d,e,g,h,j){var k,l,m=[],o=b[0],p=a.shift(),q=n(p,{templateUrl:null,transclude:null,replace:null,$$originalDirective:p}),r=x(p.templateUrl)?p.templateUrl(b,c):p.templateUrl,s=p.templateNamespace;return b.empty(),i(r).then(function(i){var n,u,v,w;if(i=ka(i),p.replace){if(v=qa(i)?[]:ab($(s,nd(i))),n=v[0],1!=v.length||n.nodeType!==td)throw Yd("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p.name,r);u={$attr:{}},ba(d,b,n);var x=L(n,[],u);t(p.scope)&&R(x),a=x.concat(a),V(c,u)}else n=o,b.html(i);for(a.unshift(q),k=Q(a,n,c,e,b,p,g,h,j),f(d,function(a,c){a==n&&(d[c]=b[0])}),l=H(b[0].childNodes,e);m.length;){var y=m.shift(),z=m.shift(),A=m.shift(),B=m.shift(),C=b[0];if(!y.$$destroyed){if(z!==o){var D=z.className;j.hasElementTranscludeDirective&&p.replace||(C=va(n)),ba(A,bd(z),C),E(bd(C),D)}w=k.transcludeOnThisElement?K(y,k.transclude,B):B,k(l,y,C,d,w)}}m=null}),function(a,b,c,d,e){var f=e;b.$$destroyed||(m?m.push(b,c,d,f):(k.transcludeOnThisElement&&(f=K(b,k.transclude,e)),k(l,b,c,d,f)))}}function X(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name"+c+"",d.childNodes[0].childNodes;default:return c}}function _(a,b){if("srcdoc"==b)return B.HTML;var c=I(a);return"xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b)?B.RESOURCE_URL:void 0}function aa(a,b,c,e,f){var g=_(a,e);f=m[e]||f;var h=d(c,!0,g,f);if(h){if("multiple"===e&&"select"===I(a))throw Yd("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",T(a));b.push({priority:100,compile:function(){return{pre:function(a,b,i){var j=i.$$observers||(i.$$observers={});if(v.test(e))throw Yd("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var k=i[e];k!==c&&(h=k&&d(k,!0,g,f),c=k),h&&(i[e]=h(a),(j[e]||(j[e]=[])).$$inter=!0,(i.$$observers&&i.$$observers[e].$$scope||a).$watch(h,function(a,b){"class"===e&&a!=b?i.$updateClass(a,b):i.$set(e,a)}))}}}})}}function ba(a,c,d){var e,f,g=c[0],h=c.length,i=g.parentNode;if(a)for(e=0,f=a.length;f>e;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1,a.context===g&&(a.context=d);break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),bd(d).data(bd(g).data()),cd?(ld=!0,cd.cleanData([g])):delete bd.cache[g[bd.expando]];for(var n=1,o=c.length;o>n;n++){var p=c[n];bd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function da(a,b){return l(function(){return a.apply(null,arguments)},a,b)}function fa(a,b,c,d,f,g){try{a(b,c,d,f,g)}catch(h){e(h,T(c))}}var ga=function(a,b){if(b){var c,d,e,f=Object.keys(b);for(c=0,d=f.length;d>c;c++)e=f[c],this[e]=b[e]}else this.$attr={};this.$$element=a};ga.prototype={$normalize:$a,$addClass:function(a){a&&a.length>0&&C.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&C.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=_a(a,b);c&&c.length&&C.addClass(this.$$element,c);var d=_a(b,a);d&&d.length&&C.removeClass(this.$$element,d)},$set:function(a,b,d,g){var h,i=this.$$element[0],j=Ka(i,a),k=La(i,a),l=a;if(j?(this.$$element.prop(a,b),g=j):k&&(this[k]=b,l=k),this[a]=b,g?this.$attr[a]=g:(g=this.$attr[a],g||(this.$attr[a]=g=ca(a,"-"))),h=I(this.$$element),"a"===h&&"href"===a||"img"===h&&"src"===a)this[a]=b=D(b,"src"===a);else if("img"===h&&"srcset"===a){for(var m="",n=nd(b),o=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,p=/\s/.test(n)?o:/(,)/,q=n.split(p),r=Math.floor(q.length/2),s=0;r>s;s++){var t=2*s;m+=D(nd(q[t]),!0),m+=" "+nd(q[t+1])}var u=nd(q[2*s]).split(/\s/);m+=D(nd(u[0]),!0),2===u.length&&(m+=" "+nd(u[1])),this[a]=b=m}d!==!1&&(null===b||b===c?this.$$element.removeAttr(g):this.$$element.attr(g,b));var v=this.$$observers;v&&f(v[l],function(a){try{a(b)}catch(c){e(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=ja()),e=d[a]||(d[a]=[]);return e.push(b),y.$evalAsync(function(){!e.$$inter&&c.hasOwnProperty(a)&&b(c[a])}),function(){J(e,b)}}};var ha=d.startSymbol(),ia=d.endSymbol(),ka="{{"==ha||"}}"==ia?p:function(a){return a.replace(/\{\{/g,ha).replace(/}}/g,ia)},la=/^ngAttr[A-Z]/;return F.$$addBindingInfo=w?function(a,b){var c=a.data("$binding")||[];md(b)?c=c.concat(b):c.push(b),a.data("$binding",c)}:o,F.$$addBindingClass=w?function(a){E(a,"ng-binding")}:o,F.$$addScopeInfo=w?function(a,b,c,d){var e=c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope";a.data(e,b)}:o,F.$$addScopeClass=w?function(a,b){E(a,b?"ng-isolate-scope":"ng-scope")}:o,F}]}function $a(a){return pa(a.replace(Zd,""))}function _a(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f0?" ":"")+g}return c}function ab(a){a=bd(a);var b=a.length;if(1>=b)return a;for(;b--;){var c=a[b];c.nodeType===wd&&fd.call(a,b,1)}return a}function bb(){var a={},b=!1,e=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(b,c){ga(b,"controller"),t(b)?l(a,b):a[b]=c},this.allowGlobals=function(){b=!0},this.$get=["$injector","$window",function(f,g){function h(a,b,c,e){if(!a||!t(a.$scope))throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",e,b);a.$scope[b]=c}return function(d,i,j,k){var m,n,o,p;if(j=j===!0,k&&u(k)&&(p=k),u(d)){if(n=d.match(e),!n)throw $d("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",d);o=n[1],p=p||n[3],d=a.hasOwnProperty(o)?a[o]:ha(i.$scope,o,!0)||(b?ha(g,o,!0):c),fa(d,o,!0)}if(j){var q=(md(d)?d[d.length-1]:d).prototype;return m=Object.create(q||null),p&&h(i,p,m,o||d.name),l(function(){return f.invoke(d,m,i,o),m},{instance:m,identifier:p})}return m=f.instantiate(d,i,o),p&&h(i,p,m,o||d.name),m}}]}function cb(){this.$get=["$window",function(a){return bd(a.document)}]}function db(){this.$get=["$log",function(a){return function(b,c){a.error.apply(a,arguments)}}]}function eb(a,b){if(u(a)){var c=a.replace(de,"").trim();if(c){var d=b("Content-Type");(d&&0===d.indexOf(_d)||fb(c))&&(a=S(c))}}return a}function fb(a){var b=a.match(be);return b&&ce[b[0]].test(a)}function gb(a){var b,c,d,e=ja();return a?(f(a.split("\n"),function(a){d=a.indexOf(":"),b=Xc(nd(a.substr(0,d))),c=nd(a.substr(d+1)),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e}function hb(a){var b=t(a)?a:c;return function(c){if(b||(b=gb(a)),c){var d=b[Xc(c)];return void 0===d&&(d=null),d}return b}}function ib(a,b,c,d){return x(d)?d(a,b,c):(f(d,function(d){a=d(a,b,c)}),a)}function jb(a){return a>=200&&300>a}function kb(){var a=this.defaults={transformResponse:[eb],transformRequest:[function(a){return!t(a)||B(a)||D(a)||C(a)?a:R(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:L(ae),put:L(ae),patch:L(ae)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},b=!1;this.useApplyAsync=function(a){return s(a)?(b=!!a,this):b};var e=this.interceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(g,i,j,k,m,n){function o(b){function e(a){var b=l({},a);return a.data?b.data=ib(a.data,a.headers,a.status,i.transformResponse):b.data=a.data,jb(a.status)?b:m.reject(b)}function g(a){var b,c={};return f(a,function(a,d){x(a)?(b=a(),null!=b&&(c[d]=b)):c[d]=a}),c}function h(b){var c,d,e,f=a.headers,h=l({},b.headers);f=l({},f.common,f[Xc(b.method)]);a:for(c in f){d=Xc(c);for(e in h)if(Xc(e)===d)continue a;h[c]=f[c]}return g(h)}if(!jd.isObject(b))throw d("$http")("badreq","Http request configuration must be an object. Received: {0}",b);var i=l({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse},b);i.headers=h(b),i.method=Zc(i.method);var j=function(b){var d=b.headers,g=ib(b.data,hb(d),c,b.transformRequest);return r(g)&&f(d,function(a,b){"content-type"===Xc(b)&&delete d[b]}),r(b.withCredentials)&&!r(a.withCredentials)&&(b.withCredentials=a.withCredentials),v(b,g).then(e,e)},k=[j,c],n=m.when(i);for(f(A,function(a){(a.request||a.requestError)&&k.unshift(a.request,a.requestError),(a.response||a.responseError)&&k.push(a.response,a.responseError)});k.length;){var o=k.shift(),p=k.shift();n=n.then(o,p)}return n.success=function(a){return fa(a,"fn"),n.then(function(b){a(b.data,b.status,b.headers,i)}),n},n.error=function(a){return fa(a,"fn"),n.then(null,function(b){a(b.data,b.status,b.headers,i)}),n},n}function p(a){f(arguments,function(a){o[a]=function(b,c){return o(l(c||{},{method:a,url:b}))}})}function q(a){f(arguments,function(a){o[a]=function(b,c,d){return o(l(d||{},{method:a,url:b,data:c}))}})}function v(d,e){function f(a,c,d,e){function f(){h(c,a,d,e)}n&&(jb(a)?n.put(w,[a,c,gb(d),e]):n.remove(w)),b?k.$applyAsync(f):(f(),k.$$phase||k.$apply())}function h(a,b,c,e){b=b>=-1?b:0,(jb(b)?q.resolve:q.reject)({data:a,status:b,headers:hb(c),config:d,statusText:e})}function j(a){h(a.data,a.status,L(a.headers()),a.statusText)}function l(){var a=o.pendingRequests.indexOf(d);-1!==a&&o.pendingRequests.splice(a,1)}var n,p,q=m.defer(),u=q.promise,v=d.headers,w=y(d.url,d.params);if(o.pendingRequests.push(d),u.then(l,l),!d.cache&&!a.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(n=t(d.cache)?d.cache:t(a.cache)?a.cache:z),n&&(p=n.get(w),s(p)?F(p)?p.then(j,j):md(p)?h(p[1],p[0],L(p[2]),p[3]):h(p,200,{},"OK"):n.put(w,u)),r(p)){var x=fc(d.url)?i.cookies()[d.xsrfCookieName||a.xsrfCookieName]:c;x&&(v[d.xsrfHeaderName||a.xsrfHeaderName]=x),g(d.method,w,e,f,v,d.timeout,d.withCredentials,d.responseType)}return u}function y(a,b){if(!b)return a;var c=[];return h(b,function(a,b){null===a||r(a)||(md(a)||(a=[a]),f(a,function(a){t(a)&&(a=w(a)?a.toISOString():R(a)),c.push(Y(b)+"="+Y(a))}))}),c.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&")),a}var z=j("$http"),A=[];return f(e,function(a){A.unshift(u(a)?n.get(a):n.invoke(a))}),o.pendingRequests=[],p("get","delete","head","jsonp"),q("post","put","patch"),o.defaults=a,o}]}function lb(){return new a.XMLHttpRequest}function mb(){this.$get=["$browser","$window","$document",function(a,b,c){return nb(a,lb,a.defer,b.angular.callbacks,c[0])}]}function nb(a,b,d,e,g){function h(a,b,c){var d=g.createElement("script"),f=null;return d.type="text/javascript",d.src=a,d.async=!0,f=function(a){Dd(d,"load",f),Dd(d,"error",f),g.body.removeChild(d),d=null;var h=-1,i="unknown";a&&("load"!==a.type||e[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},Cd(d,"load",f),Cd(d,"error",f),g.body.appendChild(d),f}return function(g,i,j,k,l,m,n,p){function q(){u&&u(),v&&v.abort()}function r(b,e,f,g,h){y!==c&&d.cancel(y),u=v=null,b(e,f,g,h),a.$$completeOutstandingRequest(o)}if(a.$$incOutstandingRequestCount(),i=i||a.url(),"jsonp"==Xc(g)){var t="_"+(e.counter++).toString(36);e[t]=function(a){e[t].data=a,e[t].called=!0};var u=h(i.replace("JSON_CALLBACK","angular.callbacks."+t),t,function(a,b){r(k,a,e[t].data,"",b),e[t]=o})}else{var v=b();v.open(g,i,!0),f(l,function(a,b){s(a)&&v.setRequestHeader(b,a)}),v.onload=function(){var a=v.statusText||"",b="response"in v?v.response:v.responseText,c=1223===v.status?204:v.status;0===c&&(c=b?200:"file"==ec(i).protocol?404:0),r(k,c,b,v.getAllResponseHeaders(),a)};var w=function(){r(k,-1,null,null,"")};if(v.onerror=w,v.onabort=w,n&&(v.withCredentials=!0),p)try{v.responseType=p}catch(x){if("json"!==p)throw x}v.send(j||null)}if(m>0)var y=d(q,m);else F(m)&&m.then(q)}}function ob(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(f,g,m,n){function o(c){return c.replace(j,a).replace(k,b)}function p(a){try{return a=D(a),n&&!s(a)?a:E(a)}catch(b){var c=ee("interr","Can't interpolate: {0}\n{1}",f,b.toString());d(c)}}n=!!n;for(var q,t,u,v=0,w=[],y=[],z=f.length,A=[],B=[];z>v;){if(-1==(q=f.indexOf(a,v))||-1==(t=f.indexOf(b,q+h))){v!==z&&A.push(o(f.substring(v)));break}v!==q&&A.push(o(f.substring(v,q))),u=f.substring(q+h,t),w.push(u),y.push(c(u,p)),v=t+i,B.push(A.length),A.push("")}if(m&&A.length>1)throw ee("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",f);if(!g||w.length){var C=function(a){for(var b=0,c=w.length;c>b;b++){if(n&&r(a[b]))return;A[B[b]]=a[b]}return A.join("")},D=function(a){return m?e.getTrusted(m,a):e.valueOf(a)},E=function(a){if(null==a)return"";switch(typeof a){case"string":break;case"number":a=""+a;break;default:a=R(a)}return a};return l(function(a){var b=0,c=w.length,e=new Array(c);try{for(;c>b;b++)e[b]=y[b](a);return C(e)}catch(g){var h=ee("interr","Can't interpolate: {0}\n{1}",f,g.toString());d(h)}},{exp:f,expressions:w,$$watchDelegate:function(a,b,c){var d;return a.$watchGroup(y,function(c,e){var f=C(c);x(b)&&b.call(this,f,c!==e?d:f,a),d=f},c)}})}}var h=a.length,i=b.length,j=new RegExp(a.replace(/./g,f),"g"),k=new RegExp(b.replace(/./g,f),"g");return g.startSymbol=function(){return a},g.endSymbol=function(){return b},g}]}function pb(){this.$get=["$rootScope","$window","$q","$$q",function(a,b,c,d){function e(e,g,h,i){var j=b.setInterval,k=b.clearInterval,l=0,m=s(i)&&!i,n=(m?d:c).defer(),o=n.promise;return h=s(h)?h:0,o.then(null,null,e),o.$$intervalId=j(function(){n.notify(l++),h>0&&l>=h&&(n.resolve(l),k(o.$$intervalId),delete f[o.$$intervalId]),m||a.$apply()},g),f[o.$$intervalId]=n,o}var f={};return e.cancel=function(a){return a&&a.$$intervalId in f?(f[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete f[a.$$intervalId],!0):!1},e}]}function qb(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a",ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"]},pluralCat:function(a){return 1===a?"one":"other"}}}}function rb(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=X(b[c]);return b.join("/")}function sb(a,b){var c=ec(a);b.$$protocol=c.protocol,b.$$host=c.hostname,b.$$port=m(c.port)||ge[c.protocol]||null}function tb(a,b){var c="/"!==a.charAt(0);c&&(a="/"+a);var d=ec(a);b.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname),b.$$search=V(d.search),b.$$hash=decodeURIComponent(d.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function ub(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function vb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function wb(a){return a.replace(/(#.+)|#$/,"$1")}function xb(a){return a.substr(0,vb(a).lastIndexOf("/")+1)}function yb(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function zb(a,b,d){this.$$html5=!0,d=d||"",sb(a,this),this.$$parse=function(a){var c=ub(b,a);if(!u(c))throw he("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',a,b);tb(c,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=W(this.$$search),c=this.$$hash?"#"+X(this.$$hash):"";this.$$url=rb(this.$$path)+(a?"?"+a:"")+c,this.$$absUrl=b+this.$$url.substr(1)},this.$$parseLinkUrl=function(e,f){if(f&&"#"===f[0])return this.hash(f.slice(1)),!0;var g,h,i;return(g=ub(a,e))!==c?(h=g,i=(g=ub(d,g))!==c?b+(ub("/",g)||g):a+h):(g=ub(b,e))!==c?i=b+g:b==e+"/"&&(i=b),i&&this.$$parse(i),!!i}}function Ab(a,b,c){sb(a,this),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f,g=ub(a,d)||ub(b,d);r(g)||"#"!==g.charAt(0)?this.$$html5?f=g:(f="",r(g)&&(a=d,this.replace())):(f=ub(c,g),r(f)&&(f=g)),tb(f,this),this.$$path=e(this.$$path,f,a),this.$$compose()},this.$$compose=function(){var b=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=rb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+(this.$$url?c+this.$$url:"")},this.$$parseLinkUrl=function(b,c){return vb(a)==vb(b)?(this.$$parse(b),!0):!1}}function Bb(a,b,c){this.$$html5=!0,Ab.apply(this,arguments),this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;return a==vb(d)?f=d:(g=ub(b,d))?f=a+c+g:b===d+"/"&&(f=b),f&&this.$$parse(f),!!f},this.$$compose=function(){var b=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=rb(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+c+this.$$url}}function Cb(a){return function(){return this[a]}}function Db(a,b){return function(c){return r(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Eb(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return s(b)?(a=b,this):a},this.html5Mode=function(a){return E(a)?(b.enabled=a,this):t(a)?(E(a.enabled)&&(b.enabled=a.enabled),E(a.requireBase)&&(b.requireBase=a.requireBase),E(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=j.url(),f=j.$$state;try{d.url(a,b,c),j.$$state=d.state()}catch(g){throw j.url(e),j.$$state=f,g}}function i(a,b){c.$broadcast("$locationChangeSuccess",j.absUrl(),a,j.$$state,b)}var j,k,l,m=d.baseHref(),n=d.url();if(b.enabled){if(!m&&b.requireBase)throw he("nobase","$location in HTML5 mode requires a tag to be present!");l=yb(n)+(m||"/"),k=e.history?zb:Bb}else l=vb(n),k=Ab;var o=xb(l);j=new k(l,o,"#"+a),j.$$parseLinkUrl(n,n),j.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=bd(a.target);"a"!==I(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),i=e.attr("href")||e.attr("xlink:href");t(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=ec(h.animVal).href),p.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||j.$$parseLinkUrl(h,i)&&(a.preventDefault(),j.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}),wb(j.absUrl())!=wb(n)&&d.url(j.absUrl(),!0);var q=!0;return d.onUrlChange(function(a,b){return r(ub(o,a))?void(g.location.href=a):(c.$evalAsync(function(){var d,e=j.absUrl(),f=j.$$state;j.$$parse(a),j.$$state=b,d=c.$broadcast("$locationChangeStart",a,e,b,f).defaultPrevented,j.absUrl()===a&&(d?(j.$$parse(e),j.$$state=f,h(e,!1,f)):(q=!1,i(e,f)))}),void(c.$$phase||c.$digest()))}),c.$watch(function(){var a=wb(d.url()),b=wb(j.absUrl()),f=d.state(),g=j.$$replace,k=a!==b||j.$$html5&&e.history&&f!==j.$$state;(q||k)&&(q=!1,c.$evalAsync(function(){var b=j.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,j.$$state,f).defaultPrevented;j.absUrl()===b&&(d?(j.$$parse(a),j.$$state=f):(k&&h(b,g,f===j.$$state?null:j.$$state),i(a,f)))})),j.$$replace=!1}),j}]}function Fb(){var a=!0,b=this;this.debugEnabled=function(b){return s(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||o,g=!1;try{g=!!e.apply}catch(h){}return g?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Gb(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===a||"__proto__"===a)throw je("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",b);return a}function Hb(a,b){if(a+="",!u(a))throw je("iseccst","Cannot convert object to primitive value! Expression: {0}",b);return a}function Ib(a,b){if(a){if(a.constructor===a)throw je("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a.window===a)throw je("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw je("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",b);if(a===Object)throw je("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",b)}return a}function Jb(a,b){if(a){if(a.constructor===a)throw je("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a===ke||a===le||a===me)throw je("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",b)}}function Kb(a){return a.constant}function Lb(a,b,c,d,e){Ib(a,e),Ib(b,e);for(var f,g=c.split("."),h=0;g.length>1;h++){f=Gb(g.shift(),e);var i=0===h&&b&&b[f]||a[f];i||(i={},a[f]=i),a=Ib(i,e)}return f=Gb(g.shift(),e),Ib(a[f],e),a[f]=d,d}function Mb(a){return"constructor"==a}function Nb(a,b,d,e,f,g,h){Gb(a,g),Gb(b,g),Gb(d,g),Gb(e,g),Gb(f,g);var i=function(a){return Ib(a,g)},j=h||Mb(a)?i:p,k=h||Mb(b)?i:p,l=h||Mb(d)?i:p,m=h||Mb(e)?i:p,n=h||Mb(f)?i:p;return function(g,h){var i=h&&h.hasOwnProperty(a)?h:g;return null==i?i:(i=j(i[a]),b?null==i?c:(i=k(i[b]),d?null==i?c:(i=l(i[d]),e?null==i?c:(i=m(i[e]),f?null==i?c:i=n(i[f]):i):i):i):i)}}function Ob(a,b){return function(c,d){return a(c,d,Ib,b)}}function Pb(a,b,d){var e=b.expensiveChecks,g=e?te:se,h=g[a];if(h)return h;var i=a.split("."),j=i.length;if(b.csp)h=6>j?Nb(i[0],i[1],i[2],i[3],i[4],d,e):function(a,b){var f,g=0;do f=Nb(i[g++],i[g++],i[g++],i[g++],i[g++],d,e)(a,b),b=c,a=f;while(j>g);return f};else{var k="";e&&(k+="s = eso(s, fe);\nl = eso(l, fe);\n");var l=e;f(i,function(a,b){Gb(a,d);var c=(b?"s":'((l&&l.hasOwnProperty("'+a+'"))?l:s)')+"."+a;(e||Mb(a))&&(c="eso("+c+", fe)",l=!0),k+="if(s == null) return undefined;\ns="+c+";\n"}),k+="return s;";var m=new Function("s","l","eso","fe",k);m.toString=q(k),l&&(m=Ob(m,d)),h=m}return h.sharedGetter=!0,h.assign=function(b,c,d){return Lb(b,d,a,c,a)},g[a]=h,h}function Qb(a){return x(a.valueOf)?a.valueOf():ue.call(a)}function Rb(){var a=ja(),b=ja();this.$get=["$filter","$sniffer",function(c,d){function e(a){var b=a;return a.sharedGetter&&(b=function(b,c){return a(b,c)},b.literal=a.literal,b.constant=a.constant,b.assign=a.assign),b}function g(a,b){for(var c=0,d=a.length;d>c;c++){var e=a[c];e.constant||(e.inputs?g(e.inputs,b):-1===b.indexOf(e)&&b.push(e))}return b}function h(a,b){return null==a||null==b?a===b:"object"==typeof a&&(a=Qb(a),"object"==typeof a)?!1:a===b||a!==a&&b!==b}function i(a,b,c,d){var e,f=d.$$inputs||(d.$$inputs=g(d.inputs,[]));if(1===f.length){var i=h;return f=f[0],a.$watch(function(a){var b=f(a);return h(b,i)||(e=d(a),i=b&&Qb(b)),e},b,c)}for(var j=[],k=0,l=f.length;l>k;k++)j[k]=h;return a.$watch(function(a){for(var b=!1,c=0,g=f.length;g>c;c++){var i=f[c](a);(b||(b=!h(i,j[c])))&&(j[c]=i&&Qb(i))}return b&&(e=d(a)),e},b,c)}function j(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a,x(b)&&b.apply(this,arguments),s(a)&&d.$$postDigest(function(){s(f)&&e()})},c)}function k(a,b,c,d){function e(a){var b=!0;return f(a,function(a){s(a)||(b=!1)}),b}var g,h;return g=a.$watch(function(a){return d(a)},function(a,c,d){h=a,x(b)&&b.call(this,a,c,d),e(a)&&d.$$postDigest(function(){e(h)&&g()})},c)}function l(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){x(b)&&b.apply(this,arguments),e()},c)}function m(a,b){if(!b)return a;var c=a.$$watchDelegate,d=c!==k&&c!==j,e=d?function(c,d){var e=a(c,d);return b(e,c,d)}:function(c,d){var e=a(c,d),f=b(e,c,d);return s(e)?f:e};return a.$$watchDelegate&&a.$$watchDelegate!==i?e.$$watchDelegate=a.$$watchDelegate:b.$stateful||(e.$$watchDelegate=i,e.inputs=[a]),e}var n={csp:d.csp,expensiveChecks:!1},p={csp:d.csp,expensiveChecks:!0};return function(d,f,g){var h,q,r;switch(typeof d){case"string":r=d=d.trim();var s=g?b:a;if(h=s[r],!h){":"===d.charAt(0)&&":"===d.charAt(1)&&(q=!0,d=d.substring(2));var t=g?p:n,u=new qe(t),v=new re(u,c,t);h=v.parse(d),h.constant?h.$$watchDelegate=l:q?(h=e(h),h.$$watchDelegate=h.literal?k:j):h.inputs&&(h.$$watchDelegate=i),s[r]=h}return m(h,f);case"function":return m(d,f);default:return m(o,f)}}}]}function Sb(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return Ub(function(b){a.$evalAsync(b)},b)}]}function Tb(){this.$get=["$browser","$exceptionHandler",function(a,b){return Ub(function(b){a.defer(b)},b)}]}function Ub(a,b){function e(a,b,c){function d(b){return function(c){e||(e=!0,b.call(a,c))}}var e=!1;return[d(b),d(c)]}function g(){this.$$state={status:0}}function h(a,b){return function(c){b.call(a,c)}}function i(a){var d,e,f;f=a.pending,a.processScheduled=!1,a.pending=c;for(var g=0,h=f.length;h>g;++g){e=f[g][0],d=f[g][a.status];try{x(d)?e.resolve(d(a.value)):1===a.status?e.resolve(a.value):e.reject(a.value)}catch(i){e.reject(i),b(i)}}}function j(b){!b.processScheduled&&b.pending&&(b.processScheduled=!0,a(function(){i(b)}))}function k(){this.promise=new g,this.resolve=h(this,this.resolve),this.reject=h(this,this.reject),this.notify=h(this,this.notify)}function l(a){var b=new k,c=0,d=md(a)?[]:{};return f(a,function(a,e){c++,r(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var m=d("$q",TypeError),n=function(){return new k};g.prototype={then:function(a,b,c){var d=new k;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([d,a,b,c]),this.$$state.status>0&&j(this.$$state),d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return q(b,!0,a)},function(b){return q(b,!1,a)},b)}},k.prototype={resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(m("qcycle","Expected promise to be resolved with value other than itself '{0}'",a)):this.$$resolve(a))},$$resolve:function(a){var c,d;d=e(this,this.$$resolve,this.$$reject);try{(t(a)||x(a))&&(c=a&&a.then),x(c)?(this.promise.$$state.status=-1,c.call(a,d[0],d[1],this.notify)):(this.promise.$$state.value=a,this.promise.$$state.status=1,j(this.promise.$$state))}catch(f){d[1](f),b(f)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a,this.promise.$$state.status=2,j(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;this.promise.$$state.status<=0&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;g>f;f++){e=d[f][0],a=d[f][3];try{e.notify(x(a)?a(c):c)}catch(h){b(h)}}})}};var o=function(a){var b=new k;return b.reject(a),b.promise},p=function(a,b){var c=new k;return b?c.resolve(a):c.reject(a),c.promise},q=function(a,b,c){var d=null;try{x(c)&&(d=c())}catch(e){return p(e,!1)}return F(d)?d.then(function(){return p(a,b)},function(a){return p(a,!1)}):p(a,b)},r=function(a,b,c,d){var e=new k;return e.resolve(a),e.promise.then(b,c,d)},s=function u(a){function b(a){d.resolve(a)}function c(a){d.reject(a)}if(!x(a))throw m("norslvr","Expected resolverFn, got '{0}'",a);if(!(this instanceof u))return new u(a);var d=new k;return a(b,c),d.promise};return s.defer=n,s.reject=o,s.when=r,s.all=l,s}function Vb(){this.$get=["$window","$timeout",function(a,b){function c(){for(var a=0;a=0&&(k[b]=null,b=null,0===--j&&i&&(i(),i=null,k.length=0))}}var e=a.requestAnimationFrame||a.webkitRequestAnimationFrame,f=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,g=!!e,h=g?function(a){var b=e(a);return function(){f(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};d.supported=g;var i,j=0,k=[];return d}]}function Wb(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$id=j(),this.$$ChildScope=null}return b.prototype=a,b}var b=10,c=d("$rootScope"),g=null,h=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,i,k,l){function m(a){a.currentScope.$$destroyed=!0}function n(){this.$id=j(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings=null}function p(a){if(y.$$phase)throw c("inprog","{0} already in progress",y.$$phase);y.$$phase=a}function q(){y.$$phase=null}function s(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function u(){}function v(){for(;B.length;)try{B.shift()()}catch(a){i(a)}h=null}function w(){null===h&&(h=l.defer(function(){y.$apply(v)}))}n.prototype={constructor:n,$new:function(b,c){var d;return c=c||this,b?(d=new n,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope),d.$parent=c,d.$$prevSibling=c.$$childTail,c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d,(b||c!=this)&&d.$on("$destroy",m),d},$watch:function(a,b,c){var d=k(a);if(d.$$watchDelegate)return d.$$watchDelegate(this,b,c,d);var e=this,f=e.$$watchers,h={fn:b,last:u,get:d,exp:a,eq:!!c};return g=null,x(b)||(h.fn=o),f||(f=e.$$watchers=[]),f.unshift(h),function(){J(f,h),g=null}},$watchGroup:function(a,b){function c(){i=!1,j?(j=!1,b(e,e,h)):b(e,d,h)}var d=new Array(a.length),e=new Array(a.length),g=[],h=this,i=!1,j=!0;if(!a.length){var k=!0;return h.$evalAsync(function(){k&&b(e,e,h)}),function(){k=!1}}return 1===a.length?this.$watch(a[0],function(a,c,f){e[0]=a,d[0]=c,b(e,a===c?e:d,f)}):(f(a,function(a,b){var f=h.$watch(a,function(a,f){e[b]=a,d[b]=f,i||(i=!0,h.$evalAsync(c))});g.push(f)}),function(){for(;g.length;)g.shift()()})},$watchCollection:function(a,b){function c(a){f=a;var b,c,d,h,i;if(!r(f)){if(t(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),b=f.length,q!==b&&(l++,g.length=q=b);for(var j=0;b>j;j++)i=g[j],h=f[j],d=i!==i&&h!==h,d||i===h||(l++,g[j]=h)}else{g!==o&&(g=o={},q=0,l++),b=0;for(c in f)f.hasOwnProperty(c)&&(b++,h=f[c],i=g[c],c in g?(d=i!==i&&h!==h,d||i===h||(l++,g[c]=h)):(q++,g[c]=h,l++));if(q>b){l++;for(c in g)f.hasOwnProperty(c)||(q--,delete g[c])}}else g!==f&&(g=f,l++);return l; -}}function d(){if(p?(p=!1,b(f,f,i)):b(f,h,i),j)if(t(f))if(e(f)){h=new Array(f.length);for(var a=0;a1,l=0,m=k(a,c),n=[],o={},p=!0,q=0;return this.$watch(m,d)},$digest:function(){var a,d,e,f,j,k,m,n,o,r,s=b,t=this,w=[];p("$digest"),l.$$checkUrlChange(),this===y&&null!==h&&(l.defer.cancel(h),v()),g=null;do{for(k=!1,n=t;z.length;){try{r=z.shift(),r.scope.$eval(r.expression,r.locals)}catch(B){i(B)}g=null}a:do{if(f=n.$$watchers)for(j=f.length;j--;)try{if(a=f[j])if((d=a.get(n))===(e=a.last)||(a.eq?M(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))){if(a===g){k=!1;break a}}else k=!0,g=a,a.last=a.eq?K(d,null):d,a.fn(d,e===u?d:e,n),5>s&&(o=4-s,w[o]||(w[o]=[]),w[o].push({msg:x(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:d,oldVal:e}))}catch(B){i(B)}if(!(m=n.$$childHead||n!==t&&n.$$nextSibling))for(;n!==t&&!(m=n.$$nextSibling);)n=n.$parent}while(n=m);if((k||z.length)&&!s--)throw q(),c("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",b,w)}while(k||z.length);for(q();A.length;)try{A.shift()()}catch(B){i(B)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;if(this.$broadcast("$destroy"),this.$$destroyed=!0,this!==y){for(var b in this.$$listenerCount)s(this,this.$$listenerCount[b],b);a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=o,this.$on=this.$watch=this.$watchGroup=function(){return o},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}}},$eval:function(a,b){return k(a)(this,b)},$evalAsync:function(a,b){y.$$phase||z.length||l.defer(function(){z.length&&y.$digest()}),z.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){A.push(a)},$apply:function(a){try{return p("$apply"),this.$eval(a)}catch(b){i(b)}finally{q();try{y.$digest()}catch(b){throw i(b),b}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&B.push(b),w()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,s(e,1,a))}},$emit:function(a,b){var c,d,e,f=[],g=this,h=!1,j={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){j.defaultPrevented=!0},defaultPrevented:!1},k=N([j],arguments,1);do{for(c=g.$$listeners[a]||f,j.currentScope=g,d=0,e=c.length;e>d;d++)if(c[d])try{c[d].apply(null,k)}catch(l){i(l)}else c.splice(d,1),d--,e--;if(h)return j.currentScope=null,j;g=g.$parent}while(g);return j.currentScope=null,j},$broadcast:function(a,b){var c=this,d=c,e=c,f={name:a,targetScope:c,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1};if(!c.$$listenerCount[a])return f;for(var g,h,j,k=N([f],arguments,1);d=e;){for(f.currentScope=d,g=d.$$listeners[a]||[],h=0,j=g.length;j>h;h++)if(g[h])try{g[h].apply(null,k)}catch(l){i(l)}else g.splice(h,1),h--,j--;if(!(e=d.$$listenerCount[a]&&d.$$childHead||d!==c&&d.$$nextSibling))for(;d!==c&&!(e=d.$$nextSibling);)d=d.$parent}return f.currentScope=null,f}};var y=new n,z=y.$$asyncQueue=[],A=y.$$postDigestQueue=[],B=y.$$applyAsyncQueue=[];return y}]}function Xb(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return s(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return s(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return e=ec(c).href,""===e||e.match(f)?c:"unsafe:"+e}}}function Yb(a){if("self"===a)return a;if(u(a)){if(a.indexOf("***")>-1)throw ve("iwcard","Illegal sequence *** in string matcher. String: {0}",a);return a=od(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(y(a))return new RegExp("^"+a.source+"$");throw ve("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Zb(a){var b=[];return s(a)&&f(a,function(a){b.push(Yb(a))}),b}function $b(){this.SCE_CONTEXTS=we;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=Zb(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=Zb(a)),b},this.$get=["$injector",function(d){function e(a,b){return"self"===a?fc(b):!!a.exec(b.href)}function f(c){var d,f,g=ec(c.toString()),h=!1;for(d=0,f=a.length;f>d;d++)if(e(a[d],g)){h=!0;break}if(h)for(d=0,f=b.length;f>d;d++)if(e(b[d],g)){h=!1;break}return h}function g(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function h(a,b){var d=m.hasOwnProperty(a)?m[a]:null;if(!d)throw ve("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||b===c||""===b)return b;if("string"!=typeof b)throw ve("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new d(b)}function i(a){return a instanceof l?a.$$unwrapTrustedValue():a}function j(a,b){if(null===b||b===c||""===b)return b;var d=m.hasOwnProperty(a)?m[a]:null;if(d&&b instanceof d)return b.$$unwrapTrustedValue();if(a===we.RESOURCE_URL){if(f(b))return b;throw ve("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",b.toString())}if(a===we.HTML)return k(b);throw ve("unsafe","Attempting to use an unsafe value in a safe context.")}var k=function(a){throw ve("unsafe","Attempting to use an unsafe value in a safe context.")};d.has("$sanitize")&&(k=d.get("$sanitize"));var l=g(),m={};return m[we.HTML]=g(l),m[we.CSS]=g(l),m[we.URL]=g(l),m[we.JS]=g(l),m[we.RESOURCE_URL]=g(m[we.URL]),{trustAs:h,getTrusted:j,valueOf:i}}]}function _b(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sceDelegate",function(b,c){if(a&&8>ad)throw ve("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var d=L(we);d.isEnabled=function(){return a},d.trustAs=c.trustAs,d.getTrusted=c.getTrusted,d.valueOf=c.valueOf,a||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=p),d.parseAs=function(a,c){var e=b(c);return e.literal&&e.constant?e:b(c,function(b){return d.getTrusted(a,b)})};var e=d.parseAs,g=d.getTrusted,h=d.trustAs;return f(we,function(a,b){var c=Xc(b);d[pa("parse_as_"+c)]=function(b){return e(a,b)},d[pa("get_trusted_"+c)]=function(b){return g(a,b)},d[pa("trust_as_"+c)]=function(b){return h(a,b)}}),d}]}function ac(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=m((/android (\d+)/.exec(Xc((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=/^(Moz|webkit|ms)(?=[A-Z])/,j=h.body&&h.body.style,k=!1,l=!1;if(j){for(var n in j)if(d=i.exec(n)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in j&&"webkit"),k=!!("transition"in j||c+"Transition"in j),l=!!("animation"in j||c+"Animation"in j),!f||k&&l||(k=u(h.body.style.webkitTransition),l=u(h.body.style.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hasEvent:function(a){if("input"===a&&11>=ad)return!1;if(r(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:pd(),vendorPrefix:c,transitions:k,animations:l,android:f}}]}function bc(){this.$get=["$templateCache","$http","$q","$sce",function(a,b,c,d){function e(f,g){function h(a){if(!g)throw Yd("tpload","Failed to load template: {0}",f);return c.reject(a)}e.totalPendingRequests++,u(f)&&a.get(f)||(f=d.getTrustedResourceUrl(f));var i=b.defaults&&b.defaults.transformResponse;md(i)?i=i.filter(function(a){return a!==eb}):i===eb&&(i=null);var j={cache:a,transformResponse:i};return b.get(f,j)["finally"](function(){e.totalPendingRequests--}).then(function(a){return a.data},h)}return e.totalPendingRequests=0,e}]}function cc(){this.$get=["$rootScope","$browser","$location",function(a,b,c){var d={};return d.findBindings=function(a,b,c){var d=a.getElementsByClassName("ng-binding"),e=[];return f(d,function(a){var d=jd.element(a).data("$binding");d&&f(d,function(d){if(c){var f=new RegExp("(^|\\s)"+od(b)+"(\\s|\\||$)");f.test(d)&&e.push(a)}else-1!=d.indexOf(b)&&e.push(a)})}),e},d.findModels=function(a,b,c){for(var d=["ng-","data-ng-","ng\\:"],e=0;ea;a=Math.abs(a);var g=a+"",h="",i=[],j=!1;if(-1!==g.indexOf("e")){var k=g.match(/([\d\.]+)e(-?)(\d+)/);k&&"-"==k[2]&&k[3]>e+1?a=0:(h=g,j=!0)}if(j)e>0&&1>a&&(h=a.toFixed(e),a=parseFloat(h));else{var l=(g.split(ze)[1]||"").length;r(e)&&(e=Math.min(Math.max(b.minFrac,l),b.maxFrac)),a=+(Math.round(+(a.toString()+"e"+e)).toString()+"e"+-e);var m=(""+a).split(ze),n=m[0];m=m[1]||"";var o,p=0,q=b.lgSize,s=b.gSize;if(n.length>=q+s)for(p=n.length-q,o=0;p>o;o++)(p-o)%s===0&&0!==o&&(h+=c),h+=n.charAt(o);for(o=p;oa&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),oc(f,b,d)}}function qc(a,b){return function(c,d){var e=c["get"+a](),f=Zc(b?"SHORT"+a:a);return d[f][e]}}function rc(a){var b=-1*a.getTimezoneOffset(),c=b>=0?"+":"";return c+=oc(Math[b>0?"floor":"ceil"](b/60),2)+oc(Math.abs(b%60),2)}function sc(a){var b=new Date(a,0,1).getDay();return new Date(a,0,(4>=b?5:12)-b)}function tc(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))}function uc(a){return function(b){var c=sc(b.getFullYear()),d=tc(b),e=+d-+c,f=1+Math.round(e/6048e5);return oc(f,a)}}function vc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function wc(a,b){return a.getFullYear()<=0?b.ERAS[0]:b.ERAS[1]}function xc(a,b){return a.getFullYear()<=0?b.ERANAMES[0]:b.ERANAMES[1]}function yc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=m(b[9]+b[10]),f=m(b[9]+b[11])),g.call(d,m(b[1]),m(b[2])-1,m(b[3]));var i=m(b[4]||0)-e,j=m(b[5]||0)-f,k=m(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g,h,i="",j=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,u(c)&&(c=Ce.test(c)?m(c):b(c)),v(c)&&(c=new Date(c)),!w(c))return c;for(;d;)h=Be.exec(d),h?(j=N(j,h,1),d=j.pop()):(j.push(d),d=null);return e&&"UTC"===e&&(c=new Date(c.getTime()),c.setMinutes(c.getMinutes()+c.getTimezoneOffset())),f(j,function(b){g=Ae[b],i+=g?g(c,a.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),i}}function zc(){return function(a,b){return r(b)&&(b=2),R(a,b)}}function Ac(){return function(a,b){return v(a)&&(a=a.toString()),md(a)||u(a)?(b=Math.abs(Number(b))===1/0?Number(b):m(b),b?b>0?a.slice(0,b):a.slice(b):u(a)?"":[]):a}}function Bc(a){return function(b,c,d){function f(a,b){for(var d=0;da?-1:1):d>c?-1:1}return e(b)?(c=md(c)?c:[c],0===c.length&&(c=["+"]),c=c.map(function(b){var c=!1,d=b||p;if(u(b)){if(("+"==b.charAt(0)||"-"==b.charAt(0))&&(c="-"==b.charAt(0),b=b.substring(1)),""===b)return g(j,c);if(d=a(b),d.constant){var e=d();return g(function(a,b){return j(a[e],b[e])},c)}}return g(function(a,b){return j(d(a),d(b))},c)}),ed.call(b).sort(g(f,d))):b}}function Cc(a){return x(a)&&(a={link:a}),a.restrict=a.restrict||"AC",q(a)}function Dc(a,b){a.$name=b}function Ec(a,b,d,e,g){var h=this,i=[],j=h.$$parentForm=a.parent().controller("form")||He;h.$error={},h.$$success={},h.$pending=c,h.$name=g(b.name||b.ngForm||"")(d),h.$dirty=!1,h.$pristine=!0,h.$valid=!0,h.$invalid=!1,h.$submitted=!1,j.$addControl(h),h.$rollbackViewValue=function(){f(i,function(a){a.$rollbackViewValue()})},h.$commitViewValue=function(){f(i,function(a){a.$commitViewValue()})},h.$addControl=function(a){ga(a.$name,"input"),i.push(a),a.$name&&(h[a.$name]=a)},h.$$renameControl=function(a,b){var c=a.$name;h[c]===a&&delete h[c],h[b]=a,a.$name=b},h.$removeControl=function(a){a.$name&&h[a.$name]===a&&delete h[a.$name],f(h.$pending,function(b,c){h.$setValidity(c,null,a)}),f(h.$error,function(b,c){h.$setValidity(c,null,a)}),f(h.$$success,function(b,c){h.$setValidity(c,null,a)}),J(i,a)},Tc({ctrl:this,$element:a,set:function(a,b,c){var d=a[b];if(d){var e=d.indexOf(c);-1===e&&d.push(c)}else a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(J(d,c),0===d.length&&delete a[b])},parentForm:j,$animate:e}),h.$setDirty=function(){e.removeClass(a,qf),e.addClass(a,rf),h.$dirty=!0,h.$pristine=!1,j.$setDirty()},h.$setPristine=function(){e.setClass(a,qf,rf+" "+Ie),h.$dirty=!1,h.$pristine=!0,h.$submitted=!1,f(i,function(a){a.$setPristine()})},h.$setUntouched=function(){f(i,function(a){a.$setUntouched()})},h.$setSubmitted=function(){e.addClass(a,Ie),h.$submitted=!0,j.$setSubmitted()}}function Fc(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function Gc(a,b,c,d,e,f){Hc(a,b,c,d,e,f),Fc(d)}function Hc(a,b,c,d,e,f){var g=Xc(b[0].type);if(!e.android){var h=!1;b.on("compositionstart",function(a){h=!0}),b.on("compositionend",function(){h=!1,i()})}var i=function(a){if(j&&(f.defer.cancel(j),j=null),!h){var e=b.val(),i=a&&a.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=nd(e)),(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,i)}};if(e.hasEvent("input"))b.on("input",i);else{var j,k=function(a,b,c){j||(j=f.defer(function(){j=null,b&&b.value===c||i(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||b>15&&19>b||b>=37&&40>=b||k(a,this,this.value)}),e.hasEvent("paste")&&b.on("paste cut",k)}b.on("change",i),d.$render=function(){b.val(d.$isEmpty(d.$viewValue)?"":d.$viewValue)}}function Ic(a,b){if(w(a))return a;if(u(a)){Se.lastIndex=0;var c=Se.exec(a);if(c){var d=+c[1],e=+c[2],f=0,g=0,h=0,i=0,j=sc(d),k=7*(e-1);return b&&(f=b.getHours(),g=b.getMinutes(),h=b.getSeconds(),i=b.getMilliseconds()),new Date(d,0,j.getDate()+k,f,g,h,i)}}return NaN}function Jc(a,b){return function(c,d){var e,g;if(w(c))return c;if(u(c)){if('"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)),Me.test(c))return new Date(c);if(a.lastIndex=0,e=a.exec(c))return e.shift(),g=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},f(e,function(a,c){c=q},h.$observe("min",function(a){q=n(a),i.$validate()})}if(s(h.max)||h.ngMax){var t;i.$validators.max=function(a){return!m(a)||r(t)||d(a)<=t},h.$observe("max",function(a){t=n(a),i.$validate()})}}}function Lc(a,b,d,e){var f=b[0],g=e.$$hasNativeValidators=t(f.validity);g&&e.$parsers.push(function(a){var d=b.prop(Wc)||{};return d.badInput&&!d.typeMismatch?c:a})}function Mc(a,b,d,e,f,g){if(Lc(a,b,d,e),Hc(a,b,d,e,f,g),e.$$parserName="number",e.$parsers.push(function(a){return e.$isEmpty(a)?null:Pe.test(a)?parseFloat(a):c}),e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!v(a))throw vf("numfmt","Expected `{0}` to be a number",a);a=a.toString()}return a}),s(d.min)||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)||r(h)||a>=h},d.$observe("min",function(a){s(a)&&!v(a)&&(a=parseFloat(a,10)),h=v(a)&&!isNaN(a)?a:c,e.$validate()})}if(s(d.max)||d.ngMax){var i;e.$validators.max=function(a){return e.$isEmpty(a)||r(i)||i>=a},d.$observe("max",function(a){s(a)&&!v(a)&&(a=parseFloat(a,10)),i=v(a)&&!isNaN(a)?a:c,e.$validate()})}}function Nc(a,b,c,d,e,f){Hc(a,b,c,d,e,f),Fc(d),d.$$parserName="url",d.$validators.url=function(a,b){var c=a||b;return d.$isEmpty(c)||Ne.test(c)}}function Oc(a,b,c,d,e,f){Hc(a,b,c,d,e,f),Fc(d),d.$$parserName="email",d.$validators.email=function(a,b){var c=a||b;return d.$isEmpty(c)||Oe.test(c)}}function Pc(a,b,c,d){r(c.name)&&b.attr("name",j());var e=function(a){b[0].checked&&d.$setViewValue(c.value,a&&a.type)};b.on("click",e),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function Qc(a,b,c,d,e){var f;if(s(d)){if(f=a(d),!f.constant)throw vf("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",c,d);return f(b)}return e}function Rc(a,b,c,d,e,f,g,h){var i=Qc(h,a,"ngTrueValue",c.ngTrueValue,!0),j=Qc(h,a,"ngFalseValue",c.ngFalseValue,!1),k=function(a){d.$setViewValue(b[0].checked,a&&a.type)};b.on("click",k),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a===!1},d.$formatters.push(function(a){return M(a,i)}),d.$parsers.push(function(a){return a?i:j})}function Sc(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);e=l(e,1),f=l(f,-1),e&&e.length&&c.addClass(h,e),f&&f.length&&c.removeClass(h,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!M(a,o)){var d=e(o);m(d,c)}}else j(c)}o=L(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(b){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}function Tc(a){function b(a,b,i){b===c?d("$pending",a,i):e("$pending",a,i),E(b)?b?(l(h.$error,a,i),k(h.$$success,a,i)):(k(h.$error,a,i),l(h.$$success,a,i)):(l(h.$error,a,i),l(h.$$success,a,i)),h.$pending?(f(uf,!0),h.$valid=h.$invalid=c,g("",null)):(f(uf,!1),h.$valid=Uc(h.$error),h.$invalid=!h.$valid,g("",h.$valid));var j;j=h.$pending&&h.$pending[a]?c:h.$error[a]?!1:h.$$success[a]?!0:null,g(a,j),m.$setValidity(a,j,h)}function d(a,b,c){h[a]||(h[a]={}),k(h[a],b,c)}function e(a,b,d){h[a]&&l(h[a],b,d),Uc(h[a])&&(h[a]=c)}function f(a,b){b&&!j[a]?(n.addClass(i,a),j[a]=!0):!b&&j[a]&&(n.removeClass(i,a),j[a]=!1)}function g(a,b){a=a?"-"+ca(a,"-"):"",f(of+a,b===!0),f(pf+a,b===!1)}var h=a.ctrl,i=a.$element,j={},k=a.set,l=a.unset,m=a.parentForm,n=a.$animate;j[pf]=!(j[of]=i.hasClass(of)),h.$setValidity=b}function Uc(a){if(a)for(var b in a)return!1;return!0}var Vc=/^\/(.+)\/([a-z]*)$/,Wc="validity",Xc=function(a){return u(a)?a.toLowerCase():a},Yc=Object.prototype.hasOwnProperty,Zc=function(a){return u(a)?a.toUpperCase():a},$c=function(a){return u(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},_c=function(a){return u(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(Xc=$c,Zc=_c);var ad,bd,cd,dd,ed=[].slice,fd=[].splice,gd=[].push,hd=Object.prototype.toString,id=d("ng"),jd=a.angular||(a.angular={}),kd=0;ad=b.documentMode,o.$inject=[],p.$inject=[];var ld,md=Array.isArray,nd=function(a){return u(a)?a.trim():a},od=function(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#(?:<\/\1>|)$/,Jd=/<|&#?\w+;/,Kd=/<([\w:]+)/,Ld=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Md={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Md.optgroup=Md.option,Md.tbody=Md.tfoot=Md.colgroup=Md.caption=Md.thead,Md.th=Md.td;var Nd=ua.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),ua(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return bd(a>=0?this[a]:this[this.length+a])},length:0,push:gd,sort:[].sort,splice:[].splice},Od={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){Od[Xc(a)]=a});var Pd={};f("input,select,option,textarea,button,form,details".split(","),function(a){Pd[a]=!0});var Qd={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};f({data:Aa,removeData:ya},function(a,b){ua[b]=a}),f({data:Aa,inheritedData:Ga,scope:function(a){return bd.data(a,"$scope")||Ga(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return bd.data(a,"$isolateScope")||bd.data(a,"$isolateScopeNoTemplate")},controller:Fa,injector:function(a){return Ga(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Ba,css:function(a,b,c){return b=pa(b),s(c)?void(a.style[b]=c):a.style[b]},attr:function(a,b,d){var e=a.nodeType;if(e!==vd&&e!==ud&&e!==wd){var f=Xc(b);if(Od[f]){if(!s(d))return a[b]||(a.attributes.getNamedItem(b)||o).specified?f:c;d?(a[b]=!0,a.setAttribute(b,f)):(a[b]=!1,a.removeAttribute(f))}else if(s(d))a.setAttribute(b,d);else if(a.getAttribute){var g=a.getAttribute(b,2);return null===g?c:g}}},prop:function(a,b,c){return s(c)?void(a[b]=c):a[b]},text:function(){function a(a,b){if(r(b)){var c=a.nodeType;return c===td||c===vd?a.textContent:""}a.textContent=b}return a.$dv="",a}(),val:function(a,b){if(r(b)){if(a.multiple&&"select"===I(a)){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){return r(b)?a.innerHTML:(wa(a,!0),void(a.innerHTML=b))},empty:Ha},function(a,b){ua.prototype[b]=function(b,d){var e,f,g=this.length;if(a!==Ha&&(2==a.length&&a!==Ba&&a!==Fa?b:d)===c){if(t(b)){for(e=0;g>e;e++)if(a===Aa)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}for(var h=a.$dv,i=h===c?Math.min(g,1):g,j=0;i>j;j++){var k=a(this[j],b,d);h=h?h+k:k}return h}for(e=0;g>e;e++)a(this[e],b,d);return this}}),f({removeData:ya,on:function Wf(a,b,c,d){if(s(d))throw Hd("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ra(a)){var e=za(a,!0),f=e.events,g=e.handle;g||(g=e.handle=Ma(a,f));for(var h=b.indexOf(" ")>=0?b.split(" "):[b],i=h.length;i--;){b=h[i];var j=f[b];j||(f[b]=[],"mouseenter"===b||"mouseleave"===b?Wf(a,Gd[b],function(a){var c=this,d=a.relatedTarget;(!d||d!==c&&!c.contains(d))&&g(a,b)}):"$destroy"!==b&&Cd(a,b,g),j=f[b]),j.push(c)}}},off:xa,one:function(a,b,c){a=bd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;wa(a),f(new ua(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){a.nodeType===td&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var c=a.nodeType;if(c===td||c===yd){b=new ua(b);for(var d=0,e=b.length;e>d;d++){var f=b[d];a.appendChild(f)}}},prepend:function(a,b){if(a.nodeType===td){var c=a.firstChild;f(new ua(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){b=bd(b).eq(0).clone()[0];var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)},remove:Ia,detach:function(a){Ia(a,!0)},after:function(a,b){var c=a,d=a.parentNode;b=new ua(b);for(var e=0,f=b.length;f>e;e++){var g=b[e];d.insertBefore(g,c.nextSibling),c=g}},addClass:Da,removeClass:Ca,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;r(d)&&(d=!Ba(a,b)),(d?Da:Ca)(a,b)})},parent:function(a){var b=a.parentNode;return b&&b.nodeType!==yd?b:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:va,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=za(a),j=i&&i.events,k=j&&j[h];k&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:o,type:h,target:a},b.type&&(d=l(d,b)),e=L(k),g=c?[d].concat(c):[d],f(e,function(b){d.isImmediatePropagationStopped()||b.apply(a,g)}))}},function(a,b){ua.prototype[b]=function(b,c,d){for(var e,f=0,g=this.length;g>f;f++)r(e)?(e=a(this[f],b,c,d),s(e)&&(e=bd(e))):Ea(e,a(this[f],b,c,d));return s(e)?e:this},ua.prototype.bind=ua.prototype.on,ua.prototype.unbind=ua.prototype.off}),Pa.prototype={put:function(a,b){this[Oa(a,this.nextUid)]=b},get:function(a){return this[Oa(a,this.nextUid)]},remove:function(a){var b=this[a=Oa(a,this.nextUid)];return delete this[a],b}};var Rd=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,Sd=/,/,Td=/^\s*(_?)(\S+?)\1\s*$/,Ud=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Vd=d("$injector");Sa.$$annotate=Ra;var Wd=d("$animate"),Xd=["$provide",function(a){this.$$selectors={},this.register=function(b,c){var d=b+"-animation";if(b&&"."!=b.charAt(0))throw Wd("notcsel","Expecting class selector starting with '.' got '{0}'.",b);this.$$selectors[b.substr(1)]=d,a.factory(d,c)},this.classNameFilter=function(a){return 1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null),this.$$classNameFilter},this.$get=["$$q","$$asyncCallback","$rootScope",function(a,b,c){function d(b){var d,e=a.defer();return e.promise.$$cancelFn=function(){d&&d()},c.$$postDigest(function(){d=b(function(){e.resolve()})}),e.promise}function e(a,b){var c=[],d=[],e=ja();return f((a.attr("class")||"").split(/\s+/),function(a){e[a]=!0}),f(b,function(a,b){var f=e[b];a===!1&&f?d.push(b):a!==!0||f||c.push(b)}),c.length+d.length>0&&[c.length?c:null,d.length?d:null]}function g(a,b,c){for(var d=0,e=b.length;e>d;++d){var f=b[d];a[f]=c}}function h(){return j||(j=a.defer(),b(function(){j.resolve(),j=null})),j.promise}function i(a,b){if(jd.isObject(b)){var c=l(b.from||{},b.to||{});a.css(c)}}var j;return{animate:function(a,b,c){return i(a,{from:b,to:c}),h()},enter:function(a,b,c,d){return i(a,d),c?c.after(a):b.prepend(a),h()},leave:function(a,b){return i(a,b),a.remove(),h()},move:function(a,b,c,d){return this.enter(a,b,c,d)},addClass:function(a,b,c){return this.setClass(a,b,[],c)},$$addClassImmediately:function(a,b,c){return a=bd(a),b=u(b)?b:md(b)?b.join(" "):"",f(a,function(a){Da(a,b)}),i(a,c),h()},removeClass:function(a,b,c){return this.setClass(a,[],b,c); -},$$removeClassImmediately:function(a,b,c){return a=bd(a),b=u(b)?b:md(b)?b.join(" "):"",f(a,function(a){Ca(a,b)}),i(a,c),h()},setClass:function(a,b,c,f){var h=this,i="$$animateClasses",j=!1;a=bd(a);var k=a.data(i);k?f&&k.options&&(k.options=jd.extend(k.options||{},f)):(k={classes:{},options:f},j=!0);var l=k.classes;return b=md(b)?b:b.split(" "),c=md(c)?c:c.split(" "),g(l,b,!0),g(l,c,!1),j&&(k.promise=d(function(b){var c=a.data(i);if(a.removeData(i),c){var d=e(a,c.classes);d&&h.$$setClassImmediately(a,d[0],d[1],c.options)}b()}),a.data(i,k)),k.promise},$$setClassImmediately:function(a,b,c,d){return b&&this.$$addClassImmediately(a,b),c&&this.$$removeClassImmediately(a,c),i(a,d),h()},enabled:o,cancel:o}}]}],Yd=d("$compile");Za.$inject=["$provide","$$sanitizeUriProvider"];var Zd=/^((?:x|data)[\:\-_])/i,$d=d("$controller"),_d="application/json",ae={"Content-Type":_d+";charset=utf-8"},be=/^\[|^\{(?!\{)/,ce={"[":/]$/,"{":/}$/},de=/^\)\]\}',?\n/,ee=d("$interpolate"),fe=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,ge={http:80,https:443,ftp:21},he=d("$location"),ie={$$html5:!1,$$replace:!1,absUrl:Cb("$$absUrl"),url:function(a){if(r(a))return this.$$url;var b=fe.exec(a);return(b[1]||""===a)&&this.path(decodeURIComponent(b[1])),(b[2]||b[1]||""===a)&&this.search(b[3]||""),this.hash(b[5]||""),this},protocol:Cb("$$protocol"),host:Cb("$$host"),port:Cb("$$port"),path:Db("$$path",function(a){return a=null!==a?a.toString():"","/"==a.charAt(0)?a:"/"+a}),search:function(a,b){switch(arguments.length){case 0:return this.$$search;case 1:if(u(a)||v(a))a=a.toString(),this.$$search=V(a);else{if(!t(a))throw he("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");a=K(a,{}),f(a,function(b,c){null==b&&delete a[c]}),this.$$search=a}break;default:r(b)||null===b?delete this.$$search[a]:this.$$search[a]=b}return this.$$compose(),this},hash:Db("$$hash",function(a){return null!==a?a.toString():""}),replace:function(){return this.$$replace=!0,this}};f([Bb,Ab,zb],function(a){a.prototype=Object.create(ie),a.prototype.state=function(b){if(!arguments.length)return this.$$state;if(a!==zb||!this.$$html5)throw he("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=r(b)?null:b,this}});var je=d("$parse"),ke=Function.prototype.call,le=Function.prototype.apply,me=Function.prototype.bind,ne=ja();f({"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:function(){}},function(a,b){a.constant=a.literal=a.sharedGetter=!0,ne[b]=a}),ne["this"]=function(a){return a},ne["this"].sharedGetter=!0;var oe=l(ja(),{"+":function(a,b,d,e){return d=d(a,b),e=e(a,b),s(d)?s(e)?d+e:d:s(e)?e:c},"-":function(a,b,c,d){return c=c(a,b),d=d(a,b),(s(c)?c:0)-(s(d)?d:0)},"*":function(a,b,c,d){return c(a,b)*d(a,b)},"/":function(a,b,c,d){return c(a,b)/d(a,b)},"%":function(a,b,c,d){return c(a,b)%d(a,b)},"===":function(a,b,c,d){return c(a,b)===d(a,b)},"!==":function(a,b,c,d){return c(a,b)!==d(a,b)},"==":function(a,b,c,d){return c(a,b)==d(a,b)},"!=":function(a,b,c,d){return c(a,b)!=d(a,b)},"<":function(a,b,c,d){return c(a,b)":function(a,b,c,d){return c(a,b)>d(a,b)},"<=":function(a,b,c,d){return c(a,b)<=d(a,b)},">=":function(a,b,c,d){return c(a,b)>=d(a,b)},"&&":function(a,b,c,d){return c(a,b)&&d(a,b)},"||":function(a,b,c,d){return c(a,b)||d(a,b)},"!":function(a,b,c){return!c(a,b)},"=":!0,"|":!0}),pe={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},qe=function(a){this.options=a};qe.prototype={constructor:qe,lex:function(a){for(this.text=a,this.index=0,this.tokens=[];this.index="0"&&"9">=a&&"string"==typeof a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||" "===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=s(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw je("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.indexa){var f=this.tokens[a],g=f.text;if(g===b||g===c||g===d||g===e||!b&&!c&&!d&&!e)return f}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},consume:function(a){if(0===this.tokens.length)throw je("ueoe","Unexpected end of expression: {0}",this.text);var b=this.expect(a);return b||this.throwError("is unexpected, expecting ["+a+"]",this.peek()),b},unaryFn:function(a,b){var c=oe[a];return l(function(a,d){return c(a,d,b)},{constant:b.constant,inputs:[b]})},binaryFn:function(a,b,c,d){var e=oe[b];return l(function(b,d){return e(b,d,a,c)},{constant:a.constant&&c.constant,inputs:!d&&[a,c]})},identifier:function(){for(var a=this.consume().text;this.peek(".")&&this.peekAhead(1).identifier&&!this.peekAhead(2,"(");)a+=this.consume().text+this.consume().text;return Pb(a,this.options,this.text)},constant:function(){var a=this.consume().value;return l(function(){return a},{constant:!0,literal:!0})},statements:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(b,c){for(var d,e=0,f=a.length;f>e;e++)d=a[e](b,c);return d}},filterChain:function(){for(var a,b=this.expression();a=this.expect("|");)b=this.filter(b);return b},filter:function(a){var b,d,e=this.$filter(this.consume().text);if(this.peek(":"))for(b=[],d=[];this.expect(":");)b.push(this.expression());var f=[a].concat(b||[]);return l(function(f,g){var h=a(f,g);if(d){d[0]=h;for(var i=b.length;i--;)d[i+1]=b[i](f,g);return e.apply(c,d)}return e(h)},{constant:!e.$stateful&&f.every(Kb),inputs:!e.$stateful&&f})},expression:function(){return this.assignment()},assignment:function(){var a,b,c=this.ternary();return(b=this.expect("="))?(c.assign||this.throwError("implies assignment but ["+this.text.substring(0,b.index)+"] can not be assigned to",b),a=this.ternary(),l(function(b,d){return c.assign(b,a(b,d),d)},{inputs:[c,a]})):c},ternary:function(){var a,b,c=this.logicalOR();if((b=this.expect("?"))&&(a=this.assignment(),this.consume(":"))){var d=this.assignment();return l(function(b,e){return c(b,e)?a(b,e):d(b,e)},{constant:c.constant&&a.constant&&d.constant})}return c},logicalOR:function(){for(var a,b=this.logicalAND();a=this.expect("||");)b=this.binaryFn(b,a.text,this.logicalAND(),!0);return b},logicalAND:function(){for(var a,b=this.equality();a=this.expect("&&");)b=this.binaryFn(b,a.text,this.equality(),!0);return b},equality:function(){for(var a,b=this.relational();a=this.expect("==","!=","===","!==");)b=this.binaryFn(b,a.text,this.relational());return b},relational:function(){for(var a,b=this.additive();a=this.expect("<",">","<=",">=");)b=this.binaryFn(b,a.text,this.additive());return b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b=this.binaryFn(b,a.text,this.multiplicative());return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b=this.binaryFn(b,a.text,this.unary());return b},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(re.ZERO,a.text,this.unary()):(a=this.expect("!"))?this.unaryFn(a.text,this.unary()):this.primary()},fieldAccess:function(a){var b=this.identifier();return l(function(d,e,f){var g=f||a(d,e);return null==g?c:b(g)},{assign:function(c,d,e){var f=a(c,e);return f||a.assign(c,f={},e),b.assign(f,d)}})},objectIndex:function(a){var b=this.text,d=this.expression();return this.consume("]"),l(function(e,f){var g,h=a(e,f),i=Hb(d(e,f),b);return Gb(i,b),h?g=Ib(h[i],b):c},{assign:function(c,e,f){var g=Gb(Hb(d(c,f),b),b),h=Ib(a(c,f),b);return h||a.assign(c,h={},f),h[g]=e}})},functionCall:function(a,b){var d=[];if(")"!==this.peekToken().text)do d.push(this.expression());while(this.expect(","));this.consume(")");var e=this.text,f=d.length?[]:null;return function(g,h){var i=b?b(g,h):s(b)?c:g,j=a(g,h,i)||o;if(f)for(var k=d.length;k--;)f[k]=Ib(d[k](g,h),e);Ib(i,e),Jb(j,e);var l=j.apply?j.apply(i,f):j(f[0],f[1],f[2],f[3],f[4]);return f&&(f.length=0),Ib(l,e)}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","));return this.consume("]"),l(function(b,c){for(var d=[],e=0,f=a.length;f>e;e++)d.push(a[e](b,c));return d},{literal:!0,constant:a.every(Kb),inputs:a})},object:function(){var a=[],b=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;var c=this.consume();c.constant?a.push(c.value):c.identifier?a.push(c.text):this.throwError("invalid key",c),this.consume(":"),b.push(this.expression())}while(this.expect(","));return this.consume("}"),l(function(c,d){for(var e={},f=0,g=b.length;g>f;f++)e[a[f]]=b[f](c,d);return e},{literal:!0,constant:b.every(Kb),inputs:b})}};var se=ja(),te=ja(),ue=Object.prototype.valueOf,ve=d("$sce"),we={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Yd=d("$compile"),xe=b.createElement("a"),ye=ec(a.location.href);hc.$inject=["$provide"],lc.$inject=["$locale"],mc.$inject=["$locale"];var ze=".",Ae={yyyy:pc("FullYear",4),yy:pc("FullYear",2,0,!0),y:pc("FullYear",1),MMMM:qc("Month"),MMM:qc("Month",!0),MM:pc("Month",2,1),M:pc("Month",1,1),dd:pc("Date",2),d:pc("Date",1),HH:pc("Hours",2),H:pc("Hours",1),hh:pc("Hours",2,-12),h:pc("Hours",1,-12),mm:pc("Minutes",2),m:pc("Minutes",1),ss:pc("Seconds",2),s:pc("Seconds",1),sss:pc("Milliseconds",3),EEEE:qc("Day"),EEE:qc("Day",!0),a:vc,Z:rc,ww:uc(2),w:uc(1),G:wc,GG:wc,GGG:wc,GGGG:xc},Be=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,Ce=/^\-?\d+$/;yc.$inject=["$locale"];var De=q(Xc),Ee=q(Zc);Bc.$inject=["$parse"];var Fe=q({restrict:"E",compile:function(a,b){return b.href||b.xlinkHref||b.name?void 0:function(a,b){if("a"===b[0].nodeName.toLowerCase()){var c="[object SVGAnimatedString]"===hd.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}}),Ge={};f(Od,function(a,b){if("multiple"!=a){var c=$a("ng-"+b);Ge[c]=function(){return{restrict:"A",priority:100,link:function(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}}}}}),f(Qd,function(a,b){Ge[b]=function(){return{priority:100,link:function(a,c,d){if("ngPattern"===b&&"/"==d.ngPattern.charAt(0)){var e=d.ngPattern.match(Vc);if(e)return void d.$set("ngPattern",new RegExp(e[1],e[2]))}a.$watch(d[b],function(a){d.$set(b,a)})}}}}),f(["src","srcset","href"],function(a){var b=$a("ng-"+a);Ge[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===hd.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(ad&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var He={$addControl:o,$$renameControl:Dc,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o,$setSubmitted:o},Ie="ng-submitted";Ec.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Je=function(a){return["$timeout",function(b){var d={name:"form",restrict:a?"EAC":"E",controller:Ec,compile:function(d,e){d.addClass(qf).addClass(of);var f=e.name?"name":a&&e.ngForm?"ngForm":!1;return{pre:function(a,d,e,g){if(!("action"in e)){var h=function(b){a.$apply(function(){g.$commitViewValue(),g.$setSubmitted()}),b.preventDefault()};Cd(d[0],"submit",h),d.on("$destroy",function(){b(function(){Dd(d[0],"submit",h)},0,!1)})}var i=g.$$parentForm;f&&(Lb(a,null,g.$name,g,g.$name),e.$observe(f,function(b){g.$name!==b&&(Lb(a,null,g.$name,c,g.$name),i.$$renameControl(g,b),Lb(a,null,g.$name,g,g.$name))})),d.on("$destroy",function(){i.$removeControl(g),f&&Lb(a,null,e[f],c,g.$name),l(g,He)})}}}};return d}]},Ke=Je(),Le=Je(!0),Me=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Ne=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Oe=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Pe=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Qe=/^(\d{4})-(\d{2})-(\d{2})$/,Re=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Se=/^(\d{4})-W(\d\d)$/,Te=/^(\d{4})-(\d\d)$/,Ue=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ve={text:Gc,date:Kc("date",Qe,Jc(Qe,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":Kc("datetimelocal",Re,Jc(Re,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:Kc("time",Ue,Jc(Ue,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:Kc("week",Se,Ic,"yyyy-Www"),month:Kc("month",Te,Jc(Te,["yyyy","MM"]),"yyyy-MM"),number:Mc,url:Nc,email:Oc,radio:Pc,checkbox:Rc,hidden:o,button:o,submit:o,reset:o,file:o},We=["$browser","$sniffer","$filter","$parse",function(a,b,c,d){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Ve[Xc(g.type)]||Ve.text)(e,f,g,h[0],b,a,c,d)}}}}],Xe=/^(true|false|\d+)$/,Ye=function(){return{restrict:"A",priority:100,compile:function(a,b){return Xe.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a)})}}}},Ze=["$compile",function(a){return{restrict:"AC",compile:function(b){return a.$$addBindingClass(b),function(b,d,e){a.$$addBindingInfo(d,e.ngBind),d=d[0],b.$watch(e.ngBind,function(a){d.textContent=a===c?"":a})}}}}],$e=["$interpolate","$compile",function(a,b){return{compile:function(d){return b.$$addBindingClass(d),function(d,e,f){var g=a(e.attr(f.$attr.ngBindTemplate));b.$$addBindingInfo(e,g.expressions),e=e[0],f.$observe("ngBindTemplate",function(a){e.textContent=a===c?"":a})}}}}],_e=["$sce","$parse","$compile",function(a,b,c){return{restrict:"A",compile:function(d,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(a){return(a||"").toString()});return c.$$addBindingClass(d),function(b,d,e){c.$$addBindingInfo(d,e.ngBindHtml),b.$watch(g,function(){d.html(a.getTrustedHtml(f(b))||"")})}}}}],af=q({restrict:"A",require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),bf=Sc("",!0),cf=Sc("Odd",0),df=Sc("Even",1),ef=Cc({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),ff=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],gf={},hf={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=$a("ng-"+a);gf[b]=["$parse","$rootScope",function(c,d){return{restrict:"A",compile:function(e,f){var g=c(f[b],null,!0);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};hf[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var jf=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(c){c?i||g(function(c,f){i=f,c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)}):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=ia(h.clone),a.leave(j).then(function(){j=null}),h=null))})}}}],kf=["$templateRequest","$anchorScroll","$animate",function(a,b,c){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:jd.noop,compile:function(d,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(d,e,i,j,k){var l,m,n,o=0,p=function(){m&&(m.remove(),m=null),l&&(l.$destroy(),l=null),n&&(c.leave(n).then(function(){m=null}),m=n,n=null)};d.$watch(f,function(f){var i=function(){!s(h)||h&&!d.$eval(h)||b()},m=++o;f?(a(f,!0).then(function(a){if(m===o){var b=d.$new();j.template=a;var h=k(b,function(a){p(),c.enter(a,null,e).then(i)});l=b,n=h,l.$emit("$includeContentLoaded",f),d.$eval(g)}},function(){m===o&&(p(),d.$emit("$includeContentError",f))}),d.$emit("$includeContentRequested",f)):(p(),j.template=null)})}}}}],lf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){return/SVG/.test(d[0].toString())?(d.empty(),void a(sa(f.template,b).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),void a(d.contents())(c))}}}],mf=Cc({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),nf=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,e){var g=b.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,i=h?nd(g):g,j=function(a){if(!r(a)){var b=[];return a&&f(a.split(i),function(a){a&&b.push(h?nd(a):a)}),b}};e.$parsers.push(j),e.$formatters.push(function(a){return md(a)?a.join(g):c}),e.$isEmpty=function(a){return!a||!a.length}}}},of="ng-valid",pf="ng-invalid",qf="ng-pristine",rf="ng-dirty",sf="ng-untouched",tf="ng-touched",uf="ng-pending",vf=d("ngModel"),wf=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,e,g,h,i,j,k,l){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=c,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=c,this.$name=l(d.name||"",!1)(a);var m,n=g(d.ngModel),p=n.assign,q=n,t=p,u=null,w=this;this.$$setOptions=function(a){if(w.$options=a,a&&a.getterSetter){var b=g(d.ngModel+"()"),c=g(d.ngModel+"($$$p)");q=function(a){var c=n(a);return x(c)&&(c=b(a)),c},t=function(a,b){x(n(a))?c(a,{$$$p:w.$modelValue}):p(a,w.$modelValue)}}else if(!n.assign)throw vf("nonassign","Expression '{0}' is non-assignable. Element: {1}",d.ngModel,T(e))},this.$render=o,this.$isEmpty=function(a){return r(a)||""===a||null===a||a!==a};var y=e.inheritedData("$formController")||He,z=0;Tc({ctrl:this,$element:e,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},parentForm:y,$animate:h}),this.$setPristine=function(){w.$dirty=!1,w.$pristine=!0,h.removeClass(e,rf),h.addClass(e,qf)},this.$setDirty=function(){w.$dirty=!0,w.$pristine=!1,h.removeClass(e,qf),h.addClass(e,rf),y.$setDirty()},this.$setUntouched=function(){w.$touched=!1,w.$untouched=!0,h.setClass(e,sf,tf)},this.$setTouched=function(){w.$touched=!0,w.$untouched=!1,h.setClass(e,tf,sf)},this.$rollbackViewValue=function(){i.cancel(u),w.$viewValue=w.$$lastCommittedViewValue,w.$render()},this.$validate=function(){if(!v(w.$modelValue)||!isNaN(w.$modelValue)){var a=w.$$lastCommittedViewValue,b=w.$$rawModelValue,d=w.$valid,e=w.$modelValue,f=w.$options&&w.$options.allowInvalid;w.$$runValidators(b,a,function(a){f||d===a||(w.$modelValue=a?b:c,w.$modelValue!==e&&w.$$writeModelToScope())})}},this.$$runValidators=function(a,b,d){function e(){var a=w.$$parserName||"parse";return m!==c?(m||(f(w.$validators,function(a,b){i(b,null)}),f(w.$asyncValidators,function(a,b){i(b,null)})),i(a,m),m):(i(a,null),!0)}function g(){var c=!0;return f(w.$validators,function(d,e){var f=d(a,b);c=c&&f,i(e,f)}),c?!0:(f(w.$asyncValidators,function(a,b){i(b,null)}),!1)}function h(){var d=[],e=!0;f(w.$asyncValidators,function(f,g){var h=f(a,b);if(!F(h))throw vf("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",h);i(g,c),d.push(h.then(function(){i(g,!0)},function(a){e=!1,i(g,!1)}))}),d.length?k.all(d).then(function(){j(e)},o):j(!0)}function i(a,b){l===z&&w.$setValidity(a,b)}function j(a){l===z&&d(a)}z++;var l=z;return e()&&g()?void h():void j(!1)},this.$commitViewValue=function(){var a=w.$viewValue;i.cancel(u),(w.$$lastCommittedViewValue!==a||""===a&&w.$$hasNativeValidators)&&(w.$$lastCommittedViewValue=a,w.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function b(){w.$modelValue!==g&&w.$$writeModelToScope()}var d=w.$$lastCommittedViewValue,e=d;if(m=r(e)?c:!0)for(var f=0;fm;m++)if(A=d===E?m:E[m],B=d[A],C=D(A,B,m),q[C])F=q[C],delete q[C],J[C]=F,G[m]=F;else{if(J[C])throw f(G,function(a){a&&a.scope&&(q[a.id]=a)}),i("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",n,C,B);G[m]={id:C,scope:c,clone:c},J[C]=!0}for(var L in q){if(F=q[L],H=ia(F.clone),g.leave(H),H[0].parentNode)for(m=0,r=H.length;r>m;m++)H[m][h]=!0;F.scope.$destroy()}for(m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],F=G[m],F.scope){t=I;do t=t.nextSibling;while(t&&t[h]);k(F)!=t&&g.move(ia(F.clone),null,bd(I)),I=l(F),j(F.scope,m,u,B,v,A,w)}else p(function(a,b){F.scope=b;var c=o.cloneNode(!1);a[a.length++]=c,g.enter(a,null,bd(I)),I=c,F.clone=a,J[F.id]=F,j(F.scope,m,u,B,v,A,w)});q=J})}}}}],Df="ng-hide",Ef="ng-hide-animate",Ff=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngShow,function(b){a[b?"removeClass":"addClass"](c,Df,{tempClasses:Ef})})}}}],Gf=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngHide,function(b){a[b?"addClass":"removeClass"](c,Df,{tempClasses:Ef})})}}}],Hf=Cc(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),If=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,g){var h=e.ngSwitch||e.on,i=[],j=[],k=[],l=[],m=function(a,b){return function(){a.splice(b,1)}};c.$watch(h,function(c){var d,e;for(d=0,e=k.length;e>d;++d)a.cancel(k[d]);for(k.length=0,d=0,e=l.length;e>d;++d){var h=ia(j[d].clone);l[d].$destroy();var n=k[d]=a.leave(h);n.then(m(k,d))}j.length=0,l.length=0,(i=g.cases["!"+c]||g.cases["?"])&&f(i,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.createComment(" end ngSwitchWhen: ");var g={clone:d};j.push(g),a.enter(d,f.parent(),f)})})})}}}],Jf=Cc({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),Kf=Cc({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),Lf=Cc({restrict:"EAC",link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",T(b));f(function(a){b.empty(),b.append(a)})}}),Mf=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],Nf=d("ngOptions"),Of=q({restrict:"A",terminal:!0}),Pf=["$compile","$parse",function(a,d){var e=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,h={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,b,c){var d,e,f=this,g={},i=h;f.databound=c.ngModel,f.init=function(a,b,c){i=a,d=b,e=c},f.addOption=function(b,c){ga(b,'"option value"'),g[b]=!0,i.$viewValue==b&&(a.val(b),e.parent()&&e.remove()),c&&c[0].hasAttribute("selected")&&(c[0].selected=!0)},f.removeOption=function(a){this.hasOption(a)&&(delete g[a],i.$viewValue===a&&this.renderUnknownOption(a))},f.renderUnknownOption=function(b){var c="? "+Oa(b)+" ?";e.val(c),a.prepend(e),a.val(c),e.prop("selected",!0)},f.hasOption=function(a){return g.hasOwnProperty(a)},b.$on("$destroy",function(){f.renderUnknownOption=o})}],link:function(h,i,j,k){function l(a,b,c,d){c.$render=function(){var a=c.$viewValue;d.hasOption(a)?(y.parent()&&y.remove(),b.val(a),""===a&&o.prop("selected",!0)):null==a&&o?b.val(""):d.renderUnknownOption(a)},b.on("change",function(){a.$apply(function(){y.parent()&&y.remove(),c.$setViewValue(b.val())})})}function m(a,b,c){var d;c.$render=function(){var a=new Pa(c.$viewValue);f(b.find("option"),function(b){b.selected=s(a.get(b.value))})},a.$watch(function(){M(d,c.$viewValue)||(d=L(c.$viewValue),c.$render())}),b.on("change",function(){a.$apply(function(){var a=[];f(b.find("option"),function(b){ -b.selected&&a.push(b.value)}),c.$setViewValue(a)})})}function n(b,h,i){function j(a,c,d){return M[B]=d,E&&(M[E]=c),a(b,M)}function k(){b.$apply(function(){var a,c=H(b)||[];if(r)a=[],f(h.val(),function(b){b=J?K[b]:b,a.push(l(b,c[b]))});else{var d=J?K[h.val()]:h.val();a=l(d,c[d])}i.$setViewValue(a),y()})}function l(a,b){if("?"===a)return c;if(""===a)return null;var d=D?D:G;return j(d,a,b)}function m(){var a,c=H(b);if(c&&md(c)){a=new Array(c.length);for(var d=0,e=c.length;e>d;d++)a[d]=j(A,d,c[d]);return a}if(c){a={};for(var f in c)c.hasOwnProperty(f)&&(a[f]=j(A,f,c[f]))}return a}function n(a){var b;if(r)if(J&&md(a)){b=new Pa([]);for(var c=0;cB;B++)m=B,E&&(m=S[B],"$"===m.charAt(0))||(o=R[m],a=j(F,m,o)||"",(c=O[a])||(c=O[a]=[],P.push(a)),C=U(m,o),V=V||C,I=j(A,m,o),I=s(I)?I:"",N=J?J(b,M):E?S[B]:B,J&&(K[N]=m),c.push({id:N,label:I,selected:C}));for(r||(u||null===Q?O[""].unshift({id:"",label:"",selected:!V}):V||O[""].unshift({id:"?",label:"",selected:!0})),z=0,t=P.length;t>z;z++){for(a=P[z],c=O[a],L.length<=z?(e={element:x.clone().attr("label",a),label:c.label},k=[e],L.push(k),h.append(e.element)):(k=L[z],e=k[0],e.label!=a&&e.element.attr("label",e.label=a)),D=null,B=0,y=c.length;y>B;B++)d=c[B],(l=k[B+1])?(D=l.element,l.label!==d.label&&(q(T,l.label,!1),q(T,d.label,!0),D.text(l.label=d.label),D.prop("label",l.label)),l.id!==d.id&&D.val(l.id=d.id),D[0].selected!==d.selected&&(D.prop("selected",l.selected=d.selected),ad&&D.prop("selected",l.selected))):(""===d.id&&u?G=u:(G=w.clone()).val(d.id).prop("selected",d.selected).attr("selected",d.selected).prop("label",d.label).text(d.label),k.push(l={element:G,label:d.label,id:d.id,selected:d.selected}),q(T,d.label,!0),D?D.after(G):e.element.append(G),D=G);for(B++;k.length>B;)d=k.pop(),q(T,d.label,!1),d.element.remove()}for(;L.length>z;){for(c=L.pop(),B=1;B0?p.addOption(b):0>a&&p.removeOption(b)})}var z;if(!(z=t.match(e)))throw Nf("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",t,T(h));var A=d(z[2]||z[1]),B=z[4]||z[6],C=/ as /.test(z[0])&&z[1],D=C?d(C):null,E=z[5],F=d(z[3]||""),G=d(z[2]?z[1]:B),H=d(z[7]),I=z[8],J=I?d(z[8]):null,K={},L=[[{element:h,label:""}]],M={};u&&(a(u)(b),u.removeClass("ng-scope"),u.remove()),h.empty(),h.on("change",k),i.$render=y,b.$watchCollection(H,o),b.$watchCollection(m,o),r&&b.$watchCollection(function(){return i.$modelValue},o)}if(k[1]){for(var o,p=k[0],q=k[1],r=j.multiple,t=j.ngOptions,u=!1,v=!1,w=bd(b.createElement("option")),x=bd(b.createElement("optgroup")),y=w.clone(),z=0,A=i.children(),B=A.length;B>z;z++)if(""===A[z].value){o=u=A.eq(z);break}p.init(q,u,y),r&&(q.$isEmpty=function(a){return!a||0===a.length}),t?n(h,i,q):r?m(h,i,q):l(h,i,q,p)}}}}],Qf=["$interpolate",function(a){var b={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(c,d){if(r(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}return function(a,c,d){var f="$selectController",g=c.parent(),h=g.data(f)||g.parent().data(f);h&&h.databound||(h=b),e?a.$watch(e,function(a,b){d.$set("value",a),b!==a&&h.removeOption(b),h.addOption(a,c)}):h.addOption(d.value,c),c.on("$destroy",function(){h.removeOption(d.value)})}}}}],Rf=q({restrict:"E",terminal:!1}),Sf=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){d&&(c.required=!0,d.$validators.required=function(a,b){return!c.required||!d.$isEmpty(b)},c.$observe("required",function(){d.$validate()}))}}},Tf=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,e,f){if(f){var g,h=e.ngPattern||e.pattern;e.$observe("pattern",function(a){if(u(a)&&a.length>0&&(a=new RegExp("^"+a+"$")),a&&!a.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",h,a,T(b));g=a||c,f.$validate()}),f.$validators.pattern=function(a,b){return f.$isEmpty(b)||r(g)||g.test(b)}}}}},Uf=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=-1;c.$observe("maxlength",function(a){var b=m(a);e=isNaN(b)?-1:b,d.$validate()}),d.$validators.maxlength=function(a,b){return 0>e||d.$isEmpty(b)||b.length<=e}}}}},Vf=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=0;c.$observe("minlength",function(a){e=m(a)||0,d.$validate()}),d.$validators.minlength=function(a,b){return d.$isEmpty(b)||b.length>=e}}}}};return a.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(da(),na(jd),void bd(b).ready(function(){$(b,_)}))}(window,document),!window.angular.$$csp()&&window.angular.element(document.head).prepend(''); \ No newline at end of file +!function(a,b,c){"use strict";function d(a,b){return b=b||Error,function(){var c,d,e=2,f=arguments,g=f[0],h="["+(a?a+":":"")+g+"] ",i=f[1];for(h+=i.replace(/\{\d+\}/g,function(a){var b=+a.slice(1,-1),c=b+e;return c=0&&(b-1 in a||a instanceof Array)||"function"==typeof a.item)}function f(a,b,c){var d,g;if(a)if(A(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d,a);else if(Rd(a)||e(a)){var h="object"!=typeof a;for(d=0,g=a.length;g>d;d++)(h||d in a)&&b.call(c,a[d],d,a)}else if(a.forEach&&a.forEach!==f)a.forEach(b,c,a);else if(w(a))for(d in a)b.call(c,a[d],d,a);else if("function"==typeof a.hasOwnProperty)for(d in a)a.hasOwnProperty(d)&&b.call(c,a[d],d,a);else for(d in a)Ad.call(a,d)&&b.call(c,a[d],d,a);return a}function g(a,b,c){for(var d=Object.keys(a).sort(),e=0;ee;++e){var g=b[e];if(v(g)||A(g))for(var h=Object.keys(g),i=0,l=h.length;l>i;i++){var m=h[i],n=g[m];c&&v(n)?z(n)?a[m]=new Date(n.valueOf()):B(n)?a[m]=new RegExp(n):n.nodeName?a[m]=n.cloneNode(!0):K(n)?a[m]=n.clone():(v(a[m])||(a[m]=Rd(n)?[]:{}),k(a[m],[n],!0)):a[m]=n}}return j(a,d),a}function l(a){return k(a,Id.call(arguments,1),!1)}function m(a){return k(a,Id.call(arguments,1),!0)}function n(a){return parseInt(a,10)}function o(a,b){return l(Object.create(a),b)}function p(){}function q(a){return a}function r(a){return function(){return a}}function s(a){return A(a.toString)&&a.toString!==Ld}function t(a){return"undefined"==typeof a}function u(a){return"undefined"!=typeof a}function v(a){return null!==a&&"object"==typeof a}function w(a){return null!==a&&"object"==typeof a&&!Md(a)}function x(a){return"string"==typeof a}function y(a){return"number"==typeof a}function z(a){return"[object Date]"===Ld.call(a)}function A(a){return"function"==typeof a}function B(a){return"[object RegExp]"===Ld.call(a)}function C(a){return a&&a.window===a}function D(a){return a&&a.$evalAsync&&a.$watch}function E(a){return"[object File]"===Ld.call(a)}function F(a){return"[object FormData]"===Ld.call(a)}function G(a){return"[object Blob]"===Ld.call(a)}function H(a){return"boolean"==typeof a}function I(a){return a&&A(a.then)}function J(a){return a&&y(a.length)&&Sd.test(Ld.call(a))}function K(a){return!(!a||!(a.nodeName||a.prop&&a.attr&&a.find))}function L(a){var b,c={},d=a.split(",");for(b=0;b=0&&a.splice(c,1),c}function O(a,b){function c(a,b){var c,e=b.$$hashKey;if(Rd(a))for(var f=0,g=a.length;g>f;f++)b.push(d(a[f]));else if(w(a))for(c in a)b[c]=d(a[c]);else if(a&&"function"==typeof a.hasOwnProperty)for(c in a)a.hasOwnProperty(c)&&(b[c]=d(a[c]));else for(c in a)Ad.call(a,c)&&(b[c]=d(a[c]));return j(b,e),b}function d(a){if(!v(a))return a;var b=e.indexOf(a);if(-1!==b)return g[b];if(C(a)||D(a))throw Nd("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var d,f=!1;return Rd(a)?(d=[],f=!0):J(a)?d=new a.constructor(a):z(a)?d=new Date(a.getTime()):B(a)?(d=new RegExp(a.source,a.toString().match(/[^\/]*$/)[0]),d.lastIndex=a.lastIndex):G(a)?d=new a.constructor([a],{type:a.type}):A(a.cloneNode)?d=a.cloneNode(!0):(d=Object.create(Md(a)),f=!0),e.push(a),g.push(d),f?c(a,d):d}var e=[],g=[];if(b){if(J(b))throw Nd("cpta","Can't copy! TypedArray destination cannot be mutated.");if(a===b)throw Nd("cpi","Can't copy! Source and destination are identical.");return Rd(b)?b.length=0:f(b,function(a,c){"$$hashKey"!==c&&delete b[c]}),e.push(a),g.push(b),c(a,b)}return d(a)}function P(a,b){if(Rd(a)){b=b||[];for(var c=0,d=a.length;d>c;c++)b[c]=a[c]}else if(v(a)){b=b||{};for(var e in a)("$"!==e.charAt(0)||"$"!==e.charAt(1))&&(b[e]=a[e])}return b||a}function Q(a,b){if(a===b)return!0;if(null===a||null===b)return!1;if(a!==a&&b!==b)return!0;var c,d,e,f=typeof a,g=typeof b;if(f==g&&"object"==f){if(!Rd(a)){if(z(a))return z(b)?Q(a.getTime(),b.getTime()):!1;if(B(a))return B(b)?a.toString()==b.toString():!1;if(D(a)||D(b)||C(a)||C(b)||Rd(b)||z(b)||B(b))return!1;e=qa();for(d in a)if("$"!==d.charAt(0)&&!A(a[d])){if(!Q(a[d],b[d]))return!1;e[d]=!0}for(d in b)if(!(d in e)&&"$"!==d.charAt(0)&&u(b[d])&&!A(b[d]))return!1;return!0}if(!Rd(b))return!1;if((c=a.length)==b.length){for(d=0;c>d;d++)if(!Q(a[d],b[d]))return!1;return!0}}return!1}function R(a,b,c){return a.concat(Id.call(b,c))}function S(a,b){return Id.call(a,b||0)}function T(a,b){var c=arguments.length>2?S(arguments,2):[];return!A(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,R(c,arguments,0)):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function U(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)&&"$"===a.charAt(1)?e=c:C(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":D(d)&&(e="$SCOPE"),e}function V(a,b){return t(a)?c:(y(b)||(b=b?2:null),JSON.stringify(a,U,b))}function W(a){return x(a)?JSON.parse(a):a}function X(a,b){a=a.replace(Xd,"");var c=Date.parse("Jan 01, 1970 00:00:00 "+a)/6e4;return isNaN(c)?b:c}function Y(a,b){return a=new Date(a.getTime()),a.setMinutes(a.getMinutes()+b),a}function Z(a,b,c){c=c?-1:1;var d=a.getTimezoneOffset(),e=X(b,d);return Y(a,c*(e-d))}function $(a){a=Fd(a).clone();try{a.empty()}catch(b){}var c=Fd("
").append(a).html();try{return a[0].nodeType===be?zd(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+zd(b)})}catch(b){return zd(c)}}function _(a){try{return decodeURIComponent(a)}catch(b){}}function aa(a){var b={};return f((a||"").split("&"),function(a){var c,d,e;a&&(d=a=a.replace(/\+/g,"%20"),c=a.indexOf("="),-1!==c&&(d=a.substring(0,c),e=a.substring(c+1)),d=_(d),u(d)&&(e=u(e)?_(e):!0,Ad.call(b,d)?Rd(b[d])?b[d].push(e):b[d]=[b[d],e]:b[d]=e))}),b}function ba(a){var b=[];return f(a,function(a,c){Rd(a)?f(a,function(a){b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}):b.push(da(c,!0)+(a===!0?"":"="+da(a,!0)))}),b.length?b.join("&"):""}function ca(a){return da(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function da(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,b?"%20":"+")}function ea(a,b){var c,d,e=Yd.length;for(d=0;e>d;++d)if(c=Yd[d]+b,x(c=a.getAttribute(c)))return c;return null}function fa(a,b){var c,d,e={};f(Yd,function(b){var e=b+"app";!c&&a.hasAttribute&&a.hasAttribute(e)&&(c=a,d=a.getAttribute(e))}),f(Yd,function(b){var e,f=b+"app";!c&&(e=a.querySelector("["+f.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(f))}),c&&(e.strictDi=null!==ea(c,"strict-di"),b(c,d?[d]:[],e))}function ga(c,d,e){v(e)||(e={});var g={strictDi:!1};e=l(g,e);var h=function(){if(c=Fd(c),c.injector()){var a=c[0]===b?"document":$(c);throw Nd("btstrpd","App already bootstrapped with this element '{0}'",a.replace(//,">"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),e.debugInfoEnabled&&d.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]),d.unshift("ng");var f=bb(d,e.strictDi);return f.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),f},i=/^NG_ENABLE_DEBUG_INFO!/,j=/^NG_DEFER_BOOTSTRAP!/;return a&&i.test(a.name)&&(e.debugInfoEnabled=!0,a.name=a.name.replace(i,"")),a&&!j.test(a.name)?h():(a.name=a.name.replace(j,""),Od.resumeBootstrap=function(a){return f(a,function(a){d.push(a)}),h()},void(A(Od.resumeDeferredBootstrap)&&Od.resumeDeferredBootstrap()))}function ha(){a.name="NG_ENABLE_DEBUG_INFO!"+a.name,a.location.reload()}function ia(a){var b=Od.element(a).injector();if(!b)throw Nd("test","no injector found for element argument to getTestability");return b.get("$$testability")}function ja(a,b){return b=b||"_",a.replace(Zd,function(a,c){return(c?b:"")+a.toLowerCase()})}function ka(){var b;if(!$d){var d=Wd();Gd=t(d)?a.jQuery:d?a[d]:c,Gd&&Gd.fn.on?(Fd=Gd,l(Gd.fn,{scope:ue.scope,isolateScope:ue.isolateScope,controller:ue.controller,injector:ue.injector,inheritedData:ue.inheritedData}),b=Gd.cleanData,Gd.cleanData=function(a){var c;if(Qd)Qd=!1;else for(var d,e=0;null!=(d=a[e]);e++)c=Gd._data(d,"events"),c&&c.$destroy&&Gd(d).triggerHandler("$destroy");b(a)}):Fd=Da,Od.element=Fd,$d=!0}}function la(a,b,c){if(!a)throw Nd("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function ma(a,b,c){return c&&Rd(a)&&(a=a[a.length-1]),la(A(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function na(a,b){if("hasOwnProperty"===a)throw Nd("badname","hasOwnProperty is not a valid {0} name",b)}function oa(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&A(a)?T(f,a):a}function pa(a){for(var b,c=a[0],d=a[a.length-1],e=1;c!==d&&(c=c.nextSibling);e++)(b||a[e]!==c)&&(b||(b=Fd(Id.call(a,0,e))),b.push(c));return b||a}function qa(){return Object.create(null)}function ra(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),b(a,d,function(){function a(a,b,c,d){return d||(d=e),function(){return d[c||"push"]([a,b,arguments]),k}}function b(a,b){return function(c,f){return f&&A(f)&&(f.$$moduleName=d),e.push([a,b,arguments]),k}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var e=[],h=[],i=[],j=a("$injector","invoke","push",h),k={_invokeQueue:e,_configBlocks:h,_runBlocks:i,requires:f,name:d,provider:b("$provide","provider"),factory:b("$provide","factory"),service:b("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),decorator:b("$provide","decorator"),animation:b("$animateProvider","register"),filter:b("$filterProvider","register"),controller:b("$controllerProvider","register"),directive:b("$compileProvider","directive"),config:j,run:function(a){return i.push(a),this}};return g&&j(g),k})}})}function sa(a){var b=[];return JSON.stringify(a,function(a,c){if(c=U(a,c),v(c)){if(b.indexOf(c)>=0)return"...";b.push(c)}return c})}function ta(a){return"function"==typeof a?a.toString().replace(/ \{[\s\S]*$/,""):t(a)?"undefined":"string"!=typeof a?sa(a):a}function ua(b){l(b,{bootstrap:ga,copy:O,extend:l,merge:m,equals:Q,element:Fd,forEach:f,injector:bb,noop:p,bind:T,toJson:V,fromJson:W,identity:q,isUndefined:t,isDefined:u,isString:x,isFunction:A,isObject:v,isNumber:y,isElement:K,isArray:Rd,version:fe,isDate:z,lowercase:zd,uppercase:Bd,callbacks:{counter:0},getTestability:ia,$$minErr:d,$$csp:Vd,reloadWithDebugInfo:ha}),(Hd=ra(a))("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:tc}),a.provider("$compile",lb).directive({a:zf,input:Sf,textarea:Sf,form:Ef,script:Kg,select:Ng,style:Pg,option:Og,ngBind:Vf,ngBindHtml:Xf,ngBindTemplate:Wf,ngClass:Zf,ngClassEven:_f,ngClassOdd:$f,ngCloak:ag,ngController:bg,ngForm:Ff,ngHide:Eg,ngIf:eg,ngInclude:fg,ngInit:hg,ngNonBindable:vg,ngPluralize:zg,ngRepeat:Ag,ngShow:Dg,ngStyle:Fg,ngSwitch:Gg,ngSwitchWhen:Hg,ngSwitchDefault:Ig,ngOptions:yg,ngTransclude:Jg,ngModel:sg,ngList:ig,ngChange:Yf,pattern:Rg,ngPattern:Rg,required:Qg,ngRequired:Qg,minlength:Tg,ngMinlength:Tg,maxlength:Sg,ngMaxlength:Sg,ngValue:Uf,ngModelOptions:ug}).directive({ngInclude:gg}).directive(Af).directive(cg),a.provider({$anchorScroll:cb,$animate:Je,$animateCss:Me,$$animateJs:He,$$animateQueue:Ie,$$AnimateRunner:Le,$$animateAsyncRun:Ke,$browser:ib,$cacheFactory:jb,$controller:qb,$document:rb,$exceptionHandler:sb,$filter:Hc,$$forceReflow:Re,$interpolate:Gb,$interval:Hb,$http:Cb,$httpParamSerializer:ub,$httpParamSerializerJQLike:vb,$httpBackend:Eb,$xhrFactory:Db,$location:Vb,$log:Wb,$parse:nc,$rootScope:sc,$q:oc,$$q:pc,$sce:xc,$sceDelegate:wc,$sniffer:yc,$templateCache:kb,$templateRequest:zc,$$testability:Ac,$timeout:Bc,$window:Ec,$$rAF:rc,$$jqLite:Ya,$$HashMap:ye,$$cookieReader:Gc})}])}function va(){return++he}function wa(a){return a.replace(ke,function(a,b,c,d){return d?c.toUpperCase():c}).replace(le,"Moz$1")}function xa(a){return!pe.test(a)}function ya(a){var b=a.nodeType;return b===_d||!b||b===de}function za(a){for(var b in ge[a.ng339])return!0;return!1}function Aa(a,b){var c,d,e,g,h=b.createDocumentFragment(),i=[];if(xa(a))i.push(b.createTextNode(a));else{for(c=c||h.appendChild(b.createElement("div")),d=(qe.exec(a)||["",""])[1].toLowerCase(),e=se[d]||se._default,c.innerHTML=e[1]+a.replace(re,"<$1>")+e[2],g=e[0];g--;)c=c.lastChild;i=R(i,c.childNodes),c=h.firstChild,c.textContent=""}return h.textContent="",h.innerHTML="",f(i,function(a){h.appendChild(a)}),h}function Ba(a,c){c=c||b;var d;return(d=oe.exec(a))?[c.createElement(d[1])]:(d=Aa(a,c))?d.childNodes:[]}function Ca(a,b){var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)}function Da(a){if(a instanceof Da)return a;var b;if(x(a)&&(a=Td(a),b=!0),!(this instanceof Da)){if(b&&"<"!=a.charAt(0))throw ne("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Da(a)}b?Na(this,Ba(a)):Na(this,a)}function Ea(a){return a.cloneNode(!0)}function Fa(a,b){if(b||Ha(a),a.querySelectorAll)for(var c=a.querySelectorAll("*"),d=0,e=c.length;e>d;d++)Ha(c[d])}function Ga(a,b,c,d){if(u(d))throw ne("offargs","jqLite#off() does not support the `selector` argument");var e=Ia(a),g=e&&e.events,h=e&&e.handle;if(h)if(b){var i=function(b){var d=g[b];u(c)&&N(d||[],c),u(c)&&d&&d.length>0||(je(a,b,h),delete g[b])};f(b.split(" "),function(a){i(a),me[a]&&i(me[a])})}else for(b in g)"$destroy"!==b&&je(a,b,h),delete g[b]}function Ha(a,b){var d=a.ng339,e=d&&ge[d];if(e){if(b)return void delete e.data[b];e.handle&&(e.events.$destroy&&e.handle({},"$destroy"),Ga(a)),delete ge[d],a.ng339=c}}function Ia(a,b){var d=a.ng339,e=d&&ge[d];return b&&!e&&(a.ng339=d=va(),e=ge[d]={events:{},data:{},handle:c}),e}function Ja(a,b,c){if(ya(a)){var d=u(c),e=!d&&b&&!v(b),f=!b,g=Ia(a,!e),h=g&&g.data;if(d)h[b]=c;else{if(f)return h;if(e)return h&&h[b];l(h,b)}}}function Ka(a,b){return a.getAttribute?(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+b+" ")>-1:!1}function La(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",Td((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Td(b)+" "," ")))})}function Ma(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=Td(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",Td(c))}}function Na(a,b){if(b)if(b.nodeType)a[a.length++]=b;else{var c=b.length;if("number"==typeof c&&b.window!==b){if(c)for(var d=0;c>d;d++)a[a.length++]=b[d]}else a[a.length++]=b}}function Oa(a,b){return Pa(a,"$"+(b||"ngController")+"Controller")}function Pa(a,b,c){a.nodeType==de&&(a=a.documentElement);for(var d=Rd(b)?b:[b];a;){for(var e=0,f=d.length;f>e;e++)if(u(c=Fd.data(a,d[e])))return c;a=a.parentNode||a.nodeType===ee&&a.host}}function Qa(a){for(Fa(a,!0);a.firstChild;)a.removeChild(a.firstChild)}function Ra(a,b){b||Fa(a);var c=a.parentNode;c&&c.removeChild(a)}function Sa(b,c){c=c||a,"complete"===c.document.readyState?c.setTimeout(b):Fd(c).on("load",b)}function Ta(a,b){var c=ve[b.toLowerCase()];return c&&we[M(a)]&&c}function Ua(a){return xe[a]}function Va(a,b){var c=function(c,d){c.isDefaultPrevented=function(){return c.defaultPrevented};var e=b[d||c.type],f=e?e.length:0;if(f){if(t(c.immediatePropagationStopped)){var g=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0,c.stopPropagation&&c.stopPropagation(),g&&g.call(c)}}c.isImmediatePropagationStopped=function(){return c.immediatePropagationStopped===!0};var h=e.specialHandlerWrapper||Wa;f>1&&(e=P(e));for(var i=0;f>i;i++)c.isImmediatePropagationStopped()||h(a,c,e[i])}};return c.elem=a,c}function Wa(a,b,c){c.call(a,b)}function Xa(a,b,c){var d=b.relatedTarget;(!d||d!==a&&!te.call(a,d))&&c.call(a,b)}function Ya(){this.$get=function(){return l(Da,{hasClass:function(a,b){return a.attr&&(a=a[0]),Ka(a,b)},addClass:function(a,b){return a.attr&&(a=a[0]),Ma(a,b)},removeClass:function(a,b){return a.attr&&(a=a[0]),La(a,b)}})}}function Za(a,b){var c=a&&a.$$hashKey;if(c)return"function"==typeof c&&(c=a.$$hashKey()),c;var d=typeof a;return c="function"==d||"object"==d&&null!==a?a.$$hashKey=d+":"+(b||i)():d+":"+a}function $a(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function _a(a){var b=a.toString().replace(Ce,""),c=b.match(ze);return c?"function("+(c[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function ab(a,b,c){var d,e,g,h;if("function"==typeof a){if(!(d=a.$inject)){if(d=[],a.length){if(b)throw x(c)&&c||(c=a.name||_a(a)),De("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",c);e=a.toString().replace(Ce,""),g=e.match(ze),f(g[1].split(Ae),function(a){a.replace(Be,function(a,b,c){d.push(c)})})}a.$inject=d}}else Rd(a)?(h=a.length-1,ma(a[h],"fn"),d=a.slice(0,h)):ma(a,"fn",!0);return d}function bb(a,b){function d(a){return function(b,c){return v(b)?void f(b,h(a)):a(b,c)}}function e(a,b){if(na(a,"service"),(A(b)||Rd(b))&&(b=y.instantiate(b)),!b.$get)throw De("pget","Provider '{0}' must define $get factory method.",a);return w[a+q]=b}function g(a,b){return function(){var c=B.invoke(b,this);if(t(c))throw De("undef","Provider '{0}' must return a value from $get factory method.",a);return c}}function i(a,b,c){return e(a,{$get:c!==!1?g(a,b):b})}function j(a,b){return i(a,["$injector",function(a){return a.instantiate(b)}])}function k(a,b){return i(a,r(b),!1)}function l(a,b){na(a,"constant"),w[a]=b,z[a]=b}function m(a,b){var c=y.get(a+q),d=c.$get;c.$get=function(){var a=B.invoke(d,c);return B.invoke(b,null,{$delegate:a})}}function n(a){la(t(a)||Rd(a),"modulesToLoad","not an array");var b,c=[];return f(a,function(a){function d(a){var b,c;for(b=0,c=a.length;c>b;b++){var d=a[b],e=y.get(d[0]);e[d[1]].apply(e,d[2])}}if(!u.get(a)){u.put(a,!0);try{x(a)?(b=Hd(a),c=c.concat(n(b.requires)).concat(b._runBlocks),d(b._invokeQueue),d(b._configBlocks)):A(a)?c.push(y.invoke(a)):Rd(a)?c.push(y.invoke(a)):ma(a,"module")}catch(e){throw Rd(a)&&(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),De("modulerr","Failed to instantiate module {0} due to:\n{1}",a,e.stack||e.message||e)}}}),c}function o(a,c){function d(b,d){if(a.hasOwnProperty(b)){if(a[b]===p)throw De("cdep","Circular dependency found: {0}",b+" <- "+s.join(" <- "));return a[b]}try{return s.unshift(b),a[b]=p,a[b]=c(b,d)}catch(e){throw a[b]===p&&delete a[b],e}finally{s.shift()}}function e(a,c,e,f){"string"==typeof e&&(f=e,e=null);var g,h,i,j=[],k=bb.$$annotate(a,b,f);for(h=0,g=k.length;g>h;h++){if(i=k[h],"string"!=typeof i)throw De("itkn","Incorrect injection token! Expected service name as string, got {0}",i);j.push(e&&e.hasOwnProperty(i)?e[i]:d(i,f))}return Rd(a)&&(a=a[g]),a.apply(c,j)}function f(a,b,c){var d=Object.create((Rd(a)?a[a.length-1]:a).prototype||null),f=e(a,d,b,c);return v(f)||A(f)?f:d}return{invoke:e,instantiate:f,get:d,annotate:bb.$$annotate,has:function(b){return w.hasOwnProperty(b+q)||a.hasOwnProperty(b)}}}b=b===!0;var p={},q="Provider",s=[],u=new $a([],!0),w={$provide:{provider:d(e),factory:d(i),service:d(j),value:d(k),constant:d(l),decorator:m}},y=w.$injector=o(w,function(a,b){throw Od.isString(b)&&s.push(b),De("unpr","Unknown provider: {0}",s.join(" <- "))}),z={},B=z.$injector=o(z,function(a,b){var d=y.get(a+q,b);return B.invoke(d.$get,d,c,a)});return f(n(a),function(a){a&&B.invoke(a)}),B}function cb(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return Array.prototype.some.call(a,function(a){return"a"===M(a)?(b=a,!0):void 0}),b}function f(){var a=h.yOffset;if(A(a))a=a();else if(K(a)){var c=a[0],d=b.getComputedStyle(c);a="fixed"!==d.position?0:c.getBoundingClientRect().bottom}else y(a)||(a=0);return a}function g(a){if(a){a.scrollIntoView();var c=f();if(c){var d=a.getBoundingClientRect().top;b.scrollBy(0,d-c)}}else b.scrollTo(0,0)}function h(a){a=x(a)?a:c.hash();var b;a?(b=i.getElementById(a))?g(b):(b=e(i.getElementsByName(a)))?g(b):"top"===a&&g(null):g(null)}var i=b.document;return a&&d.$watch(function(){return c.hash()},function(a,b){(a!==b||""!==a)&&Sa(function(){d.$evalAsync(h)})}),h}]}function db(a,b){return a||b?a?b?(Rd(a)&&(a=a.join(" ")),Rd(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function eb(a){for(var b=0;bj&&this.remove(n.key),b}},get:function(a){if(jh;h++){var j=a[h];j.nodeType===be&&j.nodeValue.match(g)&&Ca(j,a[h]=b.createElement("span"))}var k=K(a,c,a,d,e,f);I.$$addScopeClass(a);var l=null;return function(b,c,d){la(b,"scope"),f&&f.needsNewScope&&(b=b.$parent.$new()),d=d||{};var e=d.parentBoundTranscludeFn,g=d.transcludeControllers,h=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude),l||(l=J(h));var i;if(i="html"!==l?Fd(ba(l,Fd("
").append(a).html())):c?ue.clone.call(a):a,g)for(var j in g)i.data("$"+j+"Controller",g[j].instance);return I.$$addScopeInfo(i,b),c&&c(i,b),k&&k(b,i,i,e),i}}function J(a){var b=a&&a[0];return b&&"foreignobject"!==M(b)&&b.toString().match(/SVG/)?"svg":"html"}function K(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,q;if(o){var r=d.length;for(q=new Array(r),k=0;kk;)i=q[p[k++]],g=p[k++],h=p[k++],g?(g.scope?(j=a.$new(),I.$$addScopeInfo(Fd(i),j)):j=a,n=g.transcludeOnThisElement?L(a,g.transclude,f):!g.templateOnThisElement&&f?f:!f&&b?L(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o,p=[],q=0;qt;t++){var w=!1,y=!1;k=s[t],l=k.name,q=Td(k.value),p=mb(l),(r=oa.test(p))&&(l=l.replace(Oe,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()}));var z=p.match(pa);z&&W(z[1])&&(w=l,y=l.substr(0,l.length-5)+"end",l=l.substr(0,l.length-6)),o=mb(l.toLowerCase()),j[o]=l,(r||!c.hasOwnProperty(o))&&(c[o]=q,Ta(a,o)&&(c[o]=!0)),da(a,b,q,o,r),V(b,o,"A",d,e,w,y)}if("input"===g&&"hidden"===a.getAttribute("type")&&a.setAttribute("autocomplete","off"),h=a.className,v(h)&&(h=h.animVal),x(h)&&""!==h)for(;f=n.exec(h);)o=mb(f[2]),V(b,o,"C",d,e)&&(c[o]=Td(f[3])),h=h.substr(f.index+f[0].length);break;case be:if(11===Ed)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===be;)a.nodeValue=a.nodeValue+a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);aa(b,a.nodeValue);break;case ce:try{f=m.exec(a.nodeValue),f&&(o=mb(f[1]),V(b,o,"M",d,e)&&(c[o]=Td(f[2])))}catch(A){}}return b.sort(Z),b}function P(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw Ne("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);a.nodeType==_d&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return Fd(d)}function R(a,b,c){return function(d,e,f,g,h){return e=P(e[0],b,c),a(d,e,f,g,h)}}function T(a,d,f,g,h,i,j,k,l){function m(a,b,c,d){a&&(c&&(a=R(a,c,d)),a.require=q.require,a.directiveName=s,(E===q||q.$$isolateScope)&&(a=fa(a,{isolateScope:!0})),j.push(a)),b&&(c&&(b=R(b,c,d)),b.require=q.require,b.directiveName=s,(E===q||q.$$isolateScope)&&(b=fa(b,{isolateScope:!0})),k.push(b))}function n(a,b,c,d){var e;if(x(b)){var f=b.match(w),g=b.substring(f[0].length),h=f[1]||f[3],i="?"===f[2];if("^^"===h?c=c.parent():(e=d&&d[g],e=e&&e.instance),!e){var j="$"+g+"Controller";e=h?c.inheritedData(j):c.data(j)}if(!e&&!i)throw Ne("ctreq","Controller '{0}', required by directive '{1}', can't be found!",g,a)}else if(Rd(b)){e=[];for(var k=0,l=b.length;l>k;k++)e[k]=n(a,b[k],c,d)}return e||null}function o(a,b,c,d,e,f){var g=qa();for(var h in d){var i=d[h],j={$scope:i===E||i.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},k=i.controller;"@"==k&&(k=b[i.name]);var l=r(k,j,!0,i.controllerAs);g[i.name]=l,a.data("$"+i.name+"Controller",l.instance)}return g}function p(a,b,e,g,h){function i(a,b,d){var e;return D(a)||(d=b,b=a,a=c),K&&(e=q),d||(d=K?s.parent():s),h(a,b,e,d,G)}var l,m,p,q,r,s,t,u,v;d===e?(t=f,s=f.$$element):(s=Fd(e),t=new ia(s,f)),p=b,E?m=b.$new(!0):B&&(p=b.$parent),h&&(r=i,r.$$boundTransclude=h),C&&(q=o(s,t,r,C,m,b)),E&&(I.$$addScopeInfo(s,m,!0,!(F&&(F===E||F===E.$$originalDirective))),I.$$addScopeClass(s,!0),m.$$isolateBindings=E.$$isolateBindings,u=ha(b,t,m,m.$$isolateBindings,E),u&&m.$on("$destroy",u));for(var w in q){var x=C[w],y=q[w],z=x.$$bindings.bindToController;y.identifier&&z&&(v=ha(p,t,y.instance,z,x));var A=y();A!==y.instance&&(y.instance=A,s.data("$"+x.name+"Controller",A),v&&v(),v=ha(p,t,y.instance,z,x))}for(Q=0,T=j.length;T>Q;Q++)l=j[Q],ga(l,l.isolateScope?m:b,s,t,l.require&&n(l.directiveName,l.require,s,q),r);var G=b;for(E&&(E.template||null===E.templateUrl)&&(G=m),a&&a(G,e.childNodes,c,h),Q=k.length-1;Q>=0;Q--)l=k[Q],ga(l,l.isolateScope?m:b,s,t,l.require&&n(l.directiveName,l.require,s,q),r)}l=l||{};for(var q,s,t,u,y,z=-Number.MAX_VALUE,B=l.newScopeDirective,C=l.controllerDirectives,E=l.newIsolateScopeDirective,F=l.templateDirective,G=l.nonTlbTranscludeDirective,H=!1,J=!1,K=l.hasElementTranscludeDirective,L=f.$$element=Fd(d),M=i,N=g,Q=0,T=a.length;T>Q;Q++){ +q=a[Q];var V=q.$$start,W=q.$$end;if(V&&(L=P(d,V,W)),t=c,z>q.priority)break;if((y=q.scope)&&(q.templateUrl||(v(y)?(_("new/isolated scope",E||B,q,L),E=q):_("new/isolated scope",E,q,L)),B=B||q),s=q.name,!q.templateUrl&&q.controller&&(y=q.controller,C=C||qa(),_("'"+s+"' controller",C[s],q,L),C[s]=q),(y=q.transclude)&&(H=!0,q.$$tlb||(_("transclusion",G,q,L),G=q),"element"==y?(K=!0,z=q.priority,t=L,L=f.$$element=Fd(b.createComment(" "+s+": "+f[s]+" ")),d=L[0],ea(h,S(t),d),N=I(t,g,z,M&&M.name,{nonTlbTranscludeDirective:G})):(t=Fd(Ea(d)).contents(),L.empty(),N=I(t,g,c,c,{needsNewScope:q.$$isolateScope||q.$$newScope}))),q.template)if(J=!0,_("template",F,q,L),F=q,y=A(q.template)?q.template(L,f):q.template,y=na(y),q.replace){if(M=q,t=xa(y)?[]:ob(ba(q.templateNamespace,Td(y))),d=t[0],1!=t.length||d.nodeType!==_d)throw Ne("tplrt","Template for directive '{0}' must have exactly one root element. {1}",s,"");ea(h,L,d);var Z={$attr:{}},aa=O(d,[],Z),ca=a.splice(Q+1,a.length-(Q+1));(E||B)&&U(aa,E,B),a=a.concat(aa).concat(ca),X(f,Z),T=a.length}else L.html(y);if(q.templateUrl)J=!0,_("template",F,q,L),F=q,q.replace&&(M=q),p=Y(a.splice(Q,a.length-Q),L,f,h,H&&N,j,k,{controllerDirectives:C,newScopeDirective:B!==q&&B,newIsolateScopeDirective:E,templateDirective:F,nonTlbTranscludeDirective:G}),T=a.length;else if(q.compile)try{u=q.compile(L,f,N),A(u)?m(null,u,V,W):u&&m(u.pre,u.post,V,W)}catch(da){e(da,$(L))}q.terminal&&(p.terminal=!0,z=Math.max(z,q.priority))}return p.scope=B&&B.scope===!0,p.transcludeOnThisElement=H,p.templateOnThisElement=J,p.transclude=N,l.hasElementTranscludeDirective=K,p}function U(a,b,c){for(var d=0,e=a.length;e>d;d++)a[d]=o(a[d],{$$isolateScope:b,$$newScope:c})}function V(b,c,d,f,h,i,l){if(c===h)return null;var m=null;if(j.hasOwnProperty(c))for(var n,p=a.get(c+k),q=0,r=p.length;r>q;q++)try{if(n=p[q],(t(f)||f>n.priority)&&-1!=n.restrict.indexOf(d)){if(i&&(n=o(n,{$$start:i,$$end:l})),!n.$$bindings){var s=n.$$bindings=g(n,n.name);v(s.isolateScope)&&(n.$$isolateBindings=s.isolateScope)}b.push(n),m=n}}catch(u){e(u)}return m}function W(b){if(j.hasOwnProperty(b))for(var c,d=a.get(b+k),e=0,f=d.length;f>e;e++)if(c=d[e],c.multiElement)return!0;return!1}function X(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))}),f(b,function(b,f){"class"==f?(G(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function Y(a,b,c,d,e,g,i,j){var k,l,m=[],n=b[0],p=a.shift(),q=o(p,{templateUrl:null,transclude:null,replace:null,$$originalDirective:p}),r=A(p.templateUrl)?p.templateUrl(b,c):p.templateUrl,s=p.templateNamespace;return b.empty(),h(r).then(function(h){var o,t,u,w;if(h=na(h),p.replace){if(u=xa(h)?[]:ob(ba(s,Td(h))),o=u[0],1!=u.length||o.nodeType!==_d)throw Ne("tplrt","Template for directive '{0}' must have exactly one root element. {1}",p.name,r);t={$attr:{}},ea(d,b,o);var x=O(o,[],t);v(p.scope)&&U(x,!0),a=x.concat(a),X(c,t)}else o=n,b.html(h);for(a.unshift(q),k=T(a,o,c,e,b,p,g,i,j),f(d,function(a,c){a==o&&(d[c]=b[0])}),l=K(b[0].childNodes,e);m.length;){var y=m.shift(),z=m.shift(),A=m.shift(),B=m.shift(),C=b[0];if(!y.$$destroyed){if(z!==n){var D=z.className;j.hasElementTranscludeDirective&&p.replace||(C=Ea(o)),ea(A,Fd(z),C),G(Fd(C),D)}w=k.transcludeOnThisElement?L(y,k.transclude,B):B,k(l,y,C,d,w)}}m=null}),function(a,b,c,d,e){var f=e;b.$$destroyed||(m?m.push(b,c,d,f):(k.transcludeOnThisElement&&(f=L(b,k.transclude,e)),k(l,b,c,d,f)))}}function Z(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.name"+c+"",d.childNodes[0].childNodes;default:return c}}function ca(a,b){if("srcdoc"==b)return C.HTML;var c=M(a);return"xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b)?C.RESOURCE_URL:void 0}function da(a,b,c,e,f){var g=ca(a,e);f=s[e]||f;var h=d(c,!0,g,f);if(h){if("multiple"===e&&"select"===M(a))throw Ne("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",$(a));b.push({priority:100,compile:function(){return{pre:function(a,b,i){var j=i.$$observers||(i.$$observers=qa());if(y.test(e))throw Ne("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var k=i[e];k!==c&&(h=k&&d(k,!0,g,f),c=k),h&&(i[e]=h(a),(j[e]||(j[e]=[])).$$inter=!0,(i.$$observers&&i.$$observers[e].$$scope||a).$watch(h,function(a,b){"class"===e&&a!=b?i.$updateClass(a,b):i.$set(e,a)}))}}}})}}function ea(a,c,d){var e,f,g=c[0],h=c.length,i=g.parentNode;if(a)for(e=0,f=a.length;f>e;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1,a.context===g&&(a.context=d);break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),Fd.hasData(g)&&(Fd.data(d,Fd.data(g)),Gd?(Qd=!0,Gd.cleanData([g])):delete Fd.cache[g[Fd.expando]]);for(var n=1,o=c.length;o>n;n++){var p=c[n];Fd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function fa(a,b){return l(function(){return a.apply(null,arguments)},a,b)}function ga(a,b,c,d,f,g){try{a(b,c,d,f,g)}catch(h){e(h,$(c))}}function ha(a,b,c,e,g){var h=[];return f(e,function(e,f){var j,k,l,m,n=e.attrName,o=e.optional,q=e.mode;switch(q){case"@":o||Ad.call(b,n)||(c[f]=b[n]=void 0),b.$observe(n,function(a){x(a)&&(c[f]=a)}),b.$$observers[n].$$scope=a,j=b[n],x(j)?c[f]=d(j)(a):H(j)&&(c[f]=j);break;case"=":if(!Ad.call(b,n)){if(o)break;b[n]=void 0}if(o&&!b[n])break;k=i(b[n]),m=k.literal?Q:function(a,b){return a===b||a!==a&&b!==b},l=k.assign||function(){throw j=c[f]=k(a),Ne("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",b[n],n,g.name)},j=c[f]=k(a);var r=function(b){return m(b,c[f])||(m(b,j)?l(a,b=c[f]):c[f]=b),j=b};r.$stateful=!0;var s;s=e.collection?a.$watchCollection(b[n],r):a.$watch(i(b[n],r),null,k.literal),h.push(s);break;case"&":if(k=b.hasOwnProperty(n)?i(b[n]):p,k===p&&o)break;c[f]=function(b){return k(a,b)}}}),h.length&&function(){for(var a=0,b=h.length;b>a;++a)h[a]()}}var ia=function(a,b){if(b){var c,d,e,f=Object.keys(b);for(c=0,d=f.length;d>c;c++)e=f[c],this[e]=b[e]}else this.$attr={};this.$$element=a};ia.prototype={$normalize:mb,$addClass:function(a){a&&a.length>0&&E.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&E.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=nb(a,b);c&&c.length&&E.addClass(this.$$element,c);var d=nb(b,a);d&&d.length&&E.removeClass(this.$$element,d)},$set:function(a,b,c,d){var g,h=this.$$element[0],i=Ta(h,a),j=Ua(a),k=a;if(i?(this.$$element.prop(a,b),d=i):j&&(this[j]=b,k=j),this[a]=b,d?this.$attr[a]=d:(d=this.$attr[a],d||(this.$attr[a]=d=ja(a,"-"))),g=M(this.$$element),"a"===g&&"href"===a||"img"===g&&"src"===a)this[a]=b=F(b,"src"===a);else if("img"===g&&"srcset"===a&&u(b)){for(var l="",m=Td(b),n=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,o=/\s/.test(m)?n:/(,)/,p=m.split(o),q=Math.floor(p.length/2),r=0;q>r;r++){var s=2*r;l+=F(Td(p[s]),!0),l+=" "+Td(p[s+1])}var v=Td(p[2*r]).split(/\s/);l+=F(Td(v[0]),!0),2===v.length&&(l+=" "+Td(v[1])),this[a]=b=l}c!==!1&&(null===b||t(b)?this.$$element.removeAttr(d):this.$$element.attr(d,b));var w=this.$$observers;w&&f(w[k],function(a){try{a(b)}catch(c){e(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=qa()),e=d[a]||(d[a]=[]);return e.push(b),z.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||t(c[a])||b(c[a])}),function(){N(e,b)}}};var ka=d.startSymbol(),ma=d.endSymbol(),na="{{"==ka&&"}}"==ma?q:function(a){return a.replace(/\{\{/g,ka).replace(/}}/g,ma)},oa=/^ngAttr[A-Z]/,pa=/^(.+)Start$/;return I.$$addBindingInfo=B?function(a,b){var c=a.data("$binding")||[];Rd(b)?c=c.concat(b):c.push(b),a.data("$binding",c)}:p,I.$$addBindingClass=B?function(a){G(a,"ng-binding")}:p,I.$$addScopeInfo=B?function(a,b,c,d){var e=c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope";a.data(e,b)}:p,I.$$addScopeClass=B?function(a,b){G(a,b?"ng-isolate-scope":"ng-scope")}:p,I}]}function mb(a){return wa(a.replace(Oe,""))}function nb(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f0?" ":"")+g}return c}function ob(a){a=Fd(a);var b=a.length;if(1>=b)return a;for(;b--;){var c=a[b];c.nodeType===ce&&Jd.call(a,b,1)}return a}function pb(a,b){if(b&&x(b))return b;if(x(a)){var c=Qe.exec(a);if(c)return c[3]}}function qb(){var a={},b=!1;this.register=function(b,c){na(b,"controller"),v(b)?l(a,b):a[b]=c},this.allowGlobals=function(){b=!0},this.$get=["$injector","$window",function(e,f){function g(a,b,c,e){if(!a||!v(a.$scope))throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",e,b);a.$scope[b]=c}return function(d,h,i,j){var k,m,n,o;if(i=i===!0,j&&x(j)&&(o=j),x(d)){if(m=d.match(Qe),!m)throw Pe("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",d);n=m[1],o=o||m[3],d=a.hasOwnProperty(n)?a[n]:oa(h.$scope,n,!0)||(b?oa(f,n,!0):c),ma(d,n,!0)}if(i){var p=(Rd(d)?d[d.length-1]:d).prototype;k=Object.create(p||null),o&&g(h,o,k,n||d.name);var q;return q=l(function(){var a=e.invoke(d,k,h,n);return a!==k&&(v(a)||A(a))&&(k=a,o&&g(h,o,k,n||d.name)),k},{instance:k,identifier:o})}return k=e.instantiate(d,h,n),o&&g(h,o,k,n||d.name),k}}]}function rb(){this.$get=["$window",function(a){return Fd(a.document)}]}function sb(){this.$get=["$log",function(a){return function(b,c){a.error.apply(a,arguments)}}]}function tb(a){return v(a)?z(a)?a.toISOString():V(a):a}function ub(){this.$get=function(){return function(a){if(!a)return"";var b=[];return g(a,function(a,c){null===a||t(a)||(Rd(a)?f(a,function(a,d){b.push(da(c)+"="+da(tb(a)))}):b.push(da(c)+"="+da(tb(a))))}),b.join("&")}}}function vb(){this.$get=function(){return function(a){function b(a,d,e){null===a||t(a)||(Rd(a)?f(a,function(a,c){b(a,d+"["+(v(a)?c:"")+"]")}):v(a)&&!z(a)?g(a,function(a,c){b(a,d+(e?"":"[")+c+(e?"":"]"))}):c.push(da(d)+"="+da(tb(a))))}if(!a)return"";var c=[];return b(a,"",!0),c.join("&")}}}function wb(a,b){if(x(a)){var c=a.replace(We,"").trim();if(c){var d=b("Content-Type");(d&&0===d.indexOf(Se)||xb(c))&&(a=W(c))}}return a}function xb(a){var b=a.match(Ue);return b&&Ve[b[0]].test(a)}function yb(a){function b(a,b){a&&(d[a]=d[a]?d[a]+", "+b:b)}var c,d=qa();return x(a)?f(a.split("\n"),function(a){c=a.indexOf(":"),b(zd(Td(a.substr(0,c))),Td(a.substr(c+1)))}):v(a)&&f(a,function(a,c){b(zd(c),Td(a))}),d}function zb(a){var b;return function(c){if(b||(b=yb(a)),c){var d=b[zd(c)];return void 0===d&&(d=null),d}return b}}function Ab(a,b,c,d){return A(d)?d(a,b,c):(f(d,function(d){a=d(a,b,c)}),a)}function Bb(a){return a>=200&&300>a}function Cb(){var a=this.defaults={transformResponse:[wb],transformRequest:[function(a){return!v(a)||E(a)||G(a)||F(a)?a:V(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:P(Te),put:P(Te),patch:P(Te)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},b=!1;this.useApplyAsync=function(a){return u(a)?(b=!!a,this):b};var e=!0;this.useLegacyPromiseExtensions=function(a){return u(a)?(e=!!a,this):e};var g=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(h,i,j,k,m,n){function o(b){function g(a){var b=l({},a);return b.data=Ab(a.data,a.headers,a.status,j.transformResponse),Bb(a.status)?b:m.reject(b)}function h(a,b){var c,d={};return f(a,function(a,e){A(a)?(c=a(b),null!=c&&(d[e]=c)):d[e]=a}),d}function i(b){var c,d,e,f=a.headers,g=l({},b.headers);f=l({},f.common,f[zd(b.method)]);a:for(c in f){d=zd(c);for(e in g)if(zd(e)===d)continue a;g[c]=f[c]}return h(g,P(b))}if(!Od.isObject(b))throw d("$http")("badreq","Http request configuration must be an object. Received: {0}",b);if(!x(b.url))throw d("$http")("badreq","Http request configuration url must be a string. Received: {0}",b.url);var j=l({method:"get",transformRequest:a.transformRequest,transformResponse:a.transformResponse,paramSerializer:a.paramSerializer},b);j.headers=i(b),j.method=Bd(j.method),j.paramSerializer=x(j.paramSerializer)?n.get(j.paramSerializer):j.paramSerializer;var k=function(b){var d=b.headers,e=Ab(b.data,zb(d),c,b.transformRequest);return t(e)&&f(d,function(a,b){"content-type"===zd(b)&&delete d[b]}),t(b.withCredentials)&&!t(a.withCredentials)&&(b.withCredentials=a.withCredentials),r(b,e).then(g,g)},o=[k,c],p=m.when(j);for(f(y,function(a){(a.request||a.requestError)&&o.unshift(a.request,a.requestError),(a.response||a.responseError)&&o.push(a.response,a.responseError)});o.length;){var q=o.shift(),s=o.shift();p=p.then(q,s)}return e?(p.success=function(a){return ma(a,"fn"),p.then(function(b){a(b.data,b.status,b.headers,j)}),p},p.error=function(a){return ma(a,"fn"),p.then(null,function(b){a(b.data,b.status,b.headers,j)}),p}):(p.success=Ye("success"),p.error=Ye("error")),p}function p(a){f(arguments,function(a){o[a]=function(b,c){return o(l({},c||{},{method:a,url:b}))}})}function q(a){f(arguments,function(a){o[a]=function(b,c,d){return o(l({},d||{},{method:a,url:b,data:c}))}})}function r(d,e){function f(a,c,d,e){function f(){g(c,a,d,e)}n&&(Bb(a)?n.put(y,[a,c,yb(d),e]):n.remove(y)),b?k.$applyAsync(f):(f(),k.$$phase||k.$apply())}function g(a,b,c,e){b=b>=-1?b:0,(Bb(b)?q.resolve:q.reject)({data:a,status:b,headers:zb(c),config:d,statusText:e})}function j(a){g(a.data,a.status,P(a.headers()),a.statusText)}function l(){var a=o.pendingRequests.indexOf(d);-1!==a&&o.pendingRequests.splice(a,1)}var n,p,q=m.defer(),r=q.promise,x=d.headers,y=s(d.url,d.paramSerializer(d.params));if(o.pendingRequests.push(d),r.then(l,l),!d.cache&&!a.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(n=v(d.cache)?d.cache:v(a.cache)?a.cache:w),n&&(p=n.get(y),u(p)?I(p)?p.then(j,j):Rd(p)?g(p[1],p[0],P(p[2]),p[3]):g(p,200,{},"OK"):n.put(y,r)),t(p)){var z=Dc(d.url)?i()[d.xsrfCookieName||a.xsrfCookieName]:c;z&&(x[d.xsrfHeaderName||a.xsrfHeaderName]=z),h(d.method,y,e,f,x,d.timeout,d.withCredentials,d.responseType)}return r}function s(a,b){return b.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+b),a}var w=j("$http");a.paramSerializer=x(a.paramSerializer)?n.get(a.paramSerializer):a.paramSerializer;var y=[];return f(g,function(a){y.unshift(x(a)?n.get(a):n.invoke(a))}),o.pendingRequests=[],p("get","delete","head","jsonp"),q("post","put","patch"),o.defaults=a,o}]}function Db(){this.$get=function(){return function(){return new a.XMLHttpRequest}}}function Eb(){this.$get=["$browser","$window","$document","$xhrFactory",function(a,b,c,d){return Fb(a,d,a.defer,b.angular.callbacks,c[0])}]}function Fb(a,b,c,d,e){function g(a,b,c){var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){je(f,"load",g),je(f,"error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},ie(f,"load",g),ie(f,"error",g),e.body.appendChild(f),g}return function(e,h,i,j,k,l,m,n){function o(){s&&s(),v&&v.abort()}function q(b,d,e,f,g){u(y)&&c.cancel(y),s=v=null,b(d,e,f,g),a.$$completeOutstandingRequest(p)}if(a.$$incOutstandingRequestCount(),h=h||a.url(),"jsonp"==zd(e)){var r="_"+(d.counter++).toString(36);d[r]=function(a){d[r].data=a,d[r].called=!0};var s=g(h.replace("JSON_CALLBACK","angular.callbacks."+r),r,function(a,b){q(j,a,d[r].data,"",b),d[r]=p})}else{var v=b(e,h);v.open(e,h,!0),f(k,function(a,b){u(a)&&v.setRequestHeader(b,a)}),v.onload=function(){var a=v.statusText||"",b="response"in v?v.response:v.responseText,c=1223===v.status?204:v.status;0===c&&(c=b?200:"file"==Cc(h).protocol?404:0),q(j,c,b,v.getAllResponseHeaders(),a)};var w=function(){q(j,-1,null,null,"")};if(v.onerror=w,v.onabort=w,m&&(v.withCredentials=!0),n)try{v.responseType=n}catch(x){if("json"!==n)throw x}v.send(t(i)?null:i)}if(l>0)var y=c(o,l);else I(l)&&l.then(o)}}function Gb(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,a).replace(n,b)}function h(a){if(null==a)return"";switch(typeof a){case"string":break;case"number":a=""+a;break;default:a=V(a)}return a}function i(f,i,m,n){function o(a){try{return a=C(a),n&&!u(a)?a:h(a)}catch(b){d(Ze.interr(f,b))}}n=!!n;for(var p,q,r,s=0,v=[],w=[],x=f.length,y=[],z=[];x>s;){if(-1==(p=f.indexOf(a,s))||-1==(q=f.indexOf(b,p+j))){s!==x&&y.push(g(f.substring(s)));break}s!==p&&y.push(g(f.substring(s,p))),r=f.substring(p+j,q),v.push(r),w.push(c(r,o)),s=q+k,z.push(y.length),y.push("")}if(m&&y.length>1&&Ze.throwNoconcat(f),!i||v.length){var B=function(a){for(var b=0,c=v.length;c>b;b++){if(n&&t(a[b]))return;y[z[b]]=a[b]}return y.join("")},C=function(a){return m?e.getTrusted(m,a):e.valueOf(a)};return l(function(a){var b=0,c=v.length,e=new Array(c);try{for(;c>b;b++)e[b]=w[b](a);return B(e)}catch(g){d(Ze.interr(f,g))}},{exp:f,expressions:v,$$watchDelegate:function(a,b){var c;return a.$watchGroup(w,function(d,e){var f=B(d);A(b)&&b.call(this,f,d!==e?c:f,a),c=f})}})}}var j=a.length,k=b.length,m=new RegExp(a.replace(/./g,f),"g"),n=new RegExp(b.replace(/./g,f),"g");return i.startSymbol=function(){return a},i.endSymbol=function(){return b},i}]}function Hb(){this.$get=["$rootScope","$window","$q","$$q",function(a,b,c,d){function e(e,g,h,i){var j=arguments.length>4,k=j?S(arguments,4):[],l=b.setInterval,m=b.clearInterval,n=0,o=u(i)&&!i,p=(o?d:c).defer(),q=p.promise;return h=u(h)?h:0,q.then(null,null,j?function(){e.apply(null,k)}:e),q.$$intervalId=l(function(){p.notify(n++),h>0&&n>=h&&(p.resolve(n),m(q.$$intervalId),delete f[q.$$intervalId]),o||a.$apply()},g),f[q.$$intervalId]=p,q}var f={};return e.cancel=function(a){return a&&a.$$intervalId in f?(f[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete f[a.$$intervalId],!0):!1},e}]}function Ib(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=ca(b[c]);return b.join("/")}function Jb(a,b){var c=Cc(a);b.$$protocol=c.protocol,b.$$host=c.hostname,b.$$port=n(c.port)||_e[c.protocol]||null}function Kb(a,b){var c="/"!==a.charAt(0);c&&(a="/"+a);var d=Cc(a);b.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname),b.$$search=aa(d.search),b.$$hash=decodeURIComponent(d.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function Lb(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function Mb(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function Nb(a){return a.replace(/(#.+)|#$/,"$1")}function Ob(a){return a.substr(0,Mb(a).lastIndexOf("/")+1)}function Pb(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function Qb(a,b,c){this.$$html5=!0,c=c||"",Jb(a,this),this.$$parse=function(a){var c=Lb(b,a);if(!x(c))throw af("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',a,b);Kb(c,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=ba(this.$$search),c=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Ib(this.$$path)+(a?"?"+a:"")+c,this.$$absUrl=b+this.$$url.substr(1)},this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g,h;return u(f=Lb(a,d))?(g=f,h=u(f=Lb(c,f))?b+(Lb("/",f)||f):a+g):u(f=Lb(b,d))?h=b+f:b==d+"/"&&(h=b),h&&this.$$parse(h),!!h}}function Rb(a,b,c){Jb(a,this),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f,g=Lb(a,d)||Lb(b,d);t(g)||"#"!==g.charAt(0)?this.$$html5?f=g:(f="",t(g)&&(a=d,this.replace())):(f=Lb(c,g),t(f)&&(f=g)),Kb(f,this),this.$$path=e(this.$$path,f,a),this.$$compose()},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Ib(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+(this.$$url?c+this.$$url:"")},this.$$parseLinkUrl=function(b,c){return Mb(a)==Mb(b)?(this.$$parse(b),!0):!1}}function Sb(a,b,c){this.$$html5=!0,Rb.apply(this,arguments),this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;return a==Mb(d)?f=d:(g=Lb(b,d))?f=a+c+g:b===d+"/"&&(f=b),f&&this.$$parse(f),!!f},this.$$compose=function(){var b=ba(this.$$search),d=this.$$hash?"#"+ca(this.$$hash):"";this.$$url=Ib(this.$$path)+(b?"?"+b:"")+d,this.$$absUrl=a+c+this.$$url}}function Tb(a){return function(){return this[a]}}function Ub(a,b){return function(c){return t(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function Vb(){var a="",b={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(b){return u(b)?(a=b,this):a},this.html5Mode=function(a){return H(a)?(b.enabled=a,this):v(a)?(H(a.enabled)&&(b.enabled=a.enabled),H(a.requireBase)&&(b.requireBase=a.requireBase),H(a.rewriteLinks)&&(b.rewriteLinks=a.rewriteLinks),this):b},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=j.url(),f=j.$$state;try{d.url(a,b,c),j.$$state=d.state()}catch(g){throw j.url(e),j.$$state=f,g}}function i(a,b){c.$broadcast("$locationChangeSuccess",j.absUrl(),a,j.$$state,b)}var j,k,l,m=d.baseHref(),n=d.url();if(b.enabled){if(!m&&b.requireBase)throw af("nobase","$location in HTML5 mode requires a tag to be present!");l=Pb(n)+(m||"/"),k=e.history?Qb:Sb}else l=Mb(n),k=Rb;var o=Ob(l);j=new k(l,o,"#"+a),j.$$parseLinkUrl(n,n),j.$$state=d.state();var p=/^\s*(javascript|mailto):/i;f.on("click",function(a){if(b.rewriteLinks&&!a.ctrlKey&&!a.metaKey&&!a.shiftKey&&2!=a.which&&2!=a.button){for(var e=Fd(a.target);"a"!==M(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),i=e.attr("href")||e.attr("xlink:href");v(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Cc(h.animVal).href),p.test(h)||!h||e.attr("target")||a.isDefaultPrevented()||j.$$parseLinkUrl(h,i)&&(a.preventDefault(),j.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}}),Nb(j.absUrl())!=Nb(n)&&d.url(j.absUrl(),!0);var q=!0;return d.onUrlChange(function(a,b){return t(Lb(o,a))?void(g.location.href=a):(c.$evalAsync(function(){var d,e=j.absUrl(),f=j.$$state;a=Nb(a),j.$$parse(a),j.$$state=b,d=c.$broadcast("$locationChangeStart",a,e,b,f).defaultPrevented,j.absUrl()===a&&(d?(j.$$parse(e),j.$$state=f,h(e,!1,f)):(q=!1,i(e,f)))}),void(c.$$phase||c.$digest()))}),c.$watch(function(){var a=Nb(d.url()),b=Nb(j.absUrl()),f=d.state(),g=j.$$replace,k=a!==b||j.$$html5&&e.history&&f!==j.$$state;(q||k)&&(q=!1,c.$evalAsync(function(){var b=j.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,j.$$state,f).defaultPrevented;j.absUrl()===b&&(d?(j.$$parse(a),j.$$state=f):(k&&h(b,g,f===j.$$state?null:j.$$state),i(a,f)))})),j.$$replace=!1}),j}]}function Wb(){var a=!0,b=this;this.debugEnabled=function(b){return u(b)?(a=b,this):a},this.$get=["$window",function(c){function d(a){return a instanceof Error&&(a.stack?a=a.message&&-1===a.stack.indexOf(a.message)?"Error: "+a.message+"\n"+a.stack:a.stack:a.sourceURL&&(a=a.message+"\n"+a.sourceURL+":"+a.line)),a}function e(a){var b=c.console||{},e=b[a]||b.log||p,g=!1;try{g=!!e.apply}catch(h){}return g?function(){var a=[];return f(arguments,function(b){a.push(d(b))}),e.apply(b,a)}:function(a,b){e(a,null==b?"":b)}}return{log:e("log"),info:e("info"),warn:e("warn"),error:e("error"),debug:function(){var c=e("debug");return function(){a&&c.apply(b,arguments)}}()}}]}function Xb(a,b){if("__defineGetter__"===a||"__defineSetter__"===a||"__lookupGetter__"===a||"__lookupSetter__"===a||"__proto__"===a)throw cf("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",b);return a}function Yb(a,b){if(a+="",!x(a))throw cf("iseccst","Cannot convert object to primitive value! Expression: {0}",b);return a}function Zb(a,b){if(a){if(a.constructor===a)throw cf("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a.window===a)throw cf("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",b);if(a.children&&(a.nodeName||a.prop&&a.attr&&a.find))throw cf("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",b);if(a===Object)throw cf("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",b)}return a}function $b(a,b){if(a){if(a.constructor===a)throw cf("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",b);if(a===df||a===ef||a===ff)throw cf("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",b)}}function _b(a,b){if(a&&(a===0..constructor||a===(!1).constructor||a==="".constructor||a==={}.constructor||a===[].constructor||a===Function.constructor))throw cf("isecaf","Assigning to a constructor is disallowed! Expression: {0}",b)}function ac(a,b){return"undefined"!=typeof a?a:b}function bc(a,b){return"undefined"==typeof a?b:"undefined"==typeof b?a:a+b}function cc(a,b){var c=a(b);return!c.$stateful}function dc(a,b){var c,d;switch(a.type){case kf.Program:c=!0,f(a.body,function(a){dc(a.expression,b),c=c&&a.expression.constant}),a.constant=c;break;case kf.Literal:a.constant=!0,a.toWatch=[];break;case kf.UnaryExpression:dc(a.argument,b),a.constant=a.argument.constant,a.toWatch=a.argument.toWatch;break;case kf.BinaryExpression:dc(a.left,b),dc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.left.toWatch.concat(a.right.toWatch);break;case kf.LogicalExpression:dc(a.left,b),dc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=a.constant?[]:[a];break;case kf.ConditionalExpression:dc(a.test,b),dc(a.alternate,b),dc(a.consequent,b),a.constant=a.test.constant&&a.alternate.constant&&a.consequent.constant,a.toWatch=a.constant?[]:[a];break;case kf.Identifier:a.constant=!1,a.toWatch=[a];break;case kf.MemberExpression:dc(a.object,b),a.computed&&dc(a.property,b),a.constant=a.object.constant&&(!a.computed||a.property.constant),a.toWatch=[a];break;case kf.CallExpression:c=a.filter?cc(b,a.callee.name):!1,d=[],f(a.arguments,function(a){dc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=a.filter&&cc(b,a.callee.name)?d:[a];break;case kf.AssignmentExpression:dc(a.left,b),dc(a.right,b),a.constant=a.left.constant&&a.right.constant,a.toWatch=[a];break;case kf.ArrayExpression:c=!0,d=[],f(a.elements,function(a){dc(a,b),c=c&&a.constant,a.constant||d.push.apply(d,a.toWatch)}),a.constant=c,a.toWatch=d;break;case kf.ObjectExpression:c=!0,d=[],f(a.properties,function(a){dc(a.value,b),c=c&&a.value.constant,a.value.constant||d.push.apply(d,a.value.toWatch)}),a.constant=c,a.toWatch=d;break;case kf.ThisExpression:a.constant=!1,a.toWatch=[]}}function ec(a){if(1==a.length){var b=a[0].expression,d=b.toWatch;return 1!==d.length?d:d[0]!==b?d:c}}function fc(a){return a.type===kf.Identifier||a.type===kf.MemberExpression}function gc(a){return 1===a.body.length&&fc(a.body[0].expression)?{type:kf.AssignmentExpression,left:a.body[0].expression,right:{type:kf.NGValueParameter},operator:"="}:void 0}function hc(a){return 0===a.body.length||1===a.body.length&&(a.body[0].expression.type===kf.Literal||a.body[0].expression.type===kf.ArrayExpression||a.body[0].expression.type===kf.ObjectExpression)}function ic(a){return a.constant}function jc(a,b){this.astBuilder=a,this.$filter=b}function kc(a,b){this.astBuilder=a,this.$filter=b}function lc(a){return"constructor"==a}function mc(a){return A(a.valueOf)?a.valueOf():mf.call(a)}function nc(){var a=qa(),b=qa();this.$get=["$filter",function(d){function e(c,e,f){var h,n,s;switch(f=f||r,typeof c){case"string":c=c.trim(),s=c;var t=f?b:a;if(h=t[s],!h){":"===c.charAt(0)&&":"===c.charAt(1)&&(n=!0,c=c.substring(2));var u=f?q:o,v=new jf(u),w=new lf(v,d,u);h=w.parse(c),h.constant?h.$$watchDelegate=l:n?h.$$watchDelegate=h.literal?k:j:h.inputs&&(h.$$watchDelegate=i),f&&(h=g(h)),t[s]=h}return m(h,e);case"function":return m(c,e);default:return m(p,e)}}function g(a){function b(b,c,d,e){var f=r;r=!0;try{return a(b,c,d,e)}finally{r=f}}if(!a)return a;b.$$watchDelegate=a.$$watchDelegate,b.assign=g(a.assign),b.constant=a.constant,b.literal=a.literal;for(var c=0;a.inputs&&cm;m++)k[m]=h,l[m]=null;return a.$watch(function(a){for(var b=!1,d=0,f=i.length;f>d;d++){var j=i[d](a);(b||(b=!h(j,k[d])))&&(l[d]=j,k[d]=j&&mc(j))}return b&&(g=e(a,c,c,l)),g},b,d,f)}function j(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a,A(b)&&b.apply(this,arguments),u(a)&&d.$$postDigest(function(){u(f)&&e()})},c)}function k(a,b,c,d){function e(a){var b=!0;return f(a,function(a){u(a)||(b=!1)}),b}var g,h;return g=a.$watch(function(a){return d(a)},function(a,c,d){h=a,A(b)&&b.call(this,a,c,d),e(a)&&d.$$postDigest(function(){e(h)&&g()})},c)}function l(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){A(b)&&b.apply(this,arguments),e()},c)}function m(a,b){if(!b)return a;var c=a.$$watchDelegate,d=!1,e=c!==k&&c!==j,f=e?function(c,e,f,g){var h=d&&g?g[0]:a(c,e,f,g);return b(h,c,e)}:function(c,d,e,f){var g=a(c,d,e,f),h=b(g,c,d);return u(g)?h:g};return a.$$watchDelegate&&a.$$watchDelegate!==i?f.$$watchDelegate=a.$$watchDelegate:b.$stateful||(f.$$watchDelegate=i,d=!a.inputs,f.inputs=a.inputs?a.inputs:[a]),f}var n=Vd().noUnsafeEval,o={csp:n,expensiveChecks:!1},q={csp:n,expensiveChecks:!0},r=!1;return e.$$runningExpensiveChecks=function(){return r},e}]}function oc(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return qc(function(b){a.$evalAsync(b)},b)}]}function pc(){this.$get=["$browser","$exceptionHandler",function(a,b){return qc(function(b){a.defer(b)},b)}]}function qc(a,b){function e(a,b,c){function d(b){return function(c){e||(e=!0,b.call(a,c))}}var e=!1;return[d(b),d(c)]}function g(){this.$$state={status:0}}function h(a,b){return function(c){b.call(a,c)}}function i(a){var d,e,f;f=a.pending,a.processScheduled=!1,a.pending=c;for(var g=0,h=f.length;h>g;++g){e=f[g][0],d=f[g][a.status];try{A(d)?e.resolve(d(a.value)):1===a.status?e.resolve(a.value):e.reject(a.value)}catch(i){e.reject(i),b(i)}}}function j(b){!b.processScheduled&&b.pending&&(b.processScheduled=!0,a(function(){i(b)}))}function k(){this.promise=new g,this.resolve=h(this,this.resolve),this.reject=h(this,this.reject),this.notify=h(this,this.notify)}function m(a){var b=new k,c=0,d=Rd(a)?[]:{};return f(a,function(a,e){c++,s(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var n=d("$q",TypeError),o=function(){return new k};l(g.prototype,{then:function(a,b,c){if(t(a)&&t(b)&&t(c))return this;var d=new k;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([d,a,b,c]),this.$$state.status>0&&j(this.$$state),d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return r(b,!0,a)},function(b){return r(b,!1,a)},b)}}),l(k.prototype,{resolve:function(a){ +this.promise.$$state.status||(a===this.promise?this.$$reject(n("qcycle","Expected promise to be resolved with value other than itself '{0}'",a)):this.$$resolve(a))},$$resolve:function(a){var c,d;d=e(this,this.$$resolve,this.$$reject);try{(v(a)||A(a))&&(c=a&&a.then),A(c)?(this.promise.$$state.status=-1,c.call(a,d[0],d[1],this.notify)):(this.promise.$$state.value=a,this.promise.$$state.status=1,j(this.promise.$$state))}catch(f){d[1](f),b(f)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a,this.promise.$$state.status=2,j(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;this.promise.$$state.status<=0&&d&&d.length&&a(function(){for(var a,e,f=0,g=d.length;g>f;f++){e=d[f][0],a=d[f][3];try{e.notify(A(a)?a(c):c)}catch(h){b(h)}}})}});var p=function(a){var b=new k;return b.reject(a),b.promise},q=function(a,b){var c=new k;return b?c.resolve(a):c.reject(a),c.promise},r=function(a,b,c){var d=null;try{A(c)&&(d=c())}catch(e){return q(e,!1)}return I(d)?d.then(function(){return q(a,b)},function(a){return q(a,!1)}):q(a,b)},s=function(a,b,c,d){var e=new k;return e.resolve(a),e.promise.then(b,c,d)},u=s,w=function x(a){function b(a){d.resolve(a)}function c(a){d.reject(a)}if(!A(a))throw n("norslvr","Expected resolverFn, got '{0}'",a);if(!(this instanceof x))return new x(a);var d=new k;return a(b,c),d.promise};return w.defer=o,w.reject=p,w.when=s,w.resolve=u,w.all=m,w}function rc(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function sc(){function a(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=i(),this.$$ChildScope=null}return b.prototype=a,b}var b=10,c=d("$rootScope"),g=null,h=null;this.digestTtl=function(a){return arguments.length&&(b=a),b},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,j,k,l){function m(a){a.currentScope.$$destroyed=!0}function n(a){9===Ed&&(a.$$childHead&&n(a.$$childHead),a.$$nextSibling&&n(a.$$nextSibling)),a.$parent=a.$$nextSibling=a.$$prevSibling=a.$$childHead=a.$$childTail=a.$root=a.$$watchers=null}function o(){this.$id=i(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function q(a){if(z.$$phase)throw c("inprog","{0} already in progress",z.$$phase);z.$$phase=a}function r(){z.$$phase=null}function s(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function u(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function w(){}function x(){for(;D.length;)try{D.shift()()}catch(a){j(a)}h=null}function y(){null===h&&(h=l.defer(function(){z.$apply(x)}))}o.prototype={constructor:o,$new:function(b,c){var d;return c=c||this,b?(d=new o,d.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=a(this)),d=new this.$$ChildScope),d.$parent=c,d.$$prevSibling=c.$$childTail,c.$$childHead?(c.$$childTail.$$nextSibling=d,c.$$childTail=d):c.$$childHead=c.$$childTail=d,(b||c!=this)&&d.$on("$destroy",m),d},$watch:function(a,b,c,d){var e=k(a);if(e.$$watchDelegate)return e.$$watchDelegate(this,b,c,e,a);var f=this,h=f.$$watchers,i={fn:b,last:w,get:e,exp:d||a,eq:!!c};return g=null,A(b)||(i.fn=p),h||(h=f.$$watchers=[]),h.unshift(i),s(this,1),function(){N(h,i)>=0&&s(f,-1),g=null}},$watchGroup:function(a,b){function c(){i=!1,j?(j=!1,b(e,e,h)):b(e,d,h)}var d=new Array(a.length),e=new Array(a.length),g=[],h=this,i=!1,j=!0;if(!a.length){var k=!0;return h.$evalAsync(function(){k&&b(e,e,h)}),function(){k=!1}}return 1===a.length?this.$watch(a[0],function(a,c,f){e[0]=a,d[0]=c,b(e,a===c?e:d,f)}):(f(a,function(a,b){var f=h.$watch(a,function(a,f){e[b]=a,d[b]=f,i||(i=!0,h.$evalAsync(c))});g.push(f)}),function(){for(;g.length;)g.shift()()})},$watchCollection:function(a,b){function c(a){f=a;var b,c,d,h,i;if(!t(f)){if(v(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),b=f.length,q!==b&&(l++,g.length=q=b);for(var j=0;b>j;j++)i=g[j],h=f[j],d=i!==i&&h!==h,d||i===h||(l++,g[j]=h)}else{g!==o&&(g=o={},q=0,l++),b=0;for(c in f)Ad.call(f,c)&&(b++,h=f[c],i=g[c],c in g?(d=i!==i&&h!==h,d||i===h||(l++,g[c]=h)):(q++,g[c]=h,l++));if(q>b){l++;for(c in g)Ad.call(f,c)||(q--,delete g[c])}}else g!==f&&(g=f,l++);return l}}function d(){if(p?(p=!1,b(f,f,i)):b(f,h,i),j)if(v(f))if(e(f)){h=new Array(f.length);for(var a=0;a1,l=0,m=k(a,c),n=[],o={},p=!0,q=0;return this.$watch(m,d)},$digest:function(){var a,d,e,f,i,k,m,n,o,p,s,t,u=b,v=this,y=[];q("$digest"),l.$$checkUrlChange(),this===z&&null!==h&&(l.defer.cancel(h),x()),g=null;do{for(n=!1,p=v;B.length;){try{t=B.shift(),t.scope.$eval(t.expression,t.locals)}catch(D){j(D)}g=null}a:do{if(k=p.$$watchers)for(m=k.length;m--;)try{if(a=k[m])if(i=a.get,(d=i(p))===(e=a.last)||(a.eq?Q(d,e):"number"==typeof d&&"number"==typeof e&&isNaN(d)&&isNaN(e))){if(a===g){n=!1;break a}}else n=!0,g=a,a.last=a.eq?O(d,null):d,f=a.fn,f(d,e===w?d:e,p),5>u&&(s=4-u,y[s]||(y[s]=[]),y[s].push({msg:A(a.exp)?"fn: "+(a.exp.name||a.exp.toString()):a.exp,newVal:d,oldVal:e}))}catch(D){j(D)}if(!(o=p.$$watchersCount&&p.$$childHead||p!==v&&p.$$nextSibling))for(;p!==v&&!(o=p.$$nextSibling);)p=p.$parent}while(p=o);if((n||B.length)&&!u--)throw r(),c("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",b,y)}while(n||B.length);for(r();C.length;)try{C.shift()()}catch(D){j(D)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===z&&l.$$applicationDestroyed(),s(this,-this.$$watchersCount);for(var b in this.$$listenerCount)u(this,this.$$listenerCount[b],b);a&&a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a&&a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=p,this.$on=this.$watch=this.$watchGroup=function(){return p},this.$$listeners={},this.$$nextSibling=null,n(this)}},$eval:function(a,b){return k(a)(this,b)},$evalAsync:function(a,b){z.$$phase||B.length||l.defer(function(){B.length&&z.$digest()}),B.push({scope:this,expression:k(a),locals:b})},$$postDigest:function(a){C.push(a)},$apply:function(a){try{q("$apply");try{return this.$eval(a)}finally{r()}}catch(b){j(b)}finally{try{z.$digest()}catch(b){throw j(b),b}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&D.push(b),a=k(a),y()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,u(e,1,a))}},$emit:function(a,b){var c,d,e,f=[],g=this,h=!1,i={name:a,targetScope:g,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},k=R([i],arguments,1);do{for(c=g.$$listeners[a]||f,i.currentScope=g,d=0,e=c.length;e>d;d++)if(c[d])try{c[d].apply(null,k)}catch(l){j(l)}else c.splice(d,1),d--,e--;if(h)return i.currentScope=null,i;g=g.$parent}while(g);return i.currentScope=null,i},$broadcast:function(a,b){var c=this,d=c,e=c,f={name:a,targetScope:c,preventDefault:function(){f.defaultPrevented=!0},defaultPrevented:!1};if(!c.$$listenerCount[a])return f;for(var g,h,i,k=R([f],arguments,1);d=e;){for(f.currentScope=d,g=d.$$listeners[a]||[],h=0,i=g.length;i>h;h++)if(g[h])try{g[h].apply(null,k)}catch(l){j(l)}else g.splice(h,1),h--,i--;if(!(e=d.$$listenerCount[a]&&d.$$childHead||d!==c&&d.$$nextSibling))for(;d!==c&&!(e=d.$$nextSibling);)d=d.$parent}return f.currentScope=null,f}};var z=new o,B=z.$$asyncQueue=[],C=z.$$postDigestQueue=[],D=z.$$applyAsyncQueue=[];return z}]}function tc(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return u(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return u(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return e=Cc(c).href,""===e||e.match(f)?c:"unsafe:"+e}}}function uc(a){if("self"===a)return a;if(x(a)){if(a.indexOf("***")>-1)throw nf("iwcard","Illegal sequence *** in string matcher. String: {0}",a);return a=Ud(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(B(a))return new RegExp("^"+a.source+"$");throw nf("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function vc(a){var b=[];return u(a)&&f(a,function(a){b.push(uc(a))}),b}function wc(){this.SCE_CONTEXTS=of;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=vc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=vc(a)),b},this.$get=["$injector",function(c){function d(a,b){return"self"===a?Dc(b):!!a.exec(b.href)}function e(c){var e,f,g=Cc(c.toString()),h=!1;for(e=0,f=a.length;f>e;e++)if(d(a[e],g)){h=!0;break}if(h)for(e=0,f=b.length;f>e;e++)if(d(b[e],g)){h=!1;break}return h}function f(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function g(a,b){var c=l.hasOwnProperty(a)?l[a]:null;if(!c)throw nf("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||t(b)||""===b)return b;if("string"!=typeof b)throw nf("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new c(b)}function h(a){return a instanceof k?a.$$unwrapTrustedValue():a}function i(a,b){if(null===b||t(b)||""===b)return b;var c=l.hasOwnProperty(a)?l[a]:null;if(c&&b instanceof c)return b.$$unwrapTrustedValue();if(a===of.RESOURCE_URL){if(e(b))return b;throw nf("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",b.toString())}if(a===of.HTML)return j(b);throw nf("unsafe","Attempting to use an unsafe value in a safe context.")}var j=function(a){throw nf("unsafe","Attempting to use an unsafe value in a safe context.")};c.has("$sanitize")&&(j=c.get("$sanitize"));var k=f(),l={};return l[of.HTML]=f(k),l[of.CSS]=f(k),l[of.URL]=f(k),l[of.JS]=f(k),l[of.RESOURCE_URL]=f(l[of.URL]),{trustAs:g,getTrusted:i,valueOf:h}}]}function xc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sceDelegate",function(b,c){if(a&&8>Ed)throw nf("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var d=P(of);d.isEnabled=function(){return a},d.trustAs=c.trustAs,d.getTrusted=c.getTrusted,d.valueOf=c.valueOf,a||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=q),d.parseAs=function(a,c){var e=b(c);return e.literal&&e.constant?e:b(c,function(b){return d.getTrusted(a,b)})};var e=d.parseAs,g=d.getTrusted,h=d.trustAs;return f(of,function(a,b){var c=zd(b);d[wa("parse_as_"+c)]=function(b){return e(a,b)},d[wa("get_trusted_"+c)]=function(b){return g(a,b)},d[wa("trust_as_"+c)]=function(b){return h(a,b)}}),d}]}function yc(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=n((/android (\d+)/.exec(zd((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=/^(Moz|webkit|ms)(?=[A-Z])/,j=h.body&&h.body.style,k=!1,l=!1;if(j){for(var m in j)if(d=i.exec(m)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in j&&"webkit"),k=!!("transition"in j||c+"Transition"in j),l=!!("animation"in j||c+"Animation"in j),!f||k&&l||(k=x(j.webkitTransition),l=x(j.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hasEvent:function(a){if("input"===a&&11>=Ed)return!1;if(t(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:Vd(),vendorPrefix:c,transitions:k,animations:l,android:f}}]}function zc(){this.$get=["$templateCache","$http","$q","$sce",function(a,b,c,d){function e(f,g){function h(a){if(!g)throw Ne("tpload","Failed to load template: {0} (HTTP status: {1} {2})",f,a.status,a.statusText);return c.reject(a)}e.totalPendingRequests++,(!x(f)||t(a.get(f)))&&(f=d.getTrustedResourceUrl(f));var i=b.defaults&&b.defaults.transformResponse;Rd(i)?i=i.filter(function(a){return a!==wb}):i===wb&&(i=null);var j={cache:a,transformResponse:i};return b.get(f,j)["finally"](function(){e.totalPendingRequests--}).then(function(b){return a.put(f,b.data),b.data},h)}return e.totalPendingRequests=0,e}]}function Ac(){this.$get=["$rootScope","$browser","$location",function(a,b,c){var d={};return d.findBindings=function(a,b,c){var d=a.getElementsByClassName("ng-binding"),e=[];return f(d,function(a){var d=Od.element(a).data("$binding");d&&f(d,function(d){if(c){var f=new RegExp("(^|\\s)"+Ud(b)+"(\\s|\\||$)");f.test(d)&&e.push(a)}else-1!=d.indexOf(b)&&e.push(a)})}),e},d.findModels=function(a,b,c){for(var d=["ng-","data-ng-","ng\\:"],e=0;e0&&(i=b(f.substring(0,h)),t(d[i])&&(d[i]=b(f.substring(h+1))));return d}}function Gc(){this.$get=Fc}function Hc(a){function b(d,e){if(v(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",Mc),b("date",_c),b("filter",Ic),b("json",ad),b("limitTo",bd),b("lowercase",xf),b("number",Nc),b("orderBy",cd),b("uppercase",yf)}function Ic(){return function(a,b,c){if(!e(a)){if(null==a)return a;throw d("filter")("notarray","Expected array but received: {0}",a)}var f,g,h=Lc(b);switch(h){case"function":f=b;break;case"boolean":case"null":case"number":case"string":g=!0;case"object":f=Jc(b,c,g);break;default:return a}return Array.prototype.filter.call(a,f)}}function Jc(a,b,c){var d,e=v(a)&&"$"in a;return b===!0?b=Q:A(b)||(b=function(a,b){return t(a)?!1:null===a||null===b?a===b:v(b)||v(a)&&!s(a)?!1:(a=zd(""+a),b=zd(""+b),-1!==a.indexOf(b))}),d=function(d){return e&&!v(d)?Kc(d,a.$,b,!1):Kc(d,a,b,c)}}function Kc(a,b,c,d,e){var f=Lc(a),g=Lc(b);if("string"===g&&"!"===b.charAt(0))return!Kc(a,b.substring(1),c,d);if(Rd(a))return a.some(function(a){return Kc(a,b,c,d)});switch(f){case"object":var h;if(d){for(h in a)if("$"!==h.charAt(0)&&Kc(a[h],b,c,!0))return!0;return e?!1:Kc(a,b,c,!1)}if("object"===g){for(h in b){var i=b[h];if(!A(i)&&!t(i)){var j="$"===h,k=j?a:a[h];if(!Kc(k,i,c,j,j))return!1}}return!0}return c(a,b);case"function":return!1;default:return c(a,b)}}function Lc(a){return null===a?"null":typeof a}function Mc(a){var b=a.NUMBER_FORMATS;return function(a,c,d){return t(c)&&(c=b.CURRENCY_SYM),t(d)&&(d=b.PATTERNS[1].maxFrac),null==a?a:Qc(a,b.PATTERNS[1],b.GROUP_SEP,b.DECIMAL_SEP,d).replace(/\u00A4/g,c)}}function Nc(a){var b=a.NUMBER_FORMATS;return function(a,c){return null==a?a:Qc(a,b.PATTERNS[0],b.GROUP_SEP,b.DECIMAL_SEP,c)}}function Oc(a){var b,c,d,e,f,g=0;for((c=a.indexOf(sf))>-1&&(a=a.replace(sf,"")),(d=a.search(/e/i))>0?(0>c&&(c=d),c+=+a.slice(d+1),a=a.substring(0,d)):0>c&&(c=a.length),d=0;a.charAt(d)==tf;d++);if(d==(f=a.length))b=[0],c=1;else{for(f--;a.charAt(f)==tf;)f--;for(c-=d,b=[],e=0;f>=d;d++,e++)b[e]=+a.charAt(d)}return c>rf&&(b=b.splice(0,rf-1),g=c-1,c=1),{d:b,e:g,i:c}}function Pc(a,b,c,d){var e=a.d,f=e.length-a.i;b=t(b)?Math.min(Math.max(c,f),d):+b;var g=b+a.i,h=e[g];if(g>0)e.splice(g);else{a.i=1,e.length=g=b+1;for(var i=0;g>i;i++)e[i]=0}for(h>=5&&e[g-1]++;b>f;f++)e.push(0);var j=e.reduceRight(function(a,b,c,d){return b+=a,d[c]=b%10,Math.floor(b/10)},0);j&&(e.unshift(j),a.i++)}function Qc(a,b,c,d,e){if(!x(a)&&!y(a)||isNaN(a))return"";var f,g=!isFinite(a),h=!1,i=Math.abs(a)+"",j="";if(g)j="∞";else{f=Oc(i),Pc(f,e,b.minFrac,b.maxFrac);var k=f.d,l=f.i,m=f.e,n=[];for(h=k.reduce(function(a,b){return a&&!b},!0);0>l;)k.unshift(0),l++;l>0?n=k.splice(l,k.length):(n=k,k=[0]);var o=[];for(k.length>=b.lgSize&&o.unshift(k.splice(-b.lgSize,k.length).join(""));k.length>b.gSize;)o.unshift(k.splice(-b.gSize,k.length).join(""));k.length&&o.unshift(k.join("")),j=o.join(c),n.length&&(j+=d+n.join("")),m&&(j+="e+"+m)}return 0>a&&!h?b.negPre+j+b.negSuf:b.posPre+j+b.posSuf}function Rc(a,b,c){var d="";for(0>a&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Rc(f,b,d)}}function Tc(a,b){return function(c,d){var e=c["get"+a](),f=Bd(b?"SHORT"+a:a);return d[f][e]}}function Uc(a,b,c){var d=-1*c,e=d>=0?"+":"";return e+=Rc(Math[d>0?"floor":"ceil"](d/60),2)+Rc(Math.abs(d%60),2)}function Vc(a){var b=new Date(a,0,1).getDay();return new Date(a,0,(4>=b?5:12)-b)}function Wc(a){return new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))}function Xc(a){return function(b){var c=Vc(b.getFullYear()),d=Wc(b),e=+d-+c,f=1+Math.round(e/6048e5);return Rc(f,a)}}function Yc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Zc(a,b){return a.getFullYear()<=0?b.ERAS[0]:b.ERAS[1]}function $c(a,b){return a.getFullYear()<=0?b.ERANAMES[0]:b.ERANAMES[1]}function _c(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=n(b[9]+b[10]),f=n(b[9]+b[11])),g.call(d,n(b[1]),n(b[2])-1,n(b[3]));var i=n(b[4]||0)-e,j=n(b[5]||0)-f,k=n(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d,e){var g,h,i="",j=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,x(c)&&(c=wf.test(c)?n(c):b(c)),y(c)&&(c=new Date(c)),!z(c)||!isFinite(c.getTime()))return c;for(;d;)h=vf.exec(d),h?(j=R(j,h,1),d=j.pop()):(j.push(d),d=null);var k=c.getTimezoneOffset();return e&&(k=X(e,k),c=Z(c,e,!0)),f(j,function(b){g=uf[b],i+=g?g(c,a.DATETIME_FORMATS,k):"''"===b?"'":b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),i}}function ad(){return function(a,b){return t(b)&&(b=2),V(a,b)}}function bd(){return function(a,b,c){return b=Math.abs(Number(b))===1/0?Number(b):n(b),isNaN(b)?a:(y(a)&&(a=a.toString()),Rd(a)||x(a)?(c=!c||isNaN(c)?0:n(c),c=0>c?Math.max(0,a.length+c):c,b>=0?a.slice(c,c+b):0===c?a.slice(b,a.length):a.slice(Math.max(0,c+b),c)):a)}}function cd(a){function b(b,c){return c=c?-1:1,b.map(function(b){var d=1,e=q;if(A(b))e=b;else if(x(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(d="-"==b.charAt(0)?-1:1,b=b.substring(1)),""!==b&&(e=a(b),e.constant))){var f=e();e=function(a){return a[f]}}return{get:e,descending:d*c}})}function c(a){switch(typeof a){case"number":case"boolean":case"string":return!0;default:return!1}}function d(a,b){return"function"==typeof a.valueOf&&(a=a.valueOf(),c(a))?a:s(a)&&(a=a.toString(),c(a))?a:b}function f(a,b){var c=typeof a;return null===a?(c="string",a="null"):"string"===c?a=a.toLowerCase():"object"===c&&(a=d(a,b)),{value:a,type:c}}function g(a,b){var c=0;return a.type===b.type?a.value!==b.value&&(c=a.valued&&!(c=g(a.predicateValues[d],b.predicateValues[d])*j[d].descending);++d);return c}if(!e(a))return a;Rd(c)||(c=[c]),0===c.length&&(c=["+"]);var j=b(c,d);j.push({get:function(){return{}},descending:d?-1:1});var k=Array.prototype.map.call(a,h);return k.sort(i),a=k.map(function(a){return a.value})}}function dd(a){return A(a)&&(a={link:a}),a.restrict=a.restrict||"AC",r(a)}function ed(a,b){a.$name=b}function fd(a,b,d,e,g){var h=this,i=[];h.$error={},h.$$success={},h.$pending=c,h.$name=g(b.name||b.ngForm||"")(d),h.$dirty=!1,h.$pristine=!0,h.$valid=!0,h.$invalid=!1,h.$submitted=!1,h.$$parentForm=Bf,h.$rollbackViewValue=function(){f(i,function(a){a.$rollbackViewValue()})},h.$commitViewValue=function(){f(i,function(a){a.$commitViewValue()})},h.$addControl=function(a){na(a.$name,"input"),i.push(a),a.$name&&(h[a.$name]=a),a.$$parentForm=h},h.$$renameControl=function(a,b){var c=a.$name;h[c]===a&&delete h[c],h[b]=a,a.$name=b},h.$removeControl=function(a){a.$name&&h[a.$name]===a&&delete h[a.$name],f(h.$pending,function(b,c){h.$setValidity(c,null,a)}),f(h.$error,function(b,c){h.$setValidity(c,null,a)}),f(h.$$success,function(b,c){h.$setValidity(c,null,a)}),N(i,a),a.$$parentForm=Bf},ud({ctrl:this,$element:a,set:function(a,b,c){var d=a[b];if(d){var e=d.indexOf(c);-1===e&&d.push(c)}else a[b]=[c]},unset:function(a,b,c){var d=a[b];d&&(N(d,c),0===d.length&&delete a[b])},$animate:e}),h.$setDirty=function(){e.removeClass(a,lg),e.addClass(a,mg),h.$dirty=!0,h.$pristine=!1,h.$$parentForm.$setDirty()},h.$setPristine=function(){e.setClass(a,lg,mg+" "+Cf),h.$dirty=!1,h.$pristine=!0,h.$submitted=!1,f(i,function(a){a.$setPristine()})},h.$setUntouched=function(){f(i,function(a){a.$setUntouched()})},h.$setSubmitted=function(){e.addClass(a,Cf),h.$submitted=!0,h.$$parentForm.$setSubmitted()}}function gd(a){a.$formatters.push(function(b){return a.$isEmpty(b)?b:b.toString()})}function hd(a,b,c,d,e,f){id(a,b,c,d,e,f),gd(d)}function id(a,b,c,d,e,f){var g=zd(b[0].type);if(!e.android){var h=!1;b.on("compositionstart",function(a){h=!0}),b.on("compositionend",function(){h=!1,j()})}var i,j=function(a){if(i&&(f.defer.cancel(i),i=null),!h){var e=b.val(),j=a&&a.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=Td(e)),(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,j)}};if(e.hasEvent("input"))b.on("input",j);else{var k=function(a,b,c){i||(i=f.defer(function(){i=null,b&&b.value===c||j(a)}))};b.on("keydown",function(a){var b=a.keyCode;91===b||b>15&&19>b||b>=37&&40>=b||k(a,this,this.value)}),e.hasEvent("paste")&&b.on("paste cut",k)}b.on("change",j),Qf[g]&&d.$$hasNativeValidators&&g===c.type&&b.on(Pf,function(a){if(!i){var b=this[yd],c=b.badInput,d=b.typeMismatch;i=f.defer(function(){i=null,(b.badInput!==c||b.typeMismatch!==d)&&j(a)})}}),d.$render=function(){var a=d.$isEmpty(d.$viewValue)?"":d.$viewValue;b.val()!==a&&b.val(a)}}function jd(a,b){if(z(a))return a;if(x(a)){Mf.lastIndex=0;var c=Mf.exec(a);if(c){var d=+c[1],e=+c[2],f=0,g=0,h=0,i=0,j=Vc(d),k=7*(e-1);return b&&(f=b.getHours(),g=b.getMinutes(),h=b.getSeconds(),i=b.getMilliseconds()),new Date(d,0,j.getDate()+k,f,g,h,i)}}return NaN}function kd(a,b){return function(c,d){var e,g;if(z(c))return c;if(x(c)){if('"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1)),Gf.test(c))return new Date(c);if(a.lastIndex=0,e=a.exec(c))return e.shift(),g=d?{yyyy:d.getFullYear(),MM:d.getMonth()+1,dd:d.getDate(),HH:d.getHours(),mm:d.getMinutes(),ss:d.getSeconds(),sss:d.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},f(e,function(a,c){c=q},h.$observe("min",function(a){q=n(a),i.$validate()})}if(u(h.max)||h.ngMax){var r;i.$validators.max=function(a){return!m(a)||t(r)||d(a)<=r},h.$observe("max",function(a){r=n(a),i.$validate()})}}}function md(a,b,d,e){var f=b[0],g=e.$$hasNativeValidators=v(f.validity);g&&e.$parsers.push(function(a){var d=b.prop(yd)||{};return d.badInput&&!d.typeMismatch?c:a})}function nd(a,b,d,e,f,g){if(md(a,b,d,e),id(a,b,d,e,f,g),e.$$parserName="number",e.$parsers.push(function(a){return e.$isEmpty(a)?null:Jf.test(a)?parseFloat(a):c}),e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!y(a))throw qg("numfmt","Expected `{0}` to be a number",a);a=a.toString()}return a}),u(d.min)||d.ngMin){var h;e.$validators.min=function(a){return e.$isEmpty(a)||t(h)||a>=h},d.$observe("min",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),h=y(a)&&!isNaN(a)?a:c,e.$validate()})}if(u(d.max)||d.ngMax){var i;e.$validators.max=function(a){return e.$isEmpty(a)||t(i)||i>=a},d.$observe("max",function(a){u(a)&&!y(a)&&(a=parseFloat(a,10)),i=y(a)&&!isNaN(a)?a:c,e.$validate()})}}function od(a,b,c,d,e,f){id(a,b,c,d,e,f),gd(d),d.$$parserName="url",d.$validators.url=function(a,b){var c=a||b;return d.$isEmpty(c)||Hf.test(c)}}function pd(a,b,c,d,e,f){id(a,b,c,d,e,f),gd(d),d.$$parserName="email",d.$validators.email=function(a,b){var c=a||b;return d.$isEmpty(c)||If.test(c)}}function qd(a,b,c,d){t(c.name)&&b.attr("name",i());var e=function(a){b[0].checked&&d.$setViewValue(c.value,a&&a.type)};b.on("click",e),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function rd(a,b,c,d,e){var f;if(u(d)){if(f=a(d),!f.constant)throw qg("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",c,d);return f(b)}return e}function sd(a,b,c,d,e,f,g,h){var i=rd(h,a,"ngTrueValue",c.ngTrueValue,!0),j=rd(h,a,"ngFalseValue",c.ngFalseValue,!1),k=function(a){d.$setViewValue(b[0].checked,a&&a.type)};b.on("click",k),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a===!1},d.$formatters.push(function(a){return Q(a,i)}),d.$parsers.push(function(a){return a?i:j})}function td(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);e=l(e,1),f=l(f,-1),e&&e.length&&c.addClass(h,e),f&&f.length&&c.removeClass(h,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!Q(a,o)){var d=e(o);m(d,c)}}else j(c)}o=Rd(a)?a.map(function(a){return P(a)}):P(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(b){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}function ud(a){function b(a,b,i){t(b)?d("$pending",a,i):e("$pending",a,i),H(b)?b?(l(h.$error,a,i),k(h.$$success,a,i)):(k(h.$error,a,i),l(h.$$success,a,i)):(l(h.$error,a,i),l(h.$$success,a,i)),h.$pending?(f(pg,!0),h.$valid=h.$invalid=c,g("",null)):(f(pg,!1),h.$valid=vd(h.$error),h.$invalid=!h.$valid,g("",h.$valid));var j;j=h.$pending&&h.$pending[a]?c:h.$error[a]?!1:h.$$success[a]?!0:null,g(a,j),h.$$parentForm.$setValidity(a,j,h)}function d(a,b,c){h[a]||(h[a]={}),k(h[a],b,c)}function e(a,b,d){h[a]&&l(h[a],b,d),vd(h[a])&&(h[a]=c)}function f(a,b){b&&!j[a]?(m.addClass(i,a),j[a]=!0):!b&&j[a]&&(m.removeClass(i,a),j[a]=!1)}function g(a,b){a=a?"-"+ja(a,"-"):"",f(jg+a,b===!0),f(kg+a,b===!1)}var h=a.ctrl,i=a.$element,j={},k=a.set,l=a.unset,m=a.$animate;j[kg]=!(j[jg]=i.hasClass(jg)),h.$setValidity=b}function vd(a){if(a)for(var b in a)if(a.hasOwnProperty(b))return!1;return!0}function wd(a){a[0].hasAttribute("selected")&&(a[0].selected=!0)}var xd=/^\/(.+)\/([a-z]*)$/,yd="validity",zd=function(a){return x(a)?a.toLowerCase():a},Ad=Object.prototype.hasOwnProperty,Bd=function(a){return x(a)?a.toUpperCase():a},Cd=function(a){return x(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},Dd=function(a){return x(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(zd=Cd,Bd=Dd);var Ed,Fd,Gd,Hd,Id=[].slice,Jd=[].splice,Kd=[].push,Ld=Object.prototype.toString,Md=Object.getPrototypeOf,Nd=d("ng"),Od=a.angular||(a.angular={}),Pd=0;Ed=b.documentMode,p.$inject=[],q.$inject=[];var Qd,Rd=Array.isArray,Sd=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,Td=function(a){return x(a)?a.trim():a},Ud=function(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#c;++c)if(d=Yd[c],a=b.querySelector("["+d.replace(":","\\:")+"jq]")){e=a.getAttribute(d+"jq");break}return Wd.name_=e},Xd=/:/g,Yd=["ng-","data-ng-","ng:","x-ng-"],Zd=/[A-Z]/g,$d=!1,_d=1,ae=2,be=3,ce=8,de=9,ee=11,fe={full:"1.4.14",major:1,minor:4,dot:14,codeName:"material-distinction"};Da.expando="ng339";var ge=Da.cache={},he=1,ie=function(a,b,c){a.addEventListener(b,c,!1)},je=function(a,b,c){a.removeEventListener(b,c,!1)};Da._data=function(a){return this.cache[a[this.expando]]||{}};var ke=/([\:\-\_]+(.))/g,le=/^moz([A-Z])/,me={mouseleave:"mouseout",mouseenter:"mouseover"},ne=d("jqLite"),oe=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,pe=/<|&#?\w+;/,qe=/<([\w:-]+)/,re=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,se={option:[1,'"], +thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};se.optgroup=se.option,se.tbody=se.tfoot=se.colgroup=se.caption=se.thead,se.th=se.td;var te=Node.prototype.contains||function(a){return!!(16&this.compareDocumentPosition(a))},ue=Da.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),Da(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return Fd(a>=0?this[a]:this[this.length+a])},length:0,push:Kd,sort:[].sort,splice:[].splice},ve={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){ve[zd(a)]=a});var we={};f("input,select,option,textarea,button,form,details".split(","),function(a){we[a]=!0});var xe={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};f({data:Ja,removeData:Ha,hasData:za},function(a,b){Da[b]=a}),f({data:Ja,inheritedData:Pa,scope:function(a){return Fd.data(a,"$scope")||Pa(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return Fd.data(a,"$isolateScope")||Fd.data(a,"$isolateScopeNoTemplate")},controller:Oa,injector:function(a){return Pa(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:Ka,css:function(a,b,c){return b=wa(b),u(c)?void(a.style[b]=c):a.style[b]},attr:function(a,b,d){var e=a.nodeType;if(e!==be&&e!==ae&&e!==ce){var f=zd(b);if(ve[f]){if(!u(d))return a[b]||(a.attributes.getNamedItem(b)||p).specified?f:c;d?(a[b]=!0,a.setAttribute(b,f)):(a[b]=!1,a.removeAttribute(f))}else if(u(d))a.setAttribute(b,d);else if(a.getAttribute){var g=a.getAttribute(b,2);return null===g?c:g}}},prop:function(a,b,c){return u(c)?void(a[b]=c):a[b]},text:function(){function a(a,b){if(t(b)){var c=a.nodeType;return c===_d||c===be?a.textContent:""}a.textContent=b}return a.$dv="",a}(),val:function(a,b){if(t(b)){if(a.multiple&&"select"===M(a)){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){return t(b)?a.innerHTML:(Fa(a,!0),void(a.innerHTML=b))},empty:Qa},function(a,b){Da.prototype[b]=function(b,c){var d,e,f=this.length;if(a!==Qa&&t(2==a.length&&a!==Ka&&a!==Oa?b:c)){if(v(b)){for(d=0;f>d;d++)if(a===Ja)a(this[d],b);else for(e in b)a(this[d],e,b[e]);return this}for(var g=a.$dv,h=t(g)?Math.min(f,1):f,i=0;h>i;i++){var j=a(this[i],b,c);g=g?g+j:j}return g}for(d=0;f>d;d++)a(this[d],b,c);return this}}),f({removeData:Ha,on:function(a,b,d,e){if(u(e))throw ne("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(ya(a)){var f=Ia(a,!0),g=f.events,h=f.handle;h||(h=f.handle=Va(a,g));for(var i=b.indexOf(" ")>=0?b.split(" "):[b],j=i.length,k=function(b,c,e){var f=g[b];f||(f=g[b]=[],f.specialHandlerWrapper=c,"$destroy"===b||e||ie(a,b,h)),f.push(d)};j--;)b=i[j],me[b]?(k(me[b],Xa),k(b,c,!0)):k(b)}},off:Ga,one:function(a,b,c){a=Fd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;Fa(a),f(new Da(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){a.nodeType===_d&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){var c=a.nodeType;if(c===_d||c===ee){b=new Da(b);for(var d=0,e=b.length;e>d;d++){var f=b[d];a.appendChild(f)}}},prepend:function(a,b){if(a.nodeType===_d){var c=a.firstChild;f(new Da(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){Ca(a,Fd(b).eq(0).clone()[0])},remove:Ra,detach:function(a){Ra(a,!0)},after:function(a,b){var c=a,d=a.parentNode;b=new Da(b);for(var e=0,f=b.length;f>e;e++){var g=b[e];d.insertBefore(g,c.nextSibling),c=g}},addClass:Ma,removeClass:La,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;t(d)&&(d=!Ka(a,b)),(d?Ma:La)(a,b)})},parent:function(a){var b=a.parentNode;return b&&b.nodeType!==ee?b:null},next:function(a){return a.nextElementSibling},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:Ea,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=Ia(a),j=i&&i.events,k=j&&j[h];k&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:p,type:h,target:a},b.type&&(d=l(d,b)),e=P(k),g=c?[d].concat(c):[d],f(e,function(b){d.isImmediatePropagationStopped()||b.apply(a,g)}))}},function(a,b){Da.prototype[b]=function(b,c,d){for(var e,f=0,g=this.length;g>f;f++)t(e)?(e=a(this[f],b,c,d),u(e)&&(e=Fd(e))):Na(e,a(this[f],b,c,d));return u(e)?e:this},Da.prototype.bind=Da.prototype.on,Da.prototype.unbind=Da.prototype.off}),$a.prototype={put:function(a,b){this[Za(a,this.nextUid)]=b},get:function(a){return this[Za(a,this.nextUid)]},remove:function(a){var b=this[a=Za(a,this.nextUid)];return delete this[a],b}};var ye=[function(){this.$get=[function(){return $a}]}],ze=/^[^\(]*\(\s*([^\)]*)\)/m,Ae=/,/,Be=/^\s*(_?)(\S+?)\1\s*$/,Ce=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,De=d("$injector");bb.$$annotate=ab;var Ee=d("$animate"),Fe=1,Ge="ng-animate",He=function(){this.$get=function(){}},Ie=function(){var a=new $a,b=[];this.$get=["$$AnimateRunner","$rootScope",function(c,d){function e(a,b,c){var d=!1;return b&&(b=x(b)?b.split(" "):Rd(b)?b:[],f(b,function(b){b&&(d=!0,a[b]=c)})),d}function g(){f(b,function(b){var c=a.get(b);if(c){var d=fb(b.attr("class")),e="",g="";f(c,function(a,b){var c=!!d[b];a!==c&&(a?e+=(e.length?" ":"")+b:g+=(g.length?" ":"")+b)}),f(b,function(a){e&&Ma(a,e),g&&La(a,g)}),a.remove(b)}}),b.length=0}function h(c,f,h){var i=a.get(c)||{},j=e(i,f,!0),k=e(i,h,!1);(j||k)&&(a.put(c,i),b.push(c),1===b.length&&d.$$postDigest(g))}return{enabled:p,on:p,off:p,pin:p,push:function(a,b,d,e){e&&e(),d=d||{},d.from&&a.css(d.from),d.to&&a.css(d.to),(d.addClass||d.removeClass)&&h(a,d.addClass,d.removeClass);var f=new c;return f.complete(),f}}}]},Je=["$provide",function(a){var b=this;this.$$registeredAnimations=Object.create(null),this.register=function(c,d){if(c&&"."!==c.charAt(0))throw Ee("notcsel","Expecting class selector starting with '.' got '{0}'.",c);var e=c+"-animation";b.$$registeredAnimations[c.substr(1)]=e,a.factory(e,d)},this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=a instanceof RegExp?a:null,this.$$classNameFilter)){var b=new RegExp("(\\s+|\\/)"+Ge+"(\\s+|\\/)");if(b.test(this.$$classNameFilter.toString()))throw Ee("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Ge)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(a){function b(a,b,c){if(c){var d=eb(c);!d||d.parentNode||d.previousElementSibling||(c=null)}c?c.after(a):b.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(c,d,e,f){return d=d&&Fd(d),e=e&&Fd(e),d=d||e.parent(),b(c,d,e),a.push(c,"enter",gb(f))},move:function(c,d,e,f){return d=d&&Fd(d),e=e&&Fd(e),d=d||e.parent(),b(c,d,e),a.push(c,"move",gb(f))},leave:function(b,c){return a.push(b,"leave",gb(c),function(){b.remove()})},addClass:function(b,c,d){return d=gb(d),d.addClass=db(d.addclass,c),a.push(b,"addClass",d)},removeClass:function(b,c,d){return d=gb(d),d.removeClass=db(d.removeClass,c),a.push(b,"removeClass",d)},setClass:function(b,c,d,e){return e=gb(e),e.addClass=db(e.addClass,c),e.removeClass=db(e.removeClass,d),a.push(b,"setClass",e)},animate:function(b,c,d,e,f){return f=gb(f),f.from=f.from?l(f.from,c):c,f.to=f.to?l(f.to,d):d,e=e||"ng-inline-animate",f.tempClasses=db(f.tempClasses,e),a.push(b,"animate",f)}}}]}],Ke=function(){this.$get=["$$rAF",function(a){function b(b){c.push(b),c.length>1||a(function(){for(var a=0;a <= >= && || ! = |".split(" "),function(a){gf[a]=!0});var hf={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},jf=function(a){this.options=a};jf.prototype={constructor:jf,lex:function(a){for(this.text=a,this.index=0,this.tokens=[];this.index="0"&&"9">=a&&"string"==typeof a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||" "===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=u(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw cf("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index0&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:kf.Program,body:a}},expressionStatement:function(){return{type:kf.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var a,b=this.expression();a=this.expect("|");)b=this.filter(b);return b},expression:function(){return this.assignment()},assignment:function(){var a=this.ternary();return this.expect("=")&&(a={type:kf.AssignmentExpression,left:a,right:this.assignment(),operator:"="}),a},ternary:function(){var a,b,c=this.logicalOR();return this.expect("?")&&(a=this.expression(),this.consume(":"))?(b=this.expression(),{type:kf.ConditionalExpression,test:c,alternate:a,consequent:b}):c},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:kf.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:kf.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a,b=this.relational();a=this.expect("==","!=","===","!==");)b={type:kf.BinaryExpression,operator:a.text,left:b,right:this.relational()};return b},relational:function(){for(var a,b=this.additive();a=this.expect("<",">","<=",">=");)b={type:kf.BinaryExpression,operator:a.text,left:b,right:this.additive()};return b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b={type:kf.BinaryExpression,operator:a.text,left:b,right:this.multiplicative()};return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b={type:kf.BinaryExpression,operator:a.text,left:b,right:this.unary()};return b},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:kf.UnaryExpression,operator:a.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var a;this.expect("(")?(a=this.filterChain(),this.consume(")")):this.expect("[")?a=this.arrayDeclaration():this.expect("{")?a=this.object():this.constants.hasOwnProperty(this.peek().text)?a=O(this.constants[this.consume().text]):this.peek().identifier?a=this.identifier():this.peek().constant?a=this.constant():this.throwError("not a primary expression",this.peek());for(var b;b=this.expect("(","[",".");)"("===b.text?(a={type:kf.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===b.text?(a={type:kf.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===b.text?a={type:kf.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){for(var b=[a],c={type:kf.CallExpression,callee:this.identifier(),arguments:b,filter:!0};this.expect(":");)b.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text)do a.push(this.expression());while(this.expect(","));return a},identifier:function(){var a=this.consume();return a.identifier||this.throwError("is not a valid identifier",a),{type:kf.Identifier,name:a.text}},constant:function(){return{type:kf.Literal,value:this.consume().value}},arrayDeclaration:function(){var a=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;a.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:kf.ArrayExpression,elements:a}},object:function(){var a,b=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;a={type:kf.Property,kind:"init"},this.peek().constant?a.key=this.constant():this.peek().identifier?a.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),a.value=this.expression(),b.push(a)}while(this.expect(","));return this.consume("}"),{type:kf.ObjectExpression,properties:b}},throwError:function(a,b){throw cf("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",b.text,a,b.index+1,this.text,this.text.substring(b.index))},consume:function(a){if(0===this.tokens.length)throw cf("ueoe","Unexpected end of expression: {0}",this.text);var b=this.expect(a);return b||this.throwError("is unexpected, expecting ["+a+"]",this.peek()),b},peekToken:function(){if(0===this.tokens.length)throw cf("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(a,b,c,d){return this.peekAhead(0,a,b,c,d)},peekAhead:function(a,b,c,d,e){if(this.tokens.length>a){var f=this.tokens[a],g=f.text;if(g===b||g===c||g===d||g===e||!b&&!c&&!d&&!e)return f}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},constants:{"true":{type:kf.Literal,value:!0},"false":{type:kf.Literal,value:!1},"null":{type:kf.Literal,value:null},undefined:{type:kf.Literal,value:c},"this":{type:kf.ThisExpression}}},jc.prototype={compile:function(a,b){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:b,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},dc(e,d.$filter);var g,h="";if(this.stage="assign",g=gc(e)){this.state.computing="assign";var i=this.nextId();this.recurse(g,i),this.return_(i),h="fn.assign="+this.generateFunction("assign","s,v,l")}var j=ec(e.body);d.stage="inputs",f(j,function(a,b){var c="fn"+b;d.state[c]={vars:[],body:[],own:{}},d.state.computing=c;var e=d.nextId();d.recurse(a,e),d.return_(e),d.state.inputs.push(c),a.watchId=b}),this.state.computing="fn",this.stage="main",this.recurse(e);var k='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+h+this.watchFns()+"return fn;",l=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",k)(this.$filter,Xb,Zb,$b,Yb,_b,ac,bc,a);return this.state=this.stage=c,l.literal=hc(e),l.constant=ic(e),l},USE:"use",STRICT:"strict",watchFns:function(){var a=[],b=this.state.inputs,c=this;return f(b,function(b){a.push("var "+b+"="+c.generateFunction(b,"s"))}),b.length&&a.push("fn.inputs=["+b.join(",")+"];"),a.join("")},generateFunction:function(a,b){return"function("+b+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],b=this;return f(this.state.filters,function(c,d){a.push(c+"=$filter("+b.escape(d)+")")}),a.length?"var "+a.join(",")+";":""},varsPrefix:function(a){return this.state[a].vars.length?"var "+this.state[a].vars.join(",")+";":""},body:function(a){return this.state[a].body.join("")},recurse:function(a,b,d,e,g,h){var i,j,k,l,m=this;if(e=e||p,!h&&u(a.watchId))return b=b||this.nextId(),void this.if_("i",this.lazyAssign(b,this.computedMember("i",a.watchId)),this.lazyRecurse(a,b,d,e,g,!0));switch(a.type){case kf.Program:f(a.body,function(b,d){m.recurse(b.expression,c,c,function(a){j=a}),d!==a.body.length-1?m.current().body.push(j,";"):m.return_(j)});break;case kf.Literal:l=this.escape(a.value),this.assign(b,l),e(l);break;case kf.UnaryExpression:this.recurse(a.argument,c,c,function(a){j=a}),l=a.operator+"("+this.ifDefined(j,0)+")",this.assign(b,l),e(l);break;case kf.BinaryExpression:this.recurse(a.left,c,c,function(a){i=a}),this.recurse(a.right,c,c,function(a){j=a}),l="+"===a.operator?this.plus(i,j):"-"===a.operator?this.ifDefined(i,0)+a.operator+this.ifDefined(j,0):"("+i+")"+a.operator+"("+j+")",this.assign(b,l),e(l);break;case kf.LogicalExpression:b=b||this.nextId(),m.recurse(a.left,b),m.if_("&&"===a.operator?b:m.not(b),m.lazyRecurse(a.right,b)),e(b);break;case kf.ConditionalExpression:b=b||this.nextId(),m.recurse(a.test,b),m.if_(b,m.lazyRecurse(a.alternate,b),m.lazyRecurse(a.consequent,b)),e(b);break;case kf.Identifier:b=b||this.nextId(),d&&(d.context="inputs"===m.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name),Xb(a.name),m.if_("inputs"===m.stage||m.not(m.getHasOwnProperty("l",a.name)),function(){m.if_("inputs"===m.stage||"s",function(){g&&1!==g&&m.if_(m.not(m.nonComputedMember("s",a.name)),m.lazyAssign(m.nonComputedMember("s",a.name),"{}")),m.assign(b,m.nonComputedMember("s",a.name))})},b&&m.lazyAssign(b,m.nonComputedMember("l",a.name))),(m.state.expensiveChecks||lc(a.name))&&m.addEnsureSafeObject(b),e(b);break;case kf.MemberExpression:i=d&&(d.context=this.nextId())||this.nextId(),b=b||this.nextId(),m.recurse(a.object,i,c,function(){m.if_(m.notNull(i),function(){g&&1!==g&&m.addEnsureSafeAssignContext(i),a.computed?(j=m.nextId(),m.recurse(a.property,j),m.getStringValue(j),m.addEnsureSafeMemberName(j),g&&1!==g&&m.if_(m.not(m.computedMember(i,j)),m.lazyAssign(m.computedMember(i,j),"{}")),l=m.ensureSafeObject(m.computedMember(i,j)),m.assign(b,l),d&&(d.computed=!0,d.name=j)):(Xb(a.property.name),g&&1!==g&&m.if_(m.not(m.nonComputedMember(i,a.property.name)),m.lazyAssign(m.nonComputedMember(i,a.property.name),"{}")),l=m.nonComputedMember(i,a.property.name),(m.state.expensiveChecks||lc(a.property.name))&&(l=m.ensureSafeObject(l)),m.assign(b,l),d&&(d.computed=!1,d.name=a.property.name))},function(){m.assign(b,"undefined")}),e(b)},!!g);break;case kf.CallExpression:b=b||this.nextId(),a.filter?(j=m.filter(a.callee.name),k=[],f(a.arguments,function(a){var b=m.nextId();m.recurse(a,b),k.push(b)}),l=j+"("+k.join(",")+")",m.assign(b,l),e(b)):(j=m.nextId(),i={},k=[],m.recurse(a.callee,j,i,function(){m.if_(m.notNull(j),function(){m.addEnsureSafeFunction(j),f(a.arguments,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(m.ensureSafeObject(a))})}),i.name?(m.state.expensiveChecks||m.addEnsureSafeObject(i.context),l=m.member(i.context,i.name,i.computed)+"("+k.join(",")+")"):l=j+"("+k.join(",")+")",l=m.ensureSafeObject(l),m.assign(b,l)},function(){m.assign(b,"undefined")}),e(b)}));break;case kf.AssignmentExpression:if(j=this.nextId(),i={},!fc(a.left))throw cf("lval","Trying to assign a value to a non l-value");this.recurse(a.left,c,i,function(){m.if_(m.notNull(i.context),function(){m.recurse(a.right,j),m.addEnsureSafeObject(m.member(i.context,i.name,i.computed)),m.addEnsureSafeAssignContext(i.context),l=m.member(i.context,i.name,i.computed)+a.operator+j,m.assign(b,l),e(b||l)})},1);break;case kf.ArrayExpression:k=[],f(a.elements,function(a){m.recurse(a,m.nextId(),c,function(a){k.push(a)})}),l="["+k.join(",")+"]",this.assign(b,l),e(l);break;case kf.ObjectExpression:k=[],f(a.properties,function(a){m.recurse(a.value,m.nextId(),c,function(b){k.push(m.escape(a.key.type===kf.Identifier?a.key.name:""+a.key.value)+":"+b)})}),l="{"+k.join(",")+"}",this.assign(b,l),e(l);break;case kf.ThisExpression:this.assign(b,"s"),e("s");break;case kf.NGValueParameter:this.assign(b,"v"),e("v")}},getHasOwnProperty:function(a,b){var c=a+"."+b,d=this.current().own;return d.hasOwnProperty(c)||(d[c]=this.nextId(!1,a+"&&("+this.escape(b)+" in "+a+")")),d[c]},assign:function(a,b){return a?(this.current().body.push(a,"=",b,";"),a):void 0},filter:function(a){return this.state.filters.hasOwnProperty(a)||(this.state.filters[a]=this.nextId(!0)),this.state.filters[a]},ifDefined:function(a,b){return"ifDefined("+a+","+this.escape(b)+")"},plus:function(a,b){return"plus("+a+","+b+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,b,c){if(a===!0)b();else{var d=this.current().body;d.push("if(",a,"){"),b(),d.push("}"),c&&(d.push("else{"),c(),d.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,b){return a+"."+b},computedMember:function(a,b){return a+"["+b+"]"},member:function(a,b,c){return c?this.computedMember(a,b):this.nonComputedMember(a,b)},addEnsureSafeObject:function(a){this.current().body.push(this.ensureSafeObject(a),";")},addEnsureSafeMemberName:function(a){this.current().body.push(this.ensureSafeMemberName(a),";")},addEnsureSafeFunction:function(a){this.current().body.push(this.ensureSafeFunction(a),";")},addEnsureSafeAssignContext:function(a){this.current().body.push(this.ensureSafeAssignContext(a),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},getStringValue:function(a){this.assign(a,"getStringValue("+a+",text)")},ensureSafeAssignContext:function(a){return"ensureSafeAssignContext("+a+",text)"},lazyRecurse:function(a,b,c,d,e,f){var g=this;return function(){g.recurse(a,b,c,d,e,f)}},lazyAssign:function(a,b){var c=this;return function(){c.assign(a,b)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(x(a))return"'"+a.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(y(a))return a.toString();if(a===!0)return"true";if(a===!1)return"false";if(null===a)return"null";if("undefined"==typeof a)return"undefined";throw cf("esc","IMPOSSIBLE")},nextId:function(a,b){var c="v"+this.state.nextId++;return a||this.current().vars.push(c+(b?"="+b:"")),c},current:function(){return this.state[this.state.computing]}},kc.prototype={compile:function(a,b){var c=this,d=this.astBuilder.ast(a);this.expression=a,this.expensiveChecks=b,dc(d,c.$filter);var e,g;(e=gc(d))&&(g=this.recurse(e));var h,i=ec(d.body);i&&(h=[],f(i,function(a,b){var d=c.recurse(a);a.input=d,h.push(d),a.watchId=b}));var j=[];f(d.body,function(a){j.push(c.recurse(a.expression))});var k=0===d.body.length?function(){}:1===d.body.length?j[0]:function(a,b){var c;return f(j,function(d){c=d(a,b)}),c};return g&&(k.assign=function(a,b,c){return g(a,c,b)}),h&&(k.inputs=h),k.literal=hc(d),k.constant=ic(d),k},recurse:function(a,b,d){var e,g,h,i=this;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case kf.Literal:return this.value(a.value,b);case kf.UnaryExpression:return g=this.recurse(a.argument),this["unary"+a.operator](g,b);case kf.BinaryExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case kf.LogicalExpression:return e=this.recurse(a.left),g=this.recurse(a.right),this["binary"+a.operator](e,g,b);case kf.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),b);case kf.Identifier:return Xb(a.name,i.expression),i.identifier(a.name,i.expensiveChecks||lc(a.name),b,d,i.expression);case kf.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Xb(a.property.name,i.expression),g=a.property.name),a.computed&&(g=this.recurse(a.property)),a.computed?this.computedMember(e,g,b,d,i.expression):this.nonComputedMember(e,g,i.expensiveChecks,b,d,i.expression);case kf.CallExpression:return h=[],f(a.arguments,function(a){h.push(i.recurse(a))}),a.filter&&(g=this.$filter(a.callee.name)),a.filter||(g=this.recurse(a.callee,!0)),a.filter?function(a,d,e,f){for(var i=[],j=0;j":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>b(d,e,f,g);return c?{value:h}:h}},"binary<=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)<=b(d,e,f,g);return c?{value:h}:h}},"binary>=":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)>=b(d,e,f,g);return c?{value:h}:h}},"binary&&":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)&&b(d,e,f,g);return c?{value:h}:h}},"binary||":function(a,b,c){return function(d,e,f,g){var h=a(d,e,f,g)||b(d,e,f,g);return c?{value:h}:h}},"ternary?:":function(a,b,c,d){return function(e,f,g,h){var i=a(e,f,g,h)?b(e,f,g,h):c(e,f,g,h);return d?{value:i}:i}},value:function(a,b){return function(){return b?{context:c,name:c,value:a}:a}},identifier:function(a,b,d,e,f){return function(g,h,i,j){var k=h&&a in h?h:g;e&&1!==e&&k&&!k[a]&&(k[a]={});var l=k?k[a]:c;return b&&Zb(l,f),d?{context:k,name:a,value:l}:l}},computedMember:function(a,b,c,d,e){return function(f,g,h,i){var j,k,l=a(f,g,h,i);return null!=l&&(j=b(f,g,h,i),j=Yb(j),Xb(j,e),d&&1!==d&&(_b(l),l&&!l[j]&&(l[j]={})),k=l[j],Zb(k,e)),c?{context:l,name:j,value:k}:k}},nonComputedMember:function(a,b,d,e,f,g){return function(h,i,j,k){var l=a(h,i,j,k);f&&1!==f&&(_b(l),l&&!l[b]&&(l[b]={}));var m=null!=l?l[b]:c;return(d||lc(b))&&Zb(m,g),e?{context:l,name:b,value:m}:m}},inputs:function(a,b){return function(c,d,e,f){return f?f[b]:a(c,d,e)}}};var lf=function(a,b,c){this.lexer=a,this.$filter=b,this.options=c,this.ast=new kf(this.lexer),this.astCompiler=c.csp?new kc(this.ast,b):new jc(this.ast,b)};lf.prototype={constructor:lf,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};var mf=Object.prototype.valueOf,nf=d("$sce"),of={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Ne=d("$compile"),pf=b.createElement("a"),qf=Cc(a.location.href);Fc.$inject=["$document"],Hc.$inject=["$provide"];var rf=22,sf=".",tf="0";Mc.$inject=["$locale"],Nc.$inject=["$locale"];var uf={yyyy:Sc("FullYear",4),yy:Sc("FullYear",2,0,!0),y:Sc("FullYear",1),MMMM:Tc("Month"),MMM:Tc("Month",!0),MM:Sc("Month",2,1),M:Sc("Month",1,1),dd:Sc("Date",2),d:Sc("Date",1),HH:Sc("Hours",2),H:Sc("Hours",1),hh:Sc("Hours",2,-12),h:Sc("Hours",1,-12),mm:Sc("Minutes",2),m:Sc("Minutes",1),ss:Sc("Seconds",2),s:Sc("Seconds",1),sss:Sc("Milliseconds",3),EEEE:Tc("Day"),EEE:Tc("Day",!0),a:Yc,Z:Uc,ww:Xc(2),w:Xc(1),G:Zc,GG:Zc,GGG:Zc,GGGG:$c},vf=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,wf=/^\-?\d+$/;_c.$inject=["$locale"];var xf=r(zd),yf=r(Bd);cd.$inject=["$parse"];var zf=r({restrict:"E",compile:function(a,b){return b.href||b.xlinkHref?void 0:function(a,b){if("a"===b[0].nodeName.toLowerCase()){var c="[object SVGAnimatedString]"===Ld.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}}),Af={};f(ve,function(a,b){function c(a,c,e){a.$watch(e[d],function(a){e.$set(b,!!a)})}if("multiple"!=a){var d=mb("ng-"+b),e=c;"checked"===a&&(e=function(a,b,e){e.ngModel!==e[d]&&c(a,b,e)}),Af[d]=function(){return{restrict:"A",priority:100,link:e}}}}),f(xe,function(a,b){Af[b]=function(){return{priority:100,link:function(a,c,d){if("ngPattern"===b&&"/"==d.ngPattern.charAt(0)){var e=d.ngPattern.match(xd);if(e)return void d.$set("ngPattern",new RegExp(e[1],e[2]))}a.$watch(d[b],function(a){d.$set(b,a)})}}}}),f(["src","srcset","href"],function(a){var b=mb("ng-"+a);Af[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===Ld.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(Ed&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var Bf={$addControl:p,$$renameControl:ed,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},Cf="ng-submitted";fd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Df=function(a){return["$timeout","$parse",function(b,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||p}var f={name:"form",restrict:a?"EAC":"E",require:["form","^^?form"],controller:fd,compile:function(d,f){d.addClass(lg).addClass(jg);var g=f.name?"name":a&&f.ngForm?"ngForm":!1;return{pre:function(a,d,f,h){var i=h[0];if(!("action"in f)){var j=function(b){a.$apply(function(){i.$commitViewValue(),i.$setSubmitted()}),b.preventDefault()};ie(d[0],"submit",j),d.on("$destroy",function(){b(function(){je(d[0],"submit",j)},0,!1)})}var k=h[1]||i.$$parentForm;k.$addControl(i);var m=g?e(i.$name):p;g&&(m(a,i),f.$observe(g,function(b){i.$name!==b&&(m(a,c),i.$$parentForm.$$renameControl(i,b),(m=e(i.$name))(a,i))})),d.on("$destroy",function(){i.$$parentForm.$removeControl(i),m(a,c),l(i,Bf)})}}}};return f}]},Ef=Df(),Ff=Df(!0),Gf=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,Hf=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,If=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Jf=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Kf=/^(\d{4})-(\d{2})-(\d{2})$/,Lf=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Mf=/^(\d{4})-W(\d\d)$/,Nf=/^(\d{4})-(\d\d)$/,Of=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Pf="keydown wheel mousedown",Qf=qa();f("date,datetime-local,month,time,week".split(","),function(a){Qf[a]=!0});var Rf={text:hd,date:ld("date",Kf,kd(Kf,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ld("datetimelocal",Lf,kd(Lf,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:ld("time",Of,kd(Of,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ld("week",Mf,jd,"yyyy-Www"),month:ld("month",Nf,kd(Nf,["yyyy","MM"]),"yyyy-MM"),number:nd,url:od,email:pd,radio:qd,checkbox:sd,hidden:p,button:p,submit:p,reset:p,file:p},Sf=["$browser","$sniffer","$filter","$parse",function(a,b,c,d){return{restrict:"E",require:["?ngModel"],link:{pre:function(e,f,g,h){h[0]&&(Rf[zd(g.type)]||Rf.text)(e,f,g,h[0],b,a,c,d)}}}}],Tf=/^(true|false|\d+)$/,Uf=function(){return{restrict:"A",priority:100,compile:function(a,b){return Tf.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a)})}}}},Vf=["$compile",function(a){return{restrict:"AC",compile:function(b){return a.$$addBindingClass(b),function(b,c,d){a.$$addBindingInfo(c,d.ngBind),c=c[0],b.$watch(d.ngBind,function(a){c.textContent=t(a)?"":a})}}}}],Wf=["$interpolate","$compile",function(a,b){return{compile:function(c){return b.$$addBindingClass(c),function(c,d,e){var f=a(d.attr(e.$attr.ngBindTemplate));b.$$addBindingInfo(d,f.expressions),d=d[0],e.$observe("ngBindTemplate",function(a){d.textContent=t(a)?"":a})}}}}],Xf=["$sce","$parse","$compile",function(a,b,c){return{restrict:"A",compile:function(d,e){var f=b(e.ngBindHtml),g=b(e.ngBindHtml,function(b){return a.valueOf(b)});return c.$$addBindingClass(d),function(b,d,e){c.$$addBindingInfo(d,e.ngBindHtml),b.$watch(g,function(){var c=f(b);d.html(a.getTrustedHtml(c)||"")})}}}}],Yf=r({restrict:"A",require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Zf=td("",!0),$f=td("Odd",0),_f=td("Even",1),ag=dd({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),bg=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],cg={},dg={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=mb("ng-"+a);cg[b]=["$parse","$rootScope",function(c,d){return{restrict:"A",compile:function(e,f){var g=c(f[b],null,!0);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};dg[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var eg=["$animate",function(a){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(c){c?i||g(function(c,f){i=f,c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)}):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=pa(h.clone),a.leave(j).then(function(){j=null}),h=null))})}}}],fg=["$templateRequest","$anchorScroll","$animate",function(a,b,c){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Od.noop,compile:function(d,e){var f=e.ngInclude||e.src,g=e.onload||"",h=e.autoscroll;return function(d,e,i,j,k){var l,m,n,o=0,p=function(){m&&(m.remove(),m=null),l&&(l.$destroy(),l=null),n&&(c.leave(n).then(function(){m=null}),m=n,n=null)};d.$watch(f,function(f){var i=function(){!u(h)||h&&!d.$eval(h)||b()},m=++o;f?(a(f,!0).then(function(a){if(!d.$$destroyed&&m===o){var b=d.$new();j.template=a;var h=k(b,function(a){p(),c.enter(a,null,e).then(i)});l=b,n=h,l.$emit("$includeContentLoaded",f),d.$eval(g)}},function(){d.$$destroyed||m===o&&(p(),d.$emit("$includeContentError",f))}),d.$emit("$includeContentRequested",f)):(p(),j.template=null)})}}}}],gg=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){return/SVG/.test(d[0].toString())?(d.empty(),void a(Aa(f.template,b).childNodes)(c,function(a){d.append(a)},{futureParentElement:d})):(d.html(f.template),void a(d.contents())(c))}}}],hg=dd({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),ig=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,b,d,e){var g=b.attr(d.$attr.ngList)||", ",h="false"!==d.ngTrim,i=h?Td(g):g,j=function(a){if(!t(a)){var b=[];return a&&f(a.split(i),function(a){a&&b.push(h?Td(a):a)}),b}};e.$parsers.push(j),e.$formatters.push(function(a){return Rd(a)?a.join(g):c}),e.$isEmpty=function(a){return!a||!a.length}}}},jg="ng-valid",kg="ng-invalid",lg="ng-pristine",mg="ng-dirty",ng="ng-untouched",og="ng-touched",pg="ng-pending",qg=d("ngModel"),rg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,b,d,e,g,h,i,j,k,l){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=c,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=c,this.$name=l(d.name||"",!1)(a),this.$$parentForm=Bf;var m,n=g(d.ngModel),o=n.assign,q=n,r=o,s=null,v=this;this.$$setOptions=function(a){if(v.$options=a,a&&a.getterSetter){var b=g(d.ngModel+"()"),c=g(d.ngModel+"($$$p)");q=function(a){var c=n(a);return A(c)&&(c=b(a)),c},r=function(a,b){A(n(a))?c(a,{$$$p:v.$modelValue}):o(a,v.$modelValue)}}else if(!n.assign)throw qg("nonassign","Expression '{0}' is non-assignable. Element: {1}",d.ngModel,$(e))},this.$render=p,this.$isEmpty=function(a){return t(a)||""===a||null===a||a!==a};var w=0;ud({ctrl:this,$element:e,set:function(a,b){a[b]=!0},unset:function(a,b){delete a[b]},$animate:h}),this.$setPristine=function(){v.$dirty=!1,v.$pristine=!0,h.removeClass(e,mg),h.addClass(e,lg)},this.$setDirty=function(){v.$dirty=!0,v.$pristine=!1,h.removeClass(e,lg),h.addClass(e,mg),v.$$parentForm.$setDirty()},this.$setUntouched=function(){v.$touched=!1,v.$untouched=!0,h.setClass(e,ng,og)},this.$setTouched=function(){v.$touched=!0,v.$untouched=!1,h.setClass(e,og,ng)},this.$rollbackViewValue=function(){i.cancel(s),v.$viewValue=v.$$lastCommittedViewValue,v.$render()},this.$validate=function(){if(!y(v.$modelValue)||!isNaN(v.$modelValue)){var a=v.$$lastCommittedViewValue,b=v.$$rawModelValue,d=v.$valid,e=v.$modelValue,f=v.$options&&v.$options.allowInvalid;v.$$runValidators(b,a,function(a){f||d===a||(v.$modelValue=a?b:c,v.$modelValue!==e&&v.$$writeModelToScope())})}},this.$$runValidators=function(a,b,d){function e(){var a=v.$$parserName||"parse";return t(m)?(i(a,null),!0):(m||(f(v.$validators,function(a,b){i(b,null)}),f(v.$asyncValidators,function(a,b){i(b,null)})),i(a,m),m)}function g(){var c=!0;return f(v.$validators,function(d,e){var f=d(a,b);c=c&&f,i(e,f)}),c?!0:(f(v.$asyncValidators,function(a,b){i(b,null)}),!1)}function h(){var d=[],e=!0;f(v.$asyncValidators,function(f,g){var h=f(a,b);if(!I(h))throw qg("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",h);i(g,c),d.push(h.then(function(){i(g,!0)},function(a){e=!1,i(g,!1)}))}),d.length?k.all(d).then(function(){j(e)},p):j(!0)}function i(a,b){l===w&&v.$setValidity(a,b)}function j(a){l===w&&d(a)}w++;var l=w;return e()&&g()?void h():void j(!1)},this.$commitViewValue=function(){var a=v.$viewValue;i.cancel(s),(v.$$lastCommittedViewValue!==a||""===a&&v.$$hasNativeValidators)&&(v.$$lastCommittedViewValue=a,v.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function b(){v.$modelValue!==g&&v.$$writeModelToScope()}var d=v.$$lastCommittedViewValue,e=d;if(m=t(e)?c:!0)for(var f=0;ff;f++){var i=a===c?f:c[f],j=(a[i],x(a[i],i)),k=q(a[i],j);if(b.push(k),h[2]||h[1]){var l=s(d,j);b.push(l)}if(h[4]){var m=u(d,j);b.push(m)}}return b}),getOptions:function(){for(var a=[],b={},c=v(d)||[],e=g(c),h=e.length,i=0;h>i;i++){var j=c===e?i:e[i],k=c[j],m=x(k,j),n=o(d,m),p=q(n,m),w=s(d,m),y=t(d,m),z=u(d,m),A=new f(p,n,w,y,z);a.push(A),b[p]=A}return{items:a,selectValueMap:b,getOptionFromViewValue:function(a){return b[r(a)]},getViewValueFromOption:function(a){return l?Od.copy(a.viewValue):a.viewValue}}}}}function g(b,c,e,g){function j(a,b){a.element=b,b.disabled=a.disabled,a.label!==b.label&&(b.label=a.label,b.textContent=a.label),a.value!==b.value&&(b.value=a.selectValue)}function k(a,b,c,d){var e;return b&&zd(b.nodeName)===c?e=b:(e=d.cloneNode(!1),b?a.insertBefore(e,b):a.appendChild(e)),e}function l(a){for(var b;a;)b=a.nextSibling,Ra(a),a=b}function m(a){var b=p&&p[0],c=w&&w[0];if(b||c)for(;a&&(a===b||a===c||a.nodeType===ce||"option"===M(a)&&""===a.value);)a=a.nextSibling;return a}function n(){var a=x&&q.readValue();x=y.getOptions();var b={},d=c[0].firstChild;if(v&&c.prepend(p),d=m(d),x.items.forEach(function(a){var e,f,g;a.group?(e=b[a.group],e||(f=k(c[0],d,"optgroup",i),d=f.nextSibling,f.label=a.group,e=b[a.group]={groupElement:f,currentOptionElement:f.firstChild}),g=k(e.groupElement,e.currentOptionElement,"option",h),j(a,g),e.currentOptionElement=g.nextSibling):(g=k(c[0],d,"option",h),j(a,g),d=g.nextSibling)}),Object.keys(b).forEach(function(a){l(b[a].currentOptionElement)}),l(d),o.$render(),!o.$isEmpty(a)){var e=q.readValue(),f=y.trackBy||r;(f?Q(a,e):a===e)||(o.$setViewValue(e),o.$render())}}var o=g[1];if(o){for(var p,q=g[0],r=e.multiple,s=0,t=c.children(),u=t.length;u>s;s++)if(""===t[s].value){p=t.eq(s);break}var v=!!p,w=Fd(h.cloneNode(!1));w.val("?");var x,y=d(e.ngOptions,c,b),z=function(){v||c.prepend(p),c.val(""),p.prop("selected",!0),p.attr("selected",!0)},A=function(){v||p.remove()},B=function(){c.prepend(w),c.val("?"),w.prop("selected",!0),w.attr("selected",!0)},C=function(){w.remove()};r?(o.$isEmpty=function(a){return!a||0===a.length},q.writeValue=function(a){x.items.forEach(function(a){a.element.selected=!1}),a&&a.forEach(function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled&&(b.element.selected=!0)})},q.readValue=function(){var a=c.val()||[],b=[];return f(a,function(a){var c=x.selectValueMap[a];c&&!c.disabled&&b.push(x.getViewValueFromOption(c))}),b},y.trackBy&&b.$watchCollection(function(){return Rd(o.$viewValue)?o.$viewValue.map(function(a){return y.getTrackByValue(a)}):void 0},function(){o.$render()})):(q.writeValue=function(a){var b=x.getOptionFromViewValue(a);b&&!b.disabled?(c[0].value!==b.selectValue&&(C(),A(),c[0].value=b.selectValue,b.element.selected=!0),b.element.setAttribute("selected","selected")):null===a||v?(C(),z()):(A(),B())},q.readValue=function(){var a=x.selectValueMap[c.val()];return a&&!a.disabled?(A(),C(),x.getViewValueFromOption(a)):null},y.trackBy&&b.$watch(function(){return y.getTrackByValue(o.$viewValue)},function(){o.$render()})),v?(p.remove(),a(p)(b),p.removeClass("ng-scope")):p=Fd(h.cloneNode(!1)),n(),b.$watchCollection(y.getWatchables,n)}}var h=b.createElement("option"),i=b.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:{pre:function(a,b,c,d){d[0].registerOption=p},post:g}}}],zg=["$locale","$interpolate","$log",function(a,b,c){var d=/{}/g,e=/^when(Minus)?(.+)$/;return{link:function(g,h,i){function j(a){h.text(a||"")}var k,l=i.count,m=i.$attr.when&&h.attr(i.$attr.when),n=i.offset||0,o=g.$eval(m)||{},q={},r=b.startSymbol(),s=b.endSymbol(),u=r+l+"-"+n+s,v=Od.noop;f(i,function(a,b){var c=e.exec(b);if(c){var d=(c[1]?"-":"")+zd(c[2]);o[d]=h.attr(i.$attr[b])}}),f(o,function(a,c){q[c]=b(a.replace(d,u))}),g.$watch(l,function(b){var d=parseFloat(b),e=isNaN(d);if(e||d in o||(d=a.pluralCat(d-n)),d!==k&&!(e&&y(k)&&isNaN(k))){v();var f=q[d];t(f)?(null!=b&&c.debug("ngPluralize: no rule defined for '"+d+"' in "+m),v=p,j()):v=g.$watch(f,j),k=d}})}}}],Ag=["$parse","$animate",function(a,g){var h="$$NG_REMOVED",i=d("ngRepeat"),j=function(a,b,c,d,e,f,g){a[c]=d,e&&(a[e]=f),a.$index=b,a.$first=0===b,a.$last=b===g-1,a.$middle=!(a.$first||a.$last),a.$odd=!(a.$even=0===(1&b))},k=function(a){return a.clone[0]},l=function(a){return a.clone[a.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(d,m){var n=m.ngRepeat,o=b.createComment(" end ngRepeat: "+n+" "),p=n.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!p)throw i("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",n);var q=p[1],r=p[2],s=p[3],t=p[4];if(p=q.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!p)throw i("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",q);var u=p[3]||p[1],v=p[2];if(s&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(s)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(s)))throw i("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",s);var w,x,y,z,A={$id:Za};return t?w=a(t):(y=function(a,b){return Za(b)},z=function(a){return a}),function(a,b,d,m,p){w&&(x=function(b,c,d){return v&&(A[v]=b),A[u]=c,A.$index=d,w(a,A)});var q=qa();a.$watchCollection(r,function(d){var m,r,t,w,A,B,C,D,E,F,G,H,I=b[0],J=qa();if(s&&(a[s]=d),e(d))E=d,D=x||y;else{D=x||z,E=[];for(var K in d)Ad.call(d,K)&&"$"!==K.charAt(0)&&E.push(K)}for(w=E.length,G=new Array(w),m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],C=D(A,B,m),q[C])F=q[C],delete q[C],J[C]=F,G[m]=F;else{if(J[C])throw f(G,function(a){a&&a.scope&&(q[a.id]=a)}),i("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",n,C,B);G[m]={id:C,scope:c,clone:c},J[C]=!0}for(var L in q){if(F=q[L],H=pa(F.clone),g.leave(H),H[0].parentNode)for(m=0,r=H.length;r>m;m++)H[m][h]=!0;F.scope.$destroy()}for(m=0;w>m;m++)if(A=d===E?m:E[m],B=d[A],F=G[m],F.scope){t=I;do t=t.nextSibling;while(t&&t[h]);k(F)!=t&&g.move(pa(F.clone),null,I),I=l(F),j(F.scope,m,u,B,v,A,w)}else p(function(a,b){F.scope=b;var c=o.cloneNode(!1);a[a.length++]=c,g.enter(a,null,I),I=c,F.clone=a,J[F.id]=F,j(F.scope,m,u,B,v,A,w)});q=J})}}}}],Bg="ng-hide",Cg="ng-hide-animate",Dg=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngShow,function(b){a[b?"removeClass":"addClass"](c,Bg,{tempClasses:Cg})})}}}],Eg=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(b,c,d){b.$watch(d.ngHide,function(b){a[b?"addClass":"removeClass"](c,Bg,{tempClasses:Cg})})}}}],Fg=dd(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),Gg=["$animate",function(a){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,g){var h=e.ngSwitch||e.on,i=[],j=[],k=[],l=[],m=function(a,b){return function(){a.splice(b,1)}};c.$watch(h,function(c){var d,e;for(d=0,e=k.length;e>d;++d)a.cancel(k[d]);for(k.length=0,d=0,e=l.length;e>d;++d){var h=pa(j[d].clone);l[d].$destroy();var n=k[d]=a.leave(h);n.then(m(k,d))}j.length=0,l.length=0,(i=g.cases["!"+c]||g.cases["?"])&&f(i,function(c){c.transclude(function(d,e){l.push(e);var f=c.element;d[d.length++]=b.createComment(" end ngSwitchWhen: ");var g={clone:d};j.push(g),a.enter(d,f.parent(),f)})})})}}}],Hg=dd({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),Ig=dd({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),Jg=dd({restrict:"EAC",link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",$(b));f(function(a){b.empty(),b.append(a)})}}),Kg=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],Lg={$setViewValue:p,$render:p},Mg=["$element","$scope","$attrs",function(a,d,e){var f=this,g=new $a;f.ngModelCtrl=Lg,f.unknownOption=Fd(b.createElement("option")),f.renderUnknownOption=function(b){var c="? "+Za(b)+" ?";f.unknownOption.val(c),a.prepend(f.unknownOption),a.val(c)},d.$on("$destroy",function(){f.renderUnknownOption=p}),f.removeUnknownOption=function(){f.unknownOption.parent()&&f.unknownOption.remove()},f.readValue=function(){return f.removeUnknownOption(),a.val()},f.writeValue=function(b){f.hasOption(b)?(f.removeUnknownOption(),a.val(b),""===b&&f.emptyOption.prop("selected",!0)):null==b&&f.emptyOption?(f.removeUnknownOption(),a.val("")):f.renderUnknownOption(b)},f.addOption=function(a,b){if(b[0].nodeType!==ce){na(a,'"option value"'),""===a&&(f.emptyOption=b);var c=g.get(a)||0;g.put(a,c+1),f.ngModelCtrl.$render(),wd(b)}},f.removeOption=function(a){var b=g.get(a);b&&(1===b?(g.remove(a),""===a&&(f.emptyOption=c)):g.put(a,b-1))},f.hasOption=function(a){return!!g.get(a)},f.registerOption=function(a,b,c,d,e){if(d){var g;c.$observe("value",function(a){u(g)&&f.removeOption(g),g=a,f.addOption(a,b)})}else e?a.$watch(e,function(a,d){c.$set("value",a),d!==a&&f.removeOption(d),f.addOption(a,b)}):f.addOption(c.value,b);b.on("$destroy",function(){f.removeOption(c.value),f.ngModelCtrl.$render()})}}],Ng=function(){function a(a,b,c,d){var e=d[1];if(e){var g=d[0];if(g.ngModelCtrl=e,b.on("change",function(){a.$apply(function(){e.$setViewValue(g.readValue())})}),c.multiple){g.readValue=function(){var a=[];return f(b.find("option"),function(b){b.selected&&a.push(b.value)}),a},g.writeValue=function(a){var c=new $a(a);f(b.find("option"),function(a){a.selected=u(c.get(a.value))})};var h,i=NaN;a.$watch(function(){i!==e.$viewValue||Q(h,e.$viewValue)||(h=P(e.$viewValue),e.$render()),i=e.$viewValue}),e.$isEmpty=function(a){return!a||0===a.length}}}}function b(a,b,c,d){var e=d[1];if(e){var f=d[0];e.$render=function(){f.writeValue(e.$viewValue)}}}return{restrict:"E",require:["select","?ngModel"],controller:Mg,priority:1,link:{pre:a,post:b}}},Og=["$interpolate",function(a){return{restrict:"E",priority:100,compile:function(b,c){if(u(c.value))var d=a(c.value,!0);else{var e=a(b.text(),!0);e||c.$set("value",b.text())}return function(a,b,c){var f="$selectController",g=b.parent(),h=g.data(f)||g.parent().data(f);h&&h.registerOption(a,b,c,d,e)}}}}],Pg=r({restrict:"E",terminal:!1}),Qg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){d&&(c.required=!0,d.$validators.required=function(a,b){return!c.required||!d.$isEmpty(b)},c.$observe("required",function(){d.$validate()}))}}},Rg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,e,f){if(f){var g,h=e.ngPattern||e.pattern;e.$observe("pattern",function(a){if(x(a)&&a.length>0&&(a=new RegExp("^"+a+"$")),a&&!a.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",h,a,$(b));g=a||c,f.$validate()}),f.$validators.pattern=function(a,b){return f.$isEmpty(b)||t(g)||g.test(b)}}}}},Sg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=-1;c.$observe("maxlength",function(a){var b=n(a);e=isNaN(b)?-1:b,d.$validate()}),d.$validators.maxlength=function(a,b){return 0>e||d.$isEmpty(b)||b.length<=e}}}}},Tg=function(){return{restrict:"A",require:"?ngModel",link:function(a,b,c,d){if(d){var e=0;c.$observe("minlength",function(a){e=n(a)||0,d.$validate()}),d.$validators.minlength=function(a,b){return d.$isEmpty(b)||b.length>=e}}}}};return a.angular.bootstrap?void(a.console&&console.log("WARNING: Tried to load angular more than once.")):(ka(),ua(Od),Od.module("ngLocale",[],["$provide",function(a){function b(a){a+="";var b=a.indexOf(".");return-1==b?0:a.length-b-1}function d(a,d){var e=d;c===e&&(e=Math.min(b(a),3));var f=Math.pow(10,e),g=(a*f|0)%f;return{v:e,f:g}}var e={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};a.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(a,b){var c=0|a,f=d(a,b);return 1==c&&0==f.v?e.ONE:e.OTHER}})}]),void Fd(b).ready(function(){fa(b,ga)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend(''); \ No newline at end of file From bcaccbd8ac9efac7e61a6edd9dacefcb70f4da54 Mon Sep 17 00:00:00 2001 From: Marcin Wosinek Date: Fri, 9 Nov 2018 14:19:05 +0100 Subject: [PATCH 2/2] min saved build --- .../ng-password-strength.directive.js | 2 +- dist/scripts/ng-password-strength.js | 278 - dist/scripts/ng-password-strength.min.js | 2 +- dist/styles/main.css | 13 - package-lock.json | 6580 +++++++++++++++++ package.json | 2 +- 6 files changed, 6583 insertions(+), 294 deletions(-) delete mode 100644 dist/scripts/ng-password-strength.js delete mode 100644 dist/styles/main.css create mode 100644 package-lock.json diff --git a/app/src/directive/ng-password-strength.directive.js b/app/src/directive/ng-password-strength.directive.js index 98994f5..4e2c0ce 100644 --- a/app/src/directive/ng-password-strength.directive.js +++ b/app/src/directive/ng-password-strength.directive.js @@ -9,7 +9,7 @@ */ angular .module('ngPasswordStrength') - .directive('ngPasswordStrength', ngPasswordStrength); + .directive('ngPasswordStrength', ['PasswordStrengthFormulaService', 'PasswordStrengthEntropyService', ngPasswordStrength]); function ngPasswordStrength(PasswordStrengthFormulaService, PasswordStrengthEntropyService) { return { diff --git a/dist/scripts/ng-password-strength.js b/dist/scripts/ng-password-strength.js deleted file mode 100644 index fa9a421..0000000 --- a/dist/scripts/ng-password-strength.js +++ /dev/null @@ -1,278 +0,0 @@ -(function () { - 'use strict'; - /** - * @ngdoc module - * @name ngPasswordStrengthApp.module - */ - angular.module('ngPasswordStrength', []); -}()); -(function () { - 'use strict'; - /** - * @ngdoc directive - * @name ngPasswordStrengthApp.factory:PasswordStrengthFormulaService - * @description - * Service to determine strength of password - */ - angular.module('ngPasswordStrength').factory('PasswordStrengthFormulaService', PasswordStrengthFormulaService); - function PasswordStrengthFormulaService() { - var service = { getStrength: getStrength }; - ///////////////////////////// - function getStrength(p) { - var stringReverse = function (str) { - for (var i = str.length - 1, out = ''; i >= 0; out += str[i--]) { - } - return out; - }, matches = { - pos: {}, - neg: {} - }, counts = { - pos: {}, - neg: { - seqLetter: 0, - seqNumber: 0, - seqSymbol: 0 - } - }, tmp, strength = 0, letters = 'abcdefghijklmnopqrstuvwxyz', numbers = '01234567890', symbols = '\\!@#$%&/()=?\xbf', back, forth, i; - if (p) { - // Benefits - matches.pos.lower = p.match(/[a-z]/g); - matches.pos.upper = p.match(/[A-Z]/g); - matches.pos.numbers = p.match(/\d/g); - matches.pos.symbols = p.match(/[$-\/:-?{-~!^_`\[\]]/g); - matches.pos.middleNumber = p.slice(1, -1).match(/\d/g); - matches.pos.middleSymbol = p.slice(1, -1).match(/[$-\/:-?{-~!^_`\[\]]/g); - counts.pos.lower = matches.pos.lower ? matches.pos.lower.length : 0; - counts.pos.upper = matches.pos.upper ? matches.pos.upper.length : 0; - counts.pos.numbers = matches.pos.numbers ? matches.pos.numbers.length : 0; - counts.pos.symbols = matches.pos.symbols ? matches.pos.symbols.length : 0; - tmp = Object.keys(counts.pos).reduce(function (previous, key) { - return previous + Math.min(1, counts.pos[key]); - }, 0); - counts.pos.numChars = p.length; - tmp += counts.pos.numChars >= 8 ? 1 : 0; - counts.pos.requirements = tmp >= 3 ? tmp : 0; - counts.pos.middleNumber = matches.pos.middleNumber ? matches.pos.middleNumber.length : 0; - counts.pos.middleSymbol = matches.pos.middleSymbol ? matches.pos.middleSymbol.length : 0; - // Deductions - matches.neg.consecLower = p.match(/(?=([a-z]{2}))/g); - matches.neg.consecUpper = p.match(/(?=([A-Z]{2}))/g); - matches.neg.consecNumbers = p.match(/(?=(\d{2}))/g); - matches.neg.onlyNumbers = p.match(/^[0-9]*$/g); - matches.neg.onlyLetters = p.match(/^([a-z]|[A-Z])*$/g); - counts.neg.consecLower = matches.neg.consecLower ? matches.neg.consecLower.length : 0; - counts.neg.consecUpper = matches.neg.consecUpper ? matches.neg.consecUpper.length : 0; - counts.neg.consecNumbers = matches.neg.consecNumbers ? matches.neg.consecNumbers.length : 0; - // sequential letters (back and forth) - for (i = 0; i < letters.length - 2; i++) { - var p2 = p.toLowerCase(); - forth = letters.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p2.indexOf(forth) !== -1 || p2.indexOf(back) !== -1) { - counts.neg.seqLetter++; - } - } - // sequential numbers (back and forth) - for (i = 0; i < numbers.length - 2; i++) { - forth = numbers.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { - counts.neg.seqNumber++; - } - } - // sequential symbols (back and forth) - for (i = 0; i < symbols.length - 2; i++) { - forth = symbols.substring(i, parseInt(i + 3)); - back = stringReverse(forth); - if (p.indexOf(forth) !== -1 || p.toLowerCase().indexOf(back) !== -1) { - counts.neg.seqSymbol++; - } - } - var repeats = {}; - var _p = p.toLowerCase(); - var arr = _p.split(''); - counts.neg.repeated = 0; - for (i = 0; i < arr.length; i++) { - var _reg = new RegExp(_p[i], 'g'); - var cnt = _p.match(_reg).length; - if (cnt > 1 && !repeats[_p[i]]) { - repeats[_p[i]] = cnt; - counts.neg.repeated += cnt; - } - } - // Calculations - strength += counts.pos.numChars * 4; - if (counts.pos.upper) { - strength += (counts.pos.numChars - counts.pos.upper) * 2; - } - if (counts.pos.lower) { - strength += (counts.pos.numChars - counts.pos.lower) * 2; - } - if (counts.pos.upper || counts.pos.lower) { - strength += counts.pos.numbers * 4; - } - strength += counts.pos.symbols * 6; - strength += (counts.pos.middleSymbol + counts.pos.middleNumber) * 2; - strength += counts.pos.requirements * 2; - strength -= counts.neg.consecLower * 2; - strength -= counts.neg.consecUpper * 2; - strength -= counts.neg.consecNumbers * 2; - strength -= counts.neg.seqNumber * 3; - strength -= counts.neg.seqLetter * 3; - strength -= counts.neg.seqSymbol * 3; - if (matches.neg.onlyNumbers) { - strength -= counts.pos.numChars; - } - if (matches.neg.onlyLetters) { - strength -= counts.pos.numChars; - } - if (counts.neg.repeated) { - strength -= counts.neg.repeated / counts.pos.numChars * 10; - } - } - return Math.max(0, Math.min(100, Math.round(strength))); - } - ///////////////////////////// - return service; - } -}()); -(function () { - 'use strict'; - /** - * @ngdoc directive - * @name ngPasswordStrengthApp.factory:PasswordStrengthEntropyService - * @description - * Service to determine strength of password - */ - angular.module('ngPasswordStrength').factory('PasswordStrengthEntropyService', PasswordStrengthEntropyService); - function PasswordStrengthEntropyService() { - var service = { getStrength: getStrength }; - ///////////////////////////// - function add(label, exp, score) { - sets.push({ - label: label, - regex: exp, - score: score - }); - } - var sets = []; - add('ASCII Lowercase', /[a-z]/, 26); - add('ASCII Uppercase', /[A-Z]/, 26); - add('ASCII Numbers', /\d/, 10); - add('ASCII Top Row Symbols', /[!@£#\$%\^&\*\(\)\-_=\+]/, 15); - add('ASCII Other Symbols', /[\?\/\.>\,<`~\\|"';:\]\}\[\{\s]/, 19); - // Unicode Latin Subset - add('Unicode Latin 1 Supplement', /[\u00A1-\u00FF]/, 94); - add('Unicode Latin Extended A', /[\u0100-\u017F]/, 128); - add('Unicode Latin Extended B', /[\u0180-\u024F]/, 208); - add('Unicode Latin Extended C', /[\u2C60-\u2C7F]/, 32); - add('Unicode Latin Extended D', /[\uA720-\uA7FF]/, 29); - // Unicode Cyrillic Subset - add('Unicode Cyrillic Uppercase', /[\u0410-\u042F]/, 32); - add('Unicode Cyrillic Lowercase', /[\u0430-\u044F]/, 32); - function getStrength(password, goal) { - var characters = 0; - for (var i = 0; i < sets.length; i++) { - var match = password.match(sets[i].regex); - if (match) { - characters += sets[i].score; - } - } - var entropy = Math.log(characters) / Math.LN2 * password.length; - return Math.min(100, Math.round(100 * entropy / goal)); - } - ///////////////////////////// - return service; - } -}()); -(function () { - 'use strict'; - /** - * @ngdoc directive - * @name ngPasswordStrengthApp.directive:ngPasswordStrength - * @description - * Progress bar showing the strength of a given password - */ - angular.module('ngPasswordStrength').directive('ngPasswordStrength', ngPasswordStrength); - function ngPasswordStrength(PasswordStrengthFormulaService, PasswordStrengthEntropyService) { - return { - templateUrl: 'src/directive/ng-password-strength.tpl.html', - restrict: 'A', - scope: { - password: '=ngPasswordStrength', - value: '=strength', - innerClassPrefix: '@?', - outterClassPrefix: '@?', - innerClass: '@?', - cssMode: '@?', - calculationMode: '@?', - goal: '@?' - }, - link: link - }; - function link(scope) { - scope.innerClassPrefix = scope.innerClassPrefix || ''; - scope.outterClassPrefix = scope.outterClassPrefix || ''; - var modes = { - foundation: { innerClass: 'meter' }, - bootstrap: { - innerClass: 'progress-bar', - innerClassPrefix: 'progress-bar-' - } - }; - scope.$watch('cssMode', function (newVal) { - if (newVal === 'bootstrap' || newVal === 'foundation') { - //If bootstrap or foundation mode then apply the classes - angular.extend(scope, modes[scope.cssMode]); - return; - } - scope.valueClass = getClass(scope.value); - }); - scope.$watch('password', function () { - calculateStrength(); - }); - scope.$watch('calculationMode', function () { - calculateStrength(); - }); - // calculate strength based on password and calculation mode - function calculateStrength() { - if (scope.password && scope.password.length) { - if (scope.calculationMode === 'entropy') { - // ENTROPY - var goal = parseInt(scope.goal || '96'); - scope.value = PasswordStrengthEntropyService.getStrength(scope.password, goal); - } else { - // FORMULA (default) - scope.value = PasswordStrengthFormulaService.getStrength(scope.password); - } - scope.valueClass = getClass(scope.value); - } else { - scope.value = 0; - scope.class = getClass(0); - } - } - // getClasses depending on percentage - function getClass(percentage) { - switch (Math.round(percentage / 33)) { - case 0: - case 1: - return { - outter: scope.outterClassPrefix + 'danger', - inner: scope.innerClassPrefix + 'danger' - }; - case 2: - return { - outter: scope.outterClassPrefix + 'warning', - inner: scope.innerClassPrefix + 'warning' - }; - default: - // 100 or more - return { - outter: scope.outterClassPrefix + 'success', - inner: scope.innerClassPrefix + 'success' - }; - } - } - } - } -}()); \ No newline at end of file diff --git a/dist/scripts/ng-password-strength.min.js b/dist/scripts/ng-password-strength.min.js index 6693d2f..ae34c89 100644 --- a/dist/scripts/ng-password-strength.min.js +++ b/dist/scripts/ng-password-strength.min.js @@ -1 +1 @@ -!function(){"use strict";angular.module("ngPasswordStrength",[])}(),function(){"use strict";function a(){function a(a){var b,c,d,e,f=function(a){for(var b=a.length-1,c="";b>=0;c+=a[b--]);return c},g={pos:{},neg:{}},h={pos:{},neg:{seqLetter:0,seqNumber:0,seqSymbol:0}},i=0,j="abcdefghijklmnopqrstuvwxyz",k="01234567890",l="\\!@#$%&/()=?¿";if(a){for(g.pos.lower=a.match(/[a-z]/g),g.pos.upper=a.match(/[A-Z]/g),g.pos.numbers=a.match(/\d/g),g.pos.symbols=a.match(/[$-\/:-?{-~!^_`\[\]]/g),g.pos.middleNumber=a.slice(1,-1).match(/\d/g),g.pos.middleSymbol=a.slice(1,-1).match(/[$-\/:-?{-~!^_`\[\]]/g),h.pos.lower=g.pos.lower?g.pos.lower.length:0,h.pos.upper=g.pos.upper?g.pos.upper.length:0,h.pos.numbers=g.pos.numbers?g.pos.numbers.length:0,h.pos.symbols=g.pos.symbols?g.pos.symbols.length:0,b=Object.keys(h.pos).reduce(function(a,b){return a+Math.min(1,h.pos[b])},0),h.pos.numChars=a.length,b+=h.pos.numChars>=8?1:0,h.pos.requirements=b>=3?b:0,h.pos.middleNumber=g.pos.middleNumber?g.pos.middleNumber.length:0,h.pos.middleSymbol=g.pos.middleSymbol?g.pos.middleSymbol.length:0,g.neg.consecLower=a.match(/(?=([a-z]{2}))/g),g.neg.consecUpper=a.match(/(?=([A-Z]{2}))/g),g.neg.consecNumbers=a.match(/(?=(\d{2}))/g),g.neg.onlyNumbers=a.match(/^[0-9]*$/g),g.neg.onlyLetters=a.match(/^([a-z]|[A-Z])*$/g),h.neg.consecLower=g.neg.consecLower?g.neg.consecLower.length:0,h.neg.consecUpper=g.neg.consecUpper?g.neg.consecUpper.length:0,h.neg.consecNumbers=g.neg.consecNumbers?g.neg.consecNumbers.length:0,e=0;e1&&!n[o[e]]&&(n[o[e]]=r,h.neg.repeated+=r)}i+=4*h.pos.numChars,h.pos.upper&&(i+=2*(h.pos.numChars-h.pos.upper)),h.pos.lower&&(i+=2*(h.pos.numChars-h.pos.lower)),(h.pos.upper||h.pos.lower)&&(i+=4*h.pos.numbers),i+=6*h.pos.symbols,i+=2*(h.pos.middleSymbol+h.pos.middleNumber),i+=2*h.pos.requirements,i-=2*h.neg.consecLower,i-=2*h.neg.consecUpper,i-=2*h.neg.consecNumbers,i-=3*h.neg.seqNumber,i-=3*h.neg.seqLetter,i-=3*h.neg.seqSymbol,g.neg.onlyNumbers&&(i-=h.pos.numChars),g.neg.onlyLetters&&(i-=h.pos.numChars),h.neg.repeated&&(i-=h.neg.repeated/h.pos.numChars*10)}return Math.max(0,Math.min(100,Math.round(i)))}var b={getStrength:a};return b}angular.module("ngPasswordStrength").factory("PasswordStrengthFormulaService",a)}(),function(){"use strict";function a(){function a(a,b,c){d.push({label:a,regex:b,score:c})}function b(a,b){for(var c=0,e=0;e\,<`~\\|"';:\]\}\[\{\s]/,19),a("Unicode Latin 1 Supplement",/[\u00A1-\u00FF]/,94),a("Unicode Latin Extended A",/[\u0100-\u017F]/,128),a("Unicode Latin Extended B",/[\u0180-\u024F]/,208),a("Unicode Latin Extended C",/[\u2C60-\u2C7F]/,32),a("Unicode Latin Extended D",/[\uA720-\uA7FF]/,29),a("Unicode Cyrillic Uppercase",/[\u0410-\u042F]/,32),a("Unicode Cyrillic Lowercase",/[\u0430-\u044F]/,32),c}angular.module("ngPasswordStrength").factory("PasswordStrengthEntropyService",a)}(),function(){"use strict";function a(a,b){function c(c){function d(){if(c.password&&c.password.length){if("entropy"===c.calculationMode){var d=parseInt(c.goal||"96");c.value=b.getStrength(c.password,d)}else c.value=a.getStrength(c.password);c.valueClass=e(c.value)}else c.value=0,c["class"]=e(0)}function e(a){switch(Math.round(a/33)){case 0:case 1:return{outter:c.outterClassPrefix+"danger",inner:c.innerClassPrefix+"danger"};case 2:return{outter:c.outterClassPrefix+"warning",inner:c.innerClassPrefix+"warning"};default:return{outter:c.outterClassPrefix+"success",inner:c.innerClassPrefix+"success"}}}c.innerClassPrefix=c.innerClassPrefix||"",c.outterClassPrefix=c.outterClassPrefix||"";var f={foundation:{innerClass:"meter"},bootstrap:{innerClass:"progress-bar",innerClassPrefix:"progress-bar-"}};c.$watch("cssMode",function(a){return"bootstrap"===a||"foundation"===a?void angular.extend(c,f[c.cssMode]):void(c.valueClass=e(c.value))}),c.$watch("password",function(){d()}),c.$watch("calculationMode",function(){d()})}return{templateUrl:"src/directive/ng-password-strength.tpl.html",restrict:"A",scope:{password:"=ngPasswordStrength",value:"=strength",innerClassPrefix:"@?",outterClassPrefix:"@?",innerClass:"@?",cssMode:"@?",calculationMode:"@?",goal:"@?"},link:c}}angular.module("ngPasswordStrength").directive("ngPasswordStrength",a)}(); \ No newline at end of file +!function(){"use strict";angular.module("ngPasswordStrength",[])}(),function(){"use strict";function a(){function a(a){var b,c,d,e,f=function(a){for(var b=a.length-1,c="";b>=0;c+=a[b--]);return c},g={pos:{},neg:{}},h={pos:{},neg:{seqLetter:0,seqNumber:0,seqSymbol:0}},i=0,j="abcdefghijklmnopqrstuvwxyz",k="01234567890",l="\\!@#$%&/()=?¿";if(a){for(g.pos.lower=a.match(/[a-z]/g),g.pos.upper=a.match(/[A-Z]/g),g.pos.numbers=a.match(/\d/g),g.pos.symbols=a.match(/[$-\/:-?{-~!^_`\[\]]/g),g.pos.middleNumber=a.slice(1,-1).match(/\d/g),g.pos.middleSymbol=a.slice(1,-1).match(/[$-\/:-?{-~!^_`\[\]]/g),h.pos.lower=g.pos.lower?g.pos.lower.length:0,h.pos.upper=g.pos.upper?g.pos.upper.length:0,h.pos.numbers=g.pos.numbers?g.pos.numbers.length:0,h.pos.symbols=g.pos.symbols?g.pos.symbols.length:0,b=Object.keys(h.pos).reduce(function(a,b){return a+Math.min(1,h.pos[b])},0),h.pos.numChars=a.length,b+=h.pos.numChars>=8?1:0,h.pos.requirements=b>=3?b:0,h.pos.middleNumber=g.pos.middleNumber?g.pos.middleNumber.length:0,h.pos.middleSymbol=g.pos.middleSymbol?g.pos.middleSymbol.length:0,g.neg.consecLower=a.match(/(?=([a-z]{2}))/g),g.neg.consecUpper=a.match(/(?=([A-Z]{2}))/g),g.neg.consecNumbers=a.match(/(?=(\d{2}))/g),g.neg.onlyNumbers=a.match(/^[0-9]*$/g),g.neg.onlyLetters=a.match(/^([a-z]|[A-Z])*$/g),h.neg.consecLower=g.neg.consecLower?g.neg.consecLower.length:0,h.neg.consecUpper=g.neg.consecUpper?g.neg.consecUpper.length:0,h.neg.consecNumbers=g.neg.consecNumbers?g.neg.consecNumbers.length:0,e=0;e1&&!n[o[e]]&&(n[o[e]]=r,h.neg.repeated+=r)}i+=4*h.pos.numChars,h.pos.upper&&(i+=2*(h.pos.numChars-h.pos.upper)),h.pos.lower&&(i+=2*(h.pos.numChars-h.pos.lower)),(h.pos.upper||h.pos.lower)&&(i+=4*h.pos.numbers),i+=6*h.pos.symbols,i+=2*(h.pos.middleSymbol+h.pos.middleNumber),i+=2*h.pos.requirements,i-=2*h.neg.consecLower,i-=2*h.neg.consecUpper,i-=2*h.neg.consecNumbers,i-=3*h.neg.seqNumber,i-=3*h.neg.seqLetter,i-=3*h.neg.seqSymbol,g.neg.onlyNumbers&&(i-=h.pos.numChars),g.neg.onlyLetters&&(i-=h.pos.numChars),h.neg.repeated&&(i-=h.neg.repeated/h.pos.numChars*10)}return Math.max(0,Math.min(100,Math.round(i)))}var b={getStrength:a};return b}angular.module("ngPasswordStrength").factory("PasswordStrengthFormulaService",a)}(),function(){"use strict";function a(){function a(a,b,c){d.push({label:a,regex:b,score:c})}function b(a,b){for(var c=0,e=0;e\,<`~\\|"';:\]\}\[\{\s]/,19),a("Unicode Latin 1 Supplement",/[\u00A1-\u00FF]/,94),a("Unicode Latin Extended A",/[\u0100-\u017F]/,128),a("Unicode Latin Extended B",/[\u0180-\u024F]/,208),a("Unicode Latin Extended C",/[\u2C60-\u2C7F]/,32),a("Unicode Latin Extended D",/[\uA720-\uA7FF]/,29),a("Unicode Cyrillic Uppercase",/[\u0410-\u042F]/,32),a("Unicode Cyrillic Lowercase",/[\u0430-\u044F]/,32),c}angular.module("ngPasswordStrength").factory("PasswordStrengthEntropyService",a)}(),function(){"use strict";function a(a,b){function c(c){function d(){if(c.password&&c.password.length){if("entropy"===c.calculationMode){var d=parseInt(c.goal||"96");c.value=b.getStrength(c.password,d)}else c.value=a.getStrength(c.password);c.valueClass=e(c.value)}else c.value=0,c["class"]=e(0)}function e(a){switch(Math.round(a/33)){case 0:case 1:return{outter:c.outterClassPrefix+"danger",inner:c.innerClassPrefix+"danger"};case 2:return{outter:c.outterClassPrefix+"warning",inner:c.innerClassPrefix+"warning"};default:return{outter:c.outterClassPrefix+"success",inner:c.innerClassPrefix+"success"}}}c.innerClassPrefix=c.innerClassPrefix||"",c.outterClassPrefix=c.outterClassPrefix||"";var f={foundation:{innerClass:"meter"},bootstrap:{innerClass:"progress-bar",innerClassPrefix:"progress-bar-"}};c.$watch("cssMode",function(a){return"bootstrap"===a||"foundation"===a?void angular.extend(c,f[c.cssMode]):void(c.valueClass=e(c.value))}),c.$watch("password",function(){d()}),c.$watch("calculationMode",function(){d()})}return{templateUrl:"src/directive/ng-password-strength.tpl.html",restrict:"A",scope:{password:"=ngPasswordStrength",value:"=strength",innerClassPrefix:"@?",outterClassPrefix:"@?",innerClass:"@?",cssMode:"@?",calculationMode:"@?",goal:"@?"},link:c}}angular.module("ngPasswordStrength").directive("ngPasswordStrength",["PasswordStrengthFormulaService","PasswordStrengthEntropyService",a])}(); \ No newline at end of file diff --git a/dist/styles/main.css b/dist/styles/main.css deleted file mode 100644 index a7c28dd..0000000 --- a/dist/styles/main.css +++ /dev/null @@ -1,13 +0,0 @@ -body { - padding: 20px; } - -.active { - background: yellow; } - -.goal { - background: #f6f6f6; - margin-left: 40px; - padding: 10px; - margin-bottom: 40px; } - .goal * { - display: block; } diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..30bd93d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6580 @@ +{ + "name": "ng-password-strength", + "version": "0.3.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "adm-zip": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.11.tgz", + "integrity": "sha512-L8vcjDTCOIJk7wFvmlEUN7AsSb8T+2JrdP7KINBjzr24TJ5Mwj590sLu3BC7zNZowvJWa/JtPmD8eJCzdtDWjA==", + "dev": true + }, + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "^2.0.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "ansi": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz", + "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=", + "dev": true + }, + "archy": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/archy/-/archy-0.0.2.tgz", + "integrity": "sha1-kQ9Dv2YUH8M1VkWXq8GJ30Sz014=", + "dev": true + }, + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "dev": true, + "requires": { + "underscore": "~1.7.0", + "underscore.string": "~2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "dev": true + } + } + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=", + "dev": true + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "astral": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/astral/-/astral-0.1.0.tgz", + "integrity": "sha1-5uPGTv2gg+xMFEA6pIAx/8/ChcU=", + "dev": true, + "requires": { + "clone": "~0.1.9" + } + }, + "astral-angular-annotate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/astral-angular-annotate/-/astral-angular-annotate-0.0.2.tgz", + "integrity": "sha1-I4lNc0gYhAg0zTVzpU2uNWYyoYk=", + "dev": true, + "requires": { + "astral-pass": "~0.1.0", + "clone": "~0.1.9" + } + }, + "astral-pass": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/astral-pass/-/astral-pass-0.1.0.tgz", + "integrity": "sha1-fnhRB3oh5B2YGRkIolhGfs0w7ug=", + "dev": true + }, + "async": { + "version": "0.1.22", + "resolved": "http://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "autoprefixer": { + "version": "1.3.1", + "resolved": "http://registry.npmjs.org/autoprefixer/-/autoprefixer-1.3.1.tgz", + "integrity": "sha1-vXMbVY2qu/RVanT3V2b554EC/vs=", + "dev": true, + "requires": { + "caniuse-db": "1.0.20140618 - 2", + "fs-extra": "~0.9.1", + "postcss": "~0.3.5" + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", + "dev": true + }, + "batch": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz", + "integrity": "sha1-/S4Fp6XWlrTbkxQBPihdj/NVfsM=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-build": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/bin-build/-/bin-build-0.1.1.tgz", + "integrity": "sha1-0zezTxBAUp+f6psqPipKD9otPfQ=", + "dev": true, + "optional": true, + "requires": { + "download": "^0.1.16", + "rimraf": "^2.2.6", + "tempfile": "^0.1.3" + } + }, + "bin-check": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/bin-check/-/bin-check-0.1.5.tgz", + "integrity": "sha1-4kOPPQbqD6f6WUDnj+V3X0Y0JUo=", + "dev": true, + "optional": true, + "requires": { + "executable": "^0.1.0" + } + }, + "bin-wrapper": { + "version": "0.3.4", + "resolved": "http://registry.npmjs.org/bin-wrapper/-/bin-wrapper-0.3.4.tgz", + "integrity": "sha1-QMR+dC020MZ1/sex03xAO5KDbi8=", + "dev": true, + "optional": true, + "requires": { + "bin-check": "^0.1.0", + "download": "^0.1.2", + "find-file": "^0.1.2" + } + }, + "binary": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", + "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", + "dev": true, + "requires": { + "buffers": "~0.1.1", + "chainsaw": "~0.1.0" + } + }, + "bl": { + "version": "0.9.5", + "resolved": "http://registry.npmjs.org/bl/-/bl-0.9.5.tgz", + "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", + "dev": true, + "requires": { + "readable-stream": "~1.0.26" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "boom": { + "version": "0.4.2", + "resolved": "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", + "dev": true, + "requires": { + "hoek": "0.9.x" + } + }, + "bower": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.8.4.tgz", + "integrity": "sha1-54dqB23rgTf30GUl3F6MZtuC8oo=", + "dev": true + }, + "bower-config": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/bower-config/-/bower-config-0.5.3.tgz", + "integrity": "sha1-mPxbQah4cO+cu5KXY1z4H1UF/bE=", + "dev": true, + "requires": { + "graceful-fs": "~2.0.0", + "mout": "~0.9.0", + "optimist": "~0.6.0", + "osenv": "0.0.3" + }, + "dependencies": { + "graceful-fs": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=", + "dev": true + }, + "osenv": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz", + "integrity": "sha1-zWrY3bKQkVrZ4idlV2Al1BHynLY=", + "dev": true + } + } + }, + "bower-endpoint-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz", + "integrity": "sha1-ALVlrb+rby01rd3pd+l5Yqy8s/Y=", + "dev": true + }, + "bower-json": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/bower-json/-/bower-json-0.4.0.tgz", + "integrity": "sha1-qZw8z0Fu8FkO0N7SUsdg8cbZN2Y=", + "dev": true, + "requires": { + "deep-extend": "~0.2.5", + "graceful-fs": "~2.0.0", + "intersect": "~0.0.3" + }, + "dependencies": { + "graceful-fs": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=", + "dev": true + } + } + }, + "bower-logger": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.2.tgz", + "integrity": "sha1-Ob4H6Xmy/I4DqUY0IF7ZQiNz04E=", + "dev": true + }, + "bower-registry-client": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/bower-registry-client/-/bower-registry-client-0.2.4.tgz", + "integrity": "sha1-Jp/H6Ji2J/uTnRFEpZMlTX+77rw=", + "dev": true, + "requires": { + "async": "~0.2.8", + "bower-config": "~0.5.0", + "graceful-fs": "~2.0.0", + "lru-cache": "~2.3.0", + "mkdirp": "~0.3.5", + "request": "~2.51.0", + "request-replay": "~0.2.0", + "rimraf": "~2.2.0" + }, + "dependencies": { + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true + }, + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true + }, + "caseless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz", + "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=", + "dev": true + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "dev": true + }, + "form-data": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "dev": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "mime-types": { + "version": "2.0.14", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "dev": true, + "requires": { + "mime-db": "~1.12.0" + } + } + } + }, + "graceful-fs": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz", + "integrity": "sha1-fNLNsiiko/Nule+mzBQt59GhNtA=", + "dev": true + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "dev": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "lru-cache": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.3.1.tgz", + "integrity": "sha1-s632s9hW6VTiw5DmzvIggSRaU9Y=", + "dev": true + }, + "mime-db": { + "version": "1.12.0", + "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=", + "dev": true + }, + "mime-types": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", + "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", + "dev": true + }, + "mkdirp": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true + }, + "oauth-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz", + "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=", + "dev": true + }, + "qs": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", + "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=", + "dev": true + }, + "request": { + "version": "2.51.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.51.0.tgz", + "integrity": "sha1-NdALvswBLlX5B7G9ng29V3v+8m4=", + "dev": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.8.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.5.0", + "form-data": "~0.2.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.5.0", + "qs": "~2.3.1", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-crc32": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz", + "integrity": "sha1-vj5TgvwCttYySVasGvmKqYsIU0w=", + "dev": true + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "bytes": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", + "integrity": "sha1-VVsIq8sGP4l1kFMCUj5M1P/f3zE=", + "dev": true + }, + "camel-case": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-1.2.2.tgz", + "integrity": "sha1-Gsp8TRlTWaLOmVV5NDPG5VQlEfI=", + "dev": true, + "requires": { + "sentence-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-db": { + "version": "1.0.30000907", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000907.tgz", + "integrity": "sha512-OKtlTmEPR9GgCxnKMlvdHTT2QD6n4eIovcVqEnjoR8iB9l6rk4abKnjsDSyTD36an/ebgigl8T2CSdwSf4JoGw==", + "dev": true + }, + "cardinal": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-0.4.0.tgz", + "integrity": "sha1-fRCq+yCDe94EPEXkOgyMKM2q5F4=", + "dev": true, + "requires": { + "redeyed": "~0.4.0" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "cdnjs-cdn-data": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/cdnjs-cdn-data/-/cdnjs-cdn-data-0.1.2.tgz", + "integrity": "sha1-hl00uk5I3Rtz/WaOJKYaWt+biyE=", + "dev": true, + "requires": { + "semver": "~5.0.1" + }, + "dependencies": { + "semver": { + "version": "5.0.3", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.0.3.tgz", + "integrity": "sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no=", + "dev": true + } + } + }, + "chainsaw": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", + "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", + "dev": true, + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, + "chalk": { + "version": "0.4.0", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz", + "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=", + "dev": true, + "requires": { + "ansi-styles": "~1.0.0", + "has-color": "~0.1.0", + "strip-ansi": "~0.1.0" + } + }, + "change-case": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/change-case/-/change-case-2.1.6.tgz", + "integrity": "sha1-UUryBRMVimj+fwDf9MMy1sKY0vk=", + "dev": true, + "requires": { + "camel-case": "^1.0.0", + "constant-case": "^1.0.0", + "dot-case": "^1.0.0", + "is-lower-case": "^1.0.0", + "is-upper-case": "^1.0.0", + "lower-case": "^1.0.0", + "param-case": "^1.0.0", + "pascal-case": "^1.0.0", + "path-case": "^1.0.0", + "sentence-case": "^1.0.0", + "snake-case": "^1.0.0", + "swap-case": "^1.0.0", + "title-case": "^1.0.0", + "upper-case": "^1.0.0", + "upper-case-first": "^1.0.0" + } + }, + "chmodr": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/chmodr/-/chmodr-0.1.0.tgz", + "integrity": "sha1-4JIVodUVQtsqJXaWl2W89hJVg+s=", + "dev": true + }, + "clean-css": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.1.8.tgz", + "integrity": "sha1-K0sv1g8yRBCWIWriWiH6p0WA3IM=", + "dev": true, + "requires": { + "commander": "2.1.x" + } + }, + "cli": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz", + "integrity": "sha1-Aq1Eo4Cr8nraxebwzdewQ9dMU+M=", + "dev": true, + "requires": { + "exit": "0.1.2", + "glob": "~ 3.2.1" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "cli-color": { + "version": "0.3.3", + "resolved": "http://registry.npmjs.org/cli-color/-/cli-color-0.3.3.tgz", + "integrity": "sha1-EtW90Vj/igsNtAEZiRPAPfBp9vU=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.6", + "memoizee": "~0.3.8", + "timers-ext": "0.1" + } + }, + "clone": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz", + "integrity": "sha1-YT+2hjmyaklKxTJT4Vsaa9iK2oU=", + "dev": true + }, + "coa": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/coa/-/coa-0.4.1.tgz", + "integrity": "sha1-uvb0nHrZ8gxZevObP8HlCQ/og4s=", + "dev": true, + "requires": { + "q": "~0.9.6" + } + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=", + "dev": true + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=", + "dev": true + }, + "combined-stream": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", + "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz", + "integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E=", + "dev": true + }, + "compressible": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz", + "integrity": "sha1-+D5JwcthQhdTVFElqAEdaLSSQn0=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz", + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-0.3.2.tgz", + "integrity": "sha1-JeTBbDdoq/dcWmW8YXYfSVBVtFk=", + "dev": true, + "requires": { + "graceful-fs": "^3.0.1", + "js-yaml": "^3.1.0", + "mkdirp": "^0.5.0", + "object-assign": "^2.0.0", + "osenv": "^0.1.0", + "user-home": "^1.0.0", + "uuid": "^2.0.1", + "xdg-basedir": "^1.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "uuid": { + "version": "2.0.3", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz", + "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=", + "dev": true + } + } + }, + "connect": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/connect/-/connect-2.13.1.tgz", + "integrity": "sha1-qrgr6fB2WkI6qZQxq5IqqoCBqiI=", + "dev": true, + "requires": { + "batch": "0.5.0", + "buffer-crc32": "0.2.1", + "bytes": "0.2.1", + "compressible": "1.0.0", + "cookie": "0.1.0", + "cookie-signature": "1.0.1", + "debug": ">= 0.7.3 < 1", + "fresh": "0.2.0", + "methods": "0.1.0", + "multiparty": "2.2.0", + "negotiator": "0.3.0", + "pause": "0.0.1", + "qs": "0.6.6", + "raw-body": "1.1.3", + "send": "0.1.4", + "uid2": "0.0.3" + } + }, + "connect-livereload": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/connect-livereload/-/connect-livereload-0.3.2.tgz", + "integrity": "sha1-3bcKpQkB1YN4NmJ3Dj07Y9fOQP8=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constant-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-1.1.2.tgz", + "integrity": "sha1-jsLKW6ND4Aqjjb9OIA/VrJB+/WM=", + "dev": true, + "requires": { + "snake-case": "^1.1.0", + "upper-case": "^1.1.1" + } + }, + "cookie": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", + "integrity": "sha1-kOtGndzpBchm3mh+/EMTHYgB+dA=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz", + "integrity": "sha1-ROByFIrwHm6OJK+/EmkNaK5pjss=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cryptiles": { + "version": "0.2.2", + "resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", + "dev": true, + "requires": { + "boom": "0.4.x" + } + }, + "ctype": { + "version": "0.5.3", + "resolved": "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "d": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/d/-/d-0.1.1.tgz", + "integrity": "sha1-2hhMU10Y2O57oqoim5FACfrhEwk=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "dargs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dargs/-/dargs-0.1.0.tgz", + "integrity": "sha1-I2Stn0Qfl23NX+mWHiFxVmWl48M=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "date-time": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/date-time/-/date-time-0.1.1.tgz", + "integrity": "sha1-7S9tk9l5DOL9ZtW1/z7dW7y/Owc=", + "dev": true + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=", + "dev": true + }, + "debug": { + "version": "0.8.1", + "resolved": "http://registry.npmjs.org/debug/-/debug-0.8.1.tgz", + "integrity": "sha1-IP9NJvXkIstoobrLu2EDmtjBwTA=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decompress": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-0.2.5.tgz", + "integrity": "sha1-0hMjPv4GbM2A2RTXk/GzDNmEuEc=", + "dev": true, + "requires": { + "adm-zip": "^0.4.3", + "ext-name": "^1.0.0", + "get-stdin": "^0.1.0", + "mkdirp": "^0.3.5", + "nopt": "^2.2.0", + "rimraf": "^2.2.2", + "stream-combiner": "^0.0.4", + "tar": "^0.1.18", + "tempfile": "^0.1.2" + }, + "dependencies": { + "mkdirp": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true + }, + "nopt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz", + "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "decompress-zip": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/decompress-zip/-/decompress-zip-0.0.8.tgz", + "integrity": "sha1-SiZbIseyCdeyT6ZvKy37ztWQRPM=", + "dev": true, + "requires": { + "binary": "~0.3.0", + "graceful-fs": "~3.0.0", + "mkpath": "~0.1.0", + "nopt": "~2.2.0", + "q": "~1.0.0", + "readable-stream": "~1.1.8", + "touch": "0.0.2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "nopt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz", + "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "q": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz", + "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=", + "dev": true + } + } + }, + "deep-equal": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.0.0.tgz", + "integrity": "sha1-mWedO70EcVb81FDT0B7rkGhpHoM=", + "dev": true + }, + "deep-extend": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz", + "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=", + "dev": true + }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, + "diff": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz", + "integrity": "sha1-NDJ2MI7Jkbe8giZ+1VvBQR+XFmY=", + "dev": true + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "~1.1.1", + "entities": "~1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + } + } + }, + "domelementtype": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", + "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", + "dev": true + }, + "domhandler": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz", + "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-1.1.2.tgz", + "integrity": "sha1-HnOCaQDeKNbeVIC8HeMdCEKwa+w=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "download": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/download/-/download-0.1.19.tgz", + "integrity": "sha1-GtPlpBd+RrQawI5BqEyH48Q0haA=", + "dev": true, + "requires": { + "decompress": "^0.2.5", + "each-async": "^0.1.1", + "get-stdin": "^0.1.0", + "get-urls": "^0.1.1", + "mkdirp": "^0.3.5", + "nopt": "^2.2.0", + "request": "^2.34.0", + "through2": "^0.4.0" + }, + "dependencies": { + "mkdirp": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz", + "integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc=", + "dev": true + }, + "nopt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz", + "integrity": "sha1-KqCbfRdoSHs7ianFqlIzW/8Lrqc=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "each-async": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-0.1.3.tgz", + "integrity": "sha1-tDYCWwjaL4ZggCVRnjCWdj3t/KM=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "end-of-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz", + "integrity": "sha1-1FlucCc0qT5A6a+GQxnqvZn/Lw4=", + "dev": true, + "requires": { + "once": "~1.3.0" + }, + "dependencies": { + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } + }, + "entities": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es5-ext": { + "version": "0.10.46", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", + "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.1", + "next-tick": "1" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "es6-weak-map": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-0.1.4.tgz", + "integrity": "sha1-cGzvnpmqI2undmwjnIueKG6n0ig=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.6", + "es6-iterator": "~0.1.3", + "es6-symbol": "~2.0.1" + }, + "dependencies": { + "es6-iterator": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-0.1.3.tgz", + "integrity": "sha1-1vWLjE/EE8JJtLqhl2j45NfIlE4=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5", + "es6-symbol": "~2.0.1" + } + }, + "es6-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-2.0.1.tgz", + "integrity": "sha1-dhtcZ8/U8dGK+yNPaR1nhoLLO/M=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.5" + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escodegen": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", + "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", + "dev": true, + "requires": { + "esprima": "~1.0.2", + "estraverse": "~1.3.0", + "source-map": ">= 0.1.2" + } + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "estraverse": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", + "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + }, + "dependencies": { + "d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "^0.10.9" + } + } + } + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=", + "dev": true + }, + "exec-buffer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/exec-buffer/-/exec-buffer-0.1.1.tgz", + "integrity": "sha1-8GLqxzSCanpKQOFS2Ein2IWfxQk=", + "dev": true, + "optional": true, + "requires": { + "rimraf": "^2.2.6", + "tempfile": "^0.1.3" + } + }, + "executable": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/executable/-/executable-0.1.3.tgz", + "integrity": "sha1-InyyBXIGMd4VBwjnM5CWhNxn4dg=", + "dev": true, + "optional": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "ext-list": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ext-list/-/ext-list-0.2.0.tgz", + "integrity": "sha1-NhTV8pn0pZKolinn3oJfF3TRmr0=", + "dev": true, + "requires": { + "got": "^0.2.0" + } + }, + "ext-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ext-name/-/ext-name-1.0.1.tgz", + "integrity": "sha1-GCgzVtxAo5NFXFRGDwWZzpfTDgw=", + "dev": true, + "requires": { + "ext-list": "^0.2.0", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "underscore.string": { + "version": "2.3.3", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz", + "integrity": "sha1-ksz22B73Cp+kwXRxFMzvbYaIpsQ=", + "dev": true, + "requires": { + "concat-stream": "1.5.0", + "debug": "0.7.4", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + }, + "dependencies": { + "concat-stream": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz", + "integrity": "sha1-U/fUPFHF5D+ByP3QMyHGMb5o1hE=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~2.0.0", + "typedarray": "~0.0.5" + } + }, + "debug": { + "version": "0.7.4", + "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "faye-websocket": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", + "integrity": "sha1-wUxbO/FNdBf/v9mQwKdJXNnzN7w=", + "dev": true + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "find-file": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/find-file/-/find-file-0.1.4.tgz", + "integrity": "sha1-+Aa7gTKoJlIyvxye+VugdGUR2HE=", + "dev": true, + "optional": true + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "dev": true, + "requires": { + "glob": "~3.2.9", + "lodash": "~2.4.1" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fresh": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz", + "integrity": "sha1-v9lALPPfEsSkwxDHn5mj3eE9NKc=", + "dev": true + }, + "fs-extra": { + "version": "0.9.1", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.9.1.tgz", + "integrity": "sha1-h9v8ATg6jdzn2dVJbzYIVkiJ8VY=", + "dev": true, + "requires": { + "jsonfile": "~1.1.0", + "mkdirp": "^0.5.0", + "ncp": "^0.5.1", + "rimraf": "^2.2.8" + } + }, + "fstream": { + "version": "0.1.31", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", + "integrity": "sha1-czfwWPu7vvqMn1YaKMqwhJICyYg=", + "dev": true, + "requires": { + "graceful-fs": "~3.0.2", + "inherits": "~2.0.0", + "mkdirp": "0.5", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + } + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "requires": { + "fstream": "^1.0.0", + "inherits": "2", + "minimatch": "^3.0.0" + }, + "dependencies": { + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "gaze": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", + "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", + "dev": true, + "requires": { + "globule": "~0.1.0" + } + }, + "generate-function": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz", + "integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==", + "dev": true, + "requires": { + "is-property": "^1.0.2" + } + }, + "generate-object-property": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz", + "integrity": "sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=", + "dev": true, + "requires": { + "is-property": "^1.0.0" + } + }, + "get-stdin": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-0.1.0.tgz", + "integrity": "sha1-WZivJKr8gC0VyCxoVlfuuLENSpE=", + "dev": true + }, + "get-urls": { + "version": "0.1.2", + "resolved": "http://registry.npmjs.org/get-urls/-/get-urls-0.1.2.tgz", + "integrity": "sha1-kqPlziua8tJ2T/UZhoHbNzInuEQ=", + "dev": true + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "dev": true, + "requires": { + "graceful-fs": "~1.2.0", + "inherits": "1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", + "dev": true + } + } + }, + "globule": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", + "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", + "dev": true, + "requires": { + "glob": "~3.1.21", + "lodash": "~1.0.1", + "minimatch": "~0.2.11" + }, + "dependencies": { + "lodash": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", + "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", + "dev": true + } + } + }, + "google-cdn": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/google-cdn/-/google-cdn-0.7.0.tgz", + "integrity": "sha1-sVIvF5FFWymfehpVakkg6p0GCfk=", + "dev": true, + "requires": { + "async": "^0.9.0", + "bower": "~1.3.1", + "cdnjs-cdn-data": "~0.1.0", + "debug": "^1.0.2", + "google-cdn-data": "~0.1.0", + "regexp-quote": "0.0.0", + "semver": "^2.3.0" + }, + "dependencies": { + "abbrev": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz", + "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=", + "dev": true + }, + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true, + "optional": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true, + "optional": true + }, + "async": { + "version": "0.9.2", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true, + "optional": true + }, + "bower": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/bower/-/bower-1.3.12.tgz", + "integrity": "sha1-N94O2zkEuvkK7hM4Sho3mgXuIUw=", + "dev": true, + "requires": { + "abbrev": "~1.0.4", + "archy": "0.0.2", + "bower-config": "~0.5.2", + "bower-endpoint-parser": "~0.2.2", + "bower-json": "~0.4.0", + "bower-logger": "~0.2.2", + "bower-registry-client": "~0.2.0", + "cardinal": "0.4.0", + "chalk": "0.5.0", + "chmodr": "0.1.0", + "decompress-zip": "0.0.8", + "fstream": "~1.0.2", + "fstream-ignore": "~1.0.1", + "glob": "~4.0.2", + "graceful-fs": "~3.0.1", + "handlebars": "~2.0.0", + "inquirer": "0.7.1", + "insight": "0.4.3", + "is-root": "~1.0.0", + "junk": "~1.0.0", + "lockfile": "~1.0.0", + "lru-cache": "~2.5.0", + "mkdirp": "0.5.0", + "mout": "~0.9.0", + "nopt": "~3.0.0", + "opn": "~1.0.0", + "osenv": "0.1.0", + "p-throttler": "0.1.0", + "promptly": "0.2.0", + "q": "~1.0.1", + "request": "~2.42.0", + "request-progress": "0.3.0", + "retry": "0.6.0", + "rimraf": "~2.2.0", + "semver": "~2.3.0", + "shell-quote": "~1.4.1", + "stringify-object": "~1.0.0", + "tar-fs": "0.5.2", + "tmp": "0.0.23", + "update-notifier": "0.2.0", + "which": "~1.0.5" + } + }, + "caseless": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz", + "integrity": "sha1-gWfBq4OX+1u5X5bSjlqBxQ8kesQ=", + "dev": true + }, + "chalk": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.0.tgz", + "integrity": "sha1-N138y8IcCmCothvFt489wqVcIS8=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "optional": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "debug": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-1.0.5.tgz", + "integrity": "sha1-9yQSF0MPmd7EwrRz6rkiKOh0wqw=", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true, + "optional": true + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "dev": true + }, + "form-data": { + "version": "0.1.4", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", + "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", + "dev": true, + "optional": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime": "~1.2.11" + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + } + } + }, + "glob": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz", + "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=", + "dev": true, + "requires": { + "graceful-fs": "^3.0.2", + "inherits": "2", + "minimatch": "^1.0.0", + "once": "^1.3.0" + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "dev": true, + "optional": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "lru-cache": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.2.tgz", + "integrity": "sha1-H92tk4quEmPOE4aAvhs/WRwKtBw=", + "dev": true + }, + "mime-types": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", + "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", + "dev": true + }, + "minimatch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", + "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "oauth-sign": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz", + "integrity": "sha1-8ilW8x6nFRqCHl8vsywRPK2Ln2k=", + "dev": true, + "optional": true + }, + "q": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.0.1.tgz", + "integrity": "sha1-EYcq7t7okmgRCxCnGESP+xARKhQ=", + "dev": true + }, + "qs": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz", + "integrity": "sha1-GbV/8k3CqZzh+L32r82ln472H4g=", + "dev": true + }, + "request": { + "version": "2.42.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.42.0.tgz", + "integrity": "sha1-VyvQFIk4VkBArHqxSLlkI6BjMEo=", + "dev": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.6.0", + "forever-agent": "~0.5.0", + "form-data": "~0.1.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.4.0", + "qs": "~1.2.0", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "semver": { + "version": "2.3.2", + "resolved": "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz", + "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, + "google-cdn-data": { + "version": "0.1.25", + "resolved": "https://registry.npmjs.org/google-cdn-data/-/google-cdn-data-0.1.25.tgz", + "integrity": "sha1-nDwxSasYp8LV7V8PC07ovEWZK3E=", + "dev": true + }, + "got": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/got/-/got-0.2.0.tgz", + "integrity": "sha1-0Awkiyn9zK6pQN+coJlev/MbUaU=", + "dev": true, + "requires": { + "object-assign": "^0.3.0" + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", + "dev": true + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=", + "dev": true + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "dev": true, + "requires": { + "async": "~0.1.22", + "coffee-script": "~1.3.3", + "colors": "~0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "~0.4.13", + "exit": "~0.1.1", + "findup-sync": "~0.1.2", + "getobject": "~0.1.0", + "glob": "~3.1.21", + "grunt-legacy-log": "~0.1.0", + "grunt-legacy-util": "~0.2.0", + "hooker": "~0.2.3", + "iconv-lite": "~0.2.11", + "js-yaml": "~2.0.5", + "lodash": "~0.9.2", + "minimatch": "~0.2.12", + "nopt": "~1.0.10", + "rimraf": "~2.2.8", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + } + }, + "grunt-autoprefixer": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/grunt-autoprefixer/-/grunt-autoprefixer-0.7.6.tgz", + "integrity": "sha1-NDYJp+96gtigYd5tli9VUhWrkfk=", + "dev": true, + "requires": { + "autoprefixer": "~1.3.1", + "chalk": "~0.4.0", + "diff": "~1.0.8" + } + }, + "grunt-bump": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/grunt-bump/-/grunt-bump-0.3.4.tgz", + "integrity": "sha1-dyUehv+L5NvSNK/NXugk5WOaR2c=", + "dev": true, + "requires": { + "semver": "^4.3.3" + } + }, + "grunt-concurrent": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/grunt-concurrent/-/grunt-concurrent-0.5.0.tgz", + "integrity": "sha1-SlGaTCh4JfDeBxX3O4XRUMdQ2fc=", + "dev": true, + "requires": { + "async": "~0.2.9", + "pad-stdio": "^0.1.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "grunt-contrib-clean": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-0.5.0.tgz", + "integrity": "sha1-9T397ghJsce0Dp67umn0jExgecU=", + "dev": true, + "requires": { + "rimraf": "~2.2.1" + } + }, + "grunt-contrib-compass": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/grunt-contrib-compass/-/grunt-contrib-compass-0.7.2.tgz", + "integrity": "sha1-Q0gIhhUdE7XEc/ilkSo2XeOWQjE=", + "dev": true, + "requires": { + "async": "~0.2.0", + "dargs": "~0.1.0", + "tmp": "0.0.23" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "grunt-contrib-concat": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.4.0.tgz", + "integrity": "sha1-uH988VO/ZGiBQvlHFhFWAT+8fHQ=", + "dev": true, + "requires": { + "chalk": "~0.4.0" + } + }, + "grunt-contrib-connect": { + "version": "0.7.1", + "resolved": "http://registry.npmjs.org/grunt-contrib-connect/-/grunt-contrib-connect-0.7.1.tgz", + "integrity": "sha1-ytjeRFqBBbNJEtHCAjjM6Y3BPr4=", + "dev": true, + "requires": { + "async": "~0.2.10", + "connect": "~2.13.0", + "connect-livereload": "~0.3.0", + "open": "0.0.4", + "portscanner": "0.2.2" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + } + } + }, + "grunt-contrib-copy": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-0.5.0.tgz", + "integrity": "sha1-QQB1rEWlhWuhkbHMclclRQ1KAhU=", + "dev": true + }, + "grunt-contrib-cssmin": { + "version": "0.9.0", + "resolved": "http://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-0.9.0.tgz", + "integrity": "sha1-JyQfAWCohmZZ2rQNyMJ3bAHsfOI=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "clean-css": "~2.1.0", + "maxmin": "~0.1.0" + } + }, + "grunt-contrib-htmlmin": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/grunt-contrib-htmlmin/-/grunt-contrib-htmlmin-0.3.0.tgz", + "integrity": "sha1-yWCAIEj2CZJenQ7xsGcJBLTFo/0=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "html-minifier": "~0.6.0", + "pretty-bytes": "~0.1.0" + } + }, + "grunt-contrib-imagemin": { + "version": "0.7.2", + "resolved": "http://registry.npmjs.org/grunt-contrib-imagemin/-/grunt-contrib-imagemin-0.7.2.tgz", + "integrity": "sha1-+P2Q4gl/vJGW/7cHzvPcvkD6HHs=", + "dev": true, + "requires": { + "async": "^0.7.0", + "chalk": "^0.4.0", + "imagemin": "^0.4.5", + "pretty-bytes": "^0.1.0" + }, + "dependencies": { + "async": { + "version": "0.7.0", + "resolved": "http://registry.npmjs.org/async/-/async-0.7.0.tgz", + "integrity": "sha1-RCng5i9d4KVPN0WMSfC4l+tSraU=", + "dev": true + } + } + }, + "grunt-contrib-jshint": { + "version": "0.10.0", + "resolved": "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.10.0.tgz", + "integrity": "sha1-V+vMyofo8yevZkXYo8WG1IReTYE=", + "dev": true, + "requires": { + "hooker": "~0.2.3", + "jshint": "~2.5.0" + } + }, + "grunt-contrib-uglify": { + "version": "0.4.1", + "resolved": "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.4.1.tgz", + "integrity": "sha1-1D87xuAsM1Vj+MT58IE/tLD/ebE=", + "dev": true, + "requires": { + "chalk": "^0.4.0", + "maxmin": "^0.1.0", + "uglify-js": "^2.4.0" + } + }, + "grunt-contrib-watch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz", + "integrity": "sha1-ZP3LolpjX1tNobbOb5DaCutuPxU=", + "dev": true, + "requires": { + "async": "~0.2.9", + "gaze": "~0.5.1", + "lodash": "~2.4.1", + "tiny-lr-fork": "0.0.5" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "grunt-filerev": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/grunt-filerev/-/grunt-filerev-0.2.1.tgz", + "integrity": "sha1-Svngz+2nuwFnB2VpeREimBH29NM=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "each-async": "~0.1.0" + } + }, + "grunt-google-cdn": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/grunt-google-cdn/-/grunt-google-cdn-0.4.3.tgz", + "integrity": "sha1-i67ZjiNt5XweNNLvHc2q4RfHvxg=", + "dev": true, + "requires": { + "bower": ">=1.0.0", + "chalk": "^0.5.1", + "google-cdn": "~0.7.0" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "grunt-karma": { + "version": "0.11.2", + "resolved": "http://registry.npmjs.org/grunt-karma/-/grunt-karma-0.11.2.tgz", + "integrity": "sha1-CmcfeHgjAT+b8h/AXGDBStnFbEc=", + "dev": true, + "requires": { + "lodash": "~3.9.3" + }, + "dependencies": { + "lodash": { + "version": "3.9.3", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz", + "integrity": "sha1-AVnoaDL+/8bWHYUrEqlTuZSWvTI=", + "dev": true + } + } + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "grunt-legacy-log-utils": "~0.1.1", + "hooker": "~0.2.3", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "dev": true, + "requires": { + "colors": "~0.6.2", + "lodash": "~2.4.1", + "underscore.string": "~2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=", + "dev": true + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "dev": true, + "requires": { + "async": "~0.1.22", + "exit": "~0.1.1", + "getobject": "~0.1.0", + "hooker": "~0.2.3", + "lodash": "~0.9.2", + "underscore.string": "~2.2.1", + "which": "~1.0.5" + } + }, + "grunt-newer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/grunt-newer/-/grunt-newer-0.7.0.tgz", + "integrity": "sha1-N22dm2TOXGSLa/ob2pj3vCGT5B4=", + "dev": true, + "requires": { + "async": "0.2.10", + "rimraf": "2.2.6" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "rimraf": { + "version": "2.2.6", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.6.tgz", + "integrity": "sha1-xZWXVpsU2VatKcrMQr3d9fDqT0w=", + "dev": true + } + } + }, + "grunt-ngmin": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/grunt-ngmin/-/grunt-ngmin-0.0.3.tgz", + "integrity": "sha1-u8Ce9P51kdZ0zFMk96XkWdknEdc=", + "dev": true, + "requires": { + "ngmin": "~0.4.0" + } + }, + "grunt-sass": { + "version": "0.18.1", + "resolved": "http://registry.npmjs.org/grunt-sass/-/grunt-sass-0.18.1.tgz", + "integrity": "sha1-r8hRn9x5wQLPIKgTheH3E9jGdxM=", + "dev": true, + "requires": { + "each-async": "^1.0.0", + "node-sass": "^2.0.1", + "object-assign": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "cross-spawn": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-0.2.9.tgz", + "integrity": "sha1-vWf5bAfvtjA7f+lMHpefiEeOCjk=", + "dev": true, + "requires": { + "lru-cache": "^2.5.0" + } + }, + "each-async": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/each-async/-/each-async-1.1.1.tgz", + "integrity": "sha1-3uUim98KtrogEqOV4bhpq/iBNHM=", + "dev": true, + "requires": { + "onetime": "^1.0.0", + "set-immediate-shim": "^1.0.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "nan": { + "version": "1.9.0", + "resolved": "http://registry.npmjs.org/nan/-/nan-1.9.0.tgz", + "integrity": "sha1-GpzSdVYJdm9cKR5BlPzjn94oZRU=", + "dev": true + }, + "node-sass": { + "version": "2.1.1", + "resolved": "http://registry.npmjs.org/node-sass/-/node-sass-2.1.1.tgz", + "integrity": "sha1-MoR9zu+e8he7aBOO1dPipypnZfs=", + "dev": true, + "requires": { + "chalk": "^0.5.1", + "cross-spawn": "^0.2.6", + "gaze": "^0.5.1", + "get-stdin": "^4.0.1", + "meow": "^3.0.0", + "mkdirp": "^0.5.0", + "mocha": "^2.1.0", + "nan": "^1.6.2", + "npmconf": "^2.1.1", + "object-assign": "^2.0.0", + "pangyp": "^2.1.0", + "replace-ext": "0.0.1", + "request": "^2.53.0", + "sass-graph": "^1.0.3", + "semver": "^4.2.2", + "shelljs": "^0.3.0" + } + }, + "object-assign": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz", + "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo=", + "dev": true + }, + "sass-graph": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/sass-graph/-/sass-graph-1.3.0.tgz", + "integrity": "sha1-6SwU/fnpY03fobPr3aQQIJ4w+LA=", + "dev": true, + "requires": { + "commander": "^2.6.0", + "glob": "^4.3.4", + "lodash": "^2.4.1" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "grunt-svgmin": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/grunt-svgmin/-/grunt-svgmin-0.4.0.tgz", + "integrity": "sha1-8Z0RkwIq4AgOD65dMT4S73yuCq4=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "each-async": "~0.1.2", + "pretty-bytes": "~0.1.0", + "svgo": "~0.4.1" + } + }, + "grunt-usemin": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/grunt-usemin/-/grunt-usemin-2.6.2.tgz", + "integrity": "sha1-KxNroCJkqakdlNQkyNNya9iNt9o=", + "dev": true, + "requires": { + "chalk": "~0.5.1", + "debug": "~2.1.0", + "lodash": "~2.4.1" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "debug": { + "version": "2.1.3", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.1.3.tgz", + "integrity": "sha1-zoqxte6PvuK/o7Yzyrk9NmtjQY4=", + "dev": true, + "requires": { + "ms": "0.7.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "ms": { + "version": "0.7.0", + "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz", + "integrity": "sha1-hlvpTC5zl62KV9pqYzpuLzB5i4M=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "grunt-wiredep": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/grunt-wiredep/-/grunt-wiredep-1.9.0.tgz", + "integrity": "sha1-m+0nj0wF2vQdsa/NA9b1Waba0M4=", + "dev": true, + "requires": { + "wiredep": "^1.5.0" + } + }, + "gzip-size": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-0.1.1.tgz", + "integrity": "sha1-rjNIO2/IIk6DQilt4Qjvk3V/duA=", + "dev": true, + "requires": { + "concat-stream": "^1.4.1", + "zlib-browserify": "^0.0.3" + } + }, + "handlebars": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz", + "integrity": "sha1-bp1/hRSjRn+l6fgswVjs/B1ax28=", + "dev": true, + "requires": { + "optimist": "~0.3", + "uglify-js": "~2.3" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true, + "optional": true + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "dev": true, + "requires": { + "wordwrap": "~0.0.2" + } + }, + "uglify-js": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz", + "integrity": "sha1-+gmEdwtCi3qbKoBY9GNV0U/vIRo=", + "dev": true, + "optional": true, + "requires": { + "async": "~0.2.6", + "optimist": "~0.3.5", + "source-map": "~0.1.7" + } + } + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.2.tgz", + "integrity": "sha512-OFxb5MZXCUMx43X7O8LK4FKggEQx6yC5QPmOcBnYbJ9UjxEcMcrMbaR0af5HZpqeFopw2GwQRQi34ZXI7YLM5w==", + "dev": true, + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-color": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz", + "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=", + "dev": true + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dev": true, + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "hawk": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", + "integrity": "sha1-h81JH5tG5OKurKM1QWdmiF0tHtk=", + "dev": true, + "requires": { + "boom": "0.4.x", + "cryptiles": "0.2.x", + "hoek": "0.9.x", + "sntp": "0.2.x" + } + }, + "hoek": { + "version": "0.9.1", + "resolved": "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", + "dev": true + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "html-minifier": { + "version": "0.6.9", + "resolved": "http://registry.npmjs.org/html-minifier/-/html-minifier-0.6.9.tgz", + "integrity": "sha1-UQXcI29efhqLplHUq5gThvx6vlM=", + "dev": true, + "requires": { + "change-case": "2.1.x", + "clean-css": "2.2.x", + "cli": "0.6.x", + "relateurl": "0.2.x", + "uglify-js": "2.4.x" + }, + "dependencies": { + "clean-css": { + "version": "2.2.23", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-2.2.23.tgz", + "integrity": "sha1-BZC1R4tRbEkD7cLYm9P9vdKGMow=", + "dev": true, + "requires": { + "commander": "2.2.x" + } + }, + "commander": { + "version": "2.2.0", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.2.0.tgz", + "integrity": "sha1-F1rUuTF/P/YV8gHB5XIk9Vo+kd8=", + "dev": true + } + } + }, + "htmlparser2": { + "version": "3.8.3", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz", + "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=", + "dev": true, + "requires": { + "domelementtype": "1", + "domhandler": "2.3", + "domutils": "1.5", + "entities": "1.0", + "readable-stream": "1.1" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=", + "dev": true + }, + "image-type": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/image-type/-/image-type-0.1.4.tgz", + "integrity": "sha1-fK1iLiwfIFPJNZnwKVp7nM3BYeg=", + "dev": true, + "requires": { + "is-bmp": "^0.1.0", + "is-gif": "^0.1.0", + "is-jpg": "^0.1.0", + "is-jxr": "^0.1.0", + "is-png": "^0.1.0", + "is-psd": "^0.1.0", + "is-tif": "^0.1.0", + "is-webp": "^0.1.0", + "read-chunk": "^0.1.0" + } + }, + "imagemin": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-0.4.9.tgz", + "integrity": "sha1-81CtW+WKEyX83CSsK0CHTwpv2PI=", + "dev": true, + "requires": { + "fs-extra": "^0.10.0", + "image-type": "^0.1.4", + "imagemin-gifsicle": "^0.1.1", + "imagemin-jpegtran": "^0.1.0", + "imagemin-optipng": "^0.1.0", + "imagemin-pngquant": "^0.1.2", + "imagemin-svgo": "^0.1.0", + "nopt": "^3.0.1", + "rimraf": "^2.2.6", + "stat-mode": "^0.2.0", + "tempfile": "^0.1.3", + "ware": "^0.3.0" + }, + "dependencies": { + "fs-extra": { + "version": "0.10.0", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.10.0.tgz", + "integrity": "sha1-mcDsL9XqqtnWRiReSwFLVnKZgq8=", + "dev": true, + "requires": { + "jsonfile": "^1.2.0", + "mkdirp": "^0.5.0", + "ncp": "^0.5.1", + "rimraf": "^2.2.8" + } + }, + "gifsicle": { + "version": "0.1.7", + "resolved": "http://registry.npmjs.org/gifsicle/-/gifsicle-0.1.7.tgz", + "integrity": "sha1-1rHWb3HX1YPX2qXlYKkTASdye0s=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^0.1.0", + "bin-wrapper": "^0.3.0", + "log-symbols": "^1.0.0" + } + }, + "imagemin-gifsicle": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-0.1.1.tgz", + "integrity": "sha1-Tm/kYBUFf2ByTrWSUlDnnQO5Blw=", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^0.1.0", + "gifsicle": "^0.1.0", + "image-type": "^0.1.1" + } + }, + "jsonfile": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-1.2.0.tgz", + "integrity": "sha1-XzXWzZ+Ubsl7Wxg1P6nljfG4b2o=", + "dev": true + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "imagemin-jpegtran": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-0.1.0.tgz", + "integrity": "sha1-OGgxoL8i9MRuF9+PZLm1oshY8KA=", + "dev": true, + "optional": true, + "requires": { + "image-type": "^0.1.1", + "jpegtran-bin": "^0.2.6", + "rimraf": "^2.2.6", + "tempfile": "^0.1.3" + }, + "dependencies": { + "jpegtran-bin": { + "version": "0.2.8", + "resolved": "http://registry.npmjs.org/jpegtran-bin/-/jpegtran-bin-0.2.8.tgz", + "integrity": "sha1-dZwb4FWN6HAfh6kLeugY0wYPcSs=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^0.1.0", + "bin-wrapper": "^0.3.0", + "log-symbols": "^1.0.0" + } + } + } + }, + "imagemin-optipng": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-0.1.0.tgz", + "integrity": "sha1-MpZNfqEjWgRVxqJ3XW5uUbh9USI=", + "dev": true, + "optional": true, + "requires": { + "image-type": "^0.1.1", + "optipng-bin": "^0.3.3", + "rimraf": "^2.2.6", + "tempfile": "^0.1.3" + }, + "dependencies": { + "optipng-bin": { + "version": "0.3.11", + "resolved": "http://registry.npmjs.org/optipng-bin/-/optipng-bin-0.3.11.tgz", + "integrity": "sha1-QA0ZMp8pxQi4m0eLXUK6Gvs71Ks=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^0.1.0", + "bin-wrapper": "^0.3.0", + "log-symbols": "^1.0.0" + } + } + } + }, + "imagemin-pngquant": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/imagemin-pngquant/-/imagemin-pngquant-0.1.3.tgz", + "integrity": "sha1-v7kkTIJOOrgvo3/qt5/VtKrgvLQ=", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^0.1.1", + "image-type": "^0.1.1", + "pngquant-bin": "^0.3.0" + }, + "dependencies": { + "pngquant-bin": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/pngquant-bin/-/pngquant-bin-0.3.5.tgz", + "integrity": "sha1-Bvtvu8MbjOL8u3O9Q2ZHW/NIbv8=", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^0.1.0", + "bin-wrapper": "^0.3.0", + "log-symbols": "^1.0.0" + } + } + } + }, + "imagemin-svgo": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-0.1.1.tgz", + "integrity": "sha1-hdtW805D2IdBcau5hne5ZqHOS7w=", + "dev": true, + "optional": true, + "requires": { + "is-svg": "^0.1.1", + "svgo": "^0.4.4" + } + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "^2.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "inquirer": { + "version": "0.7.1", + "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.7.1.tgz", + "integrity": "sha1-uKzxQBZb1YGGLtEZj7bSZDAJH6w=", + "dev": true, + "requires": { + "chalk": "^0.5.0", + "cli-color": "~0.3.2", + "figures": "^1.3.2", + "lodash": "~2.4.1", + "mute-stream": "0.0.4", + "readline2": "~0.1.0", + "rx": "^2.2.27", + "through": "~2.3.4" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "insight": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/insight/-/insight-0.4.3.tgz", + "integrity": "sha1-dtZTxcDYBIsDzbpjhaaUj3RhSvA=", + "dev": true, + "requires": { + "async": "^0.9.0", + "chalk": "^0.5.1", + "configstore": "^0.3.1", + "inquirer": "^0.6.0", + "lodash.debounce": "^2.4.1", + "object-assign": "^1.0.0", + "os-name": "^1.0.0", + "request": "^2.40.0", + "tough-cookie": "^0.12.1" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "async": { + "version": "0.9.2", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "inquirer": { + "version": "0.6.0", + "resolved": "http://registry.npmjs.org/inquirer/-/inquirer-0.6.0.tgz", + "integrity": "sha1-YU17s+SPnmqAKOlKDDjyPvKYI9M=", + "dev": true, + "requires": { + "chalk": "^0.5.0", + "cli-color": "~0.3.2", + "lodash": "~2.4.1", + "mute-stream": "0.0.4", + "readline2": "~0.1.0", + "rx": "^2.2.27", + "through": "~2.3.4" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "object-assign": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz", + "integrity": "sha1-5l3Idm07R7S4MHRlyDEdoDCwcKY=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "tough-cookie": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz", + "integrity": "sha1-giDH4hq9WxPZaAQlS9WoHr8sfWI=", + "dev": true, + "requires": { + "punycode": ">=0.2.0" + } + } + } + }, + "intersect": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/intersect/-/intersect-0.0.3.tgz", + "integrity": "sha1-waSl5erG7eSvdQTMB+Ctp7yfSSA=", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-bmp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-bmp/-/is-bmp-0.1.1.tgz", + "integrity": "sha1-TvryGZOZ1w7196Gk2zvCyd1QtdM=", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-gif": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/is-gif/-/is-gif-0.1.1.tgz", + "integrity": "sha1-oEQzWl+RzbYpXQbmdBNV3fbmaAw=", + "dev": true + }, + "is-jpg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-0.1.2.tgz", + "integrity": "sha1-pW9vAf3vS69EjcRLxvmcvJxTZxU=", + "dev": true + }, + "is-jxr": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-jxr/-/is-jxr-0.1.1.tgz", + "integrity": "sha1-Jy+lIEnHwgzXBvCPIADyw+GVf+o=", + "dev": true + }, + "is-lower-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/is-lower-case/-/is-lower-case-1.1.3.tgz", + "integrity": "sha1-fhR75HaNxGbbO/shzGCzHmrWk5M=", + "dev": true, + "requires": { + "lower-case": "^1.1.0" + } + }, + "is-my-ip-valid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz", + "integrity": "sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ==", + "dev": true + }, + "is-my-json-valid": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz", + "integrity": "sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q==", + "dev": true, + "requires": { + "generate-function": "^2.0.0", + "generate-object-property": "^1.1.0", + "is-my-ip-valid": "^1.0.0", + "jsonpointer": "^4.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "is-png": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-png/-/is-png-0.1.1.tgz", + "integrity": "sha1-alpUhJc2WgLTIfRBvoINHgjmFtM=", + "dev": true + }, + "is-property": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz", + "integrity": "sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ=", + "dev": true + }, + "is-psd": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-psd/-/is-psd-0.1.1.tgz", + "integrity": "sha1-ZfKwoa7z55TpFHRvaWljI5e6LjM=", + "dev": true + }, + "is-root": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-1.0.0.tgz", + "integrity": "sha1-B7bCM7w5TNnQK6FclmvWZg1jQtU=", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-0.1.2.tgz", + "integrity": "sha1-n0aZBfvPczWYzJRLUM7ggtokB7c=", + "dev": true, + "optional": true + }, + "is-tif": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-tif/-/is-tif-0.1.1.tgz", + "integrity": "sha1-uqWrrekfVxDJ7Yu/+uRpIR7M5tw=", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-upper-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-upper-case/-/is-upper-case-1.1.2.tgz", + "integrity": "sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8=", + "dev": true, + "requires": { + "upper-case": "^1.1.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-webp": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-webp/-/is-webp-0.1.1.tgz", + "integrity": "sha1-Gtuc20pGVP7wISN+Sd/YzYgqEv0=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jade": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "dev": true, + "requires": { + "commander": "0.6.1", + "mkdirp": "0.3.0" + }, + "dependencies": { + "commander": { + "version": "0.6.1", + "resolved": "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=", + "dev": true + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=", + "dev": true + } + } + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "dev": true, + "requires": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jshint": { + "version": "2.5.11", + "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.5.11.tgz", + "integrity": "sha1-4tlYWLuxqngwAQii6BCZ+wlWIuA=", + "dev": true, + "requires": { + "cli": "0.6.x", + "console-browserify": "1.1.x", + "exit": "0.1.x", + "htmlparser2": "3.8.x", + "minimatch": "1.0.x", + "shelljs": "0.3.x", + "strip-json-comments": "1.0.x", + "underscore": "1.6.x" + }, + "dependencies": { + "minimatch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", + "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "underscore": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz", + "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=", + "dev": true + } + } + }, + "jshint-stylish": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jshint-stylish/-/jshint-stylish-0.2.0.tgz", + "integrity": "sha1-newAJQrISXlgvk7tb1Bn+x1twH0=", + "dev": true, + "requires": { + "chalk": "~0.4.0", + "text-table": "~0.2.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz", + "integrity": "sha1-2k/WrXfxolUgPqY8e8Mtwx72RDM=", + "dev": true + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, + "jsonpointer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz", + "integrity": "sha1-T9kss04OnbPInIYi7PUfm5eMbLk=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "junk": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/junk/-/junk-1.0.3.tgz", + "integrity": "sha1-h75jSIZJy9ym9Tqzm+yczSNH9ZI=", + "dev": true + }, + "karma-jasmine": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-0.1.6.tgz", + "integrity": "sha1-MFRQV2mOvcvGMTLUe+Elt1svvFU=", + "dev": true + }, + "karma-phantomjs-launcher": { + "version": "0.1.4", + "resolved": "http://registry.npmjs.org/karma-phantomjs-launcher/-/karma-phantomjs-launcher-0.1.4.tgz", + "integrity": "sha1-TvluQyL/Y65dkY5RwlshNyMjjzA=", + "dev": true, + "requires": { + "phantomjs": "~1.9" + } + }, + "kew": { + "version": "0.7.0", + "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "dev": true + }, + "keypress": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", + "integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo=", + "dev": true + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.9" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true, + "optional": true + } + } + }, + "latest-version": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-0.2.0.tgz", + "integrity": "sha1-ra+JjV8iOA0/nEU4bv3/ChtbdQE=", + "dev": true, + "requires": { + "package-json": "^0.2.0" + } + }, + "load-grunt-tasks": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-0.4.0.tgz", + "integrity": "sha1-+CRmP/uiUbV079pak1r6zv4KlfQ=", + "dev": true, + "requires": { + "findup-sync": "^0.1.2", + "multimatch": "^0.1.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "lockfile": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.4.tgz", + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", + "dev": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash": { + "version": "0.9.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=", + "dev": true + }, + "lodash._isnative": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz", + "integrity": "sha1-PqZAS3hKe+g2x7V1gOHN95sUgyw=", + "dev": true + }, + "lodash._objecttypes": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz", + "integrity": "sha1-fAt/admKH3ZSn4kLDNsbTf7BHBE=", + "dev": true + }, + "lodash.debounce": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-2.4.1.tgz", + "integrity": "sha1-2M6tJG7EuSbouFZ4/Dlr/rqMxvw=", + "dev": true, + "requires": { + "lodash.isfunction": "~2.4.1", + "lodash.isobject": "~2.4.1", + "lodash.now": "~2.4.1" + } + }, + "lodash.isfunction": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isfunction/-/lodash.isfunction-2.4.1.tgz", + "integrity": "sha1-LP1XXHPkmKtX4xm3f6Aq3vE6lNE=", + "dev": true + }, + "lodash.isobject": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz", + "integrity": "sha1-Wi5H/mmVPx7mMafrof5k0tBlWPU=", + "dev": true, + "requires": { + "lodash._objecttypes": "~2.4.1" + } + }, + "lodash.now": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/lodash.now/-/lodash.now-2.4.1.tgz", + "integrity": "sha1-aHIVZQBSUYX6+WeFu3/n/hW1YsY=", + "dev": true, + "requires": { + "lodash._isnative": "~2.4.1" + } + }, + "log-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz", + "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=", + "dev": true, + "optional": true, + "requires": { + "chalk": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "optional": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lpad": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/lpad/-/lpad-0.2.1.tgz", + "integrity": "sha1-EQWHpVgYSFrWoBliXjknykxSw+4=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", + "dev": true, + "requires": { + "es5-ext": "~0.10.2" + } + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "maxmin": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-0.1.0.tgz", + "integrity": "sha1-ldgcUonjqdMPf8fcVZwCTlAwydA=", + "dev": true, + "requires": { + "chalk": "^0.4.0", + "gzip-size": "^0.1.0", + "pretty-bytes": "^0.1.0" + } + }, + "memoizee": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.3.10.tgz", + "integrity": "sha1-TsoNiu057J0Bf0xcLy9kMvQuXI8=", + "dev": true, + "requires": { + "d": "~0.1.1", + "es5-ext": "~0.10.11", + "es6-weak-map": "~0.1.4", + "event-emitter": "~0.3.4", + "lru-queue": "0.1", + "next-tick": "~0.2.2", + "timers-ext": "0.1" + }, + "dependencies": { + "next-tick": { + "version": "0.2.2", + "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-0.2.2.tgz", + "integrity": "sha1-ddpKkn7liH45BliABltzNkE7MQ0=", + "dev": true + } + } + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + } + } + }, + "methods": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz", + "integrity": "sha1-M11Cnu/SG3us8unJIqjSvRSjDk8=", + "dev": true + }, + "mime": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=", + "dev": true + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "~1.37.0" + } + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "mkpath": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/mkpath/-/mkpath-0.1.0.tgz", + "integrity": "sha1-dVSm+Nhxg0zJe1RisSLEwSTW3pE=", + "dev": true + }, + "mocha": { + "version": "2.5.3", + "resolved": "http://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "dev": true, + "requires": { + "commander": "2.3.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.2", + "glob": "3.2.11", + "growl": "1.9.2", + "jade": "0.26.3", + "mkdirp": "0.5.1", + "supports-color": "1.2.0", + "to-iso-string": "0.0.2" + }, + "dependencies": { + "commander": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=", + "dev": true + }, + "debug": { + "version": "2.2.0", + "resolved": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "dev": true, + "requires": { + "ms": "0.7.1" + } + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=", + "dev": true + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=", + "dev": true + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=", + "dev": true + } + } + }, + "mout": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/mout/-/mout-0.9.1.tgz", + "integrity": "sha1-hPDz/WrMcxf2PeKv/cwM7gCbBHc=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multimatch": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-0.1.0.tgz", + "integrity": "sha1-CZ2fj4RjrDbPv6JzYLwWzuh97WQ=", + "dev": true, + "requires": { + "lodash": "~2.4.1", + "minimatch": "~0.2.14" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + } + } + }, + "multiparty": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz", + "integrity": "sha1-pWfCrwAK0i3I8qZT2Rl4rh9TFvQ=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9", + "stream-counter": "~0.2.0" + } + }, + "mute-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz", + "integrity": "sha1-qSGZYKbV1dBGWXruUSUsZlX3F34=", + "dev": true + }, + "natives": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz", + "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==", + "dev": true + }, + "ncp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/ncp/-/ncp-0.5.1.tgz", + "integrity": "sha1-dDmFMW49tFkoG1hxaehFc1oFQ58=", + "dev": true + }, + "negotiator": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", + "integrity": "sha1-cG1pLv7d9XTVfqn7GriaT6fuj2A=", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "ngmin": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/ngmin/-/ngmin-0.4.1.tgz", + "integrity": "sha1-v8HPSwd/FXT2wK1uE2cp2tar4Z8=", + "dev": true, + "requires": { + "astral": "~0.1.0", + "astral-angular-annotate": "~0.0.1", + "clone": "~0.1.6", + "commander": "~1.1.1", + "escodegen": "~0.0.15", + "esprima": "~1.0.2" + }, + "dependencies": { + "commander": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/commander/-/commander-1.1.1.tgz", + "integrity": "sha1-UNFlGGiuYOzP8KLZ80WVN2vGsEE=", + "dev": true, + "requires": { + "keypress": "0.1.x" + } + } + } + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=", + "dev": true + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "noptify": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", + "integrity": "sha1-WPZUpz2XU98MUdlobckhBKZ/S7s=", + "dev": true, + "requires": { + "nopt": "~2.0.0" + }, + "dependencies": { + "nopt": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", + "integrity": "sha1-ynQW8gpeP5w7hhgPlilfo9C1Lg0=", + "dev": true, + "requires": { + "abbrev": "1" + } + } + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npmconf": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/npmconf/-/npmconf-2.1.3.tgz", + "integrity": "sha512-iTK+HI68GceCoGOHAQiJ/ik1iDfI7S+cgyG8A+PP18IU3X83kRhQIRhAUNj4Bp2JMx6Zrt5kCiozYa9uGWTjhA==", + "dev": true, + "requires": { + "config-chain": "~1.1.8", + "inherits": "~2.0.0", + "ini": "^1.2.0", + "mkdirp": "^0.5.0", + "nopt": "~3.0.1", + "once": "~1.3.0", + "osenv": "^0.1.0", + "safe-buffer": "^5.1.1", + "semver": "2 || 3 || 4", + "uid-number": "0.0.5" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "once": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", + "dev": true, + "requires": { + "wrappy": "1" + } + } + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz", + "integrity": "sha1-Bg4qKifXwNd+x3t48Rqkf9iACNI=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz", + "integrity": "sha1-ofeDj4MUxRbwXs78vEzP4EtO14k=", + "dev": true + }, + "open": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/open/-/open-0.0.4.tgz", + "integrity": "sha1-XeRqCFi59J+fIRqo8mYoVQZX8mI=", + "dev": true + }, + "opn": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/opn/-/opn-1.0.2.tgz", + "integrity": "sha1-uQlkM0bQChq8l3qLlvPOPFPVz18=", + "dev": true + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + } + }, + "os-name": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz", + "integrity": "sha1-GzefZINa98Wn9JizV8uVIVwVnt8=", + "dev": true, + "requires": { + "osx-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "osenv": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.0.tgz", + "integrity": "sha1-YWaBIe7FhJVQMLn0cLHSMJUEv8s=", + "dev": true + }, + "osx-release": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz", + "integrity": "sha1-8heRGigTaUmvG/kwiyQeJzfTzWw=", + "dev": true, + "requires": { + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + } + } + }, + "p-throttler": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/p-throttler/-/p-throttler-0.1.0.tgz", + "integrity": "sha1-GxaQeULDM+bx3eq8s0eSBLjEF8Q=", + "dev": true, + "requires": { + "q": "~0.9.2" + } + }, + "package-json": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/package-json/-/package-json-0.2.0.tgz", + "integrity": "sha1-Axbhd7jrFJmF009wa0pVQ7J0vsU=", + "dev": true, + "requires": { + "got": "^0.3.0", + "registry-url": "^0.1.0" + }, + "dependencies": { + "got": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/got/-/got-0.3.0.tgz", + "integrity": "sha1-iI7GbKS8c1qwidvpWUltD3lIVJM=", + "dev": true, + "requires": { + "object-assign": "^0.3.0" + } + } + } + }, + "pad-stdio": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pad-stdio/-/pad-stdio-0.1.1.tgz", + "integrity": "sha1-fC+ZxNlpYzxgxbVRJZwHVQeK6yo=", + "dev": true, + "requires": { + "lpad": "^0.2.0" + } + }, + "pangyp": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/pangyp/-/pangyp-2.3.3.tgz", + "integrity": "sha1-rz/yZhdhIE3romgyyreLgs1Ldmc=", + "dev": true, + "requires": { + "fstream": "~1.0.3", + "glob": "~4.3.5", + "graceful-fs": "~3.0.5", + "minimatch": "~2.0.1", + "mkdirp": "^0.5.0", + "nopt": "~3.0.1", + "npmlog": "~1.0.0", + "osenv": "0", + "request": "~2.51.0", + "rimraf": "~2.2.8", + "semver": "~4.3.6", + "tar": "~1.0.3", + "which": "~1.0.8" + }, + "dependencies": { + "are-we-there-yet": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.6.tgz", + "integrity": "sha1-otKMkxAqpsyWJFomy5VN4G7FPww=", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.0 || ^1.1.13" + } + }, + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "dev": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "dev": true + }, + "async": { + "version": "0.9.2", + "resolved": "http://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "dev": true + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "dev": true + }, + "caseless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz", + "integrity": "sha1-W8oogdQUN/VLJAfr40iIx7mtT30=", + "dev": true + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "dev": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "dev": true + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=", + "dev": true + }, + "form-data": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", + "integrity": "sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY=", + "dev": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime-types": "~2.0.3" + }, + "dependencies": { + "mime-types": { + "version": "2.0.14", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz", + "integrity": "sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY=", + "dev": true, + "requires": { + "mime-db": "~1.12.0" + } + } + } + }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + } + } + }, + "gauge": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.0.2.tgz", + "integrity": "sha1-U+JZZd+vHIW+OioGMzBqJKZ9wvk=", + "dev": true, + "requires": { + "ansi": "^0.3.0", + "has-unicode": "^1.0.0" + } + }, + "glob": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz", + "integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "dev": true, + "requires": { + "natives": "^1.1.0" + } + }, + "has-unicode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.1.tgz", + "integrity": "sha1-xG/O6gU+uOx4m/+7ol/KUt/c844=", + "dev": true + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "dev": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "mime-db": { + "version": "1.12.0", + "resolved": "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz", + "integrity": "sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc=", + "dev": true + }, + "mime-types": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz", + "integrity": "sha1-mVrhOSq4r/y/yyZB3QVOlDwNXc4=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "npmlog": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/npmlog/-/npmlog-1.0.0.tgz", + "integrity": "sha1-7S8pC2AxaIfDng2p8J+NE4R87w8=", + "dev": true, + "requires": { + "ansi": "~0.3.0", + "are-we-there-yet": "~1.0.0", + "gauge": "~1.0.2" + } + }, + "oauth-sign": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz", + "integrity": "sha1-12f1FpMlYg6rLgh+8MRy53PbZGE=", + "dev": true + }, + "qs": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz", + "integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=", + "dev": true + }, + "request": { + "version": "2.51.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.51.0.tgz", + "integrity": "sha1-NdALvswBLlX5B7G9ng29V3v+8m4=", + "dev": true, + "requires": { + "aws-sign2": "~0.5.0", + "bl": "~0.9.0", + "caseless": "~0.8.0", + "combined-stream": "~0.0.5", + "forever-agent": "~0.5.0", + "form-data": "~0.2.0", + "hawk": "1.1.1", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime-types": "~1.0.1", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.5.0", + "qs": "~2.3.1", + "stringstream": "~0.0.4", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.4.0" + } + }, + "tar": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/tar/-/tar-1.0.3.tgz", + "integrity": "sha1-FbzaskT6St1E5CRKAXbtuKqaK0Q=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + } + } + }, + "param-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-1.1.2.tgz", + "integrity": "sha1-3LCRpDwlm5Io8cNB57akTqC/l0M=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "^1.2.0" + } + }, + "pascal-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-1.1.2.tgz", + "integrity": "sha1-Pl1kogBDgwp8STRMLXS0G+DJyZs=", + "dev": true, + "requires": { + "camel-case": "^1.1.1", + "upper-case-first": "^1.1.0" + } + }, + "path-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/path-case/-/path-case-1.1.2.tgz", + "integrity": "sha1-UM5roNO+090LXCqcRVNpdDRAlRQ=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "pause": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", + "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "phantomjs": { + "version": "1.9.20", + "resolved": "http://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz", + "integrity": "sha1-RCSsog4U0lXAsIia9va4lz2hDg0=", + "dev": true, + "requires": { + "extract-zip": "~1.5.0", + "fs-extra": "~0.26.4", + "hasha": "^2.2.0", + "kew": "~0.7.0", + "progress": "~1.1.8", + "request": "~2.67.0", + "request-progress": "~2.0.1", + "which": "~1.2.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", + "dev": true + }, + "bl": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/bl/-/bl-1.0.3.tgz", + "integrity": "sha1-/FQhoo/UImA2w7OJGmaiW8ZNIm4=", + "dev": true, + "requires": { + "readable-stream": "~2.0.5" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "caseless": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz", + "integrity": "sha1-cVuW6phBWTzDMGeSP17GDr2k99c=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "dev": true, + "requires": { + "boom": "2.x.x" + } + }, + "form-data": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz", + "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=", + "dev": true, + "requires": { + "async": "^2.0.1", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.11" + } + }, + "fs-extra": { + "version": "0.26.7", + "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz", + "integrity": "sha1-muH92UiXeY7at20JGM9C0MMYT6k=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0", + "path-is-absolute": "^1.0.0", + "rimraf": "^2.2.8" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "har-validator": { + "version": "2.0.6", + "resolved": "http://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz", + "integrity": "sha1-zcvAgYgmWtEZtqWnyKtw7s+10n0=", + "dev": true, + "requires": { + "chalk": "^1.1.1", + "commander": "^2.9.0", + "is-my-json-valid": "^2.12.4", + "pinkie-promise": "^2.0.0" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "dev": true, + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", + "dev": true + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "dev": true, + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", + "dev": true + }, + "qs": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.1.tgz", + "integrity": "sha1-gB/uAw4LlFDWOFrcSKTMVbRK7fw=", + "dev": true + }, + "readable-stream": { + "version": "2.0.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz", + "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "~1.0.0", + "process-nextick-args": "~1.0.6", + "string_decoder": "~0.10.x", + "util-deprecate": "~1.0.1" + } + }, + "request": { + "version": "2.67.0", + "resolved": "http://registry.npmjs.org/request/-/request-2.67.0.tgz", + "integrity": "sha1-ivdHgOK/EeoK6aqWXBHxGv0nJ0I=", + "dev": true, + "requires": { + "aws-sign2": "~0.6.0", + "bl": "~1.0.0", + "caseless": "~0.11.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~1.0.0-rc3", + "har-validator": "~2.0.2", + "hawk": "~3.1.0", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "node-uuid": "~1.4.7", + "oauth-sign": "~0.8.0", + "qs": "~5.2.0", + "stringstream": "~0.0.4", + "tough-cookie": "~2.2.0", + "tunnel-agent": "~0.4.1" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "dev": true, + "requires": { + "hoek": "2.x.x" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "dev": true + }, + "tough-cookie": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz", + "integrity": "sha1-yDoYMPTl7wuT7yo0iOck+N4Basc=", + "dev": true + }, + "tunnel-agent": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz", + "integrity": "sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us=", + "dev": true + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "portscanner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-0.2.2.tgz", + "integrity": "sha1-g5PuEoTm4a8/19X2BqL9N4zjdDg=", + "dev": true, + "requires": { + "async": "0.1.15" + }, + "dependencies": { + "async": { + "version": "0.1.15", + "resolved": "http://registry.npmjs.org/async/-/async-0.1.15.tgz", + "integrity": "sha1-IYDqyizypspSgNQcBYW+ybPkm9M=", + "dev": true + } + } + }, + "postcss": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/postcss/-/postcss-0.3.5.tgz", + "integrity": "sha1-UHOj0GLvPOWSrEpf5rjChiq4POs=", + "dev": true, + "requires": { + "base64-js": "~0.0.6", + "source-map": "~0.1.33" + } + }, + "pretty-bytes": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz", + "integrity": "sha1-zZApTVihyk6KXQ+5yCJZmIgazwA=", + "dev": true + }, + "pretty-ms": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/pretty-ms/-/pretty-ms-0.1.0.tgz", + "integrity": "sha1-fGnMhmumeU6e7wFo/u6t4Lr6fiI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "1.1.8", + "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "dev": true + }, + "promptly": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/promptly/-/promptly-0.2.0.tgz", + "integrity": "sha1-c+8gD6gynV06jfQXmJULhkbKRtk=", + "dev": true, + "requires": { + "read": "~1.0.4" + } + }, + "propprop": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/propprop/-/propprop-0.3.1.tgz", + "integrity": "sha1-oEmjVouJZEAGfRXY7J8zc15XAXg=", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", + "dev": true + }, + "psl": { + "version": "1.1.29", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz", + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==", + "dev": true + }, + "pump": { + "version": "0.3.5", + "resolved": "http://registry.npmjs.org/pump/-/pump-0.3.5.tgz", + "integrity": "sha1-rl/4wfk+2HrcZTCpdWWxJvWFRUs=", + "dev": true, + "requires": { + "end-of-stream": "~1.0.0", + "once": "~1.2.0" + }, + "dependencies": { + "once": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.2.0.tgz", + "integrity": "sha1-3hkFxjavh0qPuoYtmqvd0fkgRhw=", + "dev": true + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "0.9.7", + "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz", + "integrity": "sha1-TeLmyzspCIyeTLwDv51C+5bOL3U=", + "dev": true + }, + "qs": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=", + "dev": true + }, + "range-parser": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz", + "integrity": "sha1-wEJ//vUcEKy6B4KkbJYC50T/Ygs=", + "dev": true + }, + "raw-body": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.3.tgz", + "integrity": "sha1-PS+R4kSSWcxnuMPOnwYdtbmHk1s=", + "dev": true, + "requires": { + "bytes": "~0.2.1" + } + }, + "read": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-chunk": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-0.1.0.tgz", + "integrity": "sha1-JJVJauN1OGKpXofStMzw4Rt3ku4=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "readline2": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz", + "integrity": "sha1-mUQ7pug7gw7zBRv9fcJBqCco1Wg=", + "dev": true, + "requires": { + "mute-stream": "0.0.4", + "strip-ansi": "^2.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz", + "integrity": "sha1-QchHGUZGN15qGl0Qw8oFTvn8mA0=", + "dev": true + }, + "strip-ansi": { + "version": "2.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz", + "integrity": "sha1-32LBqpTtLxFOHQ8h/R1QSCt5pg4=", + "dev": true, + "requires": { + "ansi-regex": "^1.0.0" + } + } + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "redeyed": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-0.4.4.tgz", + "integrity": "sha1-N+mQpvKyGyoRwuakj9QTVpjLqX8=", + "dev": true, + "requires": { + "esprima": "~1.0.4" + } + }, + "regexp-quote": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz", + "integrity": "sha1-Hg9GUMhi3L/tVP1CsUjpuxch/PI=", + "dev": true + }, + "registry-url": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-0.1.1.tgz", + "integrity": "sha1-FzlCe4GxELMCSCocfNcn/8yC1b4=", + "dev": true, + "requires": { + "npmconf": "^2.0.1" + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", + "dev": true + }, + "request": { + "version": "2.88.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + } + } + }, + "request-progress": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-0.3.0.tgz", + "integrity": "sha1-vfIGK/wZfF1JJQDUTLOv94ZbSS4=", + "dev": true, + "requires": { + "throttleit": "~0.0.2" + } + }, + "request-replay": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/request-replay/-/request-replay-0.2.0.tgz", + "integrity": "sha1-m2k6XRGLOfXFlurV7ZGiZEQFf2A=", + "dev": true, + "requires": { + "retry": "~0.6.0" + } + }, + "retry": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz", + "integrity": "sha1-HAEHEyeab9Ho3vKK8MP/GHHKpTc=", + "dev": true + }, + "rimraf": { + "version": "2.2.8", + "resolved": "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=", + "dev": true + }, + "rx": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz", + "integrity": "sha1-Ia3H2A8CACr1Da6X/Z2/JIdV9WY=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "0.6.1", + "resolved": "http://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=", + "dev": true + }, + "semver": { + "version": "4.3.6", + "resolved": "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz", + "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", + "dev": true + }, + "semver-diff": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-0.1.0.tgz", + "integrity": "sha1-T2BXyj66I8xIS1H2Sq+IsTGjhV0=", + "dev": true, + "requires": { + "semver": "^2.2.1" + }, + "dependencies": { + "semver": { + "version": "2.3.2", + "resolved": "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz", + "integrity": "sha1-uYSPJdbPNjMwc+ye+IVtQvEjPlI=", + "dev": true + } + } + }, + "send": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz", + "integrity": "sha1-vnDY0b4B3mGCGvE3gLUDRaT3Gr0=", + "dev": true, + "requires": { + "debug": "*", + "fresh": "0.2.0", + "mime": "~1.2.9", + "range-parser": "0.0.4" + } + }, + "sentence-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-1.1.3.tgz", + "integrity": "sha1-gDSq/CFFdy06vhUJqkLJ4QQtwTk=", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "shell-quote": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.4.3.tgz", + "integrity": "sha1-lSxE4LHtkBPvU5WBecxkPod3Rms=", + "dev": true, + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "shelljs": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz", + "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "snake-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-1.1.2.tgz", + "integrity": "sha1-DC8l4wUVjZoY09l3BmGH/vilpmo=", + "dev": true, + "requires": { + "sentence-case": "^1.1.2" + } + }, + "sntp": { + "version": "0.2.4", + "resolved": "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", + "dev": true, + "requires": { + "hoek": "0.9.x" + } + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "spdx-correct": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "dev": true + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "sshpk": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.15.2.tgz", + "integrity": "sha512-Ra/OXQtuh0/enyl4ETZAfTaeksa6BXks5ZcjpSUNrjBr0DvrJKX+1fsKDPpT9TBXgHAFsa4510aNVgI8g/+SzA==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stat-mode": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz", + "integrity": "sha1-5sgLYjEj19gM8TLOU480YokHJQI=", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "stream-counter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", + "integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=", + "dev": true, + "requires": { + "readable-stream": "~1.1.8" + } + }, + "string-length": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-0.1.2.tgz", + "integrity": "sha1-qwS7M4Z+50vu1/uJu38InTkngPI=", + "dev": true, + "requires": { + "strip-ansi": "^0.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "0.1.0", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.1.0.tgz", + "integrity": "sha1-Vcpg22kAhXxCOukpeYACb5Qe2QM=", + "dev": true + }, + "strip-ansi": { + "version": "0.2.2", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.2.2.tgz", + "integrity": "sha1-hU0pDJgVJfyMOXqRCwJa4tVP/Ag=", + "dev": true, + "requires": { + "ansi-regex": "^0.1.0" + } + } + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "stringify-object": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/stringify-object/-/stringify-object-1.0.1.tgz", + "integrity": "sha1-htNefb+86apFY31+zdeEfhWduKI=", + "dev": true + }, + "stringstream": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz", + "integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==", + "dev": true + }, + "strip-ansi": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz", + "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "^4.0.1" + }, + "dependencies": { + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + } + } + }, + "strip-json-comments": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "svgo": { + "version": "0.4.5", + "resolved": "http://registry.npmjs.org/svgo/-/svgo-0.4.5.tgz", + "integrity": "sha1-ulYVX7FzNyiVbAG0BSIe5+eJoqQ=", + "dev": true, + "requires": { + "coa": "~0.4.0", + "colors": "~0.6.0", + "js-yaml": "~2.1.0", + "sax": "~0.6.0", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "js-yaml": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.3.tgz", + "integrity": "sha1-D/tWF75VUlh4Bj16Fq7n/dKC6Ew=", + "dev": true, + "requires": { + "argparse": "~ 0.1.11", + "esprima": "~ 1.0.2" + } + } + } + }, + "swap-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/swap-case/-/swap-case-1.1.2.tgz", + "integrity": "sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM=", + "dev": true, + "requires": { + "lower-case": "^1.1.1", + "upper-case": "^1.1.1" + } + }, + "tape": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/tape/-/tape-0.2.2.tgz", + "integrity": "sha1-ZMz6S37PSgBgAH5hcW1CR4FnFjc=", + "dev": true, + "requires": { + "deep-equal": "~0.0.0", + "defined": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "tar": { + "version": "0.1.20", + "resolved": "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz", + "integrity": "sha1-QpQLrltfIsdEg2mRJvnz8nRJyxM=", + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "~0.1.28", + "inherits": "2" + } + }, + "tar-fs": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-0.5.2.tgz", + "integrity": "sha1-D1lCS+fu7kUjIxbjAvZtP26m2z4=", + "dev": true, + "requires": { + "mkdirp": "^0.5.0", + "pump": "^0.3.5", + "tar-stream": "^0.4.6" + } + }, + "tar-stream": { + "version": "0.4.7", + "resolved": "http://registry.npmjs.org/tar-stream/-/tar-stream-0.4.7.tgz", + "integrity": "sha1-Hx0s6evHtCdlJDyg6PG3v9oKrc0=", + "dev": true, + "requires": { + "bl": "^0.9.0", + "end-of-stream": "^1.0.0", + "readable-stream": "^1.0.27-1", + "xtend": "^4.0.0" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "tempfile": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-0.1.3.tgz", + "integrity": "sha1-fWtxAEcznTn4RzJ6BW2t8YMQMBA=", + "dev": true, + "requires": { + "uuid": "~1.4.0" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "throttleit": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz", + "integrity": "sha1-z+34jmDADdlpe2H90qg0OptoDq8=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "http://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "time-grunt": { + "version": "0.3.2", + "resolved": "http://registry.npmjs.org/time-grunt/-/time-grunt-0.3.2.tgz", + "integrity": "sha1-8wE2RbAeaOJ4AqPkxHAs7KC9/68=", + "dev": true, + "requires": { + "chalk": "^0.4.0", + "date-time": "^0.1.0", + "hooker": "^0.2.3", + "pretty-ms": "^0.1.0", + "text-table": "^0.2.0" + } + }, + "timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dev": true, + "requires": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "tiny-lr-fork": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz", + "integrity": "sha1-Hpnh4qhGm3NquX2X7vqYxx927Qo=", + "dev": true, + "requires": { + "debug": "~0.7.0", + "faye-websocket": "~0.4.3", + "noptify": "~0.0.3", + "qs": "~0.5.2" + }, + "dependencies": { + "debug": { + "version": "0.7.4", + "resolved": "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz", + "integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk=", + "dev": true + }, + "qs": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", + "integrity": "sha1-MbGtBYVnZRxSaSFQa5qHk5EaA4Q=", + "dev": true + } + } + }, + "title-case": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-1.1.2.tgz", + "integrity": "sha1-+uSmrlRr+iLQg6DuqRCkDRLtT1o=", + "dev": true, + "requires": { + "sentence-case": "^1.1.1", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.23", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.23.tgz", + "integrity": "sha1-3odKpel0qF8KMs39vXRmPLO9nHQ=", + "dev": true + }, + "to-iso-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=", + "dev": true + }, + "touch": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/touch/-/touch-0.0.2.tgz", + "integrity": "sha1-plp3d5Xly74SmUmb3EIoH/shtfQ=", + "dev": true, + "requires": { + "nopt": "~1.0.10" + } + }, + "tough-cookie": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.4.24", + "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "0.1.34", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.5.4" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "source-map": { + "version": "0.1.34", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", + "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "uid-number": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz", + "integrity": "sha1-Wj2yPvXb1VuB/ODsmirG/M3ruB4=", + "dev": true + }, + "uid2": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", + "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=", + "dev": true + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "dev": true + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=", + "dev": true + }, + "update-notifier": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/update-notifier/-/update-notifier-0.2.0.tgz", + "integrity": "sha1-oBDJKK3PAgkLjgzn/vb7Cnysw0o=", + "dev": true, + "requires": { + "chalk": "^0.5.0", + "configstore": "^0.3.0", + "latest-version": "^0.2.0", + "semver-diff": "^0.1.0", + "string-length": "^0.1.2" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "upper-case-first": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", + "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", + "dev": true, + "requires": { + "upper-case": "^1.1.1" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "1.4.2", + "resolved": "http://registry.npmjs.org/uuid/-/uuid-1.4.2.tgz", + "integrity": "sha1-RTAZ9oaWam34PNxSROfJkOzDMvw=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "ware": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/ware/-/ware-0.3.0.tgz", + "integrity": "sha1-LfgESXNULstetUOX1803c7z46es=", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=", + "dev": true + }, + "win-release": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "dev": true, + "requires": { + "semver": "^5.0.1" + }, + "dependencies": { + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + } + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wiredep": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/wiredep/-/wiredep-1.8.6.tgz", + "integrity": "sha1-7qcirixSK5Vh8E2YblW4QJLHFP4=", + "dev": true, + "requires": { + "bower-config": "^0.5.0", + "chalk": "^0.5.1", + "glob": "^4.0.5", + "lodash": "^2.4.1", + "minimist": "^1.1.0", + "propprop": "^0.3.0", + "through2": "^0.6.1" + }, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "requires": { + "ansi-styles": "^1.1.0", + "escape-string-regexp": "^1.0.0", + "has-ansi": "^0.1.0", + "strip-ansi": "^0.3.0", + "supports-color": "^0.2.0" + } + }, + "glob": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", + "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^2.0.1", + "once": "^1.3.0" + } + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=", + "dev": true + }, + "minimatch": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", + "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", + "dev": true, + "requires": { + "brace-expansion": "^1.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true, + "requires": { + "ansi-regex": "^0.2.1" + } + }, + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + }, + "through2": { + "version": "0.6.5", + "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "dev": true, + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xdg-basedir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-1.0.1.tgz", + "integrity": "sha1-FP+PY6T9vLBdW27qIrNvMDO58E4=", + "dev": true, + "requires": { + "user-home": "^1.0.0" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + }, + "yargs": { + "version": "3.5.4", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "decamelize": "^1.0.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + } + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "dev": true, + "requires": { + "fd-slicer": "~1.0.1" + } + }, + "zlib-browserify": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/zlib-browserify/-/zlib-browserify-0.0.3.tgz", + "integrity": "sha1-JAzNv9AgP6hCsTDe77FBQSLIzFA=", + "dev": true, + "requires": { + "tape": "~0.2.2" + } + } + } +} diff --git a/package.json b/package.json index a3a0103..c0d13c8 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "engines": { "node": ">=0.10.0" }, - "main": "dist/scripts/ng-password-strength.js", + "main": "dist/scripts/ng-password-strength.min.js", "scripts": { "test": "grunt test" },