Added .component syntax in ng-xos-lib
Change-Id: Icc6ff26cff1369038cc9684612f742af0a78c799
diff --git a/dev/index.html b/dev/index.html
index 8d580ac..44fa838 100644
--- a/dev/index.html
+++ b/dev/index.html
@@ -13,10 +13,8 @@
</head>
<body style="padding-top: 50px">
<div ng-app="ngXosLib" class="container">
- <div class="row" ng-controller="testCtrl as vm">
- <div class="col-xs-12">
- <xos-table config="vm.config" data="vm.data"></xos-table>
- </div>
+ <div ng-controller="testCtrl as vm">
+ <xos-form ng-model="vm.model" config="vm.config"></xos-form>
</div>
</div>
<!-- bower:js -->
@@ -33,10 +31,10 @@
<!-- endbower -->
<!-- inject:js -->
<script src="/ui_components/ui-components.module.js"></script>
- <script src="/ui_components/smartComponents/smartPie/smartPie.component.js"></script>
<script src="/ui_components/smartComponents/smartTable/smartTable.component.js"></script>
- <script src="/ui_components/dumbComponents/table/table.component.js"></script>
+ <script src="/ui_components/smartComponents/smartPie/smartPie.component.js"></script>
<script src="/ui_components/dumbComponents/validation/validation.component.js"></script>
+ <script src="/ui_components/dumbComponents/table/table.component.js"></script>
<script src="/ui_components/dumbComponents/pagination/pagination.component.js"></script>
<script src="/ui_components/dumbComponents/form/form.component.js"></script>
<script src="/ui_components/dumbComponents/field/field.component.js"></script>
diff --git a/dev/main.js b/dev/main.js
index e858499..f7ab8eb 100644
--- a/dev/main.js
+++ b/dev/main.js
@@ -1,30 +1,61 @@
/* eslint-disable angular/ng_module_name */
(function () {
'use strict';
- console.log('hello!');
+ console.log('hello1!');
angular.module('ngXosLib', ['xos.helpers'])
.run(function(){
console.info('Dev Environment ready!')
})
.controller('testCtrl', function(){
-
- // TODO add styles
-
+ this.model = {
+ first_name: 'Jhon',
+ last_name: 'Doe',
+ }
this.config = {
- columns: [
+ exclude: ['password', 'last_login'],
+ formName: 'sampleForm',
+ actions: [
{
- label: '#',
- prop: 'id',
- },
- {
- label: 'Name:',
- prop: 'name',
+ label: 'Save',
+ icon: 'ok', // refers to bootstraps glyphicon
+ cb: (user) => { // receive the model
+ console.log(user);
+ },
+ class: 'success'
}
- ]
+ ],
+ fields: {
+ first_name: {
+ type: 'string',
+ validators: {
+ required: true
+ }
+ },
+ last_name: {
+ label: 'Surname',
+ type: 'string',
+ validators: {
+ required: true,
+ minlength: 10
+ }
+ },
+ details_field: {
+ label: 'Empty Object Field',
+ type: 'object',
+ properties: {
+ foo: {
+ label: 'FooLabel:',
+ type: 'string',
+ validators: {
+ required: true
+ }
+ },
+ bar: {
+ type: 'number'
+ }
+ }
+ }
+ }
};
-
- this.data = [
- {id: 1, name: 'Jhon'}
- ];
});
})();
\ No newline at end of file
diff --git a/dist/ngXosHelpers.min.js b/dist/ngXosHelpers.min.js
index c3c1262..3ad326d 100644
--- a/dist/ngXosHelpers.min.js
+++ b/dist/ngXosHelpers.min.js
@@ -1,2 +1,2 @@
-"use strict";function _toConsumableArray(e){if(Array.isArray(e)){for(var n=0,o=Array(e.length);n<e.length;n++)o[n]=e[n];return o}return Array.from(e)}!function(){angular.module("xos.uiComponents",["chart.js","RecursionHelper"])}(),function(){function e(){var e=function(e){return e.split("_").join(" ").trim()},n=function(e){return e.split(/(?=[A-Z])/).map(function(e){return e.toLowerCase()}).join(" ")},o=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},t=function(t){return t=e(t),t=n(t),t=o(t).replace(/\s\s+/g," ")+":",t.replace("::",":")};return{_formatByUnderscore:e,_formatByUppercase:n,_capitalize:o,format:t}}angular.module("xos.uiComponents").factory("LabelFormatter",e)}();var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){angular.module("xos.uiComponents").service("XosFormHelpers",["_","LabelFormatter",function(e,n){var o=this;this._isEmail=function(e){var n=/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;return n.test(e)},this._getFieldFormat=function(n){return angular.isArray(n)?"array":e.isDate(n)||!Number.isNaN(Date.parse(n))&&new Date(n).getTime()>6311808e5?"date":"boolean"==typeof n?"boolean":o._isEmail(n)?"email":angular.isString(n)||null===n?"text":"undefined"==typeof n?"undefined":_typeof(n)},this.buildFormStructure=function(t,i,r){return t=angular.extend(t,i),i=i||{},e.reduce(Object.keys(t),function(e,t){return e[t]={label:i[t]&&i[t].label?i[t].label+":":n.format(t),type:i[t]&&i[t].type?i[t].type:o._getFieldFormat(r[t]),validators:i[t]&&i[t].validators?i[t].validators:{},hint:i[t]&&i[t].hint?i[t].hint:""},i[t]&&i[t].options&&(e[t].options=i[t].options),i[t]&&i[t].properties&&(e[t].properties=i[t].properties),"date"===e[t].type&&(r[t]=new Date(r[t])),"number"===e[t].type&&(r[t]=parseInt(r[t],10)),e},{})},this.parseModelField=function(n){return e.reduce(n,function(e,n){return e[n]={},e},{})}}])}(),function(){function e(e){return function(n,o){if(angular.isUndefined(n))return!1;if(null===n||null===o)return n===o;if(angular.isObject(o)||angular.isObject(n))return angular.equals(o,n);if(e.isBoolean(n)||e.isBoolean(o))return 0!==n&&1!==n||(n=!!n),angular.equals(o,n);if(!angular.isString(n)||!angular.isString(o)){if(!angular.isDefined(n.toString)||!angular.isDefined(o.toString))return n===o;n=n.toString(),o=o.toString()}return n=n.toLowerCase()+"",o=o.toLowerCase()+"",n.indexOf(o)!==-1}}e.$inject=["_"],angular.module("xos.uiComponents").factory("Comparator",e)}(),function(){angular.module("xos.uiComponents").directive("xosSmartPie",function(){return{restrict:"E",scope:{config:"="},template:'\n <canvas\n class="chart chart-pie {{vm.config.classes}}"\n chart-data="vm.data" chart-labels="vm.labels"\n chart-legend="{{vm.config.legend}}">\n </canvas>\n ',bindToController:!0,controllerAs:"vm",controller:["$injector","$interval","$scope","$timeout","_",function(e,n,o,t,i){var r=this;if(!this.config.resource&&!this.config.data)throw new Error("[xosSmartPie] Please provide a resource or an array of data in the configuration");var a=function(e){return i.groupBy(e,r.config.groupBy)},s=function(e){return i.reduce(Object.keys(e),function(n,o){return n.concat(e[o].length)},[])},l=function(e){return angular.isFunction(r.config.labelFormatter)?r.config.labelFormatter(Object.keys(e)):Object.keys(e)},c=function(e){var n=a(e);r.data=s(n),r.labels=l(n)};this.config.resource?!function(){r.Resource=e.get(r.config.resource);var o=function(){r.Resource.query().$promise.then(function(e){e[0]&&c(e)})};o(),r.config.poll&&n(function(){o()},1e3*r.config.poll)}():o.$watch(function(){return r.config.data},function(e){e&&c(r.config.data)},!0),o.$on("create",function(e,n){console.log("create: "+n.id)}),o.$on("destroy",function(e,n){console.log("destroy: "+n.id)})}]}})}();var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){angular.module("xos.uiComponents").directive("xosSmartTable",function(){return{restrict:"E",scope:{config:"="},template:'\n <div class="row" ng-show="vm.data.length > 0">\n <div class="col-xs-12 text-right">\n <a href="" class="btn btn-success" ng-click="vm.createItem()">\n Add\n </a>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-12 table-responsive">\n <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n </div>\n </div>\n <div class="panel panel-default" ng-show="vm.detailedItem">\n <div class="panel-heading">\n <div class="row">\n <div class="col-xs-11">\n <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n </div>\n <div class="col-xs-1">\n <a href="" ng-click="vm.cleanForm()">\n <i class="glyphicon glyphicon-remove pull-right"></i>\n </a>\n </div>\n </div>\n </div>\n <div class="panel-body">\n <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n </div>\n </div>\n <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n ',bindToController:!0,controllerAs:"vm",controller:["$injector","LabelFormatter","_","XosFormHelpers",function(e,n,o,t){var i=this;this.responseMsg=!1,this.responseErr=!1,this.tableConfig={columns:[],actions:[{label:"delete",icon:"remove",cb:function(e){i.Resource["delete"]({id:e.id}).$promise.then(function(){o.remove(i.data,function(n){return n.id===e.id}),i.responseMsg=i.config.resource+" with id "+e.id+" successfully deleted"})["catch"](function(n){i.responseErr=n.data.detail||"Error while deleting "+i.config.resource+" with id "+e.id})},color:"red"},{label:"details",icon:"search",cb:function(e){i.detailedItem=e}}],classes:"table table-striped table-bordered table-responsive",filter:"field",order:!0,pagination:{pageSize:10}},this.formConfig={exclude:this.config.hiddenFields,fields:{},formName:this.config.resource+"Form",actions:[{label:"Save",icon:"ok",cb:function(e){var n=void 0,o=!0;e.id?(n=e.$update(),o=!1):n=e.$save(),n.then(function(n){o&&i.data.push(angular.copy(n)),delete i.detailedItem,i.responseMsg=i.config.resource+" with id "+e.id+" successfully saved"})["catch"](function(n){i.responseErr=n.data.detail||"Error while saving "+i.config.resource+" with id "+e.id})},"class":"success"}]},this.cleanForm=function(){delete i.detailedItem},this.createItem=function(){i.detailedItem=new i.Resource},this.Resource=e.get(this.config.resource);var r=function(){i.Resource.query().$promise.then(function(e){if(!e[0])return void(i.data=e);var r=e[0],a=Object.keys(r);o.remove(a,function(e){return"id"===e||"validators"===e}),angular.isArray(i.config.hiddenFields)&&(a=o.difference(a,i.config.hiddenFields));var s=a.map(function(e){return n.format(e)});a.forEach(function(e,n){var o={label:s[n],prop:e};angular.isString(r[e])&&"undefined"!=typeof r[e]&&(o.type=_typeof(r[e])),i.tableConfig.columns.push(o)}),a.forEach(function(e,o){i.formConfig.fields[e]={label:n.format(s[o]).replace(":",""),type:t._getFieldFormat(r[e])}}),i.data=e})};r()}]}})}(),function(){angular.module("xos.uiComponents").directive("xosValidation",function(){return{restrict:"E",scope:{field:"=",form:"="},template:'\n <div ng-cloak>\n <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">\n Field required\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">\n This is not a valid email\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too short\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too long\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">\n Field invalid\n </xos-alert>\n </div>\n ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:function(){this.config={type:"danger"}}}})}(),function(){angular.module("xos.uiComponents").directive("xosTable",function(){return{restrict:"E",scope:{data:"=",config:"="},template:'\n <div ng-show="vm.data.length > 0 && vm.loader == false">\n <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n <div class="col-xs-12">\n <input\n class="form-control"\n placeholder="Type to search.."\n type="text"\n ng-model="vm.query"/>\n </div>\n </div>\n <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n <thead>\n <tr>\n <th ng-repeat="col in vm.columns">\n {{col.label}}\n <span ng-if="vm.config.order">\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n <i class="glyphicon glyphicon-chevron-up"></i>\n </a>\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n <i class="glyphicon glyphicon-chevron-down"></i>\n </a>\n </span>\n </th>\n <th ng-if="vm.config.actions">Actions:</th>\n </tr>\n </thead>\n <tbody ng-if="vm.config.filter == \'field\'">\n <tr>\n <td ng-repeat="col in vm.columns">\n <input\n ng-if="col.type !== \'boolean\' && col.type !== \'array\' && col.type !== \'object\' && col.type !== \'custom\'"\n class="form-control"\n placeholder="Type to search by {{col.label}}"\n type="text"\n ng-model="vm.query[col.prop]"/>\n <select\n ng-if="col.type === \'boolean\'"\n class="form-control"\n ng-model="vm.query[col.prop]">\n <option value="">-</option>\n <option value="true">True</option>\n <option value="false">False</option>\n </select>\n </td>\n <td ng-if="vm.config.actions"></td>\n </tr>\n </tbody>\n <tbody>\n <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n <td ng-repeat="col in vm.columns" xos-link-wrapper>\n <span ng-if="!col.type">{{item[col.prop]}}</span>\n <span ng-if="col.type === \'boolean\'">\n <i class="glyphicon"\n ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n </i>\n </span>\n <span ng-if="col.type === \'date\'">\n {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n </span>\n <span ng-if="col.type === \'array\'">\n {{item[col.prop] | arrayToList}}\n </span>\n <span ng-if="col.type === \'object\'">\n <dl class="dl-horizontal">\n <span ng-repeat="(k,v) in item[col.prop]">\n <dt>{{k}}</dt>\n <dd>{{v}}</dd>\n </span>\n </dl>\n </span>\n <span ng-if="col.type === \'custom\'">\n {{col.formatter(item)}}\n </span>\n <span ng-if="col.type === \'icon\'">\n <i class="glyphicon glyphicon-{{col.formatter(item)}}">\n </i>\n </span>\n </td>\n <td ng-if="vm.config.actions">\n <a href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(item)"\n title="{{action.label}}">\n <i\n class="glyphicon glyphicon-{{action.icon}}"\n style="color: {{action.color}};"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <xos-pagination\n ng-if="vm.config.pagination"\n page-size="vm.config.pagination.pageSize"\n total-elements="vm.data.length"\n change="vm.goToPage">\n </xos-pagination>\n </div>\n <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">\n <xos-alert config="{type: \'info\'}">\n No data to show.\n </xos-alert>\n </div>\n <div ng-show="vm.loader == true">\n <div class="loader"></div>\n </div>\n ',bindToController:!0,controllerAs:"vm",controller:["_","$scope","Comparator",function(e,n,o){var t=this;if(this.comparator=o,this.loader=!0,n.$watch(function(){return t.data},function(e){angular.isDefined(e)&&(t.loader=!1)}),!this.config)throw new Error('[xosTable] Please provide a configuration via the "config" attribute');if(!this.config.columns)throw new Error("[xosTable] Please provide a columns list in the configuration");this.config.order&&angular.isObject(this.config.order)&&(this.reverse=this.config.order.reverse||!1,this.orderBy=this.config.order.field||"id");var i=e.filter(this.config.columns,{type:"custom"});angular.isArray(i)&&i.length>0&&e.forEach(i,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided a custom field type, a formatter function should provided too.")});var r=e.filter(this.config.columns,{type:"icon"});angular.isArray(r)&&r.length>0&&e.forEach(r,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided an icon field type, a formatter function should provided too.")});var a=e.filter(this.config.columns,function(e){return angular.isDefined(e.link)});angular.isArray(a)&&a.length>0&&e.forEach(a,function(e){if(!angular.isFunction(e.link))throw new Error("[xosTable] The link property should be a function.")}),this.columns=this.config.columns,this.classes=this.config.classes||"table table-striped table-bordered",this.config.actions,this.config.pagination&&(this.currentPage=0,this.goToPage=function(e){t.currentPage=e})}]}}).filter("arrayToList",function(){return function(e){return angular.isArray(e)?e.join(", "):e}}).directive("xosLinkWrapper",function(){return{restrict:"A",transclude:!0,template:'\n <a ng-if="col.link" href="{{col.link(item)}}">\n <div ng-transclude></div>\n </a>\n <div ng-transclude ng-if="!col.link"></div>\n '}})}(),function(){angular.module("xos.uiComponents").directive("xosPagination",function(){return{restrict:"E",scope:{pageSize:"=",totalElements:"=",change:"="},template:'\n <div class="row" ng-if="vm.pageList.length > 1">\n <div class="col-xs-12 text-center">\n <ul class="pagination">\n <li\n ng-click="vm.goToPage(vm.currentPage - 1)"\n ng-class="{disabled: vm.currentPage == 0}">\n <a href="" aria-label="Previous">\n <span aria-hidden="true">«</span>\n </a>\n </li>\n <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n </li>\n <li\n ng-click="vm.goToPage(vm.currentPage + 1)"\n ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n <a href="" aria-label="Next">\n <span aria-hidden="true">»</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n ',bindToController:!0,controllerAs:"vm",controller:["$scope",function(e){var n=this;this.currentPage=0,this.goToPage=function(e){e<0||e===n.pages||(n.currentPage=e,n.change(e))},this.createPages=function(e){for(var n=[],o=0;o<e;o++)n.push(o);return n},e.$watch(function(){return n.totalElements},function(){n.totalElements&&(n.pages=Math.ceil(n.totalElements/n.pageSize),n.pageList=n.createPages(n.pages))})}]}}).filter("pagination",function(){return function(e,n){return e&&angular.isArray(e)?(n=parseInt(n,10),e.slice(n)):e}})}(),function(){angular.module("xos.uiComponents").directive("xosForm",function(){return{restrict:"E",scope:{config:"=",ngModel:"="},template:'\n <form name="vm.{{vm.config.formName || \'form\'}}" novalidate>\n <div class="form-group" ng-repeat="(name, field) in vm.formField">\n <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>\n <xos-validation field="vm[vm.config.formName || \'form\'][name]" form = "vm[vm.config.formName || \'form\']"></xos-validation>\n <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>\n </div>\n <div class="form-group" ng-if="vm.config.actions">\n <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>\n\n <button role="button" href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(vm.ngModel, vm[vm.config.formName || \'form\'])"\n class="btn btn-{{action.class}}"\n title="{{action.label}}">\n <i class="glyphicon glyphicon-{{action.icon}}"></i>\n {{action.label}}\n </button>\n </div>\n </form>\n ',bindToController:!0,controllerAs:"vm",controller:["$scope","$log","_","XosFormHelpers",function(e,n,o,t){var i=this;if(!this.config)throw new Error('[xosForm] Please provide a configuration via the "config" attribute');if(!this.config.actions)throw new Error("[xosForm] Please provide an action list in the configuration");this.config.feedback||(this.config.feedback={show:!1,message:"Form submitted successfully !!!",type:"success"}),this.excludedField=["id","validators","created","updated","deleted","backend_status"],this.config&&this.config.exclude&&(this.excludedField=this.excludedField.concat(this.config.exclude)),this.formField=[],e.$watch(function(){return i.config},function(){if(i.ngModel){var e=o.difference(Object.keys(i.ngModel),i.excludedField),n=t.parseModelField(e);i.formField=t.buildFormStructure(n,i.config.fields,i.ngModel)}},!0),e.$watch(function(){return i.ngModel},function(e){if(i.formField={},e){var n=o.difference(Object.keys(e),i.excludedField),r=t.parseModelField(n);i.formField=t.buildFormStructure(r,i.config.fields,e)}})}]}})}(),function(){angular.module("xos.uiComponents").directive("xosField",["RecursionHelper",function(e){return{restrict:"E",scope:{name:"=",field:"=",ngModel:"="},template:'\n <label ng-if="vm.field.type !== \'object\'">{{vm.field.label}}</label>\n <input\n xos-custom-validator custom-validator="vm.field.validators.custom || null"\n ng-if="vm.field.type !== \'boolean\' && vm.field.type !== \'object\' && vm.field.type !== \'select\'"\n type="{{vm.field.type}}"\n name="{{vm.name}}"\n class="form-control"\n ng-model="vm.ngModel"\n ng-minlength="vm.field.validators.minlength || 0"\n ng-maxlength="vm.field.validators.maxlength || 2000"\n ng-required="vm.field.validators.required || false" />\n <select class="form-control" ng-if ="vm.field.type === \'select\'"\n name = "{{vm.name}}"\n ng-options="item.id as item.label for item in vm.field.options"\n ng-model="vm.ngModel"\n ng-required="vm.field.validators.required || false">\n </select>\n <span class="boolean-field" ng-if="vm.field.type === \'boolean\'">\n <a href="#"\n class="btn btn-success"\n ng-show="vm.ngModel"\n ng-click="vm.ngModel = false">\n <i class="glyphicon glyphicon-ok"></i>\n </a>\n <a href="#"\n class="btn btn-danger"\n ng-show="!vm.ngModel"\n ng-click="vm.ngModel = true">\n <i class="glyphicon glyphicon-remove"></i>\n </a>\n </span>\n <div\n class="panel panel-default object-field"\n ng-if="vm.field.type == \'object\' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"\n >\n <div class="panel-heading">{{vm.field.label}}</div>\n <div class="panel-body">\n <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">\n <xos-field\n name="k"\n field="{label: vm.formatLabel(k), type: vm.getType(v)}"\n ng-model="v">\n </xos-field>\n </div>\n <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">\n <xos-field\n name="k"\n field="{\n label: v.label || vm.formatLabel(k),\n type: v.type,\n validators: v.validators\n }"\n ng-model="vm.ngModel[k]">\n </xos-field>\n </div>\n </div>\n </div>\n ',bindToController:!0,controllerAs:"vm",compile:function(n){return e.compile(n)},controller:["$attrs","XosFormHelpers","LabelFormatter",function(e,n,o){if(!this.name)throw new Error("[xosField] Please provide a field name");if(!this.field)throw new Error("[xosField] Please provide a field definition");if(!this.field.type)throw new Error("[xosField] Please provide a type in the field definition");if(!e.ngModel)throw new Error("[xosField] Please provide an ng-model");this.getType=n._getFieldFormat,this.formatLabel=o.format,this.isEmptyObject=function(e){return!e||0===Object.keys(e).length}}]}}]).directive("xosCustomValidator",function(){return{restrict:"A",scope:{fn:"=customValidator"},require:"ngModel",link:function(e,n,o,t){function i(n){var o=e.fn(n);return angular.isArray(o)?t.$setValidity.apply(t,_toConsumableArray(o)):t.$setValidity("custom",o),n}angular.isFunction(e.fn)&&t.$parsers.push(i)}}})}(),function(){angular.module("xos.uiComponents").directive("xosAlert",function(){return{restrict:"E",scope:{config:"=",show:"=?"},template:'\n <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n <span aria-hidden="true">×</span>\n </button>\n <p ng-transclude></p>\n </div>\n ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:["$timeout",function(e){var n=this;if(!this.config)throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');this.show=this.show!==!1,this.dismiss=function(){n.show=!1},this.config.autoHide&&!function(){var o=e(function(){n.dismiss(),e.cancel(o)},n.config.autoHide)}()}]}})}(),function(){function e(e,n,o){e.interceptors.push("SetCSRFToken"),o.defaults.stripTrailingSlashes=!1}e.$inject=["$httpProvider","$interpolateProvider","$resourceProvider"],angular.module("xos.helpers",["ngCookies","ngResource","ngAnimate","xos.uiComponents"]).config(e).factory("_",["$window",function(e){return e._}])}(),function(){angular.module("xos.helpers").service("vSG-Collection",["$resource",function(e){return e("/api/service/vsg/")}])}(),function(){angular.module("xos.helpers").service("vOLT-Collection",["$resource",function(e){return e("/api/tenant/cord/volt/:volt_id/",{volt_id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Login",["$resource",function(e){return e("/api/utility/login/")}]).service("Logout",["$resource",function(e){return e("/api/utility/logout/")}])}(),function(){angular.module("xos.helpers").service("Users",["$resource",function(e){return e("/api/core/users/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Truckroll",["$resource",function(e){return e("/api/tenant/truckroll/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Tenants",["$resource",function(e){return e("/api/core/tenants/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Subscribers",["$resource",function(e){return e("/api/tenant/cord/subscriber/:id/",{id:"@id"},{update:{method:"PUT"},"View-a-Subscriber-Features-Detail":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/"},"Read-Subscriber-uplink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Update-Subscriber-uplink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Read-Subscriber-downlink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Update-Subscriber-downlink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Read-Subscriber-cdn":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Update-Subscriber-cdn":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Read-Subscriber-uverse":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Update-Subscriber-uverse":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Read-Subscriber-status":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"},"Update-Subscriber-status":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"}})}])}(),function(){angular.module("xos.helpers").service("SlicesPlus",["$http","$q",function(e,n){this.query=function(o){var t=n.defer();return e.get("/api/utility/slicesplus/",{params:o}).then(function(e){t.resolve(e.data)})["catch"](function(e){t.reject(e.data)}),{$promise:t.promise}},this.get=function(o,t){var i=n.defer();return e.get("/api/utility/slicesplus/"+o,{params:t}).then(function(e){i.resolve(e.data)})["catch"](function(e){i.reject(e.data)}),{$promise:i.promise}}}])}(),function(){angular.module("xos.helpers").service("Slices",["$resource",function(e){return e("/api/core/slices/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Sites",["$resource",function(e){return e("/api/core/sites/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Services",["$resource",function(e){return e("/api/core/services/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("ONOS-Services-Collection",["$resource",function(e){return e("/api/service/onos/")}])}(),function(){angular.module("xos.helpers").service("ONOS-App-Collection",["$resource",function(e){return e("/api/tenant/onos/app/")}])}(),function(){angular.module("xos.helpers").service("Nodes",["$resource",function(e){return e("/api/core/nodes/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Networkstemplates",["$resource",function(e){return e("/api/core/networktemplates/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Networks",["$resource",function(e){return e("/api/core/networks/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Me",["$q","$http",function(e,n){this.get=function(){var o=e.defer();return n.get("/api/utility/me/").then(function(e){o.resolve(e.data)})["catch"](function(e){o.reject(e)}),o.promise}}])}(),function(){angular.module("xos.helpers").service("Instances",["$resource",function(e){return e("/api/core/instances/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Images",["$resource",function(e){return e("/api/core/images/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Flavors",["$resource",function(e){return e("/api/core/flavors/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Example-Services-Collection",["$resource",function(e){return e("/api/service/exampleservice/")}])}(),function(){angular.module("xos.helpers").service("Deployments",["$resource",function(e){return e("/api/core/deployments/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Dashboards",["$resource","$q","$http",function(e,n,o){var t=e("/api/core/dashboardviews/:id/",{id:"@id"},{update:{method:"PUT"}});return t.prototype.$save=function(){var e=n.defer();return o.put("/api/core/dashboardviews/"+this.id+"/",this).then(function(n){e.resolve(n.data)})["catch"](function(n){e.reject(n.data)}),e.promise},t}])}(),function(){angular.module("xos.helpers").service("XosUserPrefs",["$cookies","Me","$q",function(e,n,o){var t=this,i=e.get("xosUserPrefs")?angular.fromJson(e.get("xosUserPrefs")):{};this.getAll=function(){return i=e.get("xosUserPrefs")?angular.fromJson(e.get("xosUserPrefs")):{}},this.setAll=function(n){e.put("xosUserPrefs",angular.toJson(n))},this.getSynchronizerNotificationStatus=function(){var e=!(arguments.length<=0||void 0===arguments[0])&&arguments[0];return e?t.getAll().synchronizers.notification[e]:t.getAll().synchronizers.notification},this.getUserDetailsCookie=function(){var e=o.defer(),n=t.getAll();return n.userData?e.resolve(n.userData):t.setUserDetailsCookie().$promise.then(function(n){e.resolve(n)}),{$promise:e.promise}},this.setUserDetailsCookie=function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0],i=o.defer(),r=t.getAll();return e?(r.userData=e,t.setAll(r),i.resolve(e)):n.get().then(function(e){r.userData=e,t.setAll(r),i.resolve(e)})["catch"](function(e){i.reject(e)}),{$promise:i.promise}},this.setSynchronizerNotificationStatus=function(){var e=!(arguments.length<=0||void 0===arguments[0])&&arguments[0],n=arguments[1];
-if(!e)throw new Error("[XosUserPrefs] When updating a synchronizer is mandatory to provide a name.");var o=t.getAll();o.synchronizers||(o.synchronizers={notification:{}}),o.synchronizers.notification[e]=n,t.setAll(o)}}])}(),function(){angular.module("xos.helpers").service("GraphService",["$q","Tenants","Services",function(e,n,o){var t=this;this.loadCoarseData=function(){var t=void 0,i=e.defer();return o.query().$promise.then(function(e){return t=e,n.query({kind:"coarse"}).$promise}).then(function(e){i.resolve({tenants:e,services:t})}),i.promise},this.getCoarseGraph=function(){return t.loadCoarseData().then(function(e){console.log(e)}),"ciao"}}])}(),function(){angular.module("xos.helpers").factory("Notification",function(){return window.Notification}).service("xosNotification",["$q","$log","Notification",function(e,n,o){var t=this;this.checkPermission=function(){var n=e.defer();return o.requestPermission().then(function(e){"granted"===e?n.resolve(e):n.reject(e)}),n.promise},this.sendNotification=function(e,t){var i=new o(e,t);i.onerror=function(e){n.error(e)}},this.notify=function(e,i){"Notification"in window?"granted"!==o.permission?t.checkPermission().then(function(){return t.sendNotification(e,i)}):"granted"===o.permission&&t.sendNotification(e,i):n.info("This browser does not support desktop notification")}}])}(),function(){function e(){return{request:function(e){return e.url.indexOf(".html")===-1&&(e.url+="?no_hyperlinks=1"),e}}}angular.module("xos.helpers").factory("NoHyperlinks",e)}(),angular.module("xos.helpers").config(["$provide",function(e){e.decorator("$log",["$delegate",function(e){var n=function(){return window.location.href.indexOf("debug=true")>=0},o=e.log,t=e.info,i=e.warn,r=e.debug,a=function(o){return function(){if(n()){var t=[].slice.call(arguments),i=new Date;return t[0]="["+i.getHours()+":"+i.getMinutes()+":"+i.getSeconds()+"] "+t[0],!angular.isFunction(e.reset)||e.debug.logs instanceof Array||e.reset(),o.apply(null,t)}}};return e.info=a(t),e.log=a(o),e.warn=a(i),e.debug=a(r),e}])}]),function(){function e(e){return{request:function(n){return"GET"!==n.method&&(n.headers["X-CSRFToken"]=e.get("xoscsrftoken")),n}}}e.$inject=["$cookies"],angular.module("xos.helpers").factory("SetCSRFToken",e)}();
\ No newline at end of file
+"use strict";function _toConsumableArray(e){if(Array.isArray(e)){for(var n=0,o=Array(e.length);n<e.length;n++)o[n]=e[n];return o}return Array.from(e)}!function(){angular.module("xos.uiComponents",["chart.js","RecursionHelper"])}();var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){angular.module("xos.uiComponents").component("xosSmartTable",{restrict:"E",bindings:{config:"="},template:'\n <div class="row" ng-show="vm.data.length > 0">\n <div class="col-xs-12 text-right">\n <a href="" class="btn btn-success" ng-click="vm.createItem()">\n Add\n </a>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-12 table-responsive">\n <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n </div>\n </div>\n <div class="panel panel-default" ng-show="vm.detailedItem">\n <div class="panel-heading">\n <div class="row">\n <div class="col-xs-11">\n <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n </div>\n <div class="col-xs-1">\n <a href="" ng-click="vm.cleanForm()">\n <i class="glyphicon glyphicon-remove pull-right"></i>\n </a>\n </div>\n </div>\n </div>\n <div class="panel-body">\n <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n </div>\n </div>\n <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n ',bindToController:!0,controllerAs:"vm",controller:["$injector","LabelFormatter","_","XosFormHelpers",function(e,n,o,t){var i=this;this.responseMsg=!1,this.responseErr=!1,this.tableConfig={columns:[],actions:[{label:"delete",icon:"remove",cb:function(e){i.Resource["delete"]({id:e.id}).$promise.then(function(){o.remove(i.data,function(n){return n.id===e.id}),i.responseMsg=i.config.resource+" with id "+e.id+" successfully deleted"})["catch"](function(n){i.responseErr=n.data.detail||"Error while deleting "+i.config.resource+" with id "+e.id})},color:"red"},{label:"details",icon:"search",cb:function(e){i.detailedItem=e}}],classes:"table table-striped table-bordered table-responsive",filter:"field",order:!0,pagination:{pageSize:10}},this.formConfig={exclude:this.config.hiddenFields,fields:{},formName:this.config.resource+"Form",actions:[{label:"Save",icon:"ok",cb:function(e){var n=void 0,o=!0;e.id?(n=e.$update(),o=!1):n=e.$save(),n.then(function(n){o&&i.data.push(angular.copy(n)),delete i.detailedItem,i.responseMsg=i.config.resource+" with id "+e.id+" successfully saved"})["catch"](function(n){i.responseErr=n.data.detail||"Error while saving "+i.config.resource+" with id "+e.id})},"class":"success"}]},this.cleanForm=function(){delete i.detailedItem},this.createItem=function(){i.detailedItem=new i.Resource},this.Resource=e.get(this.config.resource);var r=function(){i.Resource.query().$promise.then(function(e){if(!e[0])return void(i.data=e);var r=e[0],a=Object.keys(r);o.remove(a,function(e){return"id"===e||"validators"===e}),angular.isArray(i.config.hiddenFields)&&(a=o.difference(a,i.config.hiddenFields));var s=a.map(function(e){return n.format(e)});a.forEach(function(e,n){var o={label:s[n],prop:e};angular.isString(r[e])&&"undefined"!=typeof r[e]&&(o.type=_typeof(r[e])),i.tableConfig.columns.push(o)}),a.forEach(function(e,o){i.formConfig.fields[e]={label:n.format(s[o]).replace(":",""),type:t._getFieldFormat(r[e])}}),i.data=e})};r()}]})}(),function(){angular.module("xos.uiComponents").component("xosSmartPie",{restrict:"E",bindings:{config:"="},template:'\n <canvas\n class="chart chart-pie {{vm.config.classes}}"\n chart-data="vm.data" chart-labels="vm.labels"\n chart-legend="{{vm.config.legend}}">\n </canvas>\n ',bindToController:!0,controllerAs:"vm",controller:["$injector","$interval","$scope","$timeout","_",function(e,n,o,t,i){var r=this;if(!this.config.resource&&!this.config.data)throw new Error("[xosSmartPie] Please provide a resource or an array of data in the configuration");var a=function(e){return i.groupBy(e,r.config.groupBy)},s=function(e){return i.reduce(Object.keys(e),function(n,o){return n.concat(e[o].length)},[])},l=function(e){return angular.isFunction(r.config.labelFormatter)?r.config.labelFormatter(Object.keys(e)):Object.keys(e)},c=function(e){var n=a(e);r.data=s(n),r.labels=l(n)};this.config.resource?!function(){r.Resource=e.get(r.config.resource);var o=function(){r.Resource.query().$promise.then(function(e){e[0]&&c(e)})};o(),r.config.poll&&n(function(){o()},1e3*r.config.poll)}():o.$watch(function(){return r.config.data},function(e){e&&c(r.config.data)},!0),o.$on("create",function(e,n){console.log("create: "+n.id)}),o.$on("destroy",function(e,n){console.log("destroy: "+n.id)})}]})}(),function(){angular.module("xos.uiComponents").component("xosValidation",{restrict:"E",bindings:{field:"=",form:"="},template:'\n <div ng-cloak>\n <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">\n Field required\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">\n This is not a valid email\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too short\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too long\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">\n Field invalid\n </xos-alert>\n </div>\n ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:function(){this.config={type:"danger"}}})}(),function(){angular.module("xos.uiComponents").component("xosTable",{restrict:"E",bindings:{data:"=",config:"="},template:'\n <div ng-show="vm.data.length > 0 && vm.loader == false">\n <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n <div class="col-xs-12">\n <input\n class="form-control"\n placeholder="Type to search.."\n type="text"\n ng-model="vm.query"/>\n </div>\n </div>\n <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n <thead>\n <tr>\n <th ng-repeat="col in vm.columns">\n {{col.label}}\n <span ng-if="vm.config.order">\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n <i class="glyphicon glyphicon-chevron-up"></i>\n </a>\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n <i class="glyphicon glyphicon-chevron-down"></i>\n </a>\n </span>\n </th>\n <th ng-if="vm.config.actions">Actions:</th>\n </tr>\n </thead>\n <tbody ng-if="vm.config.filter == \'field\'">\n <tr>\n <td ng-repeat="col in vm.columns">\n <input\n ng-if="col.type !== \'boolean\' && col.type !== \'array\' && col.type !== \'object\' && col.type !== \'custom\'"\n class="form-control"\n placeholder="Type to search by {{col.label}}"\n type="text"\n ng-model="vm.query[col.prop]"/>\n <select\n ng-if="col.type === \'boolean\'"\n class="form-control"\n ng-model="vm.query[col.prop]">\n <option value="">-</option>\n <option value="true">True</option>\n <option value="false">False</option>\n </select>\n </td>\n <td ng-if="vm.config.actions"></td>\n </tr>\n </tbody>\n <tbody>\n <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n <td ng-repeat="col in vm.columns" xos-link-wrapper>\n <span ng-if="!col.type">{{item[col.prop]}}</span>\n <span ng-if="col.type === \'boolean\'">\n <i class="glyphicon"\n ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n </i>\n </span>\n <span ng-if="col.type === \'date\'">\n {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n </span>\n <span ng-if="col.type === \'array\'">\n {{item[col.prop] | arrayToList}}\n </span>\n <span ng-if="col.type === \'object\'">\n <dl class="dl-horizontal">\n <span ng-repeat="(k,v) in item[col.prop]">\n <dt>{{k}}</dt>\n <dd>{{v}}</dd>\n </span>\n </dl>\n </span>\n <span ng-if="col.type === \'custom\'">\n {{col.formatter(item)}}\n </span>\n <span ng-if="col.type === \'icon\'">\n <i class="glyphicon glyphicon-{{col.formatter(item)}}">\n </i>\n </span>\n </td>\n <td ng-if="vm.config.actions">\n <a href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(item)"\n title="{{action.label}}">\n <i\n class="glyphicon glyphicon-{{action.icon}}"\n style="color: {{action.color}};"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <xos-pagination\n ng-if="vm.config.pagination"\n page-size="vm.config.pagination.pageSize"\n total-elements="vm.data.length"\n change="vm.goToPage">\n </xos-pagination>\n </div>\n <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">\n <xos-alert config="{type: \'info\'}">\n No data to show.\n </xos-alert>\n </div>\n <div ng-show="vm.loader == true">\n <div class="loader"></div>\n </div>\n ',bindToController:!0,controllerAs:"vm",controller:["_","$scope","Comparator",function(e,n,o){var t=this;if(this.comparator=o,this.loader=!0,n.$watch(function(){return t.data},function(e){angular.isDefined(e)&&(t.loader=!1)}),!this.config)throw new Error('[xosTable] Please provide a configuration via the "config" attribute');if(!this.config.columns)throw new Error("[xosTable] Please provide a columns list in the configuration");this.config.order&&angular.isObject(this.config.order)&&(this.reverse=this.config.order.reverse||!1,this.orderBy=this.config.order.field||"id");var i=e.filter(this.config.columns,{type:"custom"});angular.isArray(i)&&i.length>0&&e.forEach(i,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided a custom field type, a formatter function should provided too.")});var r=e.filter(this.config.columns,{type:"icon"});angular.isArray(r)&&r.length>0&&e.forEach(r,function(e){if(!e.formatter||!angular.isFunction(e.formatter))throw new Error("[xosTable] You have provided an icon field type, a formatter function should provided too.")});var a=e.filter(this.config.columns,function(e){return angular.isDefined(e.link)});angular.isArray(a)&&a.length>0&&e.forEach(a,function(e){if(!angular.isFunction(e.link))throw new Error("[xosTable] The link property should be a function.")}),this.columns=this.config.columns,this.classes=this.config.classes||"table table-striped table-bordered",this.config.actions,this.config.pagination&&(this.currentPage=0,this.goToPage=function(e){t.currentPage=e})}]}).filter("arrayToList",function(){return function(e){return angular.isArray(e)?e.join(", "):e}}).directive("xosLinkWrapper",function(){return{restrict:"A",transclude:!0,template:'\n <a ng-if="col.link" href="{{col.link(item)}}">\n <div ng-transclude></div>\n </a>\n <div ng-transclude ng-if="!col.link"></div>\n '}})}(),function(){angular.module("xos.uiComponents").component("xosPagination",{restrict:"E",bindings:{pageSize:"=",totalElements:"=",change:"="},template:'\n <div class="row" ng-if="vm.pageList.length > 1">\n <div class="col-xs-12 text-center">\n <ul class="pagination">\n <li\n ng-click="vm.goToPage(vm.currentPage - 1)"\n ng-class="{disabled: vm.currentPage == 0}">\n <a href="" aria-label="Previous">\n <span aria-hidden="true">«</span>\n </a>\n </li>\n <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n </li>\n <li\n ng-click="vm.goToPage(vm.currentPage + 1)"\n ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n <a href="" aria-label="Next">\n <span aria-hidden="true">»</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n ',bindToController:!0,controllerAs:"vm",controller:["$scope",function(e){var n=this;this.currentPage=0,this.goToPage=function(e){e<0||e===n.pages||(n.currentPage=e,n.change(e))},this.createPages=function(e){for(var n=[],o=0;o<e;o++)n.push(o);return n},e.$watch(function(){return n.totalElements},function(){n.totalElements&&(n.pages=Math.ceil(n.totalElements/n.pageSize),n.pageList=n.createPages(n.pages))})}]}).filter("pagination",function(){return function(e,n){return e&&angular.isArray(e)?(n=parseInt(n,10),e.slice(n)):e}})}(),function(){angular.module("xos.uiComponents").component("xosForm",{restrict:"E",bindings:{config:"=",ngModel:"="},template:'\n <form name="vm.{{vm.config.formName || \'form\'}}" novalidate>\n <div class="form-group" ng-repeat="(name, field) in vm.formField">\n <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>\n <xos-validation field="vm[vm.config.formName || \'form\'][name]" form = "vm[vm.config.formName || \'form\']"></xos-validation>\n <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>\n </div>\n <div class="form-group" ng-if="vm.config.actions">\n <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>\n\n <button role="button" href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(vm.ngModel, vm[vm.config.formName || \'form\'])"\n class="btn btn-{{action.class}}"\n title="{{action.label}}">\n <i class="glyphicon glyphicon-{{action.icon}}"></i>\n {{action.label}}\n </button>\n </div>\n </form>\n ',bindToController:!0,controllerAs:"vm",controller:["$scope","$log","_","XosFormHelpers",function(e,n,o,t){var i=this;if(!this.config)throw new Error('[xosForm] Please provide a configuration via the "config" attribute');if(!this.config.actions)throw new Error("[xosForm] Please provide an action list in the configuration");this.config.feedback||(this.config.feedback={show:!1,message:"Form submitted successfully !!!",type:"success"}),this.excludedField=["id","validators","created","updated","deleted","backend_status"],this.config&&this.config.exclude&&(this.excludedField=this.excludedField.concat(this.config.exclude)),this.formField=[],e.$watch(function(){return i.config},function(){if(i.ngModel){var e=o.difference(Object.keys(i.ngModel),i.excludedField),n=t.parseModelField(e);i.formField=t.buildFormStructure(n,i.config.fields,i.ngModel)}},!0),e.$watch(function(){return i.ngModel},function(e){if(i.formField={},e){var n=o.difference(Object.keys(e),i.excludedField),r=t.parseModelField(n);i.formField=t.buildFormStructure(r,i.config.fields,e)}})}]})}(),function(){angular.module("xos.uiComponents").component("xosField",{restrict:"E",bindings:{name:"=",field:"=",ngModel:"="},template:'\n <label ng-if="vm.field.type !== \'object\'">{{vm.field.label}}</label>\n <input\n xos-custom-validator custom-validator="vm.field.validators.custom || null"\n ng-if="vm.field.type !== \'boolean\' && vm.field.type !== \'object\' && vm.field.type !== \'select\'"\n type="{{vm.field.type}}"\n name="{{vm.name}}"\n class="form-control"\n ng-model="vm.ngModel"\n ng-minlength="vm.field.validators.minlength || 0"\n ng-maxlength="vm.field.validators.maxlength || 2000"\n ng-required="vm.field.validators.required || false" />\n <select class="form-control" ng-if ="vm.field.type === \'select\'"\n name = "{{vm.name}}"\n ng-options="item.id as item.label for item in vm.field.options"\n ng-model="vm.ngModel"\n ng-required="vm.field.validators.required || false">\n </select>\n <span class="boolean-field" ng-if="vm.field.type === \'boolean\'">\n <a href="#"\n class="btn btn-success"\n ng-show="vm.ngModel"\n ng-click="vm.ngModel = false">\n <i class="glyphicon glyphicon-ok"></i>\n </a>\n <a href="#"\n class="btn btn-danger"\n ng-show="!vm.ngModel"\n ng-click="vm.ngModel = true">\n <i class="glyphicon glyphicon-remove"></i>\n </a>\n </span>\n <div\n class="panel panel-default object-field"\n ng-if="vm.field.type == \'object\' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"\n >\n <div class="panel-heading">{{vm.field.label}}</div>\n <div class="panel-body">\n <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">\n <xos-field\n name="k"\n field="{label: vm.formatLabel(k), type: vm.getType(v)}"\n ng-model="v">\n </xos-field>\n </div>\n <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">\n <xos-field\n name="k"\n field="{\n label: v.label || vm.formatLabel(k),\n type: v.type,\n validators: v.validators\n }"\n ng-model="vm.ngModel[k]">\n </xos-field>\n </div>\n </div>\n </div>\n ',bindToController:!0,controllerAs:"vm",controller:["$attrs","XosFormHelpers","LabelFormatter",function(e,n,o){if(!this.name)throw new Error("[xosField] Please provide a field name");if(!this.field)throw new Error("[xosField] Please provide a field definition");if(!this.field.type)throw new Error("[xosField] Please provide a type in the field definition");if(!e.ngModel)throw new Error("[xosField] Please provide an ng-model");this.getType=n._getFieldFormat,this.formatLabel=o.format,this.isEmptyObject=function(e){return!e||0===Object.keys(e).length}}]}).directive("xosCustomValidator",function(){return{restrict:"A",scope:{fn:"=customValidator"},require:"ngModel",link:function(e,n,o,t){function i(n){var o=e.fn(n);return angular.isArray(o)?t.$setValidity.apply(t,_toConsumableArray(o)):t.$setValidity("custom",o),n}angular.isFunction(e.fn)&&t.$parsers.push(i)}}})}(),function(){angular.module("xos.uiComponents").component("xosAlert",{restrict:"E",bindings:{config:"=",show:"=?"},template:'\n <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n <span aria-hidden="true">×</span>\n </button>\n <p ng-transclude></p>\n </div>\n ',transclude:!0,bindToController:!0,controllerAs:"vm",controller:["$timeout",function(e){var n=this;if(!this.config)throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');this.show=this.show!==!1,this.dismiss=function(){n.show=!1},this.config.autoHide&&!function(){var o=e(function(){n.dismiss(),e.cancel(o)},n.config.autoHide)}()}]})}(),function(){function e(){var e=function(e){return e.split("_").join(" ").trim()},n=function(e){return e.split(/(?=[A-Z])/).map(function(e){return e.toLowerCase()}).join(" ")},o=function(e){return e.slice(0,1).toUpperCase()+e.slice(1)},t=function(t){return t=e(t),t=n(t),t=o(t).replace(/\s\s+/g," ")+":",t.replace("::",":")};return{_formatByUnderscore:e,_formatByUppercase:n,_capitalize:o,format:t}}angular.module("xos.uiComponents").factory("LabelFormatter",e)}();var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(){angular.module("xos.uiComponents").service("XosFormHelpers",["_","LabelFormatter",function(e,n){var o=this;this._isEmail=function(e){var n=/(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;return n.test(e)},this._getFieldFormat=function(n){return angular.isArray(n)?"array":e.isDate(n)||!Number.isNaN(Date.parse(n))&&new Date(n).getTime()>6311808e5?"date":"boolean"==typeof n?"boolean":o._isEmail(n)?"email":angular.isString(n)||null===n?"text":"undefined"==typeof n?"undefined":_typeof(n)},this.buildFormStructure=function(t,i,r){return t=angular.extend(t,i),i=i||{},e.reduce(Object.keys(t),function(e,t){return e[t]={label:i[t]&&i[t].label?i[t].label+":":n.format(t),type:i[t]&&i[t].type?i[t].type:o._getFieldFormat(r[t]),validators:i[t]&&i[t].validators?i[t].validators:{},hint:i[t]&&i[t].hint?i[t].hint:""},i[t]&&i[t].options&&(e[t].options=i[t].options),i[t]&&i[t].properties&&(e[t].properties=i[t].properties),"date"===e[t].type&&(r[t]=new Date(r[t])),"number"===e[t].type&&(r[t]=parseInt(r[t],10)),e},{})},this.parseModelField=function(n){return e.reduce(n,function(e,n){return e[n]={},e},{})}}])}(),function(){function e(e){return function(n,o){if(angular.isUndefined(n))return!1;if(null===n||null===o)return n===o;if(angular.isObject(o)||angular.isObject(n))return angular.equals(o,n);if(e.isBoolean(n)||e.isBoolean(o))return 0!==n&&1!==n||(n=!!n),angular.equals(o,n);if(!angular.isString(n)||!angular.isString(o)){if(!angular.isDefined(n.toString)||!angular.isDefined(o.toString))return n===o;n=n.toString(),o=o.toString()}return n=n.toLowerCase()+"",o=o.toLowerCase()+"",n.indexOf(o)!==-1}}e.$inject=["_"],angular.module("xos.uiComponents").factory("Comparator",e)}(),function(){function e(e,n,o){e.interceptors.push("SetCSRFToken"),o.defaults.stripTrailingSlashes=!1}e.$inject=["$httpProvider","$interpolateProvider","$resourceProvider"],angular.module("xos.helpers",["ngCookies","ngResource","ngAnimate","xos.uiComponents"]).config(e).factory("_",["$window",function(e){return e._}])}(),function(){angular.module("xos.helpers").service("vSG-Collection",["$resource",function(e){return e("/api/service/vsg/")}])}(),function(){angular.module("xos.helpers").service("vOLT-Collection",["$resource",function(e){return e("/api/tenant/cord/volt/:volt_id/",{volt_id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Login",["$resource",function(e){return e("/api/utility/login/")}]).service("Logout",["$resource",function(e){return e("/api/utility/logout/")}])}(),function(){angular.module("xos.helpers").service("Users",["$resource",function(e){return e("/api/core/users/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Truckroll",["$resource",function(e){return e("/api/tenant/truckroll/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Tenants",["$resource",function(e){return e("/api/core/tenants/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Subscribers",["$resource",function(e){return e("/api/tenant/cord/subscriber/:id/",{id:"@id"},{update:{method:"PUT"},"View-a-Subscriber-Features-Detail":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/"},"Read-Subscriber-uplink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Update-Subscriber-uplink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uplink_speed/"},"Read-Subscriber-downlink_speed":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Update-Subscriber-downlink_speed":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/downlink_speed/"},"Read-Subscriber-cdn":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Update-Subscriber-cdn":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/cdn/"},"Read-Subscriber-uverse":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Update-Subscriber-uverse":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/uverse/"},"Read-Subscriber-status":{method:"GET",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"},"Update-Subscriber-status":{method:"PUT",isArray:!1,url:"/api/tenant/cord/subscriber/:id/features/status/"}})}])}(),function(){angular.module("xos.helpers").service("SlicesPlus",["$http","$q",function(e,n){this.query=function(o){var t=n.defer();return e.get("/api/utility/slicesplus/",{params:o}).then(function(e){t.resolve(e.data)})["catch"](function(e){t.reject(e.data)}),{$promise:t.promise}},this.get=function(o,t){var i=n.defer();return e.get("/api/utility/slicesplus/"+o,{params:t}).then(function(e){i.resolve(e.data)})["catch"](function(e){i.reject(e.data)}),{$promise:i.promise}}}])}(),function(){angular.module("xos.helpers").service("Slices",["$resource",function(e){return e("/api/core/slices/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Sites",["$resource",function(e){return e("/api/core/sites/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Services",["$resource",function(e){return e("/api/core/services/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("ONOS-Services-Collection",["$resource",function(e){return e("/api/service/onos/")}])}(),function(){angular.module("xos.helpers").service("ONOS-App-Collection",["$resource",function(e){return e("/api/tenant/onos/app/")}])}(),function(){angular.module("xos.helpers").service("Nodes",["$resource",function(e){return e("/api/core/nodes/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Networkstemplates",["$resource",function(e){return e("/api/core/networktemplates/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Networks",["$resource",function(e){return e("/api/core/networks/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Me",["$q","$http",function(e,n){this.get=function(){var o=e.defer();return n.get("/api/utility/me/").then(function(e){o.resolve(e.data)})["catch"](function(e){o.reject(e)}),o.promise}}])}(),function(){angular.module("xos.helpers").service("Instances",["$resource",function(e){return e("/api/core/instances/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Images",["$resource",function(e){return e("/api/core/images/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Flavors",["$resource",function(e){return e("/api/core/flavors/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Example-Services-Collection",["$resource",function(e){return e("/api/service/exampleservice/")}])}(),function(){angular.module("xos.helpers").service("Deployments",["$resource",function(e){return e("/api/core/deployments/:id/",{id:"@id"},{update:{method:"PUT"}})}])}(),function(){angular.module("xos.helpers").service("Dashboards",["$resource","$q","$http",function(e,n,o){var t=e("/api/core/dashboardviews/:id/",{id:"@id"},{update:{method:"PUT"}});return t.prototype.$save=function(){var e=n.defer();return o.put("/api/core/dashboardviews/"+this.id+"/",this).then(function(n){e.resolve(n.data)})["catch"](function(n){e.reject(n.data)}),e.promise},t}])}(),function(){angular.module("xos.helpers").service("XosUserPrefs",["$cookies","Me","$q",function(e,n,o){var t=this,i=e.get("xosUserPrefs")?angular.fromJson(e.get("xosUserPrefs")):{};this.getAll=function(){return i=e.get("xosUserPrefs")?angular.fromJson(e.get("xosUserPrefs")):{}},this.setAll=function(n){e.put("xosUserPrefs",angular.toJson(n))},this.getSynchronizerNotificationStatus=function(){var e=!(arguments.length<=0||void 0===arguments[0])&&arguments[0];return e?t.getAll().synchronizers.notification[e]:t.getAll().synchronizers.notification},this.getUserDetailsCookie=function(){var e=o.defer(),n=t.getAll();return n.userData?e.resolve(n.userData):t.setUserDetailsCookie().$promise.then(function(n){e.resolve(n)}),{$promise:e.promise}},this.setUserDetailsCookie=function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0],i=o.defer(),r=t.getAll();return e?(r.userData=e,t.setAll(r),i.resolve(e)):n.get().then(function(e){r.userData=e,t.setAll(r),i.resolve(e)})["catch"](function(e){i.reject(e)}),{$promise:i.promise}},this.setSynchronizerNotificationStatus=function(){var e=!(arguments.length<=0||void 0===arguments[0])&&arguments[0],n=arguments[1];if(!e)throw new Error("[XosUserPrefs] When updating a synchronizer is mandatory to provide a name.");var o=t.getAll();o.synchronizers||(o.synchronizers={notification:{}}),o.synchronizers.notification[e]=n,t.setAll(o)}}])}(),function(){angular.module("xos.helpers").service("GraphService",["$q","Tenants","Services",function(e,n,o){var t=this;this.loadCoarseData=function(){var t=void 0,i=e.defer();return o.query().$promise.then(function(e){return t=e,n.query({kind:"coarse"}).$promise}).then(function(e){i.resolve({tenants:e,services:t})}),i.promise},this.getCoarseGraph=function(){return t.loadCoarseData().then(function(e){console.log(e)}),"ciao"}}])}(),function(){
+angular.module("xos.helpers").factory("Notification",function(){return window.Notification}).service("xosNotification",["$q","$log","Notification",function(e,n,o){var t=this;this.checkPermission=function(){var n=e.defer();return o.requestPermission().then(function(e){"granted"===e?n.resolve(e):n.reject(e)}),n.promise},this.sendNotification=function(e,t){var i=new o(e,t);i.onerror=function(e){n.error(e)}},this.notify=function(e,i){"Notification"in window?"granted"!==o.permission?t.checkPermission().then(function(){return t.sendNotification(e,i)}):"granted"===o.permission&&t.sendNotification(e,i):n.info("This browser does not support desktop notification")}}])}(),function(){function e(){return{request:function(e){return e.url.indexOf(".html")===-1&&(e.url+="?no_hyperlinks=1"),e}}}angular.module("xos.helpers").factory("NoHyperlinks",e)}(),angular.module("xos.helpers").config(["$provide",function(e){e.decorator("$log",["$delegate",function(e){var n=function(){return window.location.href.indexOf("debug=true")>=0},o=e.log,t=e.info,i=e.warn,r=e.debug,a=function(o){return function(){if(n()){var t=[].slice.call(arguments),i=new Date;return t[0]="["+i.getHours()+":"+i.getMinutes()+":"+i.getSeconds()+"] "+t[0],!angular.isFunction(e.reset)||e.debug.logs instanceof Array||e.reset(),o.apply(null,t)}}};return e.info=a(t),e.log=a(o),e.warn=a(i),e.debug=a(r),e}])}]),function(){function e(e){return{request:function(n){return"GET"!==n.method&&(n.headers["X-CSRFToken"]=e.get("xoscsrftoken")),n}}}e.$inject=["$cookies"],angular.module("xos.helpers").factory("SetCSRFToken",e)}();
\ No newline at end of file
diff --git a/dist/ngXosVendor.min.js b/dist/ngXosVendor.min.js
index ff1d496..6dd6f45 100644
--- a/dist/ngXosVendor.min.js
+++ b/dist/ngXosVendor.min.js
@@ -1,16 +1,17 @@
-!function(t,n,e){"use strict";function r(t,n){return n=n||Error,function(){var e,r,i=2,o=arguments,a=o[0],u="["+(t?t+":":"")+a+"] ",s=o[1];for(u+=s.replace(/\{\d+\}/g,function(t){var n=+t.slice(1,-1),e=n+i;return e<o.length?$t(o[e]):t}),u+="\nhttp://errors.angularjs.org/1.4.7/"+(t?t+"/":"")+a,r=i,e="?";r<o.length;r++,e="&")u+=e+"p"+(r-i)+"="+encodeURIComponent($t(o[r]));return new n(u)}}function i(t){if(null==t||A(t))return!1;var n="length"in Object(t)&&t.length;return!(t.nodeType!==Yr||!n)||(C(t)||Fr(t)||0===n||"number"==typeof n&&n>0&&n-1 in t)}function o(t,n,e){var r,a;if(t)if(M(t))for(r in t)"prototype"==r||"length"==r||"name"==r||t.hasOwnProperty&&!t.hasOwnProperty(r)||n.call(e,t[r],r,t);else if(Fr(t)||i(t)){var u="object"!=typeof t;for(r=0,a=t.length;r<a;r++)(u||r in t)&&n.call(e,t[r],r,t)}else if(t.forEach&&t.forEach!==o)t.forEach(n,e,t);else if(w(t))for(r in t)n.call(e,t[r],r,t);else if("function"==typeof t.hasOwnProperty)for(r in t)t.hasOwnProperty(r)&&n.call(e,t[r],r,t);else for(r in t)br.call(t,r)&&n.call(e,t[r],r,t);return t}function a(t,n,e){for(var r=Object.keys(t).sort(),i=0;i<r.length;i++)n.call(e,t[r[i]],r[i]);return r}function u(t){return function(n,e){t(e,n)}}function s(){return++Rr}function l(t,n){n?t.$$hashKey=n:delete t.$$hashKey}function c(t,n,e){for(var r=t.$$hashKey,i=0,o=n.length;i<o;++i){var a=n[i];if(b(a)||M(a))for(var u=Object.keys(a),s=0,f=u.length;s<f;s++){var h=u[s],p=a[h];e&&b(p)?_(p)?t[h]=new Date(p.valueOf()):k(p)?t[h]=new RegExp(p):(b(t[h])||(t[h]=Fr(p)?[]:{}),c(t[h],[p],!0)):t[h]=p}}return l(t,r),t}function f(t){return c(t,Er.call(arguments,1),!1)}function h(t){return c(t,Er.call(arguments,1),!0)}function p(t){return parseInt(t,10)}function d(t,n){return f(Object.create(t),n)}function v(){}function g(t){return t}function m(t){return function(){return t}}function y(t){return M(t.toString)&&t.toString!==Object.prototype.toString}function $(t){return"undefined"==typeof t}function x(t){return"undefined"!=typeof t}function b(t){return null!==t&&"object"==typeof t}function w(t){return null!==t&&"object"==typeof t&&!Lr(t)}function C(t){return"string"==typeof t}function S(t){return"number"==typeof t}function _(t){return"[object Date]"===Tr.call(t)}function M(t){return"function"==typeof t}function k(t){return"[object RegExp]"===Tr.call(t)}function A(t){return t&&t.window===t}function E(t){return t&&t.$evalAsync&&t.$watch}function P(t){return"[object File]"===Tr.call(t)}function O(t){return"[object FormData]"===Tr.call(t)}function T(t){return"[object Blob]"===Tr.call(t)}function L(t){return"boolean"==typeof t}function j(t){return t&&M(t.then)}function N(t){return Ir.test(Tr.call(t))}function R(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function D(t){var n,e={},r=t.split(",");for(n=0;n<r.length;n++)e[r[n]]=!0;return e}function F(t){return xr(t.nodeName||t[0]&&t[0].nodeName)}function I(t,n){var e=t.indexOf(n);return e>=0&&t.splice(e,1),e}function z(t,n,e,r){if(A(t)||E(t))throw jr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(N(n))throw jr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(n){if(t===n)throw jr("cpi","Can't copy! Source and destination are identical.");e=e||[],r=r||[],b(t)&&(e.push(t),r.push(n));var i;if(Fr(t)){n.length=0;for(var a=0;a<t.length;a++)n.push(z(t[a],null,e,r))}else{var u=n.$$hashKey;if(Fr(n)?n.length=0:o(n,function(t,e){delete n[e]}),w(t))for(i in t)n[i]=z(t[i],null,e,r);else if(t&&"function"==typeof t.hasOwnProperty)for(i in t)t.hasOwnProperty(i)&&(n[i]=z(t[i],null,e,r));else for(i in t)br.call(t,i)&&(n[i]=z(t[i],null,e,r));l(n,u)}}else if(n=t,b(t)){var s;if(e&&(s=e.indexOf(t))!==-1)return r[s];if(Fr(t))return z(t,[],e,r);if(N(t))n=new t.constructor(t);else if(_(t))n=new Date(t.getTime());else if(k(t))n=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]),n.lastIndex=t.lastIndex;else{if(!M(t.cloneNode)){var c=Object.create(Lr(t));return z(t,c,e,r)}n=t.cloneNode(!0)}r&&(e.push(t),r.push(n))}return n}function q(t,n){if(Fr(t)){n=n||[];for(var e=0,r=t.length;e<r;e++)n[e]=t[e]}else if(b(t)){n=n||{};for(var i in t)"$"===i.charAt(0)&&"$"===i.charAt(1)||(n[i]=t[i])}return n||t}function V(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!==t&&n!==n)return!0;var e,r,i,o=typeof t,a=typeof n;if(o==a&&"object"==o){if(!Fr(t)){if(_(t))return!!_(n)&&V(t.getTime(),n.getTime());if(k(t))return!!k(n)&&t.toString()==n.toString();if(E(t)||E(n)||A(t)||A(n)||Fr(n)||_(n)||k(n))return!1;i=gt();for(r in t)if("$"!==r.charAt(0)&&!M(t[r])){if(!V(t[r],n[r]))return!1;i[r]=!0}for(r in n)if(!(r in i)&&"$"!==r.charAt(0)&&x(n[r])&&!M(n[r]))return!1;return!0}if(!Fr(n))return!1;if((e=t.length)==n.length){for(r=0;r<e;r++)if(!V(t[r],n[r]))return!1;return!0}}return!1}function B(t,n,e){return t.concat(Er.call(n,e))}function W(t,n){return Er.call(t,n||0)}function U(t,n){var e=arguments.length>2?W(arguments,2):[];return!M(n)||n instanceof RegExp?n:e.length?function(){return arguments.length?n.apply(t,B(e,arguments,0)):n.apply(t,e)}:function(){return arguments.length?n.apply(t,arguments):n.call(t)}}function H(t,r){var i=r;return"string"==typeof t&&"$"===t.charAt(0)&&"$"===t.charAt(1)?i=e:A(r)?i="$WINDOW":r&&n===r?i="$DOCUMENT":E(r)&&(i="$SCOPE"),i}function Y(t,n){return"undefined"==typeof t?e:(S(n)||(n=n?2:null),JSON.stringify(t,H,n))}function G(t){return C(t)?JSON.parse(t):t}function X(t,n){var e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function Z(t,n){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+n),t}function J(t,n,e){e=e?-1:1;var r=X(n,t.getTimezoneOffset());return Z(t,e*(r-t.getTimezoneOffset()))}function K(t){t=Mr(t).clone();try{t.empty()}catch(n){}var e=Mr("<div>").append(t).html();try{return t[0].nodeType===Xr?xr(e):e.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,n){return"<"+xr(n)})}catch(n){return xr(e)}}function Q(t){try{return decodeURIComponent(t)}catch(n){}}function tt(t){var n={};return o((t||"").split("&"),function(t){var e,r,i;t&&(r=t=t.replace(/\+/g,"%20"),e=t.indexOf("="),e!==-1&&(r=t.substring(0,e),i=t.substring(e+1)),r=Q(r),x(r)&&(i=!x(i)||Q(i),br.call(n,r)?Fr(n[r])?n[r].push(i):n[r]=[n[r],i]:n[r]=i))}),n}function nt(t){var n=[];return o(t,function(t,e){Fr(t)?o(t,function(t){n.push(rt(e,!0)+(t===!0?"":"="+rt(t,!0)))}):n.push(rt(e,!0)+(t===!0?"":"="+rt(t,!0)))}),n.length?n.join("&"):""}function et(t){return rt(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function rt(t,n){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,n?"%20":"+")}function it(t,n){var e,r,i=Wr.length;for(r=0;r<i;++r)if(e=Wr[r]+n,C(e=t.getAttribute(e)))return e;return null}function ot(t,n){var e,r,i={};o(Wr,function(n){var i=n+"app";!e&&t.hasAttribute&&t.hasAttribute(i)&&(e=t,r=t.getAttribute(i))}),o(Wr,function(n){var i,o=n+"app";!e&&(i=t.querySelector("["+o.replace(":","\\:")+"]"))&&(e=i,r=i.getAttribute(o))}),e&&(i.strictDi=null!==it(e,"strict-di"),n(e,r?[r]:[],i))}function at(e,r,i){b(i)||(i={});var a={strictDi:!1};i=f(a,i);var u=function(){if(e=Mr(e),e.injector()){var t=e[0]===n?"document":K(e);throw jr("btstrpd","App Already Bootstrapped with this Element '{0}'",t.replace(/</,"<").replace(/>/,">"))}r=r||[],r.unshift(["$provide",function(t){t.value("$rootElement",e)}]),i.debugInfoEnabled&&r.push(["$compileProvider",function(t){t.debugInfoEnabled(!0)}]),r.unshift("ng");var o=Kt(r,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(t,n,e,r){t.$apply(function(){n.data("$injector",r),e(n)(t)})}]),o},s=/^NG_ENABLE_DEBUG_INFO!/,l=/^NG_DEFER_BOOTSTRAP!/;return t&&s.test(t.name)&&(i.debugInfoEnabled=!0,t.name=t.name.replace(s,"")),t&&!l.test(t.name)?u():(t.name=t.name.replace(l,""),Nr.resumeBootstrap=function(t){return o(t,function(t){r.push(t)}),u()},void(M(Nr.resumeDeferredBootstrap)&&Nr.resumeDeferredBootstrap()))}function ut(){t.name="NG_ENABLE_DEBUG_INFO!"+t.name,t.location.reload()}function st(t){var n=Nr.element(t).injector();if(!n)throw jr("test","no injector found for element argument to getTestability");return n.get("$$testability")}function lt(t,n){return n=n||"_",t.replace(Ur,function(t,e){return(e?n:"")+t.toLowerCase()})}function ct(){var n;if(!Hr){var r=Br();kr=$(r)?t.jQuery:r?t[r]:e,kr&&kr.fn.on?(Mr=kr,f(kr.fn,{scope:pi.scope,isolateScope:pi.isolateScope,controller:pi.controller,injector:pi.injector,inheritedData:pi.inheritedData}),n=kr.cleanData,kr.cleanData=function(t){var e;if(Dr)Dr=!1;else for(var r,i=0;null!=(r=t[i]);i++)e=kr._data(r,"events"),e&&e.$destroy&&kr(r).triggerHandler("$destroy");n(t)}):Mr=At,Nr.element=Mr,Hr=!0}}function ft(t,n,e){if(!t)throw jr("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function ht(t,n,e){return e&&Fr(t)&&(t=t[t.length-1]),ft(M(t),n,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function pt(t,n){if("hasOwnProperty"===t)throw jr("badname","hasOwnProperty is not a valid {0} name",n)}function dt(t,n,e){if(!n)return t;for(var r,i=n.split("."),o=t,a=i.length,u=0;u<a;u++)r=i[u],t&&(t=(o=t)[r]);return!e&&M(t)?U(o,t):t}function vt(t){for(var n,e=t[0],r=t[t.length-1],i=1;e!==r&&(e=e.nextSibling);i++)(n||t[i]!==e)&&(n||(n=Mr(Er.call(t,0,i))),n.push(e));return n||t}function gt(){return Object.create(null)}function mt(t){function n(t,n,e){return t[n]||(t[n]=e())}var e=r("$injector"),i=r("ng"),o=n(t,"angular",Object);return o.$$minErr=o.$$minErr||r,n(o,"module",function(){var t={};return function(r,o,a){var u=function(t,n){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",n)};return u(r,"module"),o&&t.hasOwnProperty(r)&&(t[r]=null),n(t,r,function(){function t(t,n,e,r){return r||(r=i),function(){return r[e||"push"]([t,n,arguments]),c}}function n(t,n){return function(e,o){return o&&M(o)&&(o.$$moduleName=r),i.push([t,n,arguments]),c}}if(!o)throw e("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.",r);var i=[],u=[],s=[],l=t("$injector","invoke","push",u),c={_invokeQueue:i,_configBlocks:u,_runBlocks:s,requires:o,name:r,provider:n("$provide","provider"),factory:n("$provide","factory"),service:n("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),decorator:n("$provide","decorator"),animation:n("$animateProvider","register"),filter:n("$filterProvider","register"),controller:n("$controllerProvider","register"),directive:n("$compileProvider","directive"),config:l,run:function(t){return s.push(t),this}};return a&&l(a),c})}})}function yt(t){var n=[];return JSON.stringify(t,function(t,e){if(e=H(t,e),b(e)){if(n.indexOf(e)>=0)return"...";n.push(e)}return e})}function $t(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):$(t)?"undefined":"string"!=typeof t?yt(t):t}function xt(n){f(n,{bootstrap:at,copy:z,extend:f,merge:h,equals:V,element:Mr,forEach:o,injector:Kt,noop:v,bind:U,toJson:Y,fromJson:G,identity:g,isUndefined:$,isDefined:x,isString:C,isFunction:M,isObject:b,isNumber:S,isElement:R,isArray:Fr,version:Qr,isDate:_,lowercase:xr,uppercase:wr,callbacks:{counter:0},getTestability:st,$$minErr:r,$$csp:Vr,reloadWithDebugInfo:ut}),(Ar=mt(t))("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:me}),t.provider("$compile",ln).directive({a:po,input:Oo,textarea:Oo,form:$o,script:Ca,select:Ma,style:Aa,option:ka,ngBind:jo,ngBindHtml:Ro,ngBindTemplate:No,ngClass:Fo,ngClassEven:zo,ngClassOdd:Io,ngCloak:qo,ngController:Vo,ngForm:xo,ngHide:ma,ngIf:Uo,ngInclude:Ho,ngInit:Go,ngNonBindable:sa,ngPluralize:ha,ngRepeat:pa,ngShow:ga,ngStyle:ya,ngSwitch:$a,ngSwitchWhen:xa,ngSwitchDefault:ba,ngOptions:fa,ngTransclude:wa,ngModel:oa,ngList:Xo,ngChange:Do,pattern:Pa,ngPattern:Pa,required:Ea,ngRequired:Ea,minlength:Ta,ngMinlength:Ta,maxlength:Oa,ngMaxlength:Oa,ngValue:Lo,ngModelOptions:ua}).directive({ngInclude:Yo}).directive(vo).directive(Bo),t.provider({$anchorScroll:Qt,$animate:Ai,$animateCss:Ei,$$animateQueue:ki,$$AnimateRunner:Mi,$browser:an,$cacheFactory:un,$controller:dn,$document:vn,$exceptionHandler:gn,$filter:Oe,$$forceReflow:ji,$interpolate:Pn,$interval:On,$http:Mn,$httpParamSerializer:yn,$httpParamSerializerJQLike:$n,$httpBackend:An,$xhrFactory:kn,$location:Un,$log:Hn,$parse:fe,$rootScope:ge,$q:he,$$q:pe,$sce:be,$sceDelegate:xe,$sniffer:we,$templateCache:sn,$templateRequest:Ce,$$testability:Se,$timeout:_e,$window:Ae,$$rAF:ve,$$jqLite:Yt,$$HashMap:mi,$$cookieReader:Pe})}])}function bt(){return++ni}function wt(t){return t.replace(ii,function(t,n,e,r){return r?e.toUpperCase():e}).replace(oi,"Moz$1")}function Ct(t){return!li.test(t)}function St(t){var n=t.nodeType;return n===Yr||!n||n===Jr}function _t(t){for(var n in ti[t.ng339])return!0;return!1}function Mt(t,n){var e,r,i,a,u=n.createDocumentFragment(),s=[];if(Ct(t))s.push(n.createTextNode(t));else{for(e=e||u.appendChild(n.createElement("div")),r=(ci.exec(t)||["",""])[1].toLowerCase(),i=hi[r]||hi._default,e.innerHTML=i[1]+t.replace(fi,"<$1></$2>")+i[2],a=i[0];a--;)e=e.lastChild;s=B(s,e.childNodes),e=u.firstChild,e.textContent=""}return u.textContent="",u.innerHTML="",o(s,function(t){u.appendChild(t)}),u}function kt(t,e){e=e||n;var r;return(r=si.exec(t))?[e.createElement(r[1])]:(r=Mt(t,e))?r.childNodes:[]}function At(t){if(t instanceof At)return t;var n;if(C(t)&&(t=zr(t),n=!0),!(this instanceof At)){if(n&&"<"!=t.charAt(0))throw ui("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new At(t)}n?Ft(this,kt(t)):Ft(this,t)}function Et(t){return t.cloneNode(!0)}function Pt(t,n){if(n||Tt(t),t.querySelectorAll)for(var e=t.querySelectorAll("*"),r=0,i=e.length;r<i;r++)Tt(e[r])}function Ot(t,n,e,r){if(x(r))throw ui("offargs","jqLite#off() does not support the `selector` argument");var i=Lt(t),a=i&&i.events,u=i&&i.handle;if(u)if(n)o(n.split(" "),function(n){if(x(e)){var r=a[n];if(I(r||[],e),r&&r.length>0)return}ri(t,n,u),delete a[n]});else for(n in a)"$destroy"!==n&&ri(t,n,u),delete a[n]}function Tt(t,n){var r=t.ng339,i=r&&ti[r];if(i){if(n)return void delete i.data[n];i.handle&&(i.events.$destroy&&i.handle({},"$destroy"),Ot(t)),delete ti[r],t.ng339=e}}function Lt(t,n){var r=t.ng339,i=r&&ti[r];return n&&!i&&(t.ng339=r=bt(),i=ti[r]={events:{},data:{},handle:e}),i}function jt(t,n,e){if(St(t)){var r=x(e),i=!r&&n&&!b(n),o=!n,a=Lt(t,!i),u=a&&a.data;if(r)u[n]=e;else{if(o)return u;if(i)return u&&u[n];f(u,n)}}}function Nt(t,n){return!!t.getAttribute&&(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+n+" ")>-1}function Rt(t,n){n&&t.setAttribute&&o(n.split(" "),function(n){t.setAttribute("class",zr((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+zr(n)+" "," ")))})}function Dt(t,n){if(n&&t.setAttribute){var e=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");o(n.split(" "),function(t){t=zr(t),e.indexOf(" "+t+" ")===-1&&(e+=t+" ")}),t.setAttribute("class",zr(e))}}function Ft(t,n){if(n)if(n.nodeType)t[t.length++]=n;else{var e=n.length;if("number"==typeof e&&n.window!==n){if(e)for(var r=0;r<e;r++)t[t.length++]=n[r]}else t[t.length++]=n}}function It(t,n){return zt(t,"$"+(n||"ngController")+"Controller")}function zt(t,n,e){t.nodeType==Jr&&(t=t.documentElement);for(var r=Fr(n)?n:[n];t;){for(var i=0,o=r.length;i<o;i++)if(x(e=Mr.data(t,r[i])))return e;t=t.parentNode||t.nodeType===Kr&&t.host}}function qt(t){for(Pt(t,!0);t.firstChild;)t.removeChild(t.firstChild)}function Vt(t,n){n||Pt(t);var e=t.parentNode;e&&e.removeChild(t)}function Bt(n,e){e=e||t,"complete"===e.document.readyState?e.setTimeout(n):Mr(e).on("load",n)}function Wt(t,n){var e=di[n.toLowerCase()];return e&&vi[F(t)]&&e}function Ut(t){return gi[t]}function Ht(t,n){var e=function(e,r){e.isDefaultPrevented=function(){return e.defaultPrevented};var i=n[r||e.type],o=i?i.length:0;if(o){if($(e.immediatePropagationStopped)){var a=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){e.immediatePropagationStopped=!0,e.stopPropagation&&e.stopPropagation(),a&&a.call(e)}}e.isImmediatePropagationStopped=function(){return e.immediatePropagationStopped===!0},o>1&&(i=q(i));for(var u=0;u<o;u++)e.isImmediatePropagationStopped()||i[u].call(t,e)}};return e.elem=t,e}function Yt(){this.$get=function(){return f(At,{hasClass:function(t,n){return t.attr&&(t=t[0]),Nt(t,n)},addClass:function(t,n){return t.attr&&(t=t[0]),Dt(t,n)},removeClass:function(t,n){return t.attr&&(t=t[0]),Rt(t,n)}})}}function Gt(t,n){var e=t&&t.$$hashKey;if(e)return"function"==typeof e&&(e=t.$$hashKey()),e;var r=typeof t;return e="function"==r||"object"==r&&null!==t?t.$$hashKey=r+":"+(n||s)():r+":"+t}function Xt(t,n){if(n){var e=0;this.nextUid=function(){return++e}}o(t,this.put,this)}function Zt(t){var n=t.toString().replace(bi,""),e=n.match(yi);return e?"function("+(e[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function Jt(t,n,e){var r,i,a,u;if("function"==typeof t){if(!(r=t.$inject)){if(r=[],t.length){if(n)throw C(e)&&e||(e=t.name||Zt(t)),wi("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",e);i=t.toString().replace(bi,""),a=i.match(yi),o(a[1].split($i),function(t){t.replace(xi,function(t,n,e){r.push(e)})})}t.$inject=r}}else Fr(t)?(u=t.length-1,ht(t[u],"fn"),r=t.slice(0,u)):ht(t,"fn",!0);return r}function Kt(t,n){function r(t){return function(n,e){return b(n)?void o(n,u(t)):t(n,e)}}function i(t,n){if(pt(t,"service"),(M(n)||Fr(n))&&(n=S.instantiate(n)),!n.$get)throw wi("pget","Provider '{0}' must define $get factory method.",t);return w[t+g]=n}function a(t,n){return function(){var e=k.invoke(n,this);if($(e))throw wi("undef","Provider '{0}' must return a value from $get factory method.",t);return e}}function s(t,n,e){return i(t,{$get:e!==!1?a(t,n):n})}function l(t,n){return s(t,["$injector",function(t){return t.instantiate(n)}])}function c(t,n){return s(t,m(n),!1)}function f(t,n){pt(t,"constant"),w[t]=n,_[t]=n}function h(t,n){var e=S.get(t+g),r=e.$get;e.$get=function(){var t=k.invoke(r,e);return k.invoke(n,null,{$delegate:t})}}function p(t){ft($(t)||Fr(t),"modulesToLoad","not an array");var n,e=[];return o(t,function(t){function r(t){var n,e;for(n=0,e=t.length;n<e;n++){var r=t[n],i=S.get(r[0]);i[r[1]].apply(i,r[2])}}if(!x.get(t)){x.put(t,!0);try{C(t)?(n=Ar(t),e=e.concat(p(n.requires)).concat(n._runBlocks),r(n._invokeQueue),r(n._configBlocks)):M(t)?e.push(S.invoke(t)):Fr(t)?e.push(S.invoke(t)):ht(t,"module")}catch(i){throw Fr(t)&&(t=t[t.length-1]),i.message&&i.stack&&i.stack.indexOf(i.message)==-1&&(i=i.message+"\n"+i.stack),wi("modulerr","Failed to instantiate module {0} due to:\n{1}",t,i.stack||i.message||i)}}}),e}function d(t,e){function r(n,r){if(t.hasOwnProperty(n)){if(t[n]===v)throw wi("cdep","Circular dependency found: {0}",n+" <- "+y.join(" <- "));return t[n]}try{return y.unshift(n),t[n]=v,t[n]=e(n,r)}catch(i){throw t[n]===v&&delete t[n],i}finally{y.shift()}}function i(t,e,i,o){"string"==typeof i&&(o=i,i=null);var a,u,s,l=[],c=Kt.$$annotate(t,n,o);for(u=0,a=c.length;u<a;u++){if(s=c[u],"string"!=typeof s)throw wi("itkn","Incorrect injection token! Expected service name as string, got {0}",s);l.push(i&&i.hasOwnProperty(s)?i[s]:r(s,o))}return Fr(t)&&(t=t[a]),t.apply(e,l)}function o(t,n,e){var r=Object.create((Fr(t)?t[t.length-1]:t).prototype||null),o=i(t,r,n,e);return b(o)||M(o)?o:r}return{invoke:i,instantiate:o,get:r,annotate:Kt.$$annotate,has:function(n){return w.hasOwnProperty(n+g)||t.hasOwnProperty(n)}}}n=n===!0;var v={},g="Provider",y=[],x=new Xt([],(!0)),w={$provide:{provider:r(i),factory:r(s),service:r(l),value:r(c),constant:r(f),decorator:h}},S=w.$injector=d(w,function(t,n){throw Nr.isString(n)&&y.push(n),wi("unpr","Unknown provider: {0}",y.join(" <- "))}),_={},k=_.$injector=d(_,function(t,n){var r=S.get(t+g,n);return k.invoke(r.$get,r,e,t)});return o(p(t),function(t){t&&k.invoke(t)}),k}function Qt(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(n,e,r){function i(t){var n=null;return Array.prototype.some.call(t,function(t){if("a"===F(t))return n=t,!0}),n}function o(){var t=u.yOffset;if(M(t))t=t();else if(R(t)){var e=t[0],r=n.getComputedStyle(e);t="fixed"!==r.position?0:e.getBoundingClientRect().bottom}else S(t)||(t=0);return t}function a(t){if(t){t.scrollIntoView();var e=o();if(e){var r=t.getBoundingClientRect().top;n.scrollBy(0,r-e)}}else n.scrollTo(0,0)}function u(t){t=C(t)?t:e.hash();var n;t?(n=s.getElementById(t))?a(n):(n=i(s.getElementsByName(t)))?a(n):"top"===t&&a(null):a(null)}var s=n.document;return t&&r.$watch(function(){return e.hash()},function(t,n){t===n&&""===t||Bt(function(){r.$evalAsync(u)})}),u}]}function tn(t,n){return t||n?t?n?(Fr(t)&&(t=t.join(" ")),Fr(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function nn(t){for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType===Si)return e}}function en(t){C(t)&&(t=t.split(" "));var n=gt();return o(t,function(t){t.length&&(n[t]=!0)}),n}function rn(t){return b(t)?t:{}}function on(t,n,e,r){function i(t){try{t.apply(null,W(arguments,1))}finally{if(y--,0===y)for(;x.length;)try{x.pop()()}catch(n){e.error(n)}}}function a(t){var n=t.indexOf("#");return n===-1?"":t.substr(n)}function u(){_=null,l(),c()}function s(){try{return p.state}catch(t){}}function l(){b=s(),b=$(b)?null:b,V(b,A)&&(b=A),A=b}function c(){C===f.url()&&w===b||(C=f.url(),w=b,o(M,function(t){t(f.url(),b)}))}var f=this,h=(n[0],t.location),p=t.history,d=t.setTimeout,g=t.clearTimeout,m={};f.isMock=!1;var y=0,x=[];f.$$completeOutstandingRequest=i,f.$$incOutstandingRequestCount=function(){y++},f.notifyWhenNoOutstandingRequests=function(t){0===y?t():x.push(t)};var b,w,C=h.href,S=n.find("base"),_=null;l(),w=b,f.url=function(n,e,i){if($(i)&&(i=null),h!==t.location&&(h=t.location),p!==t.history&&(p=t.history),n){var o=w===i;if(C===n&&(!r.history||o))return f;var u=C&&Rn(C)===Rn(n);return C=n,w=i,!r.history||u&&o?(u&&!_||(_=n),e?h.replace(n):u?h.hash=a(n):h.href=n,h.href!==n&&(_=n)):(p[e?"replaceState":"pushState"](i,"",n),l(),w=b),f}return _||h.href.replace(/%27/g,"'")},f.state=function(){return b};var M=[],k=!1,A=null;f.onUrlChange=function(n){return k||(r.history&&Mr(t).on("popstate",u),Mr(t).on("hashchange",u),k=!0),M.push(n),n},f.$$applicationDestroyed=function(){Mr(t).off("hashchange popstate",u)},f.$$checkUrlChange=c,f.baseHref=function(){var t=S.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""},f.defer=function(t,n){var e;return y++,e=d(function(){delete m[e],i(t)},n||0),m[e]=!0,e},f.defer.cancel=function(t){return!!m[t]&&(delete m[t],g(t),i(v),!0)}}function an(){this.$get=["$window","$log","$sniffer","$document",function(t,n,e,r){return new on(t,r,n,e)}]}function un(){this.$get=function(){function t(t,e){function i(t){t!=h&&(p?p==t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,n){t!=n&&(t&&(t.p=n),n&&(n.n=t))}if(t in n)throw r("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var a=0,u=f({},e,{id:t}),s={},l=e&&e.capacity||Number.MAX_VALUE,c={},h=null,p=null;return n[t]={put:function(t,n){if(!$(n)){if(l<Number.MAX_VALUE){var e=c[t]||(c[t]={key:t});i(e)}return t in s||a++,s[t]=n,a>l&&this.remove(p.key),n}},get:function(t){if(l<Number.MAX_VALUE){var n=c[t];if(!n)return;i(n)}return s[t]},remove:function(t){if(l<Number.MAX_VALUE){var n=c[t];if(!n)return;n==h&&(h=n.p),n==p&&(p=n.n),o(n.n,n.p),delete c[t]}delete s[t],a--},removeAll:function(){s={},a=0,c={},h=p=null},destroy:function(){s=null,u=null,c=null,delete n[t]},info:function(){return f({},u,{size:a})}}}var n={};return t.info=function(){var t={};return o(n,function(n,e){t[e]=n.info()}),t},t.get=function(t){return n[t]},t}}function sn(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function ln(t,r){function i(t,n,e){var r=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,i={};return o(t,function(t,o){var a=t.match(r);if(!a)throw Pi("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",n,o,t,e?"controller bindings definition":"isolate scope definition");i[o]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||o}}),i}function a(t,n){var e={isolateScope:null,bindToController:null};if(b(t.scope)&&(t.bindToController===!0?(e.bindToController=i(t.scope,n,!0),e.isolateScope={}):e.isolateScope=i(t.scope,n,!1)),b(t.bindToController)&&(e.bindToController=i(t.bindToController,n,!0)),b(e.bindToController)){var r=t.controller,o=t.controllerAs;if(!r)throw Pi("noctrl","Cannot bind to controller without directive '{0}'s controller.",n);if(!pn(r,o))throw Pi("noident","Cannot bind to controller without identifier for directive '{0}'.",n)}return e}function s(t){var n=t.charAt(0);if(!n||n!==xr(n))throw Pi("baddir","Directive name '{0}' is invalid. The first character must be a lowercase letter",t);if(t!==t.trim())throw Pi("baddir","Directive name '{0}' is invalid. The name should not contain leading or trailing whitespaces",t)}var l={},c="Directive",h=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,p=/(([\w\-]+)(?:\:([^;]+))?;?)/,y=D("ngSrc,ngSrcset,src,srcset"),w=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,S=/^(on[a-z]+|formaction)$/;this.directive=function k(n,e){return pt(n,"directive"),C(n)?(s(n),ft(e,"directiveFactory"),l.hasOwnProperty(n)||(l[n]=[],t.factory(n+c,["$injector","$exceptionHandler",function(t,e){var r=[];return o(l[n],function(i,o){try{var u=t.invoke(i);M(u)?u={compile:m(u)}:!u.compile&&u.link&&(u.compile=m(u.link)),u.priority=u.priority||0,u.index=o,u.name=u.name||n,u.require=u.require||u.controller&&u.name,u.restrict=u.restrict||"EA";var s=u.$$bindings=a(u,u.name);b(s.isolateScope)&&(u.$$isolateBindings=s.isolateScope),u.$$moduleName=i.$$moduleName,r.push(u)}catch(l){e(l)}}),r}])),l[n].push(e)):o(n,u(k)),this},this.aHrefSanitizationWhitelist=function(t){return x(t)?(r.aHrefSanitizationWhitelist(t),this):r.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return x(t)?(r.imgSrcSanitizationWhitelist(t),this):r.imgSrcSanitizationWhitelist()};var _=!0;this.debugInfoEnabled=function(t){return x(t)?(_=t,this):_},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(t,r,i,a,u,s,m,x,k,A,P){function O(t,n){try{t.addClass(n)}catch(e){}}function T(t,n,e,r,i){t instanceof Mr||(t=Mr(t)),o(t,function(n,e){n.nodeType==Xr&&n.nodeValue.match(/\S+/)&&(t[e]=Mr(n).wrap("<span></span>").parent()[0])});var a=j(t,n,t,e,r,i);T.$$addScopeClass(t);var u=null;return function(n,e,r){ft(n,"scope"),r=r||{};var i=r.parentBoundTranscludeFn,o=r.transcludeControllers,s=r.futureParentElement;i&&i.$$boundTransclude&&(i=i.$$boundTransclude),u||(u=L(s));var l;if(l="html"!==u?Mr(Q(u,Mr("<div>").append(t).html())):e?pi.clone.call(t):t,o)for(var c in o)l.data("$"+c+"Controller",o[c].instance);return T.$$addScopeInfo(l,n),e&&e(l,n),a&&a(n,l,l,i),l}}function L(t){var n=t&&t[0];return n&&"foreignobject"!==F(n)&&n.toString().match(/SVG/)?"svg":"html"}function j(t,n,r,i,o,a){function u(t,r,i,o){var a,u,s,l,c,f,h,p,g;if(d){var m=r.length;for(g=new Array(m),c=0;c<v.length;c+=3)h=v[c],g[h]=r[h]}else g=r;for(c=0,f=v.length;c<f;)if(s=g[v[c++]],a=v[c++],u=v[c++],a){if(a.scope){l=t.$new(),T.$$addScopeInfo(Mr(s),l);var y=a.$$destroyBindings;y&&(a.$$destroyBindings=null,l.$on("$destroyed",y))}else l=t;p=a.transcludeOnThisElement?N(t,a.transclude,o):!a.templateOnThisElement&&o?o:!o&&n?N(t,n):null,a(u,l,s,i,p,a)}else u&&u(t,s.childNodes,e,o)}for(var s,l,c,f,h,p,d,v=[],g=0;g<t.length;g++)s=new at,l=R(t[g],[],s,0===g?i:e,o),c=l.length?q(l,t[g],s,n,r,null,[],[],a):null,c&&c.scope&&T.$$addScopeClass(s.$$element),h=c&&c.terminal||!(f=t[g].childNodes)||!f.length?null:j(f,c?(c.transcludeOnThisElement||!c.templateOnThisElement)&&c.transclude:n),(c||h)&&(v.push(g,c,h),p=!0,d=d||c),a=null;return p?u:null}function N(t,n,e){var r=function(r,i,o,a,u){return r||(r=t.$new(!1,u),r.$$transcluded=!0),n(r,i,{parentBoundTranscludeFn:e,transcludeControllers:o,futureParentElement:a})};return r}function R(t,n,e,r,i){var o,a,u=t.nodeType,s=e.$attr;switch(u){case Yr:U(n,cn(F(t)),"E",r,i);for(var l,c,f,d,v,g,m=t.attributes,y=0,$=m&&m.length;y<$;y++){var x=!1,w=!1;l=m[y],c=l.name,v=zr(l.value),d=cn(c),(g=ht.test(d))&&(c=c.replace(Oi,"").substr(8).replace(/_(.)/g,function(t,n){return n.toUpperCase()}));var S=d.replace(/(Start|End)$/,"");H(S)&&d===S+"Start"&&(x=c,w=c.substr(0,c.length-5)+"end",c=c.substr(0,c.length-6)),f=cn(c.toLowerCase()),s[f]=c,!g&&e.hasOwnProperty(f)||(e[f]=v,Wt(t,f)&&(e[f]=!0)),nt(t,n,v,f,g),U(n,f,"A",r,i,x,w)}if(a=t.className,b(a)&&(a=a.animVal),C(a)&&""!==a)for(;o=p.exec(a);)f=cn(o[2]),U(n,f,"C",r,i)&&(e[f]=zr(o[3])),a=a.substr(o.index+o[0].length);break;case Xr:if(11===_r)for(;t.parentNode&&t.nextSibling&&t.nextSibling.nodeType===Xr;)t.nodeValue=t.nodeValue+t.nextSibling.nodeValue,t.parentNode.removeChild(t.nextSibling);J(n,t.nodeValue);break;case Zr:try{o=h.exec(t.nodeValue),o&&(f=cn(o[1]),U(n,f,"M",r,i)&&(e[f]=zr(o[2])))}catch(_){}}return n.sort(X),n}function D(t,n,e){var r=[],i=0;if(n&&t.hasAttribute&&t.hasAttribute(n)){do{if(!t)throw Pi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",n,e);t.nodeType==Yr&&(t.hasAttribute(n)&&i++,t.hasAttribute(e)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return Mr(r)}function z(t,n,e){return function(r,i,o,a,u){return i=D(i[0],n,e),t(r,i,o,a,u)}}function q(t,r,o,a,u,l,c,f,h){function p(t,n,e,r){t&&(e&&(t=z(t,e,r)),t.require=m.require,t.directiveName=y,(P===m||m.$$isolateScope)&&(t=rt(t,{isolateScope:!0})),c.push(t)),n&&(e&&(n=z(n,e,r)),n.require=m.require,n.directiveName=y,(P===m||m.$$isolateScope)&&(n=rt(n,{isolateScope:!0})),f.push(n))}function d(t,n,e,r){var i;if(C(n)){var o=n.match(w),a=n.substring(o[0].length),u=o[1]||o[3],s="?"===o[2];if("^^"===u?e=e.parent():(i=r&&r[a],i=i&&i.instance),!i){var l="$"+a+"Controller";i=u?e.inheritedData(l):e.data(l)}if(!i&&!s)throw Pi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",a,t)}else if(Fr(n)){i=[];for(var c=0,f=n.length;c<f;c++)i[c]=d(t,n[c],e,r)}return i||null}function v(t,n,e,r,i,o){var a=gt();for(var u in r){var l=r[u],c={$scope:l===P||l.$$isolateScope?i:o,$element:t,$attrs:n,$transclude:e},f=l.controller;"@"==f&&(f=n[l.name]);var h=s(f,c,!0,l.controllerAs);a[l.name]=h,F||t.data("$"+l.name+"Controller",h.instance)}return a}function g(t,n,i,a,u,s){function l(t,n,r){var i;return E(t)||(r=n,n=t,t=e),F&&(i=$),r||(r=F?b.parent():b),u(t,n,i,r,L)}var h,p,g,m,y,$,x,b,w;if(r===i?(w=o,b=o.$$element):(b=Mr(i),w=new at(b,o)),P&&(y=n.$new(!0)),u&&(x=l,x.$$boundTransclude=u),A&&($=v(b,w,x,A,y,n)),P&&(T.$$addScopeInfo(b,y,!0,!(O&&(O===P||O===P.$$originalDirective))),T.$$addScopeClass(b,!0),y.$$isolateBindings=P.$$isolateBindings,ot(n,w,y,y.$$isolateBindings,P,y)),$){var C,S,_=P||k;_&&$[_.name]&&(C=_.$$bindings.bindToController,m=$[_.name],m&&m.identifier&&C&&(S=m,s.$$destroyBindings=ot(n,w,m.instance,C,_)));for(h in $){m=$[h];var M=m();M!==m.instance&&(m.instance=M,b.data("$"+h+"Controller",M),m===S&&(s.$$destroyBindings(),s.$$destroyBindings=ot(n,w,M,C,_)))}}for(h=0,p=c.length;h<p;h++)g=c[h],it(g,g.isolateScope?y:n,b,w,g.require&&d(g.directiveName,g.require,b,$),x);var L=n;for(P&&(P.template||null===P.templateUrl)&&(L=y),t&&t(L,i.childNodes,e,u),h=f.length-1;h>=0;h--)g=f[h],it(g,g.isolateScope?y:n,b,w,g.require&&d(g.directiveName,g.require,b,$),x)}h=h||{};for(var m,y,$,x,S,_=-Number.MAX_VALUE,k=h.newScopeDirective,A=h.controllerDirectives,P=h.newIsolateScopeDirective,O=h.templateDirective,L=h.nonTlbTranscludeDirective,j=!1,N=!1,F=h.hasElementTranscludeDirective,I=o.$$element=Mr(r),q=l,V=a,U=0,H=t.length;U<H;U++){m=t[U];var X=m.$$start,J=m.$$end;if(X&&(I=D(r,X,J)),$=e,_>m.priority)break;if((S=m.scope)&&(m.templateUrl||(b(S)?(Z("new/isolated scope",P||k,m,I),P=m):Z("new/isolated scope",P,m,I)),k=k||m),y=m.name,!m.templateUrl&&m.controller&&(S=m.controller,A=A||gt(),Z("'"+y+"' controller",A[y],m,I),
-A[y]=m),(S=m.transclude)&&(j=!0,m.$$tlb||(Z("transclusion",L,m,I),L=m),"element"==S?(F=!0,_=m.priority,$=I,I=o.$$element=Mr(n.createComment(" "+y+": "+o[y]+" ")),r=I[0],et(u,W($),r),V=T($,a,_,q&&q.name,{nonTlbTranscludeDirective:L})):($=Mr(Et(r)).contents(),I.empty(),V=T($,a))),m.template)if(N=!0,Z("template",O,m,I),O=m,S=M(m.template)?m.template(I,o):m.template,S=ct(S),m.replace){if(q=m,$=Ct(S)?[]:hn(Q(m.templateNamespace,zr(S))),r=$[0],1!=$.length||r.nodeType!==Yr)throw Pi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",y,"");et(u,I,r);var tt={$attr:{}},nt=R(r,[],tt),ut=t.splice(U+1,t.length-(U+1));P&&B(nt),t=t.concat(nt).concat(ut),Y(o,tt),H=t.length}else I.html(S);if(m.templateUrl)N=!0,Z("template",O,m,I),O=m,m.replace&&(q=m),g=G(t.splice(U,t.length-U),I,o,u,j&&V,c,f,{controllerDirectives:A,newScopeDirective:k!==m&&k,newIsolateScopeDirective:P,templateDirective:O,nonTlbTranscludeDirective:L}),H=t.length;else if(m.compile)try{x=m.compile(I,o,V),M(x)?p(null,x,X,J):x&&p(x.pre,x.post,X,J)}catch(st){i(st,K(I))}m.terminal&&(g.terminal=!0,_=Math.max(_,m.priority))}return g.scope=k&&k.scope===!0,g.transcludeOnThisElement=j,g.templateOnThisElement=N,g.transclude=V,h.hasElementTranscludeDirective=F,g}function B(t){for(var n=0,e=t.length;n<e;n++)t[n]=d(t[n],{$$isolateScope:!0})}function U(n,e,r,o,a,u,s){if(e===a)return null;var f=null;if(l.hasOwnProperty(e))for(var h,p=t.get(e+c),v=0,g=p.length;v<g;v++)try{h=p[v],($(o)||o>h.priority)&&h.restrict.indexOf(r)!=-1&&(u&&(h=d(h,{$$start:u,$$end:s})),n.push(h),f=h)}catch(m){i(m)}return f}function H(n){if(l.hasOwnProperty(n))for(var e,r=t.get(n+c),i=0,o=r.length;i<o;i++)if(e=r[i],e.multiElement)return!0;return!1}function Y(t,n){var e=n.$attr,r=t.$attr,i=t.$$element;o(t,function(r,i){"$"!=i.charAt(0)&&(n[i]&&n[i]!==r&&(r+=("style"===i?";":" ")+n[i]),t.$set(i,r,!0,e[i]))}),o(n,function(n,o){"class"==o?(O(i,n),t["class"]=(t["class"]?t["class"]+" ":"")+n):"style"==o?(i.attr("style",i.attr("style")+";"+n),t.style=(t.style?t.style+";":"")+n):"$"==o.charAt(0)||t.hasOwnProperty(o)||(t[o]=n,r[o]=e[o])})}function G(t,n,e,r,i,u,s,l){var c,f,h=[],p=n[0],v=t.shift(),g=d(v,{templateUrl:null,transclude:null,replace:null,$$originalDirective:v}),m=M(v.templateUrl)?v.templateUrl(n,e):v.templateUrl,y=v.templateNamespace;return n.empty(),a(m).then(function(a){var d,$,x,w;if(a=ct(a),v.replace){if(x=Ct(a)?[]:hn(Q(y,zr(a))),d=x[0],1!=x.length||d.nodeType!==Yr)throw Pi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v.name,m);$={$attr:{}},et(r,n,d);var C=R(d,[],$);b(v.scope)&&B(C),t=C.concat(t),Y(e,$)}else d=p,n.html(a);for(t.unshift(g),c=q(t,d,e,i,n,v,u,s,l),o(r,function(t,e){t==d&&(r[e]=n[0])}),f=j(n[0].childNodes,i);h.length;){var S=h.shift(),_=h.shift(),M=h.shift(),k=h.shift(),A=n[0];if(!S.$$destroyed){if(_!==p){var E=_.className;l.hasElementTranscludeDirective&&v.replace||(A=Et(d)),et(M,Mr(_),A),O(Mr(A),E)}w=c.transcludeOnThisElement?N(S,c.transclude,k):k,c(f,S,A,r,w,c)}}h=null}),function(t,n,e,r,i){var o=i;n.$$destroyed||(h?h.push(n,e,r,o):(c.transcludeOnThisElement&&(o=N(n,c.transclude,i)),c(f,n,e,r,o,c)))}}function X(t,n){var e=n.priority-t.priority;return 0!==e?e:t.name!==n.name?t.name<n.name?-1:1:t.index-n.index}function Z(t,n,e,r){function i(t){return t?" (module: "+t+")":""}if(n)throw Pi("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",n.name,i(n.$$moduleName),e.name,i(e.$$moduleName),t,K(r))}function J(t,n){var e=r(n,!0);e&&t.push({priority:0,compile:function(t){var n=t.parent(),r=!!n.length;return r&&T.$$addBindingClass(n),function(t,n){var i=n.parent();r||T.$$addBindingClass(i),T.$$addBindingInfo(i,e.expressions),t.$watch(e,function(t){n[0].nodeValue=t})}}})}function Q(t,e){switch(t=xr(t||"html")){case"svg":case"math":var r=n.createElement("div");return r.innerHTML="<"+t+">"+e+"</"+t+">",r.childNodes[0].childNodes;default:return e}}function tt(t,n){if("srcdoc"==n)return k.HTML;var e=F(t);return"xlinkHref"==n||"form"==e&&"action"==n||"img"!=e&&("src"==n||"ngSrc"==n)?k.RESOURCE_URL:void 0}function nt(t,n,e,i,o){var a=tt(t,i);o=y[i]||o;var u=r(e,!0,a,o);if(u){if("multiple"===i&&"select"===F(t))throw Pi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",K(t));n.push({priority:100,compile:function(){return{pre:function(t,n,s){var l=s.$$observers||(s.$$observers=gt());if(S.test(i))throw Pi("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");var c=s[i];c!==e&&(u=c&&r(c,!0,a,o),e=c),u&&(s[i]=u(t),(l[i]||(l[i]=[])).$$inter=!0,(s.$$observers&&s.$$observers[i].$$scope||t).$watch(u,function(t,n){"class"===i&&t!=n?s.$updateClass(t,n):s.$set(i,t)}))}}}})}}function et(t,e,r){var i,o,a=e[0],u=e.length,s=a.parentNode;if(t)for(i=0,o=t.length;i<o;i++)if(t[i]==a){t[i++]=r;for(var l=i,c=l+u-1,f=t.length;l<f;l++,c++)c<f?t[l]=t[c]:delete t[l];t.length-=u-1,t.context===a&&(t.context=r);break}s&&s.replaceChild(r,a);var h=n.createDocumentFragment();h.appendChild(a),Mr.hasData(a)&&(Mr(r).data(Mr(a).data()),kr?(Dr=!0,kr.cleanData([a])):delete Mr.cache[a[Mr.expando]]);for(var p=1,d=e.length;p<d;p++){var v=e[p];Mr(v).remove(),h.appendChild(v),delete e[p]}e[0]=r,e.length=1}function rt(t,n){return f(function(){return t.apply(null,arguments)},t,n)}function it(t,n,e,r,o,a){try{t(n,e,r,o,a)}catch(u){i(u,K(e))}}function ot(t,n,e,i,a,s){var l;o(i,function(i,o){var s,c,f,h,p=i.attrName,d=i.optional,g=i.mode;switch(g){case"@":d||br.call(n,p)||(e[o]=n[p]=void 0),n.$observe(p,function(t){C(t)&&(e[o]=t)}),n.$$observers[p].$$scope=t,C(n[p])&&(e[o]=r(n[p])(t));break;case"=":if(!br.call(n,p)){if(d)break;n[p]=void 0}if(d&&!n[p])break;c=u(n[p]),h=c.literal?V:function(t,n){return t===n||t!==t&&n!==n},f=c.assign||function(){throw s=e[o]=c(t),Pi("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",n[p],a.name)},s=e[o]=c(t);var m=function(n){return h(n,e[o])||(h(n,s)?f(t,n=e[o]):e[o]=n),s=n};m.$stateful=!0;var y;y=i.collection?t.$watchCollection(n[p],m):t.$watch(u(n[p],m),null,c.literal),l=l||[],l.push(y);break;case"&":if(c=n.hasOwnProperty(p)?u(n[p]):v,c===v&&d)break;e[o]=function(n){return c(t,n)}}});var c=l?function(){for(var t=0,n=l.length;t<n;++t)l[t]()}:v;return s&&c!==v?(s.$on("$destroy",c),v):c}var at=function(t,n){if(n){var e,r,i,o=Object.keys(n);for(e=0,r=o.length;e<r;e++)i=o[e],this[i]=n[i]}else this.$attr={};this.$$element=t};at.prototype={$normalize:cn,$addClass:function(t){t&&t.length>0&&A.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&A.removeClass(this.$$element,t)},$updateClass:function(t,n){var e=fn(t,n);e&&e.length&&A.addClass(this.$$element,e);var r=fn(n,t);r&&r.length&&A.removeClass(this.$$element,r)},$set:function(t,n,e,r){var a,u=this.$$element[0],s=Wt(u,t),l=Ut(t),c=t;if(s?(this.$$element.prop(t,n),r=s):l&&(this[l]=n,c=l),this[t]=n,r?this.$attr[t]=r:(r=this.$attr[t],r||(this.$attr[t]=r=lt(t,"-"))),a=F(this.$$element),"a"===a&&"href"===t||"img"===a&&"src"===t)this[t]=n=P(n,"src"===t);else if("img"===a&&"srcset"===t){for(var f="",h=zr(n),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,v=h.split(d),g=Math.floor(v.length/2),m=0;m<g;m++){var y=2*m;f+=P(zr(v[y]),!0),f+=" "+zr(v[y+1])}var x=zr(v[2*m]).split(/\s/);f+=P(zr(x[0]),!0),2===x.length&&(f+=" "+zr(x[1])),this[t]=n=f}e!==!1&&(null===n||$(n)?this.$$element.removeAttr(r):this.$$element.attr(r,n));var b=this.$$observers;b&&o(b[c],function(t){try{t(n)}catch(e){i(e)}})},$observe:function(t,n){var e=this,r=e.$$observers||(e.$$observers=gt()),i=r[t]||(r[t]=[]);return i.push(n),m.$evalAsync(function(){i.$$inter||!e.hasOwnProperty(t)||$(e[t])||n(e[t])}),function(){I(i,n)}}};var ut=r.startSymbol(),st=r.endSymbol(),ct="{{"==ut||"}}"==st?g:function(t){return t.replace(/\{\{/g,ut).replace(/}}/g,st)},ht=/^ngAttr[A-Z]/;return T.$$addBindingInfo=_?function(t,n){var e=t.data("$binding")||[];Fr(n)?e=e.concat(n):e.push(n),t.data("$binding",e)}:v,T.$$addBindingClass=_?function(t){O(t,"ng-binding")}:v,T.$$addScopeInfo=_?function(t,n,e,r){var i=e?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";t.data(i,n)}:v,T.$$addScopeClass=_?function(t,n){O(t,n?"ng-isolate-scope":"ng-scope")}:v,T}]}function cn(t){return wt(t.replace(Oi,""))}function fn(t,n){var e="",r=t.split(/\s+/),i=n.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var a=r[o],u=0;u<i.length;u++)if(a==i[u])continue t;e+=(e.length>0?" ":"")+a}return e}function hn(t){t=Mr(t);var n=t.length;if(n<=1)return t;for(;n--;){var e=t[n];e.nodeType===Zr&&Pr.call(t,n,1)}return t}function pn(t,n){if(n&&C(n))return n;if(C(t)){var e=Li.exec(t);if(e)return e[3]}}function dn(){var t={},n=!1;this.register=function(n,e){pt(n,"controller"),b(n)?f(t,n):t[n]=e},this.allowGlobals=function(){n=!0},this.$get=["$injector","$window",function(i,o){function a(t,n,e,i){if(!t||!b(t.$scope))throw r("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,n);t.$scope[n]=e}return function(r,u,s,l){var c,h,p,d;if(s=s===!0,l&&C(l)&&(d=l),C(r)){if(h=r.match(Li),!h)throw Ti("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",r);p=h[1],d=d||h[3],r=t.hasOwnProperty(p)?t[p]:dt(u.$scope,p,!0)||(n?dt(o,p,!0):e),ht(r,p,!0)}if(s){var v=(Fr(r)?r[r.length-1]:r).prototype;c=Object.create(v||null),d&&a(u,d,c,p||r.name);var g;return g=f(function(){var t=i.invoke(r,c,u,p);return t!==c&&(b(t)||M(t))&&(c=t,d&&a(u,d,c,p||r.name)),c},{instance:c,identifier:d})}return c=i.instantiate(r,u,p),d&&a(u,d,c,p||r.name),c}}]}function vn(){this.$get=["$window",function(t){return Mr(t.document)}]}function gn(){this.$get=["$log",function(t){return function(n,e){t.error.apply(t,arguments)}}]}function mn(t){return b(t)?_(t)?t.toISOString():Y(t):t}function yn(){this.$get=function(){return function(t){if(!t)return"";var n=[];return a(t,function(t,e){null===t||$(t)||(Fr(t)?o(t,function(t,r){n.push(rt(e)+"="+rt(mn(t)))}):n.push(rt(e)+"="+rt(mn(t))))}),n.join("&")}}}function $n(){this.$get=function(){return function(t){function n(t,r,i){null===t||$(t)||(Fr(t)?o(t,function(t,e){n(t,r+"["+(b(t)?e:"")+"]")}):b(t)&&!_(t)?a(t,function(t,e){n(t,r+(i?"":"[")+e+(i?"":"]"))}):e.push(rt(r)+"="+rt(mn(t))))}if(!t)return"";var e=[];return n(t,"",!0),e.join("&")}}}function xn(t,n){if(C(t)){var e=t.replace(Ii,"").trim();if(e){var r=n("Content-Type");(r&&0===r.indexOf(Ni)||bn(e))&&(t=G(e))}}return t}function bn(t){var n=t.match(Di);return n&&Fi[n[0]].test(t)}function wn(t){function n(t,n){t&&(r[t]=r[t]?r[t]+", "+n:n)}var e,r=gt();return C(t)?o(t.split("\n"),function(t){e=t.indexOf(":"),n(xr(zr(t.substr(0,e))),zr(t.substr(e+1)))}):b(t)&&o(t,function(t,e){n(xr(e),zr(t))}),r}function Cn(t){var n;return function(e){if(n||(n=wn(t)),e){var r=n[xr(e)];return void 0===r&&(r=null),r}return n}}function Sn(t,n,e,r){return M(r)?r(t,n,e):(o(r,function(r){t=r(t,n,e)}),t)}function _n(t){return 200<=t&&t<300}function Mn(){var t=this.defaults={transformResponse:[xn],transformRequest:[function(t){return!b(t)||P(t)||T(t)||O(t)?t:Y(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:q(Ri),put:q(Ri),patch:q(Ri)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},n=!1;this.useApplyAsync=function(t){return x(t)?(n=!!t,this):n};var i=!0;this.useLegacyPromiseExtensions=function(t){return x(t)?(i=!!t,this):i};var a=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(u,s,l,c,h,p){function d(n){function a(t){var n=f({},t);return t.data?n.data=Sn(t.data,t.headers,t.status,l.transformResponse):n.data=t.data,_n(t.status)?n:h.reject(n)}function u(t,n){var e,r={};return o(t,function(t,i){M(t)?(e=t(n),null!=e&&(r[i]=e)):r[i]=t}),r}function s(n){var e,r,i,o=t.headers,a=f({},n.headers);o=f({},o.common,o[xr(n.method)]);t:for(e in o){r=xr(e);for(i in a)if(xr(i)===r)continue t;a[e]=o[e]}return u(a,q(n))}if(!Nr.isObject(n))throw r("$http")("badreq","Http request configuration must be an object. Received: {0}",n);var l=f({method:"get",transformRequest:t.transformRequest,transformResponse:t.transformResponse,paramSerializer:t.paramSerializer},n);l.headers=s(n),l.method=wr(l.method),l.paramSerializer=C(l.paramSerializer)?p.get(l.paramSerializer):l.paramSerializer;var c=function(n){var r=n.headers,i=Sn(n.data,Cn(r),e,n.transformRequest);return $(i)&&o(r,function(t,n){"content-type"===xr(n)&&delete r[n]}),$(n.withCredentials)&&!$(t.withCredentials)&&(n.withCredentials=t.withCredentials),m(n,i).then(a,a)},d=[c,e],v=h.when(l);for(o(S,function(t){(t.request||t.requestError)&&d.unshift(t.request,t.requestError),(t.response||t.responseError)&&d.push(t.response,t.responseError)});d.length;){var g=d.shift(),y=d.shift();v=v.then(g,y)}return i?(v.success=function(t){return ht(t,"fn"),v.then(function(n){t(n.data,n.status,n.headers,l)}),v},v.error=function(t){return ht(t,"fn"),v.then(null,function(n){t(n.data,n.status,n.headers,l)}),v}):(v.success=qi("success"),v.error=qi("error")),v}function v(t){o(arguments,function(t){d[t]=function(n,e){return d(f({},e||{},{method:t,url:n}))}})}function g(t){o(arguments,function(t){d[t]=function(n,e,r){return d(f({},r||{},{method:t,url:n,data:e}))}})}function m(r,i){function o(t,e,r,i){function o(){a(e,t,r,i)}p&&(_n(t)?p.put(S,[t,e,wn(r),i]):p.remove(S)),n?c.$applyAsync(o):(o(),c.$$phase||c.$apply())}function a(t,n,e,i){n=n>=-1?n:0,(_n(n)?g.resolve:g.reject)({data:t,status:n,headers:Cn(e),config:r,statusText:i})}function l(t){a(t.data,t.status,q(t.headers()),t.statusText)}function f(){var t=d.pendingRequests.indexOf(r);t!==-1&&d.pendingRequests.splice(t,1)}var p,v,g=h.defer(),m=g.promise,C=r.headers,S=y(r.url,r.paramSerializer(r.params));if(d.pendingRequests.push(r),m.then(f,f),!r.cache&&!t.cache||r.cache===!1||"GET"!==r.method&&"JSONP"!==r.method||(p=b(r.cache)?r.cache:b(t.cache)?t.cache:w),p&&(v=p.get(S),x(v)?j(v)?v.then(l,l):Fr(v)?a(v[1],v[0],q(v[2]),v[3]):a(v,200,{},"OK"):p.put(S,m)),$(v)){var _=ke(r.url)?s()[r.xsrfCookieName||t.xsrfCookieName]:e;_&&(C[r.xsrfHeaderName||t.xsrfHeaderName]=_),u(r.method,S,i,o,C,r.timeout,r.withCredentials,r.responseType)}return m}function y(t,n){return n.length>0&&(t+=(t.indexOf("?")==-1?"?":"&")+n),t}var w=l("$http");t.paramSerializer=C(t.paramSerializer)?p.get(t.paramSerializer):t.paramSerializer;var S=[];return o(a,function(t){S.unshift(C(t)?p.get(t):p.invoke(t))}),d.pendingRequests=[],v("get","delete","head","jsonp"),g("post","put","patch"),d.defaults=t,d}]}function kn(){this.$get=function(){return function(){return new t.XMLHttpRequest}}}function An(){this.$get=["$browser","$window","$document","$xhrFactory",function(t,n,e,r){return En(t,r,t.defer,n.angular.callbacks,e[0])}]}function En(t,n,e,r,i){function a(t,n,e){var o=i.createElement("script"),a=null;return o.type="text/javascript",o.src=t,o.async=!0,a=function(t){ri(o,"load",a),ri(o,"error",a),i.body.removeChild(o),o=null;var u=-1,s="unknown";t&&("load"!==t.type||r[n].called||(t={type:"error"}),s=t.type,u="error"===t.type?404:200),e&&e(u,s)},ei(o,"load",a),ei(o,"error",a),i.body.appendChild(o),a}return function(i,u,s,l,c,f,h,p){function d(){y&&y(),b&&b.abort()}function g(n,r,i,o,a){x(S)&&e.cancel(S),y=b=null,n(r,i,o,a),t.$$completeOutstandingRequest(v)}if(t.$$incOutstandingRequestCount(),u=u||t.url(),"jsonp"==xr(i)){var m="_"+(r.counter++).toString(36);r[m]=function(t){r[m].data=t,r[m].called=!0};var y=a(u.replace("JSON_CALLBACK","angular.callbacks."+m),m,function(t,n){g(l,t,r[m].data,"",n),r[m]=v})}else{var b=n(i,u);b.open(i,u,!0),o(c,function(t,n){x(t)&&b.setRequestHeader(n,t)}),b.onload=function(){var t=b.statusText||"",n="response"in b?b.response:b.responseText,e=1223===b.status?204:b.status;0===e&&(e=n?200:"file"==Me(u).protocol?404:0),g(l,e,n,b.getAllResponseHeaders(),t)};var w=function(){g(l,-1,null,null,"")};if(b.onerror=w,b.onabort=w,h&&(b.withCredentials=!0),p)try{b.responseType=p}catch(C){if("json"!==p)throw C}b.send($(s)?null:s)}if(f>0)var S=e(d,f);else j(f)&&f.then(d)}}function Pn(){var t="{{",n="}}";this.startSymbol=function(n){return n?(t=n,this):t},this.endSymbol=function(t){return t?(n=t,this):n},this.$get=["$parse","$exceptionHandler","$sce",function(e,r,i){function o(t){return"\\\\\\"+t}function a(e){return e.replace(h,t).replace(p,n)}function u(t){if(null==t)return"";switch(typeof t){case"string":break;case"number":t=""+t;break;default:t=Y(t)}return t}function s(o,s,h,p){function d(t){try{return t=A(t),p&&!x(t)?t:u(t)}catch(n){r(Vi.interr(o,n))}}p=!!p;for(var v,g,m,y=0,b=[],w=[],C=o.length,S=[],_=[];y<C;){if((v=o.indexOf(t,y))==-1||(g=o.indexOf(n,v+l))==-1){y!==C&&S.push(a(o.substring(y)));break}y!==v&&S.push(a(o.substring(y,v))),m=o.substring(v+l,g),b.push(m),w.push(e(m,d)),y=g+c,_.push(S.length),S.push("")}if(h&&S.length>1&&Vi.throwNoconcat(o),!s||b.length){var k=function(t){for(var n=0,e=b.length;n<e;n++){if(p&&$(t[n]))return;S[_[n]]=t[n]}return S.join("")},A=function(t){return h?i.getTrusted(h,t):i.valueOf(t)};return f(function(t){var n=0,e=b.length,i=new Array(e);try{for(;n<e;n++)i[n]=w[n](t);return k(i)}catch(a){r(Vi.interr(o,a))}},{exp:o,expressions:b,$$watchDelegate:function(t,n){var e;return t.$watchGroup(w,function(r,i){var o=k(r);M(n)&&n.call(this,o,r!==i?e:o,t),e=o})}})}}var l=t.length,c=n.length,h=new RegExp(t.replace(/./g,o),"g"),p=new RegExp(n.replace(/./g,o),"g");return s.startSymbol=function(){return t},s.endSymbol=function(){return n},s}]}function On(){this.$get=["$rootScope","$window","$q","$$q",function(t,n,e,r){function i(i,a,u,s){var l=arguments.length>4,c=l?W(arguments,4):[],f=n.setInterval,h=n.clearInterval,p=0,d=x(s)&&!s,v=(d?r:e).defer(),g=v.promise;return u=x(u)?u:0,g.then(null,null,l?function(){i.apply(null,c)}:i),g.$$intervalId=f(function(){v.notify(p++),u>0&&p>=u&&(v.resolve(p),h(g.$$intervalId),delete o[g.$$intervalId]),d||t.$apply()},a),o[g.$$intervalId]=v,g}var o={};return i.cancel=function(t){return!!(t&&t.$$intervalId in o)&&(o[t.$$intervalId].reject("canceled"),n.clearInterval(t.$$intervalId),delete o[t.$$intervalId],!0)},i}]}function Tn(t){for(var n=t.split("/"),e=n.length;e--;)n[e]=et(n[e]);return n.join("/")}function Ln(t,n){var e=Me(t);n.$$protocol=e.protocol,n.$$host=e.hostname,n.$$port=p(e.port)||Wi[e.protocol]||null}function jn(t,n){var e="/"!==t.charAt(0);e&&(t="/"+t);var r=Me(t);n.$$path=decodeURIComponent(e&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),n.$$search=tt(r.search),n.$$hash=decodeURIComponent(r.hash),n.$$path&&"/"!=n.$$path.charAt(0)&&(n.$$path="/"+n.$$path)}function Nn(t,n){if(0===n.indexOf(t))return n.substr(t.length)}function Rn(t){var n=t.indexOf("#");return n==-1?t:t.substr(0,n)}function Dn(t){return t.replace(/(#.+)|#$/,"$1")}function Fn(t){return t.substr(0,Rn(t).lastIndexOf("/")+1)}function In(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function zn(t,n,e){this.$$html5=!0,e=e||"",Ln(t,this),this.$$parse=function(t){var e=Nn(n,t);if(!C(e))throw Ui("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,n);jn(e,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=nt(this.$$search),e=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=n+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,u;return x(o=Nn(t,r))?(a=o,u=x(o=Nn(e,o))?n+(Nn("/",o)||o):t+a):x(o=Nn(n,r))?u=n+o:n==r+"/"&&(u=n),u&&this.$$parse(u),!!u}}function qn(t,n,e){Ln(t,this),this.$$parse=function(r){function i(t,n,e){var r,i=/^\/[A-Z]:(\/.*)/;return 0===n.indexOf(e)&&(n=n.replace(e,"")),i.exec(n)?t:(r=i.exec(t),r?r[1]:t)}var o,a=Nn(t,r)||Nn(n,r);$(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",$(a)&&(t=r,this.replace())):(o=Nn(e,a),$(o)&&(o=a)),jn(o,this),this.$$path=i(this.$$path,o,t),this.$$compose()},this.$$compose=function(){var n=nt(this.$$search),r=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$parseLinkUrl=function(n,e){return Rn(t)==Rn(n)&&(this.$$parse(n),!0)}}function Vn(t,n,e){this.$$html5=!0,qn.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return t==Rn(r)?o=r:(a=Nn(n,r))?o=t+e+a:n===r+"/"&&(o=n),o&&this.$$parse(o),!!o},this.$$compose=function(){var n=nt(this.$$search),r=this.$$hash?"#"+et(this.$$hash):"";this.$$url=Tn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+e+this.$$url}}function Bn(t){return function(){return this[t]}}function Wn(t,n){return function(e){return $(e)?this[t]:(this[t]=n(e),this.$$compose(),this)}}function Un(){var t="",n={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(n){return x(n)?(t=n,this):t},this.html5Mode=function(t){return L(t)?(n.enabled=t,this):b(t)?(L(t.enabled)&&(n.enabled=t.enabled),L(t.requireBase)&&(n.requireBase=t.requireBase),L(t.rewriteLinks)&&(n.rewriteLinks=t.rewriteLinks),this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(e,r,i,o,a){function u(t,n,e){var i=l.url(),o=l.$$state;try{r.url(t,n,e),l.$$state=r.state()}catch(a){throw l.url(i),l.$$state=o,a}}function s(t,n){e.$broadcast("$locationChangeSuccess",l.absUrl(),t,l.$$state,n)}var l,c,f,h=r.baseHref(),p=r.url();if(n.enabled){if(!h&&n.requireBase)throw Ui("nobase","$location in HTML5 mode requires a <base> tag to be present!");f=In(p)+(h||"/"),c=i.history?zn:Vn}else f=Rn(p),c=qn;var d=Fn(f);l=new c(f,d,"#"+t),l.$$parseLinkUrl(p,p),l.$$state=r.state();var v=/^\s*(javascript|mailto):/i;o.on("click",function(t){if(n.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&2!=t.which&&2!=t.button){for(var i=Mr(t.target);"a"!==F(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var u=i.prop("href"),s=i.attr("href")||i.attr("xlink:href");b(u)&&"[object SVGAnimatedString]"===u.toString()&&(u=Me(u.animVal).href),v.test(u)||!u||i.attr("target")||t.isDefaultPrevented()||l.$$parseLinkUrl(u,s)&&(t.preventDefault(),l.absUrl()!=r.url()&&(e.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),Dn(l.absUrl())!=Dn(p)&&r.url(l.absUrl(),!0);var g=!0;return r.onUrlChange(function(t,n){return $(Nn(d,t))?void(a.location.href=t):(e.$evalAsync(function(){var r,i=l.absUrl(),o=l.$$state;l.$$parse(t),l.$$state=n,r=e.$broadcast("$locationChangeStart",t,i,n,o).defaultPrevented,l.absUrl()===t&&(r?(l.$$parse(i),l.$$state=o,u(i,!1,o)):(g=!1,s(i,o)))}),void(e.$$phase||e.$digest()))}),e.$watch(function(){var t=Dn(r.url()),n=Dn(l.absUrl()),o=r.state(),a=l.$$replace,c=t!==n||l.$$html5&&i.history&&o!==l.$$state;(g||c)&&(g=!1,e.$evalAsync(function(){var n=l.absUrl(),r=e.$broadcast("$locationChangeStart",n,t,l.$$state,o).defaultPrevented;l.absUrl()===n&&(r?(l.$$parse(t),l.$$state=o):(c&&u(n,a,o===l.$$state?null:l.$$state),s(t,o)))})),l.$$replace=!1}),l}]}function Hn(){var t=!0,n=this;this.debugEnabled=function(n){return x(n)?(t=n,this):t},this.$get=["$window",function(e){function r(t){return t instanceof Error&&(t.stack?t=t.message&&t.stack.indexOf(t.message)===-1?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function i(t){var n=e.console||{},i=n[t]||n.log||v,a=!1;try{a=!!i.apply}catch(u){}return a?function(){var t=[];return o(arguments,function(n){t.push(r(n))}),i.apply(n,t)}:function(t,n){i(t,null==n?"":n)}}return{log:i("log"),info:i("info"),warn:i("warn"),error:i("error"),debug:function(){var e=i("debug");return function(){t&&e.apply(n,arguments)}}()}}]}function Yn(t,n){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw Yi("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",n);return t}function Gn(t,n){if(t+="",!C(t))throw Yi("iseccst","Cannot convert object to primitive value! Expression: {0}",n);return t}function Xn(t,n){if(t){if(t.constructor===t)throw Yi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t.window===t)throw Yi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",n);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw Yi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",n);if(t===Object)throw Yi("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",n)}return t}function Zn(t,n){if(t){if(t.constructor===t)throw Yi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t===Gi||t===Xi||t===Zi)throw Yi("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",n)}}function Jn(t,n){if(t&&(t===(0).constructor||t===(!1).constructor||t==="".constructor||t==={}.constructor||t===[].constructor||t===Function.constructor))throw Yi("isecaf","Assigning to a constructor is disallowed! Expression: {0}",n)}function Kn(t,n){return"undefined"!=typeof t?t:n}function Qn(t,n){return"undefined"==typeof t?n:"undefined"==typeof n?t:t+n}function te(t,n){var e=t(n);return!e.$stateful}function ne(t,n){var e,r;switch(t.type){case to.Program:e=!0,o(t.body,function(t){ne(t.expression,n),e=e&&t.expression.constant}),t.constant=e;break;case to.Literal:t.constant=!0,t.toWatch=[];break;case to.UnaryExpression:ne(t.argument,n),t.constant=t.argument.constant,t.toWatch=t.argument.toWatch;break;case to.BinaryExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.left.toWatch.concat(t.right.toWatch);break;case to.LogicalExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.constant?[]:[t];break;case to.ConditionalExpression:ne(t.test,n),ne(t.alternate,n),ne(t.consequent,n),t.constant=t.test.constant&&t.alternate.constant&&t.consequent.constant,t.toWatch=t.constant?[]:[t];break;case to.Identifier:t.constant=!1,t.toWatch=[t];break;case to.MemberExpression:ne(t.object,n),t.computed&&ne(t.property,n),t.constant=t.object.constant&&(!t.computed||t.property.constant),t.toWatch=[t];break;case to.CallExpression:e=!!t.filter&&te(n,t.callee.name),r=[],o(t.arguments,function(t){ne(t,n),e=e&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=e,t.toWatch=t.filter&&te(n,t.callee.name)?r:[t];break;case to.AssignmentExpression:ne(t.left,n),ne(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=[t];break;case to.ArrayExpression:e=!0,r=[],o(t.elements,function(t){ne(t,n),e=e&&t.constant,t.constant||r.push.apply(r,t.toWatch)}),t.constant=e,t.toWatch=r;break;case to.ObjectExpression:e=!0,r=[],o(t.properties,function(t){ne(t.value,n),e=e&&t.value.constant,t.value.constant||r.push.apply(r,t.value.toWatch)}),t.constant=e,t.toWatch=r;break;case to.ThisExpression:t.constant=!1,t.toWatch=[]}}function ee(t){if(1==t.length){var n=t[0].expression,r=n.toWatch;return 1!==r.length?r:r[0]!==n?r:e}}function re(t){return t.type===to.Identifier||t.type===to.MemberExpression}function ie(t){if(1===t.body.length&&re(t.body[0].expression))return{type:to.AssignmentExpression,left:t.body[0].expression,right:{type:to.NGValueParameter},operator:"="}}function oe(t){return 0===t.body.length||1===t.body.length&&(t.body[0].expression.type===to.Literal||t.body[0].expression.type===to.ArrayExpression||t.body[0].expression.type===to.ObjectExpression)}function ae(t){return t.constant}function ue(t,n){this.astBuilder=t,this.$filter=n}function se(t,n){this.astBuilder=t,this.$filter=n}function le(t){return"constructor"==t}function ce(t){return M(t.valueOf)?t.valueOf():eo.call(t)}function fe(){var t=gt(),n=gt();this.$get=["$filter",function(r){function i(t,n){return null==t||null==n?t===n:("object"!=typeof t||(t=ce(t),"object"!=typeof t))&&(t===n||t!==t&&n!==n)}function a(t,n,r,o,a){var u,s=o.inputs;if(1===s.length){var l=i;return s=s[0],t.$watch(function(t){var n=s(t);return i(n,l)||(u=o(t,e,e,[n]),l=n&&ce(n)),u},n,r,a)}for(var c=[],f=[],h=0,p=s.length;h<p;h++)c[h]=i,f[h]=null;return t.$watch(function(t){for(var n=!1,r=0,a=s.length;r<a;r++){var l=s[r](t);(n||(n=!i(l,c[r])))&&(f[r]=l,c[r]=l&&ce(l))}return n&&(u=o(t,e,e,f)),u},n,r,a)}function u(t,n,e,r){var i,o;return i=t.$watch(function(t){return r(t)},function(t,e,r){o=t,M(n)&&n.apply(this,arguments),x(t)&&r.$$postDigest(function(){x(o)&&i()})},e)}function s(t,n,e,r){function i(t){var n=!0;return o(t,function(t){x(t)||(n=!1)}),n}var a,u;return a=t.$watch(function(t){return r(t)},function(t,e,r){u=t,M(n)&&n.call(this,t,e,r),i(t)&&r.$$postDigest(function(){i(u)&&a()})},e)}function l(t,n,e,r){var i;return i=t.$watch(function(t){return r(t)},function(t,e,r){M(n)&&n.apply(this,arguments),i()},e)}function c(t,n){if(!n)return t;var e=t.$$watchDelegate,r=e!==s&&e!==u,i=r?function(e,r,i,o){var a=t(e,r,i,o);return n(a,e,r)}:function(e,r,i,o){var a=t(e,r,i,o),u=n(a,e,r);return x(a)?u:a};return t.$$watchDelegate&&t.$$watchDelegate!==a?i.$$watchDelegate=t.$$watchDelegate:n.$stateful||(i.$$watchDelegate=a,i.inputs=t.inputs?t.inputs:[t]),i}var f=Vr().noUnsafeEval,h={csp:f,expensiveChecks:!1},p={csp:f,expensiveChecks:!0};return function(e,i,o){var f,d,g;switch(typeof e){case"string":e=e.trim(),g=e;var m=o?n:t;if(f=m[g],!f){":"===e.charAt(0)&&":"===e.charAt(1)&&(d=!0,e=e.substring(2));var y=o?p:h,$=new Qi(y),x=new no($,r,y);f=x.parse(e),f.constant?f.$$watchDelegate=l:d?f.$$watchDelegate=f.literal?s:u:f.inputs&&(f.$$watchDelegate=a),m[g]=f}return c(f,i);case"function":return c(e,i);default:return v}}}]}function he(){this.$get=["$rootScope","$exceptionHandler",function(t,n){return de(function(n){t.$evalAsync(n)},n)}]}function pe(){this.$get=["$browser","$exceptionHandler",function(t,n){return de(function(n){t.defer(n)},n)}]}function de(t,n){function i(t,n,e){function r(n){return function(e){i||(i=!0,n.call(t,e))}}var i=!1;return[r(n),r(e)]}function a(){this.$$state={status:0}}function u(t,n){return function(e){n.call(t,e)}}function s(t){var r,i,o;o=t.pending,t.processScheduled=!1,t.pending=e;for(var a=0,u=o.length;a<u;++a){i=o[a][0],r=o[a][t.status];try{M(r)?i.resolve(r(t.value)):1===t.status?i.resolve(t.value):i.reject(t.value)}catch(s){i.reject(s),n(s)}}}function l(n){!n.processScheduled&&n.pending&&(n.processScheduled=!0,t(function(){s(n)}))}function c(){this.promise=new a,this.resolve=u(this,this.resolve),this.reject=u(this,this.reject),this.notify=u(this,this.notify)}function h(t){var n=new c,e=0,r=Fr(t)?[]:{};return o(t,function(t,i){e++,y(t).then(function(t){r.hasOwnProperty(i)||(r[i]=t,--e||n.resolve(r))},function(t){r.hasOwnProperty(i)||n.reject(t)})}),0===e&&n.resolve(r),n.promise}var p=r("$q",TypeError),d=function(){return new c};f(a.prototype,{then:function(t,n,e){if($(t)&&$(n)&&$(e))return this;var r=new c;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,t,n,e]),this.$$state.status>0&&l(this.$$state),r.promise},"catch":function(t){return this.then(null,t)},"finally":function(t,n){return this.then(function(n){return m(n,!0,t)},function(n){return m(n,!1,t)},n)}}),f(c.prototype,{resolve:function(t){this.promise.$$state.status||(t===this.promise?this.$$reject(p("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):this.$$resolve(t))},$$resolve:function(t){var e,r;r=i(this,this.$$resolve,this.$$reject);try{(b(t)||M(t))&&(e=t&&t.then),M(e)?(this.promise.$$state.status=-1,e.call(t,r[0],r[1],this.notify)):(this.promise.$$state.value=t,this.promise.$$state.status=1,l(this.promise.$$state))}catch(o){r[1](o),n(o)}},reject:function(t){this.promise.$$state.status||this.$$reject(t)},$$reject:function(t){this.promise.$$state.value=t,this.promise.$$state.status=2,l(this.promise.$$state)},notify:function(e){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&t(function(){for(var t,i,o=0,a=r.length;o<a;o++){i=r[o][0],t=r[o][3];try{i.notify(M(t)?t(e):e)}catch(u){n(u)}}})}});var v=function(t){var n=new c;return n.reject(t),n.promise},g=function(t,n){var e=new c;return n?e.resolve(t):e.reject(t),e.promise},m=function(t,n,e){
-var r=null;try{M(e)&&(r=e())}catch(i){return g(i,!1)}return j(r)?r.then(function(){return g(t,n)},function(t){return g(t,!1)}):g(t,n)},y=function(t,n,e,r){var i=new c;return i.resolve(t),i.promise.then(n,e,r)},x=y,w=function C(t){function n(t){r.resolve(t)}function e(t){r.reject(t)}if(!M(t))throw p("norslvr","Expected resolverFn, got '{0}'",t);if(!(this instanceof C))return new C(t);var r=new c;return t(n,e),r.promise};return w.defer=d,w.reject=v,w.when=y,w.resolve=x,w.all=h,w}function ve(){this.$get=["$window","$timeout",function(t,n){var e=t.requestAnimationFrame||t.webkitRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!e,o=i?function(t){var n=e(t);return function(){r(n)}}:function(t){var e=n(t,16.66,!1);return function(){n.cancel(e)}};return o.supported=i,o}]}function ge(){function t(t){function n(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=s(),this.$$ChildScope=null}return n.prototype=t,n}var n=10,e=r("$rootScope"),a=null,u=null;this.digestTtl=function(t){return arguments.length&&(n=t),n},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(r,l,c,f){function h(t){t.currentScope.$$destroyed=!0}function p(){this.$id=s(),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 d(t){if(S.$$phase)throw e("inprog","{0} already in progress",S.$$phase);S.$$phase=t}function g(){S.$$phase=null}function m(t,n){do t.$$watchersCount+=n;while(t=t.$parent)}function y(t,n,e){do t.$$listenerCount[e]-=n,0===t.$$listenerCount[e]&&delete t.$$listenerCount[e];while(t=t.$parent)}function x(){}function w(){for(;A.length;)try{A.shift()()}catch(t){l(t)}u=null}function C(){null===u&&(u=f.defer(function(){S.$apply(w)}))}p.prototype={constructor:p,$new:function(n,e){var r;return e=e||this,n?(r=new p,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=t(this)),r=new this.$$ChildScope),r.$parent=e,r.$$prevSibling=e.$$childTail,e.$$childHead?(e.$$childTail.$$nextSibling=r,e.$$childTail=r):e.$$childHead=e.$$childTail=r,(n||e!=this)&&r.$on("$destroy",h),r},$watch:function(t,n,e,r){var i=c(t);if(i.$$watchDelegate)return i.$$watchDelegate(this,n,e,i,t);var o=this,u=o.$$watchers,s={fn:n,last:x,get:i,exp:r||t,eq:!!e};return a=null,M(n)||(s.fn=v),u||(u=o.$$watchers=[]),u.unshift(s),m(this,1),function(){I(u,s)>=0&&m(o,-1),a=null}},$watchGroup:function(t,n){function e(){s=!1,l?(l=!1,n(i,i,u)):n(i,r,u)}var r=new Array(t.length),i=new Array(t.length),a=[],u=this,s=!1,l=!0;if(!t.length){var c=!0;return u.$evalAsync(function(){c&&n(i,i,u)}),function(){c=!1}}return 1===t.length?this.$watch(t[0],function(t,e,o){i[0]=t,r[0]=e,n(i,t===e?i:r,o)}):(o(t,function(t,n){var o=u.$watch(t,function(t,o){i[n]=t,r[n]=o,s||(s=!0,u.$evalAsync(e))});a.push(o)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(t,n){function e(t){o=t;var n,e,r,u,s;if(!$(o)){if(b(o))if(i(o)){a!==p&&(a=p,g=a.length=0,f++),n=o.length,g!==n&&(f++,a.length=g=n);for(var l=0;l<n;l++)s=a[l],u=o[l],r=s!==s&&u!==u,r||s===u||(f++,a[l]=u)}else{a!==d&&(a=d={},g=0,f++),n=0;for(e in o)br.call(o,e)&&(n++,u=o[e],s=a[e],e in a?(r=s!==s&&u!==u,r||s===u||(f++,a[e]=u)):(g++,a[e]=u,f++));if(g>n){f++;for(e in a)br.call(o,e)||(g--,delete a[e])}}else a!==o&&(a=o,f++);return f}}function r(){if(v?(v=!1,n(o,o,s)):n(o,u,s),l)if(b(o))if(i(o)){u=new Array(o.length);for(var t=0;t<o.length;t++)u[t]=o[t]}else{u={};for(var e in o)br.call(o,e)&&(u[e]=o[e])}else u=o}e.$stateful=!0;var o,a,u,s=this,l=n.length>1,f=0,h=c(t,e),p=[],d={},v=!0,g=0;return this.$watch(h,r)},$digest:function(){var t,r,i,o,s,c,h,p,v,m,y=n,$=this,b=[];d("$digest"),f.$$checkUrlChange(),this===S&&null!==u&&(f.defer.cancel(u),w()),a=null;do{for(c=!1,p=$;_.length;){try{m=_.shift(),m.scope.$eval(m.expression,m.locals)}catch(C){l(C)}a=null}t:do{if(o=p.$$watchers)for(s=o.length;s--;)try{if(t=o[s])if((r=t.get(p))===(i=t.last)||(t.eq?V(r,i):"number"==typeof r&&"number"==typeof i&&isNaN(r)&&isNaN(i))){if(t===a){c=!1;break t}}else c=!0,a=t,t.last=t.eq?z(r,null):r,t.fn(r,i===x?r:i,p),y<5&&(v=4-y,b[v]||(b[v]=[]),b[v].push({msg:M(t.exp)?"fn: "+(t.exp.name||t.exp.toString()):t.exp,newVal:r,oldVal:i}))}catch(C){l(C)}if(!(h=p.$$watchersCount&&p.$$childHead||p!==$&&p.$$nextSibling))for(;p!==$&&!(h=p.$$nextSibling);)p=p.$parent}while(p=h);if((c||_.length)&&!y--)throw g(),e("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",n,b)}while(c||_.length);for(g();k.length;)try{k.shift()()}catch(C){l(C)}},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===S&&f.$$applicationDestroyed(),m(this,-this.$$watchersCount);for(var n in this.$$listenerCount)y(this,this.$$listenerCount[n],n);t&&t.$$childHead==this&&(t.$$childHead=this.$$nextSibling),t&&t.$$childTail==this&&(t.$$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=v,this.$on=this.$watch=this.$watchGroup=function(){return v},this.$$listeners={},this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(t,n){return c(t)(this,n)},$evalAsync:function(t,n){S.$$phase||_.length||f.defer(function(){_.length&&S.$digest()}),_.push({scope:this,expression:t,locals:n})},$$postDigest:function(t){k.push(t)},$apply:function(t){try{d("$apply");try{return this.$eval(t)}finally{g()}}catch(n){l(n)}finally{try{S.$digest()}catch(n){throw l(n),n}}},$applyAsync:function(t){function n(){e.$eval(t)}var e=this;t&&A.push(n),C()},$on:function(t,n){var e=this.$$listeners[t];e||(this.$$listeners[t]=e=[]),e.push(n);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=e.indexOf(n);r!==-1&&(e[r]=null,y(i,1,t))}},$emit:function(t,n){var e,r,i,o=[],a=this,u=!1,s={name:t,targetScope:a,stopPropagation:function(){u=!0},preventDefault:function(){s.defaultPrevented=!0},defaultPrevented:!1},c=B([s],arguments,1);do{for(e=a.$$listeners[t]||o,s.currentScope=a,r=0,i=e.length;r<i;r++)if(e[r])try{e[r].apply(null,c)}catch(f){l(f)}else e.splice(r,1),r--,i--;if(u)return s.currentScope=null,s;a=a.$parent}while(a);return s.currentScope=null,s},$broadcast:function(t,n){var e=this,r=e,i=e,o={name:t,targetScope:e,preventDefault:function(){o.defaultPrevented=!0},defaultPrevented:!1};if(!e.$$listenerCount[t])return o;for(var a,u,s,c=B([o],arguments,1);r=i;){for(o.currentScope=r,a=r.$$listeners[t]||[],u=0,s=a.length;u<s;u++)if(a[u])try{a[u].apply(null,c)}catch(f){l(f)}else a.splice(u,1),u--,s--;if(!(i=r.$$listenerCount[t]&&r.$$childHead||r!==e&&r.$$nextSibling))for(;r!==e&&!(i=r.$$nextSibling);)r=r.$parent}return o.currentScope=null,o}};var S=new p,_=S.$$asyncQueue=[],k=S.$$postDigestQueue=[],A=S.$$applyAsyncQueue=[];return S}]}function me(){var t=/^\s*(https?|ftp|mailto|tel|file):/,n=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(n){return x(n)?(t=n,this):t},this.imgSrcSanitizationWhitelist=function(t){return x(t)?(n=t,this):n},this.$get=function(){return function(e,r){var i,o=r?n:t;return i=Me(e).href,""===i||i.match(o)?e:"unsafe:"+i}}}function ye(t){if("self"===t)return t;if(C(t)){if(t.indexOf("***")>-1)throw ro("iwcard","Illegal sequence *** in string matcher. String: {0}",t);return t=qr(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(k(t))return new RegExp("^"+t.source+"$");throw ro("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function $e(t){var n=[];return x(t)&&o(t,function(t){n.push(ye(t))}),n}function xe(){this.SCE_CONTEXTS=io;var t=["self"],n=[];this.resourceUrlWhitelist=function(n){return arguments.length&&(t=$e(n)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(n=$e(t)),n},this.$get=["$injector",function(e){function r(t,n){return"self"===t?ke(n):!!t.exec(n.href)}function i(e){var i,o,a=Me(e.toString()),u=!1;for(i=0,o=t.length;i<o;i++)if(r(t[i],a)){u=!0;break}if(u)for(i=0,o=n.length;i<o;i++)if(r(n[i],a)){u=!1;break}return u}function o(t){var n=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(n.prototype=new t),n.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},n.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},n}function a(t,n){var e=f.hasOwnProperty(t)?f[t]:null;if(!e)throw ro("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,n);if(null===n||$(n)||""===n)return n;if("string"!=typeof n)throw ro("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new e(n)}function u(t){return t instanceof c?t.$$unwrapTrustedValue():t}function s(t,n){if(null===n||$(n)||""===n)return n;var e=f.hasOwnProperty(t)?f[t]:null;if(e&&n instanceof e)return n.$$unwrapTrustedValue();if(t===io.RESOURCE_URL){if(i(n))return n;throw ro("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",n.toString())}if(t===io.HTML)return l(n);throw ro("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(t){throw ro("unsafe","Attempting to use an unsafe value in a safe context.")};e.has("$sanitize")&&(l=e.get("$sanitize"));var c=o(),f={};return f[io.HTML]=o(c),f[io.CSS]=o(c),f[io.URL]=o(c),f[io.JS]=o(c),f[io.RESOURCE_URL]=o(f[io.URL]),{trustAs:a,getTrusted:s,valueOf:u}}]}function be(){var t=!0;this.enabled=function(n){return arguments.length&&(t=!!n),t},this.$get=["$parse","$sceDelegate",function(n,e){if(t&&_r<8)throw ro("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=q(io);r.isEnabled=function(){return t},r.trustAs=e.trustAs,r.getTrusted=e.getTrusted,r.valueOf=e.valueOf,t||(r.trustAs=r.getTrusted=function(t,n){return n},r.valueOf=g),r.parseAs=function(t,e){var i=n(e);return i.literal&&i.constant?i:n(e,function(n){return r.getTrusted(t,n)})};var i=r.parseAs,a=r.getTrusted,u=r.trustAs;return o(io,function(t,n){var e=xr(n);r[wt("parse_as_"+e)]=function(n){return i(t,n)},r[wt("get_trusted_"+e)]=function(n){return a(t,n)},r[wt("trust_as_"+e)]=function(n){return u(t,n)}}),r}]}function we(){this.$get=["$window","$document",function(t,n){var e,r,i={},o=p((/android (\d+)/.exec(xr((t.navigator||{}).userAgent))||[])[1]),a=/Boxee/i.test((t.navigator||{}).userAgent),u=n[0]||{},s=/^(Moz|webkit|ms)(?=[A-Z])/,l=u.body&&u.body.style,c=!1,f=!1;if(l){for(var h in l)if(r=s.exec(h)){e=r[0],e=e.substr(0,1).toUpperCase()+e.substr(1);break}e||(e="WebkitOpacity"in l&&"webkit"),c=!!("transition"in l||e+"Transition"in l),f=!!("animation"in l||e+"Animation"in l),!o||c&&f||(c=C(l.webkitTransition),f=C(l.webkitAnimation))}return{history:!(!t.history||!t.history.pushState||o<4||a),hasEvent:function(t){if("input"===t&&_r<=11)return!1;if($(i[t])){var n=u.createElement("div");i[t]="on"+t in n}return i[t]},csp:Vr(),vendorPrefix:e,transitions:c,animations:f,android:o}}]}function Ce(){this.$get=["$templateCache","$http","$q","$sce",function(t,n,e,r){function i(o,a){function u(t){if(!a)throw Pi("tpload","Failed to load template: {0} (HTTP status: {1} {2})",o,t.status,t.statusText);return e.reject(t)}i.totalPendingRequests++,C(o)&&t.get(o)||(o=r.getTrustedResourceUrl(o));var s=n.defaults&&n.defaults.transformResponse;Fr(s)?s=s.filter(function(t){return t!==xn}):s===xn&&(s=null);var l={cache:t,transformResponse:s};return n.get(o,l)["finally"](function(){i.totalPendingRequests--}).then(function(n){return t.put(o,n.data),n.data},u)}return i.totalPendingRequests=0,i}]}function Se(){this.$get=["$rootScope","$browser","$location",function(t,n,e){var r={};return r.findBindings=function(t,n,e){var r=t.getElementsByClassName("ng-binding"),i=[];return o(r,function(t){var r=Nr.element(t).data("$binding");r&&o(r,function(r){if(e){var o=new RegExp("(^|\\s)"+qr(n)+"(\\s|\\||$)");o.test(r)&&i.push(t)}else r.indexOf(n)!=-1&&i.push(t)})}),i},r.findModels=function(t,n,e){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o=e?"=":"*=",a="["+r[i]+"model"+o+'"'+n+'"]',u=t.querySelectorAll(a);if(u.length)return u}},r.getLocation=function(){return e.url()},r.setLocation=function(n){n!==e.url()&&(e.url(n),t.$digest())},r.whenStable=function(t){n.notifyWhenNoOutstandingRequests(t)},r}]}function _e(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(t,n,e,r,i){function o(o,u,s){M(o)||(s=u,u=o,o=v);var l,c=W(arguments,3),f=x(s)&&!s,h=(f?r:e).defer(),p=h.promise;return l=n.defer(function(){try{h.resolve(o.apply(null,c))}catch(n){h.reject(n),i(n)}finally{delete a[p.$$timeoutId]}f||t.$apply()},u),p.$$timeoutId=l,a[l]=h,p}var a={};return o.cancel=function(t){return!!(t&&t.$$timeoutId in a)&&(a[t.$$timeoutId].reject("canceled"),delete a[t.$$timeoutId],n.defer.cancel(t.$$timeoutId))},o}]}function Me(t){var n=t;return _r&&(oo.setAttribute("href",n),n=oo.href),oo.setAttribute("href",n),{href:oo.href,protocol:oo.protocol?oo.protocol.replace(/:$/,""):"",host:oo.host,search:oo.search?oo.search.replace(/^\?/,""):"",hash:oo.hash?oo.hash.replace(/^#/,""):"",hostname:oo.hostname,port:oo.port,pathname:"/"===oo.pathname.charAt(0)?oo.pathname:"/"+oo.pathname}}function ke(t){var n=C(t)?Me(t):t;return n.protocol===ao.protocol&&n.host===ao.host}function Ae(){this.$get=m(t)}function Ee(t){function n(t){try{return decodeURIComponent(t)}catch(n){return t}}var e=t[0]||{},r={},i="";return function(){var t,o,a,u,s,l=e.cookie||"";if(l!==i)for(i=l,t=i.split("; "),r={},a=0;a<t.length;a++)o=t[a],u=o.indexOf("="),u>0&&(s=n(o.substring(0,u)),$(r[s])&&(r[s]=n(o.substring(u+1))));return r}}function Pe(){this.$get=Ee}function Oe(t){function n(r,i){if(b(r)){var a={};return o(r,function(t,e){a[e]=n(e,t)}),a}return t.factory(r+e,i)}var e="Filter";this.register=n,this.$get=["$injector",function(t){return function(n){return t.get(n+e)}}],n("currency",Re),n("date",Xe),n("filter",Te),n("json",Ze),n("limitTo",Je),n("lowercase",fo),n("number",De),n("orderBy",Ke),n("uppercase",ho)}function Te(){return function(t,n,e){if(!i(t)){if(null==t)return t;throw r("filter")("notarray","Expected array but received: {0}",t)}var o,a,u=Ne(n);switch(u){case"function":o=n;break;case"boolean":case"null":case"number":case"string":a=!0;case"object":o=Le(n,e,a);break;default:return t}return Array.prototype.filter.call(t,o)}}function Le(t,n,e){var r,i=b(t)&&"$"in t;return n===!0?n=V:M(n)||(n=function(t,n){return!$(t)&&(null===t||null===n?t===n:!(b(n)||b(t)&&!y(t))&&(t=xr(""+t),n=xr(""+n),t.indexOf(n)!==-1))}),r=function(r){return i&&!b(r)?je(r,t.$,n,!1):je(r,t,n,e)}}function je(t,n,e,r,i){var o=Ne(t),a=Ne(n);if("string"===a&&"!"===n.charAt(0))return!je(t,n.substring(1),e,r);if(Fr(t))return t.some(function(t){return je(t,n,e,r)});switch(o){case"object":var u;if(r){for(u in t)if("$"!==u.charAt(0)&&je(t[u],n,e,!0))return!0;return!i&&je(t,n,e,!1)}if("object"===a){for(u in n){var s=n[u];if(!M(s)&&!$(s)){var l="$"===u,c=l?t:t[u];if(!je(c,s,e,l,l))return!1}}return!0}return e(t,n);case"function":return!1;default:return e(t,n)}}function Ne(t){return null===t?"null":typeof t}function Re(t){var n=t.NUMBER_FORMATS;return function(t,e,r){return $(e)&&(e=n.CURRENCY_SYM),$(r)&&(r=n.PATTERNS[1].maxFrac),null==t?t:Fe(t,n.PATTERNS[1],n.GROUP_SEP,n.DECIMAL_SEP,r).replace(/\u00A4/g,e)}}function De(t){var n=t.NUMBER_FORMATS;return function(t,e){return null==t?t:Fe(t,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,e)}}function Fe(t,n,e,r,i){if(b(t))return"";var o=t<0;t=Math.abs(t);var a=t===1/0;if(!a&&!isFinite(t))return"";var u=t+"",s="",l=!1,c=[];if(a&&(s="∞"),!a&&u.indexOf("e")!==-1){var f=u.match(/([\d\.]+)e(-?)(\d+)/);f&&"-"==f[2]&&f[3]>i+1?t=0:(s=u,l=!0)}if(a||l)i>0&&t<1&&(s=t.toFixed(i),t=parseFloat(s),s=s.replace(uo,r));else{var h=(u.split(uo)[1]||"").length;$(i)&&(i=Math.min(Math.max(n.minFrac,h),n.maxFrac)),t=+(Math.round(+(t.toString()+"e"+i)).toString()+"e"+-i);var p=(""+t).split(uo),d=p[0];p=p[1]||"";var v,g=0,m=n.lgSize,y=n.gSize;if(d.length>=m+y)for(g=d.length-m,v=0;v<g;v++)(g-v)%y===0&&0!==v&&(s+=e),s+=d.charAt(v);for(v=g;v<d.length;v++)(d.length-v)%m===0&&0!==v&&(s+=e),s+=d.charAt(v);for(;p.length<i;)p+="0";i&&"0"!==i&&(s+=r+p.substr(0,i))}return 0===t&&(o=!1),c.push(o?n.negPre:n.posPre,s,o?n.negSuf:n.posSuf),c.join("")}function Ie(t,n,e){var r="";for(t<0&&(r="-",t=-t),t=""+t;t.length<n;)t="0"+t;return e&&(t=t.substr(t.length-n)),r+t}function ze(t,n,e,r){return e=e||0,function(i){var o=i["get"+t]();return(e>0||o>-e)&&(o+=e),0===o&&e==-12&&(o=12),Ie(o,n,r)}}function qe(t,n){return function(e,r){var i=e["get"+t](),o=wr(n?"SHORT"+t:t);return r[o][i]}}function Ve(t,n,e){var r=-1*e,i=r>=0?"+":"";return i+=Ie(Math[r>0?"floor":"ceil"](r/60),2)+Ie(Math.abs(r%60),2)}function Be(t){var n=new Date(t,0,1).getDay();return new Date(t,0,(n<=4?5:12)-n)}function We(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function Ue(t){return function(n){var e=Be(n.getFullYear()),r=We(n),i=+r-+e,o=1+Math.round(i/6048e5);return Ie(o,t)}}function He(t,n){return t.getHours()<12?n.AMPMS[0]:n.AMPMS[1]}function Ye(t,n){return t.getFullYear()<=0?n.ERAS[0]:n.ERAS[1]}function Ge(t,n){return t.getFullYear()<=0?n.ERANAMES[0]:n.ERANAMES[1]}function Xe(t){function n(t){var n;if(n=t.match(e)){var r=new Date(0),i=0,o=0,a=n[8]?r.setUTCFullYear:r.setFullYear,u=n[8]?r.setUTCHours:r.setHours;n[9]&&(i=p(n[9]+n[10]),o=p(n[9]+n[11])),a.call(r,p(n[1]),p(n[2])-1,p(n[3]));var s=p(n[4]||0)-i,l=p(n[5]||0)-o,c=p(n[6]||0),f=Math.round(1e3*parseFloat("0."+(n[7]||0)));return u.call(r,s,l,c,f),r}return t}var e=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(e,r,i){var a,u,s="",l=[];if(r=r||"mediumDate",r=t.DATETIME_FORMATS[r]||r,C(e)&&(e=co.test(e)?p(e):n(e)),S(e)&&(e=new Date(e)),!_(e)||!isFinite(e.getTime()))return e;for(;r;)u=lo.exec(r),u?(l=B(l,u,1),r=l.pop()):(l.push(r),r=null);var c=e.getTimezoneOffset();return i&&(c=X(i,e.getTimezoneOffset()),e=J(e,i,!0)),o(l,function(n){a=so[n],s+=a?a(e,t.DATETIME_FORMATS,c):n.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function Ze(){return function(t,n){return $(n)&&(n=2),Y(t,n)}}function Je(){return function(t,n,e){return n=Math.abs(Number(n))===1/0?Number(n):p(n),isNaN(n)?t:(S(t)&&(t=t.toString()),Fr(t)||C(t)?(e=!e||isNaN(e)?0:p(e),e=e<0&&e>=-t.length?t.length+e:e,n>=0?t.slice(e,e+n):0===e?t.slice(n,t.length):t.slice(Math.max(0,e+n),e)):t)}}function Ke(t){function n(n,e){return e=e?-1:1,n.map(function(n){var r=1,i=g;if(M(n))i=n;else if(C(n)&&("+"!=n.charAt(0)&&"-"!=n.charAt(0)||(r="-"==n.charAt(0)?-1:1,n=n.substring(1)),""!==n&&(i=t(n),i.constant))){var o=i();i=function(t){return t[o]}}return{get:i,descending:r*e}})}function e(t){switch(typeof t){case"number":case"boolean":case"string":return!0;default:return!1}}function r(t,n){return"function"==typeof t.valueOf&&(t=t.valueOf(),e(t))?t:y(t)&&(t=t.toString(),e(t))?t:n}function o(t,n){var e=typeof t;return null===t?(e="string",t="null"):"string"===e?t=t.toLowerCase():"object"===e&&(t=r(t,n)),{value:t,type:e}}function a(t,n){var e=0;return t.type===n.type?t.value!==n.value&&(e=t.value<n.value?-1:1):e=t.type<n.type?-1:1,e}return function(t,e,r){function u(t,n){return{value:t,predicateValues:l.map(function(e){return o(e.get(t),n)})}}function s(t,n){for(var e=0,r=0,i=l.length;r<i&&!(e=a(t.predicateValues[r],n.predicateValues[r])*l[r].descending);++r);return e}if(!i(t))return t;Fr(e)||(e=[e]),0===e.length&&(e=["+"]);var l=n(e,r);l.push({get:function(){return{}},descending:r?-1:1});var c=Array.prototype.map.call(t,u);return c.sort(s),t=c.map(function(t){return t.value})}}function Qe(t){return M(t)&&(t={link:t}),t.restrict=t.restrict||"AC",m(t)}function tr(t,n){t.$name=n}function nr(t,n,r,i,a){var u=this,s=[];u.$error={},u.$$success={},u.$pending=e,u.$name=a(n.name||n.ngForm||"")(r),u.$dirty=!1,u.$pristine=!0,u.$valid=!0,u.$invalid=!1,u.$submitted=!1,u.$$parentForm=go,u.$rollbackViewValue=function(){o(s,function(t){t.$rollbackViewValue()})},u.$commitViewValue=function(){o(s,function(t){t.$commitViewValue()})},u.$addControl=function(t){pt(t.$name,"input"),s.push(t),t.$name&&(u[t.$name]=t),t.$$parentForm=u},u.$$renameControl=function(t,n){var e=t.$name;u[e]===t&&delete u[e],u[n]=t,t.$name=n},u.$removeControl=function(t){t.$name&&u[t.$name]===t&&delete u[t.$name],o(u.$pending,function(n,e){u.$setValidity(e,null,t)}),o(u.$error,function(n,e){u.$setValidity(e,null,t)}),o(u.$$success,function(n,e){u.$setValidity(e,null,t)}),I(s,t),t.$$parentForm=go},gr({ctrl:this,$element:t,set:function(t,n,e){var r=t[n];if(r){var i=r.indexOf(e);i===-1&&r.push(e)}else t[n]=[e]},unset:function(t,n,e){var r=t[n];r&&(I(r,e),0===r.length&&delete t[n])},$animate:i}),u.$setDirty=function(){i.removeClass(t,Ko),i.addClass(t,Qo),u.$dirty=!0,u.$pristine=!1,u.$$parentForm.$setDirty()},u.$setPristine=function(){i.setClass(t,Ko,Qo+" "+mo),u.$dirty=!1,u.$pristine=!0,u.$submitted=!1,o(s,function(t){t.$setPristine()})},u.$setUntouched=function(){o(s,function(t){t.$setUntouched()})},u.$setSubmitted=function(){i.addClass(t,mo),u.$submitted=!0,u.$$parentForm.$setSubmitted()}}function er(t){t.$formatters.push(function(n){return t.$isEmpty(n)?n:n.toString()})}function rr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r)}function ir(t,n,e,r,i,o){var a=xr(n[0].type);if(!i.android){var u=!1;n.on("compositionstart",function(t){u=!0}),n.on("compositionend",function(){u=!1,s()})}var s=function(t){if(l&&(o.defer.cancel(l),l=null),!u){var i=n.val(),s=t&&t.type;"password"===a||e.ngTrim&&"false"===e.ngTrim||(i=zr(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,s)}};if(i.hasEvent("input"))n.on("input",s);else{var l,c=function(t,n,e){l||(l=o.defer(function(){l=null,n&&n.value===e||s(t)}))};n.on("keydown",function(t){var n=t.keyCode;91===n||15<n&&n<19||37<=n&&n<=40||c(t,this,this.value)}),i.hasEvent("paste")&&n.on("paste cut",c)}n.on("change",s),r.$render=function(){var t=r.$isEmpty(r.$viewValue)?"":r.$viewValue;n.val()!==t&&n.val(t)}}function or(t,n){if(_(t))return t;if(C(t)){ko.lastIndex=0;var e=ko.exec(t);if(e){var r=+e[1],i=+e[2],o=0,a=0,u=0,s=0,l=Be(r),c=7*(i-1);return n&&(o=n.getHours(),a=n.getMinutes(),u=n.getSeconds(),s=n.getMilliseconds()),new Date(r,0,l.getDate()+c,o,a,u,s)}}return NaN}function ar(t,n){return function(e,r){var i,a;if(_(e))return e;if(C(e)){if('"'==e.charAt(0)&&'"'==e.charAt(e.length-1)&&(e=e.substring(1,e.length-1)),bo.test(e))return new Date(e);if(t.lastIndex=0,i=t.exec(e))return i.shift(),a=r?{yyyy:r.getFullYear(),MM:r.getMonth()+1,dd:r.getDate(),HH:r.getHours(),mm:r.getMinutes(),ss:r.getSeconds(),sss:r.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},o(i,function(t,e){e<n.length&&(a[n[e]]=+t)}),new Date(a.yyyy,a.MM-1,a.dd,a.HH,a.mm,a.ss||0,1e3*a.sss||0)}return NaN}}function ur(t,n,r,i){return function(o,a,u,s,l,c,f){function h(t){return t&&!(t.getTime&&t.getTime()!==t.getTime())}function p(t){return x(t)&&!_(t)?r(t)||e:t}sr(o,a,u,s),ir(o,a,u,s,l,c);var d,v=s&&s.$options&&s.$options.timezone;if(s.$$parserName=t,s.$parsers.push(function(t){if(s.$isEmpty(t))return null;if(n.test(t)){var i=r(t,d);return v&&(i=J(i,v)),i}return e}),s.$formatters.push(function(t){if(t&&!_(t))throw ra("datefmt","Expected `{0}` to be a date",t);return h(t)?(d=t,d&&v&&(d=J(d,v,!0)),f("date")(t,i,v)):(d=null,"")}),x(u.min)||u.ngMin){var g;s.$validators.min=function(t){return!h(t)||$(g)||r(t)>=g},u.$observe("min",function(t){g=p(t),s.$validate()})}if(x(u.max)||u.ngMax){var m;s.$validators.max=function(t){return!h(t)||$(m)||r(t)<=m},u.$observe("max",function(t){m=p(t),s.$validate()})}}}function sr(t,n,r,i){var o=n[0],a=i.$$hasNativeValidators=b(o.validity);a&&i.$parsers.push(function(t){var r=n.prop($r)||{};return r.badInput&&!r.typeMismatch?e:t})}function lr(t,n,r,i,o,a){if(sr(t,n,r,i),ir(t,n,r,i,o,a),i.$$parserName="number",i.$parsers.push(function(t){return i.$isEmpty(t)?null:So.test(t)?parseFloat(t):e}),i.$formatters.push(function(t){if(!i.$isEmpty(t)){if(!S(t))throw ra("numfmt","Expected `{0}` to be a number",t);t=t.toString()}return t}),x(r.min)||r.ngMin){var u;i.$validators.min=function(t){return i.$isEmpty(t)||$(u)||t>=u},r.$observe("min",function(t){x(t)&&!S(t)&&(t=parseFloat(t,10)),u=S(t)&&!isNaN(t)?t:e,i.$validate()})}if(x(r.max)||r.ngMax){var s;i.$validators.max=function(t){return i.$isEmpty(t)||$(s)||t<=s},r.$observe("max",function(t){x(t)&&!S(t)&&(t=parseFloat(t,10)),s=S(t)&&!isNaN(t)?t:e,i.$validate()})}}function cr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r),r.$$parserName="url",r.$validators.url=function(t,n){var e=t||n;return r.$isEmpty(e)||wo.test(e)}}function fr(t,n,e,r,i,o){ir(t,n,e,r,i,o),er(r),r.$$parserName="email",r.$validators.email=function(t,n){var e=t||n;return r.$isEmpty(e)||Co.test(e)}}function hr(t,n,e,r){$(e.name)&&n.attr("name",s());var i=function(t){n[0].checked&&r.$setViewValue(e.value,t&&t.type)};n.on("click",i),r.$render=function(){var t=e.value;n[0].checked=t==r.$viewValue},e.$observe("value",r.$render)}function pr(t,n,e,r,i){var o;if(x(r)){if(o=t(r),!o.constant)throw ra("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",e,r);return o(n)}return i}function dr(t,n,e,r,i,o,a,u){var s=pr(u,t,"ngTrueValue",e.ngTrueValue,!0),l=pr(u,t,"ngFalseValue",e.ngFalseValue,!1),c=function(t){r.$setViewValue(n[0].checked,t&&t.type)};n.on("click",c),r.$render=function(){n[0].checked=r.$viewValue},r.$isEmpty=function(t){return t===!1},r.$formatters.push(function(t){return V(t,s)}),r.$parsers.push(function(t){return t?s:l})}function vr(t,n){return t="ngClass"+t,["$animate",function(e){function r(t,n){var e=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],o=0;o<n.length;o++)if(i==n[o])continue t;e.push(i)}return e}function i(t){var n=[];return Fr(t)?(o(t,function(t){n=n.concat(i(t))}),n):C(t)?t.split(" "):b(t)?(o(t,function(t,e){t&&(n=n.concat(e.split(" ")))}),n):t}return{restrict:"AC",link:function(a,u,s){function l(t){var n=f(t,1);s.$addClass(n)}function c(t){var n=f(t,-1);s.$removeClass(n)}function f(t,n){var e=u.data("$classCounts")||gt(),r=[];return o(t,function(t){(n>0||e[t])&&(e[t]=(e[t]||0)+n,e[t]===+(n>0)&&r.push(t))}),u.data("$classCounts",e),r.join(" ")}function h(t,n){var i=r(n,t),o=r(t,n);i=f(i,1),o=f(o,-1),i&&i.length&&e.addClass(u,i),o&&o.length&&e.removeClass(u,o)}function p(t){if(n===!0||a.$index%2===n){var e=i(t||[]);if(d){if(!V(t,d)){var r=i(d);h(r,e)}}else l(e)}d=q(t)}var d;a.$watch(s[t],p,!0),s.$observe("class",function(n){p(a.$eval(s[t]))}),"ngClass"!==t&&a.$watch("$index",function(e,r){var o=1&e;if(o!==(1&r)){var u=i(a.$eval(s[t]));o===n?l(u):c(u)}})}}}]}function gr(t){function n(t,n,s){$(n)?r("$pending",t,s):i("$pending",t,s),L(n)?n?(f(u.$error,t,s),c(u.$$success,t,s)):(c(u.$error,t,s),f(u.$$success,t,s)):(f(u.$error,t,s),f(u.$$success,t,s)),u.$pending?(o(ea,!0),u.$valid=u.$invalid=e,a("",null)):(o(ea,!1),u.$valid=mr(u.$error),u.$invalid=!u.$valid,a("",u.$valid));var l;l=u.$pending&&u.$pending[t]?e:!u.$error[t]&&(!!u.$$success[t]||null),a(t,l),u.$$parentForm.$setValidity(t,l,u)}function r(t,n,e){u[t]||(u[t]={}),c(u[t],n,e)}function i(t,n,r){u[t]&&f(u[t],n,r),mr(u[t])&&(u[t]=e)}function o(t,n){n&&!l[t]?(h.addClass(s,t),l[t]=!0):!n&&l[t]&&(h.removeClass(s,t),l[t]=!1)}function a(t,n){t=t?"-"+lt(t,"-"):"",o(Zo+t,n===!0),o(Jo+t,n===!1)}var u=t.ctrl,s=t.$element,l={},c=t.set,f=t.unset,h=t.$animate;l[Jo]=!(l[Zo]=s.hasClass(Zo)),u.$setValidity=n}function mr(t){if(t)for(var n in t)if(t.hasOwnProperty(n))return!1;return!0}var yr=/^\/(.+)\/([a-z]*)$/,$r="validity",xr=function(t){return C(t)?t.toLowerCase():t},br=Object.prototype.hasOwnProperty,wr=function(t){return C(t)?t.toUpperCase():t},Cr=function(t){return C(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},Sr=function(t){return C(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(t.charCodeAt(0)&-33)}):t};"i"!=="I".toLowerCase()&&(xr=Cr,wr=Sr);var _r,Mr,kr,Ar,Er=[].slice,Pr=[].splice,Or=[].push,Tr=Object.prototype.toString,Lr=Object.getPrototypeOf,jr=r("ng"),Nr=t.angular||(t.angular={}),Rr=0;_r=n.documentMode,v.$inject=[],g.$inject=[];var Dr,Fr=Array.isArray,Ir=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,zr=function(t){return C(t)?t.trim():t},qr=function(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},Vr=function(){function t(){try{return new Function(""),!1}catch(t){return!0}}if(!x(Vr.rules)){var e=n.querySelector("[ng-csp]")||n.querySelector("[data-ng-csp]");if(e){var r=e.getAttribute("ng-csp")||e.getAttribute("data-ng-csp");Vr.rules={noUnsafeEval:!r||r.indexOf("no-unsafe-eval")!==-1,noInlineStyle:!r||r.indexOf("no-inline-style")!==-1}}else Vr.rules={noUnsafeEval:t(),noInlineStyle:!1}}return Vr.rules},Br=function(){if(x(Br.name_))return Br.name_;var t,e,r,i,o=Wr.length;for(e=0;e<o;++e)if(r=Wr[e],t=n.querySelector("["+r.replace(":","\\:")+"jq]")){i=t.getAttribute(r+"jq");break}return Br.name_=i},Wr=["ng-","data-ng-","ng:","x-ng-"],Ur=/[A-Z]/g,Hr=!1,Yr=1,Gr=2,Xr=3,Zr=8,Jr=9,Kr=11,Qr={full:"1.4.7",major:1,minor:4,dot:7,codeName:"dark-luminescence"};At.expando="ng339";var ti=At.cache={},ni=1,ei=function(t,n,e){t.addEventListener(n,e,!1)},ri=function(t,n,e){t.removeEventListener(n,e,!1)};At._data=function(t){return this.cache[t[this.expando]]||{}};var ii=/([\:\-\_]+(.))/g,oi=/^moz([A-Z])/,ai={mouseleave:"mouseout",mouseenter:"mouseover"},ui=r("jqLite"),si=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,li=/<|&#?\w+;/,ci=/<([\w:-]+)/,fi=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,hi={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};hi.optgroup=hi.option,hi.tbody=hi.tfoot=hi.colgroup=hi.caption=hi.thead,hi.th=hi.td;var pi=At.prototype={ready:function(e){function r(){i||(i=!0,e())}var i=!1;"complete"===n.readyState?setTimeout(r):(this.on("DOMContentLoaded",r),At(t).on("load",r))},toString:function(){var t=[];return o(this,function(n){t.push(""+n)}),"["+t.join(", ")+"]"},eq:function(t){return Mr(t>=0?this[t]:this[this.length+t])},length:0,push:Or,sort:[].sort,splice:[].splice},di={};o("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){di[xr(t)]=t});var vi={};o("input,select,option,textarea,button,form,details".split(","),function(t){vi[t]=!0});var gi={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};o({data:jt,removeData:Tt,hasData:_t},function(t,n){At[n]=t}),o({data:jt,inheritedData:zt,scope:function(t){return Mr.data(t,"$scope")||zt(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return Mr.data(t,"$isolateScope")||Mr.data(t,"$isolateScopeNoTemplate")},controller:It,injector:function(t){return zt(t,"$injector")},removeAttr:function(t,n){t.removeAttribute(n)},hasClass:Nt,css:function(t,n,e){return n=wt(n),x(e)?void(t.style[n]=e):t.style[n]},attr:function(t,n,r){var i=t.nodeType;if(i!==Xr&&i!==Gr&&i!==Zr){var o=xr(n);if(di[o]){if(!x(r))return t[n]||(t.attributes.getNamedItem(n)||v).specified?o:e;r?(t[n]=!0,t.setAttribute(n,o)):(t[n]=!1,t.removeAttribute(o))}else if(x(r))t.setAttribute(n,r);else if(t.getAttribute){var a=t.getAttribute(n,2);return null===a?e:a}}},prop:function(t,n,e){return x(e)?void(t[n]=e):t[n]},text:function(){function t(t,n){
-if($(n)){var e=t.nodeType;return e===Yr||e===Xr?t.textContent:""}t.textContent=n}return t.$dv="",t}(),val:function(t,n){if($(n)){if(t.multiple&&"select"===F(t)){var e=[];return o(t.options,function(t){t.selected&&e.push(t.value||t.text)}),0===e.length?null:e}return t.value}t.value=n},html:function(t,n){return $(n)?t.innerHTML:(Pt(t,!0),void(t.innerHTML=n))},empty:qt},function(t,n){At.prototype[n]=function(n,e){var r,i,o=this.length;if(t!==qt&&$(2==t.length&&t!==Nt&&t!==It?n:e)){if(b(n)){for(r=0;r<o;r++)if(t===jt)t(this[r],n);else for(i in n)t(this[r],i,n[i]);return this}for(var a=t.$dv,u=$(a)?Math.min(o,1):o,s=0;s<u;s++){var l=t(this[s],n,e);a=a?a+l:l}return a}for(r=0;r<o;r++)t(this[r],n,e);return this}}),o({removeData:Tt,on:function La(t,n,e,r){if(x(r))throw ui("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(St(t)){var i=Lt(t,!0),o=i.events,a=i.handle;a||(a=i.handle=Ht(t,o));for(var u=n.indexOf(" ")>=0?n.split(" "):[n],s=u.length;s--;){n=u[s];var l=o[n];l||(o[n]=[],"mouseenter"===n||"mouseleave"===n?La(t,ai[n],function(t){var e=this,r=t.relatedTarget;r&&(r===e||e.contains(r))||a(t,n)}):"$destroy"!==n&&ei(t,n,a),l=o[n]),l.push(e)}}},off:Ot,one:function(t,n,e){t=Mr(t),t.on(n,function r(){t.off(n,e),t.off(n,r)}),t.on(n,e)},replaceWith:function(t,n){var e,r=t.parentNode;Pt(t),o(new At(n),function(n){e?r.insertBefore(n,e.nextSibling):r.replaceChild(n,t),e=n})},children:function(t){var n=[];return o(t.childNodes,function(t){t.nodeType===Yr&&n.push(t)}),n},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,n){var e=t.nodeType;if(e===Yr||e===Kr){n=new At(n);for(var r=0,i=n.length;r<i;r++){var o=n[r];t.appendChild(o)}}},prepend:function(t,n){if(t.nodeType===Yr){var e=t.firstChild;o(new At(n),function(n){t.insertBefore(n,e)})}},wrap:function(t,n){n=Mr(n).eq(0).clone()[0];var e=t.parentNode;e&&e.replaceChild(n,t),n.appendChild(t)},remove:Vt,detach:function(t){Vt(t,!0)},after:function(t,n){var e=t,r=t.parentNode;n=new At(n);for(var i=0,o=n.length;i<o;i++){var a=n[i];r.insertBefore(a,e.nextSibling),e=a}},addClass:Dt,removeClass:Rt,toggleClass:function(t,n,e){n&&o(n.split(" "),function(n){var r=e;$(r)&&(r=!Nt(t,n)),(r?Dt:Rt)(t,n)})},parent:function(t){var n=t.parentNode;return n&&n.nodeType!==Kr?n:null},next:function(t){return t.nextElementSibling},find:function(t,n){return t.getElementsByTagName?t.getElementsByTagName(n):[]},clone:Et,triggerHandler:function(t,n,e){var r,i,a,u=n.type||n,s=Lt(t),l=s&&s.events,c=l&&l[u];c&&(r={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:v,type:u,target:t},n.type&&(r=f(r,n)),i=q(c),a=e?[r].concat(e):[r],o(i,function(n){r.isImmediatePropagationStopped()||n.apply(t,a)}))}},function(t,n){At.prototype[n]=function(n,e,r){for(var i,o=0,a=this.length;o<a;o++)$(i)?(i=t(this[o],n,e,r),x(i)&&(i=Mr(i))):Ft(i,t(this[o],n,e,r));return x(i)?i:this},At.prototype.bind=At.prototype.on,At.prototype.unbind=At.prototype.off}),Xt.prototype={put:function(t,n){this[Gt(t,this.nextUid)]=n},get:function(t){return this[Gt(t,this.nextUid)]},remove:function(t){var n=this[t=Gt(t,this.nextUid)];return delete this[t],n}};var mi=[function(){this.$get=[function(){return Xt}]}],yi=/^[^\(]*\(\s*([^\)]*)\)/m,$i=/,/,xi=/^\s*(_?)(\S+?)\1\s*$/,bi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,wi=r("$injector");Kt.$$annotate=Jt;var Ci=r("$animate"),Si=1,_i="ng-animate",Mi=function(){this.$get=["$q","$$rAF",function(t,n){function e(){}return e.all=v,e.chain=v,e.prototype={end:v,cancel:v,resume:v,pause:v,complete:v,then:function(e,r){return t(function(t){n(function(){t()})}).then(e,r)}},e}]},ki=function(){var t=new Xt,n=[];this.$get=["$$AnimateRunner","$rootScope",function(e,r){function i(t,n,e){var r=!1;return n&&(n=C(n)?n.split(" "):Fr(n)?n:[],o(n,function(n){n&&(r=!0,t[n]=e)})),r}function a(){o(n,function(n){var e=t.get(n);if(e){var r=en(n.attr("class")),i="",a="";o(e,function(t,n){var e=!!r[n];t!==e&&(t?i+=(i.length?" ":"")+n:a+=(a.length?" ":"")+n)}),o(n,function(t){i&&Dt(t,i),a&&Rt(t,a)}),t.remove(n)}}),n.length=0}function u(e,o,u){var s=t.get(e)||{},l=i(s,o,!0),c=i(s,u,!1);(l||c)&&(t.put(e,s),n.push(e),1===n.length&&r.$$postDigest(a))}return{enabled:v,on:v,off:v,pin:v,push:function(t,n,r,i){return i&&i(),r=r||{},r.from&&t.css(r.from),r.to&&t.css(r.to),(r.addClass||r.removeClass)&&u(t,r.addClass,r.removeClass),new e}}}]},Ai=["$provide",function(t){var n=this;this.$$registeredAnimations=Object.create(null),this.register=function(e,r){if(e&&"."!==e.charAt(0))throw Ci("notcsel","Expecting class selector starting with '.' got '{0}'.",e);var i=e+"-animation";n.$$registeredAnimations[e.substr(1)]=i,t.factory(i,r)},this.classNameFilter=function(t){if(1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null,this.$$classNameFilter)){var n=new RegExp("(\\s+|\\/)"+_i+"(\\s+|\\/)");if(n.test(this.$$classNameFilter.toString()))throw Ci("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',_i)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(t){function n(t,n,e){if(e){var r=nn(e);!r||r.parentNode||r.previousElementSibling||(e=null)}e?e.after(t):n.prepend(t)}return{on:t.on,off:t.off,pin:t.pin,enabled:t.enabled,cancel:function(t){t.end&&t.end()},enter:function(e,r,i,o){return r=r&&Mr(r),i=i&&Mr(i),r=r||i.parent(),n(e,r,i),t.push(e,"enter",rn(o))},move:function(e,r,i,o){return r=r&&Mr(r),i=i&&Mr(i),r=r||i.parent(),n(e,r,i),t.push(e,"move",rn(o))},leave:function(n,e){return t.push(n,"leave",rn(e),function(){n.remove()})},addClass:function(n,e,r){return r=rn(r),r.addClass=tn(r.addclass,e),t.push(n,"addClass",r)},removeClass:function(n,e,r){return r=rn(r),r.removeClass=tn(r.removeClass,e),t.push(n,"removeClass",r)},setClass:function(n,e,r,i){return i=rn(i),i.addClass=tn(i.addClass,e),i.removeClass=tn(i.removeClass,r),t.push(n,"setClass",i)},animate:function(n,e,r,i,o){return o=rn(o),o.from=o.from?f(o.from,e):e,o.to=o.to?f(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=tn(o.tempClasses,i),t.push(n,"animate",o)}}}]}],Ei=function(){this.$get=["$$rAF","$q",function(t,n){var e=function(){};return e.prototype={done:function(t){this.defer&&this.defer[t===!0?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){return this.defer||(this.defer=n.defer()),this.defer.promise},then:function(t,n){return this.getPromise().then(t,n)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)}},function(n,r){function i(){return t(function(){o(),a||u.done(),a=!0}),u}function o(){r.addClass&&(n.addClass(r.addClass),r.addClass=null),r.removeClass&&(n.removeClass(r.removeClass),r.removeClass=null),r.to&&(n.css(r.to),r.to=null)}r.cleanupStyles&&(r.from=r.to=null),r.from&&(n.css(r.from),r.from=null);var a,u=new e;return{start:i,end:i}}}]},Pi=r("$compile");ln.$inject=["$provide","$$sanitizeUriProvider"];var Oi=/^((?:x|data)[\:\-_])/i,Ti=r("$controller"),Li=/^(\S+)(\s+as\s+(\w+))?$/,ji=function(){this.$get=["$document",function(t){return function(n){return n?!n.nodeType&&n instanceof Mr&&(n=n[0]):n=t[0].body,n.offsetWidth+1}}]},Ni="application/json",Ri={"Content-Type":Ni+";charset=utf-8"},Di=/^\[|^\{(?!\{)/,Fi={"[":/]$/,"{":/}$/},Ii=/^\)\]\}',?\n/,zi=r("$http"),qi=function(t){return function(){throw zi("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",t)}},Vi=Nr.$interpolateMinErr=r("$interpolate");Vi.throwNoconcat=function(t){throw Vi("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",t)},Vi.interr=function(t,n){return Vi("interr","Can't interpolate: {0}\n{1}",t,n.toString())};var Bi=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Wi={http:80,https:443,ftp:21},Ui=r("$location"),Hi={$$html5:!1,$$replace:!1,absUrl:Bn("$$absUrl"),url:function(t){if($(t))return this.$$url;var n=Bi.exec(t);return(n[1]||""===t)&&this.path(decodeURIComponent(n[1])),(n[2]||n[1]||""===t)&&this.search(n[3]||""),this.hash(n[5]||""),this},protocol:Bn("$$protocol"),host:Bn("$$host"),port:Bn("$$port"),path:Wn("$$path",function(t){return t=null!==t?t.toString():"","/"==t.charAt(0)?t:"/"+t}),search:function(t,n){switch(arguments.length){case 0:return this.$$search;case 1:if(C(t)||S(t))t=t.toString(),this.$$search=tt(t);else{if(!b(t))throw Ui("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");t=z(t,{}),o(t,function(n,e){null==n&&delete t[e]}),this.$$search=t}break;default:$(n)||null===n?delete this.$$search[t]:this.$$search[t]=n}return this.$$compose(),this},hash:Wn("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};o([Vn,qn,zn],function(t){t.prototype=Object.create(Hi),t.prototype.state=function(n){if(!arguments.length)return this.$$state;if(t!==zn||!this.$$html5)throw Ui("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=$(n)?null:n,this}});var Yi=r("$parse"),Gi=Function.prototype.call,Xi=Function.prototype.apply,Zi=Function.prototype.bind,Ji=gt();o("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(t){Ji[t]=!0});var Ki={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},Qi=function(t){this.options=t};Qi.prototype={constructor:Qi,lex:function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){var n=this.text.charAt(this.index);if('"'===n||"'"===n)this.readString(n);else if(this.isNumber(n)||"."===n&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(n))this.readIdent();else if(this.is(n,"(){}[].,;:?"))this.tokens.push({index:this.index,text:n}),this.index++;else if(this.isWhitespace(n))this.index++;else{var e=n+this.peek(),r=e+this.peek(2),i=Ji[n],o=Ji[e],a=Ji[r];if(i||o||a){var u=a?r:o?e:n;this.tokens.push({index:this.index,text:u,operator:!0}),this.index+=u.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(t,n){return n.indexOf(t)!==-1},peek:function(t){var n=t||1;return this.index+n<this.text.length&&this.text.charAt(this.index+n)},isNumber:function(t){return"0"<=t&&t<="9"&&"string"==typeof t},isWhitespace:function(t){return" "===t||"\r"===t||"\t"===t||"\n"===t||"\x0B"===t||" "===t},isIdent:function(t){return"a"<=t&&t<="z"||"A"<=t&&t<="Z"||"_"===t||"$"===t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,n,e){e=e||this.index;var r=x(n)?"s "+n+"-"+this.index+" ["+this.text.substring(n,e)+"]":" "+e;throw Yi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",n=this.index;this.index<this.text.length;){var e=xr(this.text.charAt(this.index));if("."==e||this.isNumber(e))t+=e;else{var r=this.peek();if("e"==e&&this.isExpOperator(r))t+=e;else if(this.isExpOperator(e)&&r&&this.isNumber(r)&&"e"==t.charAt(t.length-1))t+=e;else{if(!this.isExpOperator(e)||r&&this.isNumber(r)||"e"!=t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:n,text:t,constant:!0,value:Number(t)})},readIdent:function(){for(var t=this.index;this.index<this.text.length;){var n=this.text.charAt(this.index);if(!this.isIdent(n)&&!this.isNumber(n))break;this.index++}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(t){var n=this.index;this.index++;for(var e="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,e+=String.fromCharCode(parseInt(a,16))}else{var u=Ki[o];e+=u||o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:n,text:r,constant:!0,value:e});e+=o}this.index++}this.throwError("Unterminated quote",n)}};var to=function(t,n){this.lexer=t,this.options=n};to.Program="Program",to.ExpressionStatement="ExpressionStatement",to.AssignmentExpression="AssignmentExpression",to.ConditionalExpression="ConditionalExpression",to.LogicalExpression="LogicalExpression",to.BinaryExpression="BinaryExpression",to.UnaryExpression="UnaryExpression",to.CallExpression="CallExpression",to.MemberExpression="MemberExpression",to.Identifier="Identifier",to.Literal="Literal",to.ArrayExpression="ArrayExpression",to.Property="Property",to.ObjectExpression="ObjectExpression",to.ThisExpression="ThisExpression",to.NGValueParameter="NGValueParameter",to.prototype={ast:function(t){this.text=t,this.tokens=this.lexer.lex(t);var n=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),n},program:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.expressionStatement()),!this.expect(";"))return{type:to.Program,body:t}},expressionStatement:function(){return{type:to.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var t,n=this.expression();t=this.expect("|");)n=this.filter(n);return n},expression:function(){return this.assignment()},assignment:function(){var t=this.ternary();return this.expect("=")&&(t={type:to.AssignmentExpression,left:t,right:this.assignment(),operator:"="}),t},ternary:function(){var t,n,e=this.logicalOR();return this.expect("?")&&(t=this.expression(),this.consume(":"))?(n=this.expression(),{type:to.ConditionalExpression,test:e,alternate:t,consequent:n}):e},logicalOR:function(){for(var t=this.logicalAND();this.expect("||");)t={type:to.LogicalExpression,operator:"||",left:t,right:this.logicalAND()};return t},logicalAND:function(){for(var t=this.equality();this.expect("&&");)t={type:to.LogicalExpression,operator:"&&",left:t,right:this.equality()};return t},equality:function(){for(var t,n=this.relational();t=this.expect("==","!=","===","!==");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.relational()};return n},relational:function(){for(var t,n=this.additive();t=this.expect("<",">","<=",">=");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.additive()};return n},additive:function(){for(var t,n=this.multiplicative();t=this.expect("+","-");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.multiplicative()};return n},multiplicative:function(){for(var t,n=this.unary();t=this.expect("*","/","%");)n={type:to.BinaryExpression,operator:t.text,left:n,right:this.unary()};return n},unary:function(){var t;return(t=this.expect("+","-","!"))?{type:to.UnaryExpression,operator:t.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var t;this.expect("(")?(t=this.filterChain(),this.consume(")")):this.expect("[")?t=this.arrayDeclaration():this.expect("{")?t=this.object():this.constants.hasOwnProperty(this.peek().text)?t=z(this.constants[this.consume().text]):this.peek().identifier?t=this.identifier():this.peek().constant?t=this.constant():this.throwError("not a primary expression",this.peek());for(var n;n=this.expect("(","[",".");)"("===n.text?(t={type:to.CallExpression,callee:t,arguments:this.parseArguments()},this.consume(")")):"["===n.text?(t={type:to.MemberExpression,object:t,property:this.expression(),computed:!0},this.consume("]")):"."===n.text?t={type:to.MemberExpression,object:t,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return t},filter:function(t){for(var n=[t],e={type:to.CallExpression,callee:this.identifier(),arguments:n,filter:!0};this.expect(":");)n.push(this.expression());return e},parseArguments:function(){var t=[];if(")"!==this.peekToken().text)do t.push(this.expression());while(this.expect(","));return t},identifier:function(){var t=this.consume();return t.identifier||this.throwError("is not a valid identifier",t),{type:to.Identifier,name:t.text}},constant:function(){return{type:to.Literal,value:this.consume().value}},arrayDeclaration:function(){var t=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;t.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:to.ArrayExpression,elements:t}},object:function(){var t,n=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:to.Property,kind:"init"},this.peek().constant?t.key=this.constant():this.peek().identifier?t.key=this.identifier():this.throwError("invalid key",this.peek()),this.consume(":"),t.value=this.expression(),n.push(t)}while(this.expect(","));return this.consume("}"),{type:to.ObjectExpression,properties:n}},throwError:function(t,n){throw Yi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",n.text,t,n.index+1,this.text,this.text.substring(n.index))},consume:function(t){if(0===this.tokens.length)throw Yi("ueoe","Unexpected end of expression: {0}",this.text);var n=this.expect(t);return n||this.throwError("is unexpected, expecting ["+t+"]",this.peek()),n},peekToken:function(){if(0===this.tokens.length)throw Yi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,n,e,r){return this.peekAhead(0,t,n,e,r)},peekAhead:function(t,n,e,r,i){if(this.tokens.length>t){var o=this.tokens[t],a=o.text;if(a===n||a===e||a===r||a===i||!n&&!e&&!r&&!i)return o}return!1},expect:function(t,n,e,r){var i=this.peek(t,n,e,r);return!!i&&(this.tokens.shift(),i)},constants:{"true":{type:to.Literal,value:!0},"false":{type:to.Literal,value:!1},"null":{type:to.Literal,value:null},undefined:{type:to.Literal,value:e},"this":{type:to.ThisExpression}}},ue.prototype={compile:function(t,n){var r=this,i=this.astBuilder.ast(t);this.state={nextId:0,filters:{},expensiveChecks:n,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},ne(i,r.$filter);var a,u="";if(this.stage="assign",a=ie(i)){this.state.computing="assign";var s=this.nextId();this.recurse(a,s),this.return_(s),u="fn.assign="+this.generateFunction("assign","s,v,l")}var l=ee(i.body);r.stage="inputs",o(l,function(t,n){var e="fn"+n;r.state[e]={vars:[],body:[],own:{}},r.state.computing=e;var i=r.nextId();r.recurse(t,i),r.return_(i),r.state.inputs.push(e),t.watchId=n}),this.state.computing="fn",this.stage="main",this.recurse(i);var c='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+u+this.watchFns()+"return fn;",f=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",c)(this.$filter,Yn,Xn,Zn,Gn,Jn,Kn,Qn,t);return this.state=this.stage=e,f.literal=oe(i),f.constant=ae(i),f},USE:"use",STRICT:"strict",watchFns:function(){var t=[],n=this.state.inputs,e=this;return o(n,function(n){t.push("var "+n+"="+e.generateFunction(n,"s"))}),n.length&&t.push("fn.inputs=["+n.join(",")+"];"),t.join("")},generateFunction:function(t,n){return"function("+n+"){"+this.varsPrefix(t)+this.body(t)+"};"},filterPrefix:function(){var t=[],n=this;return o(this.state.filters,function(e,r){t.push(e+"=$filter("+n.escape(r)+")")}),t.length?"var "+t.join(",")+";":""},varsPrefix:function(t){return this.state[t].vars.length?"var "+this.state[t].vars.join(",")+";":""},body:function(t){return this.state[t].body.join("")},recurse:function(t,n,r,i,a,u){var s,l,c,f,h=this;if(i=i||v,!u&&x(t.watchId))return n=n||this.nextId(),void this.if_("i",this.lazyAssign(n,this.computedMember("i",t.watchId)),this.lazyRecurse(t,n,r,i,a,!0));switch(t.type){case to.Program:o(t.body,function(n,r){h.recurse(n.expression,e,e,function(t){l=t}),r!==t.body.length-1?h.current().body.push(l,";"):h.return_(l)});break;case to.Literal:f=this.escape(t.value),this.assign(n,f),i(f);break;case to.UnaryExpression:this.recurse(t.argument,e,e,function(t){l=t}),f=t.operator+"("+this.ifDefined(l,0)+")",this.assign(n,f),i(f);break;case to.BinaryExpression:this.recurse(t.left,e,e,function(t){s=t}),this.recurse(t.right,e,e,function(t){l=t}),f="+"===t.operator?this.plus(s,l):"-"===t.operator?this.ifDefined(s,0)+t.operator+this.ifDefined(l,0):"("+s+")"+t.operator+"("+l+")",this.assign(n,f),i(f);break;case to.LogicalExpression:n=n||this.nextId(),h.recurse(t.left,n),h.if_("&&"===t.operator?n:h.not(n),h.lazyRecurse(t.right,n)),i(n);break;case to.ConditionalExpression:n=n||this.nextId(),h.recurse(t.test,n),h.if_(n,h.lazyRecurse(t.alternate,n),h.lazyRecurse(t.consequent,n)),i(n);break;case to.Identifier:n=n||this.nextId(),r&&(r.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",t.name)+"?l:s"),r.computed=!1,r.name=t.name),Yn(t.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",t.name)),function(){h.if_("inputs"===h.stage||"s",function(){a&&1!==a&&h.if_(h.not(h.nonComputedMember("s",t.name)),h.lazyAssign(h.nonComputedMember("s",t.name),"{}")),h.assign(n,h.nonComputedMember("s",t.name))})},n&&h.lazyAssign(n,h.nonComputedMember("l",t.name))),(h.state.expensiveChecks||le(t.name))&&h.addEnsureSafeObject(n),i(n);break;case to.MemberExpression:s=r&&(r.context=this.nextId())||this.nextId(),n=n||this.nextId(),h.recurse(t.object,s,e,function(){h.if_(h.notNull(s),function(){t.computed?(l=h.nextId(),h.recurse(t.property,l),h.getStringValue(l),h.addEnsureSafeMemberName(l),a&&1!==a&&h.if_(h.not(h.computedMember(s,l)),h.lazyAssign(h.computedMember(s,l),"{}")),f=h.ensureSafeObject(h.computedMember(s,l)),h.assign(n,f),r&&(r.computed=!0,r.name=l)):(Yn(t.property.name),a&&1!==a&&h.if_(h.not(h.nonComputedMember(s,t.property.name)),h.lazyAssign(h.nonComputedMember(s,t.property.name),"{}")),f=h.nonComputedMember(s,t.property.name),(h.state.expensiveChecks||le(t.property.name))&&(f=h.ensureSafeObject(f)),h.assign(n,f),r&&(r.computed=!1,r.name=t.property.name))},function(){h.assign(n,"undefined")}),i(n)},!!a);break;case to.CallExpression:n=n||this.nextId(),t.filter?(l=h.filter(t.callee.name),c=[],o(t.arguments,function(t){var n=h.nextId();h.recurse(t,n),c.push(n)}),f=l+"("+c.join(",")+")",h.assign(n,f),i(n)):(l=h.nextId(),s={},c=[],h.recurse(t.callee,l,s,function(){h.if_(h.notNull(l),function(){h.addEnsureSafeFunction(l),o(t.arguments,function(t){h.recurse(t,h.nextId(),e,function(t){c.push(h.ensureSafeObject(t))})}),s.name?(h.state.expensiveChecks||h.addEnsureSafeObject(s.context),f=h.member(s.context,s.name,s.computed)+"("+c.join(",")+")"):f=l+"("+c.join(",")+")",f=h.ensureSafeObject(f),h.assign(n,f)},function(){h.assign(n,"undefined")}),i(n)}));break;case to.AssignmentExpression:if(l=this.nextId(),s={},!re(t.left))throw Yi("lval","Trying to assing a value to a non l-value");this.recurse(t.left,e,s,function(){h.if_(h.notNull(s.context),function(){h.recurse(t.right,l),h.addEnsureSafeObject(h.member(s.context,s.name,s.computed)),h.addEnsureSafeAssignContext(s.context),f=h.member(s.context,s.name,s.computed)+t.operator+l,h.assign(n,f),i(n||f)})},1);break;case to.ArrayExpression:c=[],o(t.elements,function(t){h.recurse(t,h.nextId(),e,function(t){c.push(t)})}),f="["+c.join(",")+"]",this.assign(n,f),i(f);break;case to.ObjectExpression:c=[],o(t.properties,function(t){h.recurse(t.value,h.nextId(),e,function(n){c.push(h.escape(t.key.type===to.Identifier?t.key.name:""+t.key.value)+":"+n)})}),f="{"+c.join(",")+"}",this.assign(n,f),i(f);break;case to.ThisExpression:this.assign(n,"s"),i("s");break;case to.NGValueParameter:this.assign(n,"v"),i("v")}},getHasOwnProperty:function(t,n){var e=t+"."+n,r=this.current().own;return r.hasOwnProperty(e)||(r[e]=this.nextId(!1,t+"&&("+this.escape(n)+" in "+t+")")),r[e]},assign:function(t,n){if(t)return this.current().body.push(t,"=",n,";"),t},filter:function(t){return this.state.filters.hasOwnProperty(t)||(this.state.filters[t]=this.nextId(!0)),this.state.filters[t]},ifDefined:function(t,n){return"ifDefined("+t+","+this.escape(n)+")"},plus:function(t,n){return"plus("+t+","+n+")"},return_:function(t){this.current().body.push("return ",t,";")},if_:function(t,n,e){if(t===!0)n();else{var r=this.current().body;r.push("if(",t,"){"),n(),r.push("}"),e&&(r.push("else{"),e(),r.push("}"))}},not:function(t){return"!("+t+")"},notNull:function(t){return t+"!=null"},nonComputedMember:function(t,n){return t+"."+n},computedMember:function(t,n){return t+"["+n+"]"},member:function(t,n,e){return e?this.computedMember(t,n):this.nonComputedMember(t,n)},addEnsureSafeObject:function(t){this.current().body.push(this.ensureSafeObject(t),";")},addEnsureSafeMemberName:function(t){this.current().body.push(this.ensureSafeMemberName(t),";")},addEnsureSafeFunction:function(t){this.current().body.push(this.ensureSafeFunction(t),";")},addEnsureSafeAssignContext:function(t){this.current().body.push(this.ensureSafeAssignContext(t),";")},ensureSafeObject:function(t){return"ensureSafeObject("+t+",text)"},ensureSafeMemberName:function(t){return"ensureSafeMemberName("+t+",text)"},ensureSafeFunction:function(t){return"ensureSafeFunction("+t+",text)"},getStringValue:function(t){this.assign(t,"getStringValue("+t+",text)")},ensureSafeAssignContext:function(t){return"ensureSafeAssignContext("+t+",text)"},lazyRecurse:function(t,n,e,r,i,o){var a=this;return function(){a.recurse(t,n,e,r,i,o)}},lazyAssign:function(t,n){var e=this;return function(){e.assign(t,n)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(t){return"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)},escape:function(t){if(C(t))return"'"+t.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(S(t))return t.toString();if(t===!0)return"true";if(t===!1)return"false";if(null===t)return"null";if("undefined"==typeof t)return"undefined";throw Yi("esc","IMPOSSIBLE")},nextId:function(t,n){var e="v"+this.state.nextId++;return t||this.current().vars.push(e+(n?"="+n:"")),e},current:function(){return this.state[this.state.computing]}},se.prototype={compile:function(t,n){var e=this,r=this.astBuilder.ast(t);this.expression=t,this.expensiveChecks=n,ne(r,e.$filter);var i,a;(i=ie(r))&&(a=this.recurse(i));var u,s=ee(r.body);s&&(u=[],o(s,function(t,n){var r=e.recurse(t);t.input=r,u.push(r),t.watchId=n}));var l=[];o(r.body,function(t){l.push(e.recurse(t.expression))});var c=0===r.body.length?function(){}:1===r.body.length?l[0]:function(t,n){var e;return o(l,function(r){e=r(t,n)}),e};return a&&(c.assign=function(t,n,e){return a(t,e,n)}),u&&(c.inputs=u),c.literal=oe(r),c.constant=ae(r),c},recurse:function(t,n,r){var i,a,u,s=this;if(t.input)return this.inputs(t.input,t.watchId);switch(t.type){case to.Literal:return this.value(t.value,n);case to.UnaryExpression:return a=this.recurse(t.argument),this["unary"+t.operator](a,n);case to.BinaryExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,n);case to.LogicalExpression:return i=this.recurse(t.left),a=this.recurse(t.right),this["binary"+t.operator](i,a,n);case to.ConditionalExpression:return this["ternary?:"](this.recurse(t.test),this.recurse(t.alternate),this.recurse(t.consequent),n);case to.Identifier:return Yn(t.name,s.expression),s.identifier(t.name,s.expensiveChecks||le(t.name),n,r,s.expression);case to.MemberExpression:return i=this.recurse(t.object,!1,!!r),t.computed||(Yn(t.property.name,s.expression),a=t.property.name),t.computed&&(a=this.recurse(t.property)),t.computed?this.computedMember(i,a,n,r,s.expression):this.nonComputedMember(i,a,s.expensiveChecks,n,r,s.expression);case to.CallExpression:return u=[],o(t.arguments,function(t){u.push(s.recurse(t))}),t.filter&&(a=this.$filter(t.callee.name)),t.filter||(a=this.recurse(t.callee,!0)),t.filter?function(t,r,i,o){for(var s=[],l=0;l<u.length;++l)s.push(u[l](t,r,i,o));var c=a.apply(e,s,o);return n?{context:e,name:e,value:c}:c}:function(t,e,r,i){var o,l=a(t,e,r,i);if(null!=l.value){Xn(l.context,s.expression),Zn(l.value,s.expression);for(var c=[],f=0;f<u.length;++f)c.push(Xn(u[f](t,e,r,i),s.expression));o=Xn(l.value.apply(l.context,c),s.expression)}return n?{value:o}:o};case to.AssignmentExpression:return i=this.recurse(t.left,!0,1),a=this.recurse(t.right),function(t,e,r,o){var u=i(t,e,r,o),l=a(t,e,r,o);return Xn(u.value,s.expression),Jn(u.context),u.context[u.name]=l,n?{value:l}:l};case to.ArrayExpression:return u=[],o(t.elements,function(t){u.push(s.recurse(t))}),function(t,e,r,i){for(var o=[],a=0;a<u.length;++a)o.push(u[a](t,e,r,i));return n?{value:o}:o};case to.ObjectExpression:return u=[],o(t.properties,function(t){u.push({key:t.key.type===to.Identifier?t.key.name:""+t.key.value,value:s.recurse(t.value)})}),function(t,e,r,i){for(var o={},a=0;a<u.length;++a)o[u[a].key]=u[a].value(t,e,r,i);return n?{value:o}:o};case to.ThisExpression:return function(t){return n?{value:t}:t};case to.NGValueParameter:return function(t,e,r,i){return n?{value:r}:r}}},"unary+":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=x(a)?+a:0,n?{value:a}:a}},"unary-":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=x(a)?-a:0,n?{value:a}:a}},"unary!":function(t,n){return function(e,r,i,o){var a=!t(e,r,i,o);return n?{value:a}:a}},"binary+":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=Qn(u,s);return e?{value:l}:l}},"binary-":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=(x(u)?u:0)-(x(s)?s:0);return e?{value:l}:l}},"binary*":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)*n(r,i,o,a);return e?{value:u}:u}},"binary/":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)/n(r,i,o,a);return e?{value:u}:u}},"binary%":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)%n(r,i,o,a);return e?{value:u}:u}},"binary===":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)===n(r,i,o,a);return e?{value:u}:u}},"binary!==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!==n(r,i,o,a);return e?{value:u}:u}},"binary==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)==n(r,i,o,a);return e?{value:u}:u}},"binary!=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!=n(r,i,o,a);return e?{value:u}:u}},"binary<":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<n(r,i,o,a);return e?{value:u}:u}},"binary>":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>n(r,i,o,a);return e?{value:u}:u}},"binary<=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<=n(r,i,o,a);return e?{value:u}:u}},"binary>=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>=n(r,i,o,a);return e?{value:u}:u}},"binary&&":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)&&n(r,i,o,a);return e?{value:u}:u}},"binary||":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)||n(r,i,o,a);return e?{value:u}:u}},"ternary?:":function(t,n,e,r){return function(i,o,a,u){var s=t(i,o,a,u)?n(i,o,a,u):e(i,o,a,u);return r?{value:s}:s}},value:function(t,n){return function(){return n?{context:e,name:e,value:t}:t}},identifier:function(t,n,r,i,o){return function(a,u,s,l){var c=u&&t in u?u:a;i&&1!==i&&c&&!c[t]&&(c[t]={});var f=c?c[t]:e;return n&&Xn(f,o),r?{context:c,name:t,value:f}:f}},computedMember:function(t,n,e,r,i){return function(o,a,u,s){var l,c,f=t(o,a,u,s);return null!=f&&(l=n(o,a,u,s),l=Gn(l),Yn(l,i),r&&1!==r&&f&&!f[l]&&(f[l]={}),c=f[l],Xn(c,i)),e?{context:f,name:l,value:c}:c}},nonComputedMember:function(t,n,r,i,o,a){return function(u,s,l,c){var f=t(u,s,l,c);o&&1!==o&&f&&!f[n]&&(f[n]={});var h=null!=f?f[n]:e;return(r||le(n))&&Xn(h,a),i?{context:f,name:n,value:h}:h}},inputs:function(t,n){return function(e,r,i,o){return o?o[n]:t(e,r,i)}}};var no=function(t,n,e){this.lexer=t,this.$filter=n,this.options=e,this.ast=new to(this.lexer),this.astCompiler=e.csp?new se(this.ast,n):new ue(this.ast,n)};no.prototype={constructor:no,parse:function(t){return this.astCompiler.compile(t,this.options.expensiveChecks)}};var eo=(gt(),gt(),Object.prototype.valueOf),ro=r("$sce"),io={
-HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Pi=r("$compile"),oo=n.createElement("a"),ao=Me(t.location.href);Ee.$inject=["$document"],Oe.$inject=["$provide"],Re.$inject=["$locale"],De.$inject=["$locale"];var uo=".",so={yyyy:ze("FullYear",4),yy:ze("FullYear",2,0,!0),y:ze("FullYear",1),MMMM:qe("Month"),MMM:qe("Month",!0),MM:ze("Month",2,1),M:ze("Month",1,1),dd:ze("Date",2),d:ze("Date",1),HH:ze("Hours",2),H:ze("Hours",1),hh:ze("Hours",2,-12),h:ze("Hours",1,-12),mm:ze("Minutes",2),m:ze("Minutes",1),ss:ze("Seconds",2),s:ze("Seconds",1),sss:ze("Milliseconds",3),EEEE:qe("Day"),EEE:qe("Day",!0),a:He,Z:Ve,ww:Ue(2),w:Ue(1),G:Ye,GG:Ye,GGG:Ye,GGGG:Ge},lo=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,co=/^\-?\d+$/;Xe.$inject=["$locale"];var fo=m(xr),ho=m(wr);Ke.$inject=["$parse"];var po=m({restrict:"E",compile:function(t,n){if(!n.href&&!n.xlinkHref)return function(t,n){if("a"===n[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===Tr.call(n.prop("href"))?"xlink:href":"href";n.on("click",function(t){n.attr(e)||t.preventDefault()})}}}}),vo={};o(di,function(t,n){function e(t,e,i){t.$watch(i[r],function(t){i.$set(n,!!t)})}if("multiple"!=t){var r=cn("ng-"+n),i=e;"checked"===t&&(i=function(t,n,i){i.ngModel!==i[r]&&e(t,n,i)}),vo[r]=function(){return{restrict:"A",priority:100,link:i}}}}),o(gi,function(t,n){vo[n]=function(){return{priority:100,link:function(t,e,r){if("ngPattern"===n&&"/"==r.ngPattern.charAt(0)){var i=r.ngPattern.match(yr);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}t.$watch(r[n],function(t){r.$set(n,t)})}}}}),o(["src","srcset","href"],function(t){var n=cn("ng-"+t);vo[n]=function(){return{priority:99,link:function(e,r,i){var o=t,a=t;"href"===t&&"[object SVGAnimatedString]"===Tr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(n,function(n){return n?(i.$set(a,n),void(_r&&o&&r.prop(o,i[a]))):void("href"===t&&i.$set(a,null))})}}}});var go={$addControl:v,$$renameControl:tr,$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v,$setSubmitted:v},mo="ng-submitted";nr.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var yo=function(t){return["$timeout","$parse",function(n,r){function i(t){return""===t?r('this[""]').assign:r(t).assign||v}var o={name:"form",restrict:t?"EAC":"E",require:["form","^^?form"],controller:nr,compile:function(r,o){r.addClass(Ko).addClass(Zo);var a=o.name?"name":!(!t||!o.ngForm)&&"ngForm";return{pre:function(t,r,o,u){var s=u[0];if(!("action"in o)){var l=function(n){t.$apply(function(){s.$commitViewValue(),s.$setSubmitted()}),n.preventDefault()};ei(r[0],"submit",l),r.on("$destroy",function(){n(function(){ri(r[0],"submit",l)},0,!1)})}var c=u[1]||s.$$parentForm;c.$addControl(s);var h=a?i(s.$name):v;a&&(h(t,s),o.$observe(a,function(n){s.$name!==n&&(h(t,e),s.$$parentForm.$$renameControl(s,n),(h=i(s.$name))(t,s))})),r.on("$destroy",function(){s.$$parentForm.$removeControl(s),h(t,e),f(s,go)})}}}};return o}]},$o=yo(),xo=yo(!0),bo=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,wo=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Co=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,So=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,_o=/^(\d{4})-(\d{2})-(\d{2})$/,Mo=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,ko=/^(\d{4})-W(\d\d)$/,Ao=/^(\d{4})-(\d\d)$/,Eo=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Po={text:rr,date:ur("date",_o,ar(_o,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":ur("datetimelocal",Mo,ar(Mo,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:ur("time",Eo,ar(Eo,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:ur("week",ko,or,"yyyy-Www"),month:ur("month",Ao,ar(Ao,["yyyy","MM"]),"yyyy-MM"),number:lr,url:cr,email:fr,radio:hr,checkbox:dr,hidden:v,button:v,submit:v,reset:v,file:v},Oo=["$browser","$sniffer","$filter","$parse",function(t,n,e,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,u){u[0]&&(Po[xr(a.type)]||Po.text)(i,o,a,u[0],n,t,e,r)}}}}],To=/^(true|false|\d+)$/,Lo=function(){return{restrict:"A",priority:100,compile:function(t,n){return To.test(n.ngValue)?function(t,n,e){e.$set("value",t.$eval(e.ngValue))}:function(t,n,e){t.$watch(e.ngValue,function(t){e.$set("value",t)})}}}},jo=["$compile",function(t){return{restrict:"AC",compile:function(n){return t.$$addBindingClass(n),function(n,e,r){t.$$addBindingInfo(e,r.ngBind),e=e[0],n.$watch(r.ngBind,function(t){e.textContent=$(t)?"":t})}}}}],No=["$interpolate","$compile",function(t,n){return{compile:function(e){return n.$$addBindingClass(e),function(e,r,i){var o=t(r.attr(i.$attr.ngBindTemplate));n.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(t){r.textContent=$(t)?"":t})}}}}],Ro=["$sce","$parse","$compile",function(t,n,e){return{restrict:"A",compile:function(r,i){var o=n(i.ngBindHtml),a=n(i.ngBindHtml,function(t){return(t||"").toString()});return e.$$addBindingClass(r),function(n,r,i){e.$$addBindingInfo(r,i.ngBindHtml),n.$watch(a,function(){r.html(t.getTrustedHtml(o(n))||"")})}}}}],Do=m({restrict:"A",require:"ngModel",link:function(t,n,e,r){r.$viewChangeListeners.push(function(){t.$eval(e.ngChange)})}}),Fo=vr("",!0),Io=vr("Odd",0),zo=vr("Even",1),qo=Qe({compile:function(t,n){n.$set("ngCloak",e),t.removeClass("ng-cloak")}}),Vo=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Bo={},Wo={blur:!0,focus:!0};o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var n=cn("ng-"+t);Bo[n]=["$parse","$rootScope",function(e,r){return{restrict:"A",compile:function(i,o){var a=e(o[n],null,!0);return function(n,e){e.on(t,function(e){var i=function(){a(n,{$event:e})};Wo[t]&&r.$$phase?n.$evalAsync(i):n.$apply(i)})}}}}]});var Uo=["$animate",function(t){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(e,r,i,o,a){var u,s,l;e.$watch(i.ngIf,function(e){e?s||a(function(e,o){s=o,e[e.length++]=n.createComment(" end ngIf: "+i.ngIf+" "),u={clone:e},t.enter(e,r.parent(),r)}):(l&&(l.remove(),l=null),s&&(s.$destroy(),s=null),u&&(l=vt(u.clone),t.leave(l).then(function(){l=null}),u=null))})}}}],Ho=["$templateRequest","$anchorScroll","$animate",function(t,n,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Nr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",u=i.autoscroll;return function(r,i,s,l,c){var f,h,p,d=0,v=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(e.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var s=function(){!x(u)||u&&!r.$eval(u)||n()},h=++d;o?(t(o,!0).then(function(t){if(h===d){var n=r.$new();l.template=t;var u=c(n,function(t){v(),e.enter(t,null,i).then(s)});f=n,p=u,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){h===d&&(v(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):(v(),l.template=null)})}}}}],Yo=["$compile",function(t){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,r,i,o){return/SVG/.test(r[0].toString())?(r.empty(),void t(Mt(o.template,n).childNodes)(e,function(t){r.append(t)},{futureParentElement:r})):(r.html(o.template),void t(r.contents())(e))}}}],Go=Qe({priority:450,compile:function(){return{pre:function(t,n,e){t.$eval(e.ngInit)}}}}),Xo=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(t,n,r,i){var a=n.attr(r.$attr.ngList)||", ",u="false"!==r.ngTrim,s=u?zr(a):a,l=function(t){if(!$(t)){var n=[];return t&&o(t.split(s),function(t){t&&n.push(u?zr(t):t)}),n}};i.$parsers.push(l),i.$formatters.push(function(t){return Fr(t)?t.join(a):e}),i.$isEmpty=function(t){return!t||!t.length}}}},Zo="ng-valid",Jo="ng-invalid",Ko="ng-pristine",Qo="ng-dirty",ta="ng-untouched",na="ng-touched",ea="ng-pending",ra=r("ngModel"),ia=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(t,n,r,i,a,u,s,l,c,f){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=e,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=e,this.$name=f(r.name||"",!1)(t),this.$$parentForm=go;var h,p=a(r.ngModel),d=p.assign,g=p,m=d,y=null,b=this;this.$$setOptions=function(t){if(b.$options=t,t&&t.getterSetter){var n=a(r.ngModel+"()"),e=a(r.ngModel+"($$$p)");g=function(t){var e=p(t);return M(e)&&(e=n(t)),e},m=function(t,n){M(p(t))?e(t,{$$$p:b.$modelValue}):d(t,b.$modelValue)}}else if(!p.assign)throw ra("nonassign","Expression '{0}' is non-assignable. Element: {1}",r.ngModel,K(i))},this.$render=v,this.$isEmpty=function(t){return $(t)||""===t||null===t||t!==t};var w=0;gr({ctrl:this,$element:i,set:function(t,n){t[n]=!0},unset:function(t,n){delete t[n]},$animate:u}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,u.removeClass(i,Qo),u.addClass(i,Ko)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,u.removeClass(i,Ko),u.addClass(i,Qo),b.$$parentForm.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,u.setClass(i,ta,na)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,u.setClass(i,na,ta)},this.$rollbackViewValue=function(){s.cancel(y),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!S(b.$modelValue)||!isNaN(b.$modelValue)){var t=b.$$lastCommittedViewValue,n=b.$$rawModelValue,r=b.$valid,i=b.$modelValue,o=b.$options&&b.$options.allowInvalid;b.$$runValidators(n,t,function(t){o||r===t||(b.$modelValue=t?n:e,b.$modelValue!==i&&b.$$writeModelToScope())})}},this.$$runValidators=function(t,n,r){function i(){var t=b.$$parserName||"parse";return $(h)?(s(t,null),!0):(h||(o(b.$validators,function(t,n){s(n,null)}),o(b.$asyncValidators,function(t,n){s(n,null)})),s(t,h),h)}function a(){var e=!0;return o(b.$validators,function(r,i){var o=r(t,n);e=e&&o,s(i,o)}),!!e||(o(b.$asyncValidators,function(t,n){s(n,null)}),!1)}function u(){var r=[],i=!0;o(b.$asyncValidators,function(o,a){var u=o(t,n);if(!j(u))throw ra("$asyncValidators","Expected asynchronous validator to return a promise but got '{0}' instead.",u);s(a,e),r.push(u.then(function(){s(a,!0)},function(t){i=!1,s(a,!1)}))}),r.length?c.all(r).then(function(){l(i)},v):l(!0)}function s(t,n){f===w&&b.$setValidity(t,n)}function l(t){f===w&&r(t)}w++;var f=w;return i()&&a()?void u():void l(!1)},this.$commitViewValue=function(){var t=b.$viewValue;s.cancel(y),(b.$$lastCommittedViewValue!==t||""===t&&b.$$hasNativeValidators)&&(b.$$lastCommittedViewValue=t,b.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function n(){b.$modelValue!==a&&b.$$writeModelToScope()}var r=b.$$lastCommittedViewValue,i=r;if(h=!$(i)||e)for(var o=0;o<b.$parsers.length;o++)if(i=b.$parsers[o](i),$(i)){h=!1;break}S(b.$modelValue)&&isNaN(b.$modelValue)&&(b.$modelValue=g(t));var a=b.$modelValue,u=b.$options&&b.$options.allowInvalid;b.$$rawModelValue=i,u&&(b.$modelValue=i,n()),b.$$runValidators(i,b.$$lastCommittedViewValue,function(t){u||(b.$modelValue=t?i:e,n())})},this.$$writeModelToScope=function(){m(t,b.$modelValue),o(b.$viewChangeListeners,function(t){try{t()}catch(e){n(e)}})},this.$setViewValue=function(t,n){b.$viewValue=t,b.$options&&!b.$options.updateOnDefault||b.$$debounceViewValueCommit(n)},this.$$debounceViewValueCommit=function(n){var e,r=0,i=b.$options;i&&x(i.debounce)&&(e=i.debounce,S(e)?r=e:S(e[n])?r=e[n]:S(e["default"])&&(r=e["default"])),s.cancel(y),r?y=s(function(){b.$commitViewValue()},r):l.$$phase?b.$commitViewValue():t.$apply(function(){b.$commitViewValue()})},t.$watch(function(){var n=g(t);if(n!==b.$modelValue&&(b.$modelValue===b.$modelValue||n===n)){b.$modelValue=b.$$rawModelValue=n,h=e;for(var r=b.$formatters,i=r.length,o=n;i--;)o=r[i](o);b.$viewValue!==o&&(b.$viewValue=b.$$lastCommittedViewValue=o,b.$render(),b.$$runValidators(n,o,v))}return n})}],oa=["$rootScope",function(t){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:ia,priority:1,compile:function(n){return n.addClass(Ko).addClass(ta).addClass(Zo),{pre:function(t,n,e,r){var i=r[0],o=r[1]||i.$$parentForm;i.$$setOptions(r[2]&&r[2].$options),o.$addControl(i),e.$observe("name",function(t){i.$name!==t&&i.$$parentForm.$$renameControl(i,t)}),t.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(n,e,r,i){var o=i[0];o.$options&&o.$options.updateOn&&e.on(o.$options.updateOn,function(t){o.$$debounceViewValueCommit(t&&t.type)}),e.on("blur",function(e){o.$touched||(t.$$phase?n.$evalAsync(o.$setTouched):n.$apply(o.$setTouched))})}}}}}],aa=/(\s+|^)default(\s+|$)/,ua=function(){return{restrict:"A",controller:["$scope","$attrs",function(t,n){var e=this;this.$options=z(t.$eval(n.ngModelOptions)),x(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=zr(this.$options.updateOn.replace(aa,function(){return e.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},sa=Qe({terminal:!0,priority:1e3}),la=r("ngOptions"),ca=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\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]+?))?$/,fa=["$compile","$parse",function(t,e){function r(t,n,r){function o(t,n,e,r,i){this.selectValue=t,this.viewValue=n,this.label=e,this.group=r,this.disabled=i}function a(t){var n;if(!l&&i(t))n=t;else{n=[];for(var e in t)t.hasOwnProperty(e)&&"$"!==e.charAt(0)&&n.push(e)}return n}var u=t.match(ca);if(!u)throw la("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",t,K(n));var s=u[5]||u[7],l=u[6],c=/ as /.test(u[0])&&u[1],f=u[9],h=e(u[2]?u[1]:s),p=c&&e(c),d=p||h,v=f&&e(f),g=f?function(t,n){return v(r,n)}:function(t){return Gt(t)},m=function(t,n){return g(t,C(t,n))},y=e(u[2]||u[1]),$=e(u[3]||""),x=e(u[4]||""),b=e(u[8]),w={},C=l?function(t,n){return w[l]=n,w[s]=t,w}:function(t){return w[s]=t,w};return{trackBy:f,getTrackByValue:m,getWatchables:e(b,function(t){var n=[];t=t||[];for(var e=a(t),i=e.length,o=0;o<i;o++){var s=t===e?o:e[o],l=(t[s],C(t[s],s)),c=g(t[s],l);if(n.push(c),u[2]||u[1]){var f=y(r,l);n.push(f)}if(u[4]){var h=x(r,l);n.push(h)}}return n}),getOptions:function(){for(var t=[],n={},e=b(r)||[],i=a(e),u=i.length,s=0;s<u;s++){var l=e===i?s:i[s],c=e[l],h=C(c,l),p=d(r,h),v=g(p,h),w=y(r,h),S=$(r,h),_=x(r,h),M=new o(v,p,w,S,_);t.push(M),n[v]=M}return{items:t,selectValueMap:n,getOptionFromViewValue:function(t){return n[m(t)]},getViewValueFromOption:function(t){return f?Nr.copy(t.viewValue):t.viewValue}}}}}var a=n.createElement("option"),u=n.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(n,e,i,s){function l(t,n){t.element=n,n.disabled=t.disabled,t.label!==n.label&&(n.label=t.label,n.textContent=t.label),t.value!==n.value&&(n.value=t.selectValue)}function c(t,n,e,r){var i;return n&&xr(n.nodeName)===e?i=n:(i=r.cloneNode(!1),n?t.insertBefore(i,n):t.appendChild(i)),i}function f(t){for(var n;t;)n=t.nextSibling,Vt(t),t=n}function h(t){var n=v&&v[0],e=w&&w[0];if(n||e)for(;t&&(t===n||t===e||n&&n.nodeType===Zr);)t=t.nextSibling;return t}function p(){var t=C&&g.readValue();C=S.getOptions();var n={},r=e[0].firstChild;if(b&&e.prepend(v),r=h(r),C.items.forEach(function(t){var i,o,s;t.group?(i=n[t.group],i||(o=c(e[0],r,"optgroup",u),r=o.nextSibling,o.label=t.group,i=n[t.group]={groupElement:o,currentOptionElement:o.firstChild}),s=c(i.groupElement,i.currentOptionElement,"option",a),l(t,s),i.currentOptionElement=s.nextSibling):(s=c(e[0],r,"option",a),l(t,s),r=s.nextSibling)}),Object.keys(n).forEach(function(t){f(n[t].currentOptionElement)}),f(r),d.$render(),!d.$isEmpty(t)){var i=g.readValue();(S.trackBy?V(t,i):t===i)||(d.$setViewValue(i),d.$render())}}var d=s[1];if(d){for(var v,g=s[0],m=i.multiple,y=0,$=e.children(),x=$.length;y<x;y++)if(""===$[y].value){v=$.eq(y);break}var b=!!v,w=Mr(a.cloneNode(!1));w.val("?");var C,S=r(i.ngOptions,e,n),_=function(){b||e.prepend(v),e.val(""),v.prop("selected",!0),v.attr("selected",!0)},M=function(){b||v.remove()},k=function(){e.prepend(w),e.val("?"),w.prop("selected",!0),w.attr("selected",!0)},A=function(){w.remove()};m?(d.$isEmpty=function(t){return!t||0===t.length},g.writeValue=function(t){C.items.forEach(function(t){t.element.selected=!1}),t&&t.forEach(function(t){var n=C.getOptionFromViewValue(t);n&&!n.disabled&&(n.element.selected=!0)})},g.readValue=function(){var t=e.val()||[],n=[];return o(t,function(t){var e=C.selectValueMap[t];e&&!e.disabled&&n.push(C.getViewValueFromOption(e))}),n},S.trackBy&&n.$watchCollection(function(){if(Fr(d.$viewValue))return d.$viewValue.map(function(t){return S.getTrackByValue(t)})},function(){d.$render()})):(g.writeValue=function(t){var n=C.getOptionFromViewValue(t);n&&!n.disabled?e[0].value!==n.selectValue&&(A(),M(),e[0].value=n.selectValue,n.element.selected=!0,n.element.setAttribute("selected","selected")):null===t||b?(A(),_()):(M(),k())},g.readValue=function(){var t=C.selectValueMap[e.val()];return t&&!t.disabled?(M(),A(),C.getViewValueFromOption(t)):null},S.trackBy&&n.$watch(function(){return S.getTrackByValue(d.$viewValue)},function(){d.$render()})),b?(v.remove(),t(v)(n),v.removeClass("ng-scope")):v=Mr(a.cloneNode(!1)),p(),n.$watchCollection(S.getWatchables,p)}}}}],ha=["$locale","$interpolate","$log",function(t,n,e){var r=/{}/g,i=/^when(Minus)?(.+)$/;return{link:function(a,u,s){function l(t){u.text(t||"")}var c,f=s.count,h=s.$attr.when&&u.attr(s.$attr.when),p=s.offset||0,d=a.$eval(h)||{},g={},m=n.startSymbol(),y=n.endSymbol(),x=m+f+"-"+p+y,b=Nr.noop;o(s,function(t,n){var e=i.exec(n);if(e){var r=(e[1]?"-":"")+xr(e[2]);d[r]=u.attr(s.$attr[n])}}),o(d,function(t,e){g[e]=n(t.replace(r,x))}),a.$watch(f,function(n){var r=parseFloat(n),i=isNaN(r);if(i||r in d||(r=t.pluralCat(r-p)),r!==c&&!(i&&S(c)&&isNaN(c))){b();var o=g[r];$(o)?(null!=n&&e.debug("ngPluralize: no rule defined for '"+r+"' in "+h),b=v,l()):b=a.$watch(o,l),c=r}})}}}],pa=["$parse","$animate",function(t,a){var u="$$NG_REMOVED",s=r("ngRepeat"),l=function(t,n,e,r,i,o,a){t[e]=r,i&&(t[i]=o),t.$index=n,t.$first=0===n,t.$last=n===a-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&n))},c=function(t){return t.clone[0]},f=function(t){return t.clone[t.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(r,h){var p=h.ngRepeat,d=n.createComment(" end ngRepeat: "+p+" "),v=p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!v)throw s("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",p);var g=v[1],m=v[2],y=v[3],$=v[4];if(v=g.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!v)throw s("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",g);var x=v[3]||v[1],b=v[2];if(y&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(y)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(y)))throw s("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",y);var w,C,S,_,M={$id:Gt};return $?w=t($):(S=function(t,n){return Gt(n)},_=function(t){return t}),function(t,n,r,h,v){w&&(C=function(n,e,r){return b&&(M[b]=n),M[x]=e,M.$index=r,w(t,M)});var g=gt();t.$watchCollection(m,function(r){var h,m,$,w,M,k,A,E,P,O,T,L,j=n[0],N=gt();if(y&&(t[y]=r),i(r))P=r,E=C||S;else{E=C||_,P=[];for(var R in r)br.call(r,R)&&"$"!==R.charAt(0)&&P.push(R)}for(w=P.length,T=new Array(w),h=0;h<w;h++)if(M=r===P?h:P[h],k=r[M],A=E(M,k,h),g[A])O=g[A],delete g[A],N[A]=O,T[h]=O;else{if(N[A])throw o(T,function(t){t&&t.scope&&(g[t.id]=t)}),s("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",p,A,k);T[h]={id:A,scope:e,clone:e},N[A]=!0}for(var D in g){if(O=g[D],L=vt(O.clone),a.leave(L),L[0].parentNode)for(h=0,m=L.length;h<m;h++)L[h][u]=!0;O.scope.$destroy()}for(h=0;h<w;h++)if(M=r===P?h:P[h],k=r[M],O=T[h],O.scope){$=j;do $=$.nextSibling;while($&&$[u]);c(O)!=$&&a.move(vt(O.clone),null,Mr(j)),j=f(O),l(O.scope,h,x,k,b,M,w)}else v(function(t,n){O.scope=n;var e=d.cloneNode(!1);t[t.length++]=e,a.enter(t,null,Mr(j)),j=e,O.clone=t,N[O.id]=O,l(O.scope,h,x,k,b,M,w)});g=N})}}}}],da="ng-hide",va="ng-hide-animate",ga=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngShow,function(n){t[n?"removeClass":"addClass"](e,da,{tempClasses:va})})}}}],ma=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngHide,function(n){t[n?"addClass":"removeClass"](e,da,{tempClasses:va})})}}}],ya=Qe(function(t,n,e){t.$watch(e.ngStyle,function(t,e){e&&t!==e&&o(e,function(t,e){n.css(e,"")}),t&&n.css(t)},!0)}),$a=["$animate",function(t){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,r,i,a){var u=i.ngSwitch||i.on,s=[],l=[],c=[],f=[],h=function(t,n){return function(){t.splice(n,1)}};e.$watch(u,function(e){var r,i;for(r=0,i=c.length;r<i;++r)t.cancel(c[r]);for(c.length=0,r=0,i=f.length;r<i;++r){var u=vt(l[r].clone);f[r].$destroy();var p=c[r]=t.leave(u);p.then(h(c,r))}l.length=0,f.length=0,(s=a.cases["!"+e]||a.cases["?"])&&o(s,function(e){e.transclude(function(r,i){f.push(i);var o=e.element;r[r.length++]=n.createComment(" end ngSwitchWhen: ");var a={clone:r};l.push(a),t.enter(r,o.parent(),o)})})})}}}],xa=Qe({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["!"+e.ngSwitchWhen]=r.cases["!"+e.ngSwitchWhen]||[],r.cases["!"+e.ngSwitchWhen].push({transclude:i,element:n})}}),ba=Qe({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:n})}}),wa=Qe({restrict:"EAC",link:function(t,n,e,i,o){if(!o)throw r("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",K(n));o(function(t){n.empty(),n.append(t)})}}),Ca=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(n,e){if("text/ng-template"==e.type){var r=e.id,i=n[0].text;t.put(r,i)}}}}],Sa={$setViewValue:v,$render:v},_a=["$element","$scope","$attrs",function(t,r,i){var o=this,a=new Xt;o.ngModelCtrl=Sa,o.unknownOption=Mr(n.createElement("option")),o.renderUnknownOption=function(n){var e="? "+Gt(n)+" ?";o.unknownOption.val(e),t.prepend(o.unknownOption),t.val(e)},r.$on("$destroy",function(){o.renderUnknownOption=v}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){return o.removeUnknownOption(),t.val()},o.writeValue=function(n){o.hasOption(n)?(o.removeUnknownOption(),t.val(n),""===n&&o.emptyOption.prop("selected",!0)):null==n&&o.emptyOption?(o.removeUnknownOption(),t.val("")):o.renderUnknownOption(n)},o.addOption=function(t,n){pt(t,'"option value"'),""===t&&(o.emptyOption=n);var e=a.get(t)||0;a.put(t,e+1)},o.removeOption=function(t){var n=a.get(t);n&&(1===n?(a.remove(t),""===t&&(o.emptyOption=e)):a.put(t,n-1))},o.hasOption=function(t){return!!a.get(t)}}],Ma=function(){return{restrict:"E",require:["select","?ngModel"],controller:_a,link:function(t,n,e,r){var i=r[1];if(i){var a=r[0];if(a.ngModelCtrl=i,i.$render=function(){a.writeValue(i.$viewValue)},n.on("change",function(){t.$apply(function(){i.$setViewValue(a.readValue())})}),e.multiple){a.readValue=function(){var t=[];return o(n.find("option"),function(n){n.selected&&t.push(n.value)}),t},a.writeValue=function(t){var e=new Xt(t);o(n.find("option"),function(t){t.selected=x(e.get(t.value))})};var u,s=NaN;t.$watch(function(){s!==i.$viewValue||V(u,i.$viewValue)||(u=q(i.$viewValue),i.$render()),s=i.$viewValue}),i.$isEmpty=function(t){return!t||0===t.length}}}}}},ka=["$interpolate",function(t){function n(t){t[0].hasAttribute("selected")&&(t[0].selected=!0)}return{restrict:"E",priority:100,compile:function(e,r){if(x(r.value))var i=t(r.value,!0);else{var o=t(e.text(),!0);o||r.$set("value",e.text())}return function(t,e,r){function a(t){l.addOption(t,e),l.ngModelCtrl.$render(),n(e)}var u="$selectController",s=e.parent(),l=s.data(u)||s.parent().data(u);if(l&&l.ngModelCtrl){if(i){var c;r.$observe("value",function(t){x(c)&&l.removeOption(c),c=t,a(t)})}else o?t.$watch(o,function(t,n){r.$set("value",t),n!==t&&l.removeOption(n),a(t)}):a(r.value);e.on("$destroy",function(){l.removeOption(r.value),l.ngModelCtrl.$render()})}}}}}],Aa=m({restrict:"E",terminal:!1}),Ea=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){r&&(e.required=!0,r.$validators.required=function(t,n){return!e.required||!r.$isEmpty(n)},e.$observe("required",function(){r.$validate()}))}}},Pa=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,i,o){if(o){var a,u=i.ngPattern||i.pattern;i.$observe("pattern",function(t){if(C(t)&&t.length>0&&(t=new RegExp("^"+t+"$")),t&&!t.test)throw r("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",u,t,K(n));a=t||e,o.$validate()}),o.$validators.pattern=function(t,n){return o.$isEmpty(n)||$(a)||a.test(n)}}}}},Oa=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=-1;e.$observe("maxlength",function(t){var n=p(t);i=isNaN(n)?-1:n,r.$validate()}),r.$validators.maxlength=function(t,n){return i<0||r.$isEmpty(n)||n.length<=i}}}}},Ta=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=0;e.$observe("minlength",function(t){i=p(t)||0,r.$validate()}),r.$validators.minlength=function(t,n){return r.$isEmpty(n)||n.length>=i}}}}};return t.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ct(),xt(Nr),Nr.module("ngLocale",[],["$provide",function(t){function n(t){t+="";var n=t.indexOf(".");return n==-1?0:t.length-n-1}function r(t,r){var i=r;e===i&&(i=Math.min(n(t),3));var o=Math.pow(10,i),a=(t*o|0)%o;return{v:i,f:a}}var i={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};t.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"],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",pluralCat:function(t,n){var e=0|t,o=r(t,n);return 1==e&&0==o.v?i.ONE:i.OTHER}})}]),void Mr(n).ready(function(){ot(n,at)}))}(window,document),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(t,n,e){"use strict";function r(t,n){return I(new(I(function(){},{prototype:t})),n)}function i(t){return F(arguments,function(n){n!==t&&F(n,function(n,e){t.hasOwnProperty(e)||(t[e]=n)})}),t}function o(t,n){var e=[];for(var r in t.path){if(t.path[r]!==n.path[r])break;e.push(t.path[r])}return e}function a(t){if(Object.keys)return Object.keys(t);var n=[];return F(t,function(t,e){n.push(e)}),n}function u(t,n){if(Array.prototype.indexOf)return t.indexOf(n,Number(arguments[2])||0);var e=t.length>>>0,r=Number(arguments[2])||0;for(r=r<0?Math.ceil(r):Math.floor(r),r<0&&(r+=e);r<e;r++)if(r in t&&t[r]===n)return r;return-1}function s(t,n,e,r){var i,s=o(e,r),l={},c=[];for(var f in s)if(s[f].params&&(i=a(s[f].params),i.length))for(var h in i)u(c,i[h])>=0||(c.push(i[h]),l[i[h]]=t[i[h]]);return I({},l,n)}function l(t,n,e){if(!e){e=[];for(var r in t)e.push(r)}for(var i=0;i<e.length;i++){var o=e[i];if(t[o]!=n[o])return!1}return!0}function c(t,n){var e={};return F(t,function(t){e[t]=n[t]}),e}function f(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return F(e,function(e){e in t&&(n[e]=t[e])}),n}function h(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var r in t)u(e,r)==-1&&(n[r]=t[r]);return n}function p(t,n){var e=D(t),r=e?[]:{};return F(t,function(t,i){n(t,i)&&(r[e?r.length:i]=t)}),r}function d(t,n){var e=D(t)?[]:{};return F(t,function(t,r){e[r]=n(t,r)}),e}function v(t,n){var r=1,o=2,s={},l=[],c=s,f=I(t.when(s),{$$promises:s,$$values:s});this.study=function(s){function p(t,e){if(y[e]!==o){if(m.push(e),y[e]===r)throw m.splice(0,u(m,e)),new Error("Cyclic dependency: "+m.join(" -> "));if(y[e]=r,N(t))g.push(e,[function(){return n.get(t)}],l);else{var i=n.annotate(t);F(i,function(t){t!==e&&s.hasOwnProperty(t)&&p(s[t],t)}),g.push(e,t,i)}m.pop(),y[e]=o}}function d(t){return R(t)&&t.then&&t.$$promises}if(!R(s))throw new Error("'invocables' must be an object");var v=a(s||{}),g=[],m=[],y={};return F(s,p),s=m=y=null,function(r,o,a){function u(){--x||(b||i($,o.$$values),m.$$values=$,m.$$promises=m.$$promises||!0,delete m.$$inheritedValues,p.resolve($))}function s(t){m.$$failure=t,p.reject(t)}function l(e,i,o){function l(t){f.reject(t),s(t)}function c(){if(!L(m.$$failure))try{f.resolve(n.invoke(i,a,$)),f.promise.then(function(t){$[e]=t,u()},l)}catch(t){l(t)}}var f=t.defer(),h=0;F(o,function(t){y.hasOwnProperty(t)&&!r.hasOwnProperty(t)&&(h++,y[t].then(function(n){$[t]=n,--h||c()},l))}),h||c(),y[e]=f.promise}if(d(r)&&a===e&&(a=o,o=r,r=null),r){if(!R(r))throw new Error("'locals' must be an object")}else r=c;if(o){if(!d(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else o=f;var p=t.defer(),m=p.promise,y=m.$$promises={},$=I({},r),x=1+g.length/3,b=!1;if(L(o.$$failure))return s(o.$$failure),m;o.$$inheritedValues&&i($,h(o.$$inheritedValues,v)),I(y,o.$$promises),o.$$values?(b=i($,h(o.$$values,v)),m.$$inheritedValues=h(o.$$values,v),u()):(o.$$inheritedValues&&(m.$$inheritedValues=h(o.$$inheritedValues,v)),o.then(u,s));for(var w=0,C=g.length;w<C;w+=3)r.hasOwnProperty(g[w])?u():l(g[w],g[w+1],g[w+2]);return m}},this.resolve=function(t,n,e,r){return this.study(t)(n,e,r)}}function g(t,n,e){this.fromConfig=function(t,n,e){return L(t.template)?this.fromString(t.template,n):L(t.templateUrl)?this.fromUrl(t.templateUrl,n):L(t.templateProvider)?this.fromProvider(t.templateProvider,n,e):null},this.fromString=function(t,n){return j(t)?t(n):t},this.fromUrl=function(e,r){return j(e)&&(e=e(r)),null==e?null:t.get(e,{cache:n,headers:{Accept:"text/html"}}).then(function(t){return t.data})},this.fromProvider=function(t,n,r){return e.invoke(t,null,r||{params:n})}}function m(t,n,i){function o(n,e,r,i){if(g.push(n),d[n])return d[n];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(n))throw new Error("Invalid parameter name '"+n+"' in pattern '"+t+"'");if(v[n])throw new Error("Duplicate parameter name '"+n+"' in pattern '"+t+"'");
-return v[n]=new q.Param(n,e,r,i),v[n]}function a(t,n,e,r){var i=["",""],o=t.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!n)return o;switch(e){case!1:i=["(",")"+(r?"?":"")];break;case!0:i=["?(",")?"];break;default:i=["("+e+"|",")?"]}return o+i[0]+n+i[1]}function u(i,o){var a,u,s,l,c;return a=i[2]||i[3],c=n.params[a],s=t.substring(h,i.index),u=o?i[4]:i[4]||("*"==i[1]?".*":null),l=q.type(u||"string")||r(q.type("string"),{pattern:new RegExp(u,n.caseInsensitive?"i":e)}),{id:a,regexp:u,segment:s,type:l,cfg:c}}n=I({params:{}},R(n)?n:{});var s,l=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,c=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,f="^",h=0,p=this.segments=[],d=i?i.params:{},v=this.params=i?i.params.$$new():new q.ParamSet,g=[];this.source=t;for(var m,y,$;(s=l.exec(t))&&(m=u(s,!1),!(m.segment.indexOf("?")>=0));)y=o(m.id,m.type,m.cfg,"path"),f+=a(m.segment,y.type.pattern.source,y.squash,y.isOptional),p.push(m.segment),h=l.lastIndex;$=t.substring(h);var x=$.indexOf("?");if(x>=0){var b=this.sourceSearch=$.substring(x);if($=$.substring(0,x),this.sourcePath=t.substring(0,h+x),b.length>0)for(h=0;s=c.exec(b);)m=u(s,!0),y=o(m.id,m.type,m.cfg,"search"),h=l.lastIndex}else this.sourcePath=t,this.sourceSearch="";f+=a($)+(n.strict===!1?"/?":"")+"$",p.push($),this.regexp=new RegExp(f,n.caseInsensitive?"i":e),this.prefix=p[0],this.$$paramNames=g}function y(t){I(this,t)}function $(){function t(t){return null!=t?t.toString().replace(/\//g,"%2F"):t}function i(t){return null!=t?t.toString().replace(/%2F/g,"/"):t}function o(){return{strict:v,caseInsensitive:h}}function s(t){return j(t)||D(t)&&j(t[t.length-1])}function l(){for(;w.length;){var t=w.shift();if(t.pattern)throw new Error("You cannot override a type's .pattern at runtime.");n.extend(x[t.name],f.invoke(t.def))}}function c(t){I(this,t||{})}q=this;var f,h=!1,v=!0,g=!1,x={},b=!0,w=[],C={string:{encode:t,decode:i,is:function(t){return null==t||!L(t)||"string"==typeof t},pattern:/[^\/]*/},"int":{encode:t,decode:function(t){return parseInt(t,10)},is:function(t){return L(t)&&this.decode(t.toString())===t},pattern:/\d+/},bool:{encode:function(t){return t?1:0},decode:function(t){return 0!==parseInt(t,10)},is:function(t){return t===!0||t===!1},pattern:/0|1/},date:{encode:function(t){return this.is(t)?[t.getFullYear(),("0"+(t.getMonth()+1)).slice(-2),("0"+t.getDate()).slice(-2)].join("-"):e},decode:function(t){if(this.is(t))return t;var n=this.capture.exec(t);return n?new Date(n[1],n[2]-1,n[3]):e},is:function(t){return t instanceof Date&&!isNaN(t.valueOf())},equals:function(t,n){return this.is(t)&&this.is(n)&&t.toISOString()===n.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:n.toJson,decode:n.fromJson,is:n.isObject,equals:n.equals,pattern:/[^\/]*/},any:{encode:n.identity,decode:n.identity,equals:n.equals,pattern:/.*/}};$.$$getDefaultValue=function(t){if(!s(t.value))return t.value;if(!f)throw new Error("Injectable functions cannot be called at configuration time");return f.invoke(t.value)},this.caseInsensitive=function(t){return L(t)&&(h=t),h},this.strictMode=function(t){return L(t)&&(v=t),v},this.defaultSquashPolicy=function(t){if(!L(t))return g;if(t!==!0&&t!==!1&&!N(t))throw new Error("Invalid squash policy: "+t+". Valid policies: false, true, arbitrary-string");return g=t,t},this.compile=function(t,n){return new m(t,I(o(),n))},this.isMatcher=function(t){if(!R(t))return!1;var n=!0;return F(m.prototype,function(e,r){j(e)&&(n=n&&L(t[r])&&j(t[r]))}),n},this.type=function(t,n,e){if(!L(n))return x[t];if(x.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return x[t]=new y(I({name:t},n)),e&&(w.push({name:t,def:e}),b||l()),this},F(C,function(t,n){x[n]=new y(I({name:n},t))}),x=r(x,{}),this.$get=["$injector",function(t){return f=t,b=!1,l(),F(C,function(t,n){x[n]||(x[n]=new y(t))}),this}],this.Param=function(t,n,r,i){function o(t){var n=R(t)?a(t):[],e=u(n,"value")===-1&&u(n,"type")===-1&&u(n,"squash")===-1&&u(n,"array")===-1;return e&&(t={value:t}),t.$$fn=s(t.value)?t.value:function(){return t.value},t}function l(n,e,r){if(n.type&&e)throw new Error("Param '"+t+"' has two type configurations.");return e?e:n.type?n.type instanceof y?n.type:new y(n.type):"config"===r?x.any:x.string}function c(){var n={array:"search"===i&&"auto"},e=t.match(/\[\]$/)?{array:!0}:{};return I(n,e,r).array}function h(t,n){var e=t.squash;if(!n||e===!1)return!1;if(!L(e)||null==e)return g;if(e===!0||N(e))return e;throw new Error("Invalid squash policy: '"+e+"'. Valid policies: false, true, or arbitrary string")}function v(t,n,r,i){var o,a,s=[{from:"",to:r||n?e:""},{from:null,to:r||n?e:""}];return o=D(t.replace)?t.replace:[],N(i)&&o.push({from:i,to:e}),a=d(o,function(t){return t.from}),p(s,function(t){return u(a,t.from)===-1}).concat(o)}function m(){if(!f)throw new Error("Injectable functions cannot be called at configuration time");var t=f.invoke(r.$$fn);if(null!==t&&t!==e&&!w.type.is(t))throw new Error("Default value ("+t+") for parameter '"+w.id+"' is not an instance of Type ("+w.type.name+")");return t}function $(t){function n(t){return function(n){return n.from===t}}function e(t){var e=d(p(w.replace,n(t)),function(t){return t.to});return e.length?e[0]:t}return t=e(t),L(t)?w.type.$normalize(t):m()}function b(){return"{Param:"+t+" "+n+" squash: '"+_+"' optional: "+S+"}"}var w=this;r=o(r),n=l(r,n,i);var C=c();n=C?n.$asArray(C,"search"===i):n,"string"!==n.name||C||"path"!==i||r.value!==e||(r.value="");var S=r.value!==e,_=h(r,S),M=v(r,C,S,_);I(this,{id:t,type:n,location:i,array:C,squash:_,replace:M,isOptional:S,value:$,dynamic:e,config:r,toString:b})},c.prototype={$$new:function(){return r(this,I(new c,{$$parent:this}))},$$keys:function(){for(var t=[],n=[],e=this,r=a(c.prototype);e;)n.push(e),e=e.$$parent;return n.reverse(),F(n,function(n){F(a(n),function(n){u(t,n)===-1&&u(r,n)===-1&&t.push(n)})}),t},$$values:function(t){var n={},e=this;return F(e.$$keys(),function(r){n[r]=e[r].value(t&&t[r])}),n},$$equals:function(t,n){var e=!0,r=this;return F(r.$$keys(),function(i){var o=t&&t[i],a=n&&n[i];r[i].type.equals(o,a)||(e=!1)}),e},$$validates:function(t){var r,i,o,a,u,s=this.$$keys();for(r=0;r<s.length&&(i=this[s[r]],o=t[s[r]],o!==e&&null!==o||!i.isOptional);r++){if(a=i.type.$normalize(o),!i.type.is(a))return!1;if(u=i.type.encode(a),n.isString(u)&&!i.type.pattern.exec(u))return!1}return!0},$$parent:e},this.ParamSet=c}function x(t,r){function i(t){var n=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(t.source);return null!=n?n[1].replace(/\\(.)/g,"$1"):""}function o(t,n){return t.replace(/\$(\$|\d{1,2})/,function(t,e){return n["$"===e?0:Number(e)]})}function a(t,n,e){if(!e)return!1;var r=t.invoke(n,n,{$match:e});return!L(r)||r}function u(r,i,o,a){function u(t,n,e){return"/"===v?t:n?v.slice(0,-1)+t:e?v.slice(1)+t:t}function h(t){function n(t){var n=t(o,r);return!!n&&(N(n)&&r.replace().url(n),!0)}if(!t||!t.defaultPrevented){d&&r.url()===d;d=e;var i,a=l.length;for(i=0;i<a;i++)if(n(l[i]))return;c&&n(c)}}function p(){return s=s||i.$on("$locationChangeSuccess",h)}var d,v=a.baseHref(),g=r.url();return f||p(),{sync:function(){h()},listen:function(){return p()},update:function(t){return t?void(g=r.url()):void(r.url()!==g&&(r.url(g),r.replace()))},push:function(t,n,i){var o=t.format(n||{});null!==o&&n&&n["#"]&&(o+="#"+n["#"]),r.url(o),d=i&&i.$$avoidResync?r.url():e,i&&i.replace&&r.replace()},href:function(e,i,o){if(!e.validates(i))return null;var a=t.html5Mode();n.isObject(a)&&(a=a.enabled);var s=e.format(i);if(o=o||{},a||null===s||(s="#"+t.hashPrefix()+s),null!==s&&i&&i["#"]&&(s+="#"+i["#"]),s=u(s,a,o.absolute),!o.absolute||!s)return s;var l=!a&&s?"/":"",c=r.port();return c=80===c||443===c?"":":"+c,[r.protocol(),"://",r.host(),c,l,s].join("")}}}var s,l=[],c=null,f=!1;this.rule=function(t){if(!j(t))throw new Error("'rule' must be a function");return l.push(t),this},this.otherwise=function(t){if(N(t)){var n=t;t=function(){return n}}else if(!j(t))throw new Error("'rule' must be a function");return c=t,this},this.when=function(t,n){var e,u=N(n);if(N(t)&&(t=r.compile(t)),!u&&!j(n)&&!D(n))throw new Error("invalid 'handler' in when()");var s={matcher:function(t,n){return u&&(e=r.compile(n),n=["$match",function(t){return e.format(t)}]),I(function(e,r){return a(e,n,t.exec(r.path(),r.search()))},{prefix:N(t.prefix)?t.prefix:""})},regex:function(t,n){if(t.global||t.sticky)throw new Error("when() RegExp must not be global or sticky");return u&&(e=n,n=["$match",function(t){return o(e,t)}]),I(function(e,r){return a(e,n,t.exec(r.path()))},{prefix:i(t)})}},l={matcher:r.isMatcher(t),regex:t instanceof RegExp};for(var c in l)if(l[c])return this.rule(s[c](t,n));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(t){t===e&&(t=!0),f=t},this.$get=u,u.$inject=["$location","$rootScope","$injector","$browser"]}function b(t,i){function o(t){return 0===t.indexOf(".")||0===t.indexOf("^")}function h(t,n){if(!t)return e;var r=N(t),i=r?t:t.name,a=o(i);if(a){if(!n)throw new Error("No reference point given for path '"+i+"'");n=h(n);for(var u=i.split("."),s=0,l=u.length,c=n;s<l;s++)if(""!==u[s]||0!==s){if("^"!==u[s])break;if(!c.parent)throw new Error("Path '"+i+"' not valid for state '"+n.name+"'");c=c.parent}else c=n;u=u.slice(s).join("."),i=c.name+(c.name&&u?".":"")+u}var f=_[i];return!f||!r&&(r||f!==t&&f.self!==t)?e:f}function p(t,n){M[t]||(M[t]=[]),M[t].push(n)}function v(t){for(var n=M[t]||[];n.length;)g(n.shift())}function g(n){n=r(n,{self:n,resolve:n.resolve||{},toString:function(){return this.name}});var e=n.name;if(!N(e)||e.indexOf("@")>=0)throw new Error("State must have a valid name");if(_.hasOwnProperty(e))throw new Error("State '"+e+"'' is already defined");var i=e.indexOf(".")!==-1?e.substring(0,e.lastIndexOf(".")):N(n.parent)?n.parent:R(n.parent)&&N(n.parent.name)?n.parent.name:"";if(i&&!_[i])return p(i,n.self);for(var o in A)j(A[o])&&(n[o]=A[o](n,A.$delegates[o]));return _[e]=n,!n[k]&&n.url&&t.when(n.url,["$match","$stateParams",function(t,e){S.$current.navigable==n&&l(t,e)||S.transitionTo(n,t,{inherit:!0,location:!1})}]),v(e),n}function m(t){return t.indexOf("*")>-1}function y(t){for(var n=t.split("."),e=S.$current.name.split("."),r=0,i=n.length;r<i;r++)"*"===n[r]&&(e[r]="*");return"**"===n[0]&&(e=e.slice(u(e,n[1])),e.unshift("**")),"**"===n[n.length-1]&&(e.splice(u(e,n[n.length-2])+1,Number.MAX_VALUE),e.push("**")),n.length==e.length&&e.join("")===n.join("")}function $(t,n){return N(t)&&!L(n)?A[t]:j(n)&&N(t)?(A[t]&&!A.$delegates[t]&&(A.$delegates[t]=A[t]),A[t]=n,this):this}function x(t,n){return R(t)?n=t:n.name=t,g(n),this}function b(t,i,o,u,f,p,v,g,$){function x(n,e,r,o){var a=t.$broadcast("$stateNotFound",n,e,r);if(a.defaultPrevented)return v.update(),E;if(!a.retry)return null;if(o.$retry)return v.update(),P;var u=S.transition=i.when(a.retry);return u.then(function(){return u!==S.transition?M:(n.options.$retry=!0,S.transitionTo(n.to,n.toParams,n.options))},function(){return E}),v.update(),u}function b(t,e,r,a,s,l){function h(){var e=[];return F(t.views,function(r,i){var a=r.resolve&&r.resolve!==t.resolve?r.resolve:{};a.$template=[function(){return o.load(i,{view:r,locals:s.globals,params:p,notify:l.notify})||""}],e.push(f.resolve(a,s.globals,s.resolve,t).then(function(e){if(j(r.controllerProvider)||D(r.controllerProvider)){var o=n.extend({},a,s.globals);e.$$controller=u.invoke(r.controllerProvider,null,o)}else e.$$controller=r.controller;e.$$state=t,e.$$controllerAs=r.controllerAs,s[i]=e}))}),i.all(e).then(function(){return s.globals})}var p=r?e:c(t.params.$$keys(),e),d={$stateParams:p};s.resolve=f.resolve(t.resolve,d,s.resolve,t);var v=[s.resolve.then(function(t){s.globals=t})];return a&&v.push(a),i.all(v).then(h).then(function(t){return s})}var M=i.reject(new Error("transition superseded")),A=i.reject(new Error("transition prevented")),E=i.reject(new Error("transition aborted")),P=i.reject(new Error("transition failed"));return C.locals={resolve:null,globals:{$stateParams:{}}},S={params:{},current:C.self,$current:C,transition:null},S.reload=function(t){return S.transitionTo(S.current,p,{reload:t||!0,inherit:!1,notify:!0})},S.go=function(t,n,e){return S.transitionTo(t,n,I({inherit:!0,relative:S.$current},e))},S.transitionTo=function(n,e,o){e=e||{},o=I({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},o||{});var a,l=S.$current,f=S.params,d=l.path,g=h(n,o.relative),m=e["#"];if(!L(g)){var y={to:n,toParams:e,options:o},$=x(y,l.self,f,o);if($)return $;if(n=y.to,e=y.toParams,o=y.options,g=h(n,o.relative),!L(g)){if(!o.relative)throw new Error("No such state '"+n+"'");throw new Error("Could not resolve '"+n+"' from state '"+o.relative+"'")}}if(g[k])throw new Error("Cannot transition to abstract state '"+n+"'");if(o.inherit&&(e=s(p,e||{},S.$current,g)),!g.params.$$validates(e))return P;e=g.params.$$values(e),n=g;var _=n.path,E=0,O=_[E],T=C.locals,j=[];if(o.reload){if(N(o.reload)||R(o.reload)){if(R(o.reload)&&!o.reload.name)throw new Error("Invalid reload state object");var D=o.reload===!0?d[0]:h(o.reload);if(o.reload&&!D)throw new Error("No such reload state '"+(N(o.reload)?o.reload:o.reload.name)+"'");for(;O&&O===d[E]&&O!==D;)T=j[E]=O.locals,E++,O=_[E]}}else for(;O&&O===d[E]&&O.ownParams.$$equals(e,f);)T=j[E]=O.locals,E++,O=_[E];if(w(n,e,l,f,T,o))return m&&(e["#"]=m),S.params=e,z(S.params,p),o.location&&n.navigable&&n.navigable.url&&(v.push(n.navigable.url,e,{$$avoidResync:!0,replace:"replace"===o.location}),v.update(!0)),S.transition=null,i.when(S.current);if(e=c(n.params.$$keys(),e||{}),o.notify&&t.$broadcast("$stateChangeStart",n.self,e,l.self,f).defaultPrevented)return t.$broadcast("$stateChangeCancel",n.self,e,l.self,f),v.update(),A;for(var F=i.when(T),q=E;q<_.length;q++,O=_[q])T=j[q]=r(T),F=b(O,e,O===n,F,T,o);var V=S.transition=F.then(function(){var r,i,a;if(S.transition!==V)return M;for(r=d.length-1;r>=E;r--)a=d[r],a.self.onExit&&u.invoke(a.self.onExit,a.self,a.locals.globals),a.locals=null;for(r=E;r<_.length;r++)i=_[r],i.locals=j[r],i.self.onEnter&&u.invoke(i.self.onEnter,i.self,i.locals.globals);return m&&(e["#"]=m),S.transition!==V?M:(S.$current=n,S.current=n.self,S.params=e,z(S.params,p),S.transition=null,o.location&&n.navigable&&v.push(n.navigable.url,n.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===o.location}),o.notify&&t.$broadcast("$stateChangeSuccess",n.self,e,l.self,f),v.update(!0),S.current)},function(r){return S.transition!==V?M:(S.transition=null,a=t.$broadcast("$stateChangeError",n.self,e,l.self,f,r),a.defaultPrevented||v.update(),i.reject(r))});return V},S.is=function(t,n,r){r=I({relative:S.$current},r||{});var i=h(t,r.relative);return L(i)?S.$current===i&&(!n||l(i.params.$$values(n),p)):e},S.includes=function(t,n,r){if(r=I({relative:S.$current},r||{}),N(t)&&m(t)){if(!y(t))return!1;t=S.$current.name}var i=h(t,r.relative);return L(i)?!!L(S.$current.includes[i.name])&&(!n||l(i.params.$$values(n),p,a(n))):e},S.href=function(t,n,r){r=I({lossy:!0,inherit:!0,absolute:!1,relative:S.$current},r||{});var i=h(t,r.relative);if(!L(i))return null;r.inherit&&(n=s(p,n||{},S.$current,i));var o=i&&r.lossy?i.navigable:i;return o&&o.url!==e&&null!==o.url?v.href(o.url,c(i.params.$$keys().concat("#"),n||{}),{absolute:r.absolute}):null},S.get=function(t,n){if(0===arguments.length)return d(a(_),function(t){return _[t].self});var e=h(t,n||S.$current);return e&&e.self?e.self:null},S}function w(t,n,e,r,i,o){function a(t,n,e){function r(n){return"search"!=t.params[n].location}var i=t.params.$$keys().filter(r),o=f.apply({},[t.params].concat(i)),a=new q.ParamSet(o);return a.$$equals(n,e)}if(!o.reload&&t===e&&(i===e.locals||t.self.reloadOnSearch===!1&&a(e,r,n)))return!0}var C,S,_={},M={},k="abstract",A={parent:function(t){if(L(t.parent)&&t.parent)return h(t.parent);var n=/^(.+)\.[^.]+$/.exec(t.name);return n?h(n[1]):C},data:function(t){return t.parent&&t.parent.data&&(t.data=t.self.data=I({},t.parent.data,t.data)),t.data},url:function(t){var n=t.url,e={params:t.params||{}};if(N(n))return"^"==n.charAt(0)?i.compile(n.substring(1),e):(t.parent.navigable||C).url.concat(n,e);if(!n||i.isMatcher(n))return n;throw new Error("Invalid url '"+n+"' in state '"+t+"'")},navigable:function(t){return t.url?t:t.parent?t.parent.navigable:null},ownParams:function(t){var n=t.url&&t.url.params||new q.ParamSet;return F(t.params||{},function(t,e){n[e]||(n[e]=new q.Param(e,null,t,"config"))}),n},params:function(t){return t.parent&&t.parent.params?I(t.parent.params.$$new(),t.ownParams):new q.ParamSet},views:function(t){var n={};return F(L(t.views)?t.views:{"":t},function(e,r){r.indexOf("@")<0&&(r+="@"+t.parent.name),n[r]=e}),n},path:function(t){return t.parent?t.parent.path.concat(t):[]},includes:function(t){var n=t.parent?I({},t.parent.includes):{};return n[t.name]=!0,n},$delegates:{}};C=g({name:"",url:"^",views:null,"abstract":!0}),C.navigable=null,this.decorator=$,this.state=x,this.$get=b,b.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function t(t,n){return{load:function(e,r){var i,o={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return r=I(o,r),r.view&&(i=n.fromConfig(r.view,r.params,r.locals)),i&&r.notify&&t.$broadcast("$viewContentLoading",r),i}}}this.$get=t,t.$inject=["$rootScope","$templateFactory"]}function C(){var t=!1;this.useAnchorScroll=function(){t=!0},this.$get=["$anchorScroll","$timeout",function(n,e){return t?n:function(t){return e(function(){t[0].scrollIntoView()},0,!1)}}]}function S(t,e,r,i){function o(){return e.has?function(t){return e.has(t)?e.get(t):null}:function(t){try{return e.get(t)}catch(n){return null}}}function a(t,n){var e=function(){return{enter:function(t,n,e){n.after(t),e()},leave:function(t,n){t.remove(),n()}}};if(l)return{enter:function(t,n,e){var r=l.enter(t,null,n,e);r&&r.then&&r.then(e)},leave:function(t,n){var e=l.leave(t,n);e&&e.then&&e.then(n)}};if(s){var r=s&&s(n,t);return{enter:function(t,n,e){r.enter(t,null,n),e()},leave:function(t,n){r.leave(t),n()}}}return e()}var u=o(),s=u("$animator"),l=u("$animate"),c={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(e,o,u){return function(e,o,s){function l(){f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),h&&(m.leave(h,function(){f=null}),f=h,h=null)}function c(a){var c,f=M(e,s,o,i),y=f&&t.$current&&t.$current.locals[f];if(a||y!==d){c=e.$new(),d=t.$current.locals[f];var $=u(c,function(t){m.enter(t,o,function(){p&&p.$emit("$viewContentAnimationEnded"),(n.isDefined(g)&&!g||e.$eval(g))&&r(t)}),l()});h=$,p=c,p.$emit("$viewContentLoaded"),p.$eval(v)}}var f,h,p,d,v=s.onload||"",g=s.autoscroll,m=a(s,e);e.$on("$stateChangeSuccess",function(){c(!1)}),e.$on("$viewContentLoading",function(){c(!1)}),c(!0)}}};return c}function _(t,n,e,r){return{restrict:"ECA",priority:-400,compile:function(i){var o=i.html();return function(i,a,u){var s=e.$current,l=M(i,u,a,r),c=s&&s.locals[l];if(c){a.data("$uiView",{name:l,state:c.$$state}),a.html(c.$template?c.$template:o);var f=t(a.contents());if(c.$$controller){c.$scope=i,c.$element=a;var h=n(c.$$controller,c);c.$$controllerAs&&(i[c.$$controllerAs]=h),a.data("$ngControllerController",h),a.children().data("$ngControllerController",h)}f(i)}}}}}function M(t,n,e,r){var i=r(n.uiView||n.name||"")(t),o=e.inheritedData("$uiView");return i.indexOf("@")>=0?i:i+"@"+(o?o.state.name:"")}function k(t,n){var e,r=t.match(/^\s*({[^}]*})\s*$/);if(r&&(t=n+"("+r[1]+")"),e=t.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!e||4!==e.length)throw new Error("Invalid state ref '"+t+"'");return{state:e[1],paramExpr:e[3]||null}}function A(t){var n=t.parent().inheritedData("$uiView");if(n&&n.state&&n.state.name)return n.state}function E(t,e){var r=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(i,o,a,u){var s=k(a.uiSref,t.current.name),l=null,c=A(o)||t.$current,f="[object SVGAnimatedString]"===Object.prototype.toString.call(o.prop("href"))?"xlink:href":"href",h=null,p="A"===o.prop("tagName").toUpperCase(),d="FORM"===o[0].nodeName,v=d?"action":f,g=!0,m={relative:c,inherit:!0},y=i.$eval(a.uiSrefOpts)||{};n.forEach(r,function(t){t in y&&(m[t]=y[t])});var $=function(e){if(e&&(l=n.copy(e)),g){h=t.href(s.state,l,m);var r=u[1]||u[0];return r&&r.$$addStateInfo(s.state,l),null===h?(g=!1,!1):void a.$set(v,h)}};s.paramExpr&&(i.$watch(s.paramExpr,function(t,n){t!==l&&$(t)},!0),l=n.copy(i.$eval(s.paramExpr))),$(),d||o.bind("click",function(n){var r=n.which||n.button;if(!(r>1||n.ctrlKey||n.metaKey||n.shiftKey||o.attr("target"))){var i=e(function(){t.go(s.state,l,m)});n.preventDefault();var a=p&&!h?1:0;n.preventDefault=function(){a--<=0&&e.cancel(i)}}})}}}function P(t,n,e){return{restrict:"A",controller:["$scope","$element","$attrs",function(n,r,i){function o(){a()?r.addClass(s):r.removeClass(s)}function a(){for(var t=0;t<l.length;t++)if(u(l[t].state,l[t].params))return!0;return!1}function u(n,e){return"undefined"!=typeof i.uiSrefActiveEq?t.is(n.name,e):t.includes(n.name,e)}var s,l=[];s=e(i.uiSrefActiveEq||i.uiSrefActive||"",!1)(n),this.$$addStateInfo=function(n,e){var i=t.get(n,A(r));l.push({state:i||{name:n},params:e}),o()},n.$on("$stateChangeSuccess",o)}]}}function O(t){var n=function(n){return t.is(n)};return n.$stateful=!0,n}function T(t){var n=function(n){return t.includes(n)};return n.$stateful=!0,n}var L=n.isDefined,j=n.isFunction,N=n.isString,R=n.isObject,D=n.isArray,F=n.forEach,I=n.extend,z=n.copy;n.module("ui.router.util",["ng"]),n.module("ui.router.router",["ui.router.util"]),n.module("ui.router.state",["ui.router.router","ui.router.util"]),n.module("ui.router",["ui.router.state"]),n.module("ui.router.compat",["ui.router"]),v.$inject=["$q","$injector"],n.module("ui.router.util").service("$resolve",v),g.$inject=["$http","$templateCache","$injector"],n.module("ui.router.util").service("$templateFactory",g);var q;m.prototype.concat=function(t,n){var e={caseInsensitive:q.caseInsensitive(),strict:q.strictMode(),squash:q.defaultSquashPolicy()};return new m(this.sourcePath+t+this.sourceSearch,I(e,n),this)},m.prototype.toString=function(){return this.source},m.prototype.exec=function(t,n){function e(t){function n(t){return t.split("").reverse().join("")}function e(t){return t.replace(/\\-/g,"-")}var r=n(t).split(/-(?!\\)/),i=d(r,n);return d(i,e).reverse()}var r=this.regexp.exec(t);if(!r)return null;n=n||{};var i,o,a,u=this.parameters(),s=u.length,l=this.segments.length-1,c={};if(l!==r.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;i<l;i++){a=u[i];var f=this.params[a],h=r[i+1];for(o=0;o<f.replace;o++)f.replace[o].from===h&&(h=f.replace[o].to);h&&f.array===!0&&(h=e(h)),c[a]=f.value(h)}for(;i<s;i++)a=u[i],c[a]=this.params[a].value(n[a]);return c},m.prototype.parameters=function(t){return L(t)?this.params[t]||null:this.$$paramNames},m.prototype.validates=function(t){return this.params.$$validates(t)},m.prototype.format=function(t){function n(t){return encodeURIComponent(t).replace(/-/g,function(t){return"%5C%"+t.charCodeAt(0).toString(16).toUpperCase()})}t=t||{};var e=this.segments,r=this.parameters(),i=this.params;if(!this.validates(t))return null;var o,a=!1,u=e.length-1,s=r.length,l=e[0];for(o=0;o<s;o++){var c=o<u,f=r[o],h=i[f],p=h.value(t[f]),v=h.isOptional&&h.type.equals(h.value(),p),g=!!v&&h.squash,m=h.type.encode(p);if(c){var y=e[o+1];if(g===!1)null!=m&&(l+=D(m)?d(m,n).join("-"):encodeURIComponent(m)),l+=y;else if(g===!0){var $=l.match(/\/$/)?/\/?(.*)/:/(.*)/;l+=y.match($)[1]}else N(g)&&(l+=g+y)}else{if(null==m||v&&g!==!1)continue;D(m)||(m=[m]),m=d(m,encodeURIComponent).join("&"+f+"="),l+=(a?"&":"?")+(f+"="+m),a=!0}}return l},y.prototype.is=function(t,n){return!0},y.prototype.encode=function(t,n){return t},y.prototype.decode=function(t,n){return t},y.prototype.equals=function(t,n){return t==n},y.prototype.$subPattern=function(){var t=this.pattern.toString();return t.substr(1,t.length-2)},y.prototype.pattern=/.*/,y.prototype.toString=function(){return"{Type:"+this.name+"}"},y.prototype.$normalize=function(t){return this.is(t)?t:this.decode(t)},y.prototype.$asArray=function(t,n){function r(t,n){function r(t,n){return function(){return t[n].apply(t,arguments)}}function i(t){return D(t)?t:L(t)?[t]:[]}function o(t){switch(t.length){case 0:return e;case 1:return"auto"===n?t[0]:t;default:return t}}function a(t){return!t}function u(t,n){return function(e){e=i(e);var r=d(e,t);return n===!0?0===p(r,a).length:o(r)}}function s(t){return function(n,e){var r=i(n),o=i(e);if(r.length!==o.length)return!1;for(var a=0;a<r.length;a++)if(!t(r[a],o[a]))return!1;return!0}}this.encode=u(r(t,"encode")),this.decode=u(r(t,"decode")),this.is=u(r(t,"is"),!0),this.equals=s(r(t,"equals")),this.pattern=t.pattern,this.$normalize=u(r(t,"$normalize")),this.name=t.name,this.$arrayMode=n}if(!t)return this;if("auto"===t&&!n)throw new Error("'auto' array mode is for query parameters only");return new r(this,t)},n.module("ui.router.util").provider("$urlMatcherFactory",$),n.module("ui.router.util").run(["$urlMatcherFactory",function(t){}]),x.$inject=["$locationProvider","$urlMatcherFactoryProvider"],n.module("ui.router.router").provider("$urlRouter",x),b.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],n.module("ui.router.state").value("$stateParams",{}).provider("$state",b),w.$inject=[],n.module("ui.router.state").provider("$view",w),n.module("ui.router.state").provider("$uiViewScroll",C),S.$inject=["$state","$injector","$uiViewScroll","$interpolate"],_.$inject=["$compile","$controller","$state","$interpolate"],n.module("ui.router.state").directive("uiView",S),n.module("ui.router.state").directive("uiView",_),E.$inject=["$state","$timeout"],P.$inject=["$state","$stateParams","$interpolate"],n.module("ui.router.state").directive("uiSref",E).directive("uiSrefActive",P).directive("uiSrefActiveEq",P),O.$inject=["$state"],T.$inject=["$state"],n.module("ui.router.state").filter("isState",O).filter("includedByState",T)}(window,window.angular),function(t,n,e){"use strict";function r(t){return null!=t&&""!==t&&"hasOwnProperty"!==t&&u.test("."+t)}function i(t,i){if(!r(i))throw a("badmember",'Dotted member path "@{0}" is invalid.',i);for(var o=i.split("."),u=0,s=o.length;u<s&&n.isDefined(t);u++){var l=o[u];t=null!==t?t[l]:e}return t}function o(t,e){e=e||{},n.forEach(e,function(t,n){delete e[n]});for(var r in t)!t.hasOwnProperty(r)||"$"===r.charAt(0)&&"$"===r.charAt(1)||(e[r]=t[r]);return e}var a=n.$$minErr("$resource"),u=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;n.module("ngResource",["ng"]).provider("$resource",function(){var t=/^https?:\/\/[^\/]*/,r=this;this.defaults={stripTrailingSlashes:!0,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$q",function(u,s){function l(t){return c(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function c(t,n){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,n?"%20":"+")}function f(t,n){this.template=t,this.defaults=v({},r.defaults,n),this.urlParams={}}function h(t,l,c,y){function $(t,n){var e={};return n=v({},l,n),d(n,function(n,r){m(n)&&(n=n()),e[r]=n&&n.charAt&&"@"==n.charAt(0)?i(t,n.substr(1)):n}),e}function x(t){return t.resource}function b(t){o(t||{},this)}var w=new f(t,y);return c=v({},r.defaults.actions,c),b.prototype.toJSON=function(){var t=v({},this);return delete t.$promise,delete t.$resolved,t},d(c,function(t,r){var i=/^(POST|PUT|PATCH)$/i.test(t.method);b[r]=function(l,c,f,h){var y,C,S,_={};switch(arguments.length){case 4:S=h,C=f;case 3:case 2:if(!m(c)){_=l,y=c,C=f;break}if(m(l)){C=l,S=c;break}C=c,S=f;case 1:m(l)?C=l:i?y=l:_=l;break;case 0:break;default:throw a("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var M=this instanceof b,k=M?y:t.isArray?[]:new b(y),A={},E=t.interceptor&&t.interceptor.response||x,P=t.interceptor&&t.interceptor.responseError||e;d(t,function(t,n){"params"!=n&&"isArray"!=n&&"interceptor"!=n&&(A[n]=g(t))}),i&&(A.data=y),w.setUrlParams(A,v({},$(y,t.params||{}),_),t.url);var O=u(A).then(function(e){var i=e.data,u=k.$promise;if(i){if(n.isArray(i)!==!!t.isArray)throw a("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",r,t.isArray?"array":"object",n.isArray(i)?"array":"object",A.method,A.url);t.isArray?(k.length=0,d(i,function(t){"object"==typeof t?k.push(new b(t)):k.push(t)})):(o(i,k),k.$promise=u)}return k.$resolved=!0,e.resource=k,e},function(t){return k.$resolved=!0,(S||p)(t),s.reject(t)});return O=O.then(function(t){var n=E(t);return(C||p)(n,t.headers),n},P),M?O:(k.$promise=O,k.$resolved=!1,k)},b.prototype["$"+r]=function(t,n,e){m(t)&&(e=n,n=t,t={});var i=b[r].call(this,t,this,n,e);return i.$promise||i}}),b.bind=function(n){return h(t,v({},l,n),c)},b}var p=n.noop,d=n.forEach,v=n.extend,g=n.copy,m=n.isFunction;return f.prototype={setUrlParams:function(e,r,i){var o,u,s=this,c=i||s.template,f="",h=s.urlParams={};d(c.split(/\W/),function(t){if("hasOwnProperty"===t)throw a("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(t)&&t&&new RegExp("(^|[^\\\\]):"+t+"(\\W|$)").test(c)&&(h[t]=!0)}),c=c.replace(/\\:/g,":"),c=c.replace(t,function(t){return f=t,""}),r=r||{},d(s.urlParams,function(t,e){o=r.hasOwnProperty(e)?r[e]:s.defaults[e],n.isDefined(o)&&null!==o?(u=l(o),c=c.replace(new RegExp(":"+e+"(\\W|$)","g"),function(t,n){return u+n})):c=c.replace(new RegExp("(/?):"+e+"(\\W|$)","g"),function(t,n,e){return"/"==e.charAt(0)?e:n+e})}),s.defaults.stripTrailingSlashes&&(c=c.replace(/\/+$/,"")||"/"),c=c.replace(/\/\.(?=\w+($|\?))/,"."),e.url=f+c.replace(/\/\\\./,"/."),d(r,function(t,n){s.urlParams[n]||(e.params=e.params||{},e.params[n]=t)})}},h}]})}(window,window.angular),function(t,n,e){"use strict";function r(t,e,r){function i(t,r,i){var a,u;i=i||{},u=i.expires,a=n.isDefined(i.path)?i.path:o,n.isUndefined(r)&&(u="Thu, 01 Jan 1970 00:00:00 GMT",r=""),n.isString(u)&&(u=new Date(u));var s=encodeURIComponent(t)+"="+encodeURIComponent(r);s+=a?";path="+a:"",s+=i.domain?";domain="+i.domain:"",s+=u?";expires="+u.toUTCString():"",s+=i.secure?";secure":"";var l=s.length+1;return l>4096&&e.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+l+" > 4096 bytes)!"),s}var o=r.baseHref(),a=t[0];return function(t,n,e){a.cookie=i(t,n,e)}}n.module("ngCookies",["ng"]).provider("$cookies",[function(){function t(t){return t?n.extend({},r,t):r}var r=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(r,i){return{get:function(t){return r()[t]},getObject:function(t){var e=this.get(t);return e?n.fromJson(e):e},getAll:function(){return r()},put:function(n,e,r){i(n,e,t(r))},putObject:function(t,e,r){this.put(t,n.toJson(e),r)},remove:function(n,r){i(n,e,t(r))}}}]}]),n.module("ngCookies").factory("$cookieStore",["$cookies",function(t){return{get:function(n){return t.getObject(n)},put:function(n,e){t.putObject(n,e)},remove:function(n){t.remove(n)}}}]),r.$inject=["$document","$log","$browser"],n.module("ngCookies").provider("$$cookieWriter",function(){this.$get=r})}(window,window.angular),function(t,n,e){"use strict";function r(t,n,e){if(!t)throw ngMinErr("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function i(t,n){return t||n?t?n?(V(t)&&(t=t.join(" ")),V(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function o(t){var n={};return t&&(t.to||t.from)&&(n.to=t.to,n.from=t.from),n}function a(t,n,e){var r="";return t=V(t)?t:t&&B(t)&&t.length?t.split(/\s+/):[],q(t,function(t,i){t&&t.length>0&&(r+=i>0?" ":"",r+=e?n+t:t+n)}),r}function u(t,n){var e=t.indexOf(n);n>=0&&t.splice(e,1)}function s(t){if(t instanceof z)switch(t.length){
-case 0:return[];case 1:if(t[0].nodeType===X)return t;break;default:return z(l(t))}if(t.nodeType===X)return z(t)}function l(t){if(!t[0])return t;for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType==X)return e}}function c(t,n,e){q(n,function(n){t.addClass(n,e)})}function f(t,n,e){q(n,function(n){t.removeClass(n,e)})}function h(t){return function(n,e){e.addClass&&(c(t,n,e.addClass),e.addClass=null),e.removeClass&&(f(t,n,e.removeClass),e.removeClass=null)}}function p(t){if(t=t||{},!t.$$prepared){var n=t.domOperation||F;t.domOperation=function(){t.$$domOperationFired=!0,n(),n=F},t.$$prepared=!0}return t}function d(t,n){v(t,n),g(t,n)}function v(t,n){n.from&&(t.css(n.from),n.from=null)}function g(t,n){n.to&&(t.css(n.to),n.to=null)}function m(t,n,e){var r=(n.addClass||"")+" "+(e.addClass||""),i=(n.removeClass||"")+" "+(e.removeClass||""),o=y(t.attr("class"),r,i);e.preparationClasses&&(n.preparationClasses=_(e.preparationClasses,n.preparationClasses),delete e.preparationClasses);var a=n.domOperation!==F?n.domOperation:null;return I(n,e),a&&(n.domOperation=a),o.addClass?n.addClass=o.addClass:n.addClass=null,o.removeClass?n.removeClass=o.removeClass:n.removeClass=null,n}function y(t,n,e){function r(t){B(t)&&(t=t.split(" "));var n={};return q(t,function(t){t.length&&(n[t]=!0)}),n}var i=1,o=-1,a={};t=r(t),n=r(n),q(n,function(t,n){a[n]=i}),e=r(e),q(e,function(t,n){a[n]=a[n]===i?null:o});var u={addClass:"",removeClass:""};return q(a,function(n,e){var r,a;n===i?(r="addClass",a=!t[e]):n===o&&(r="removeClass",a=t[e]),a&&(u[r].length&&(u[r]+=" "),u[r]+=e)}),u}function $(t){return t instanceof n.element?t[0]:t}function x(t,n,e){var r="";n&&(r=a(n,K,!0)),e.addClass&&(r=_(r,a(e.addClass,Z))),e.removeClass&&(r=_(r,a(e.removeClass,J))),r.length&&(e.preparationClasses=r,t.addClass(r))}function b(t,n){n.preparationClasses&&(t.removeClass(n.preparationClasses),n.preparationClasses=null),n.activeClasses&&(t.removeClass(n.activeClasses),n.activeClasses=null)}function w(t,n){var e=n?"-"+n+"s":"";return S(t,[ht,e]),[ht,e]}function C(t,n){var e=n?"paused":"",r=R+st;return S(t,[r,e]),[r,e]}function S(t,n){var e=n[0],r=n[1];t.style[e]=r}function _(t,n){return t?n?t+" "+n:t:n}function M(t){return[ft,t+"s"]}function k(t,n){var e=n?ct:ht;return[e,t+"s"]}function A(t,n,e){var r=Object.create(null),i=t.getComputedStyle(n)||{};return q(e,function(t,n){var e=i[t];if(e){var o=e.charAt(0);("-"===o||"+"===o||o>=0)&&(e=E(e)),0===e&&(e=null),r[n]=e}}),r}function E(t){var n=0,e=t.split(/\s*,\s*/);return q(e,function(t){"s"==t.charAt(t.length-1)&&(t=t.substring(0,t.length-1)),t=parseFloat(t)||0,n=n?Math.max(t,n):t}),n}function P(t){return 0===t||null!=t}function O(t,n){var e=j,r=t+"s";return n?e+=rt:r+=" linear all",[e,r]}function T(){var t=Object.create(null);return{flush:function(){t=Object.create(null)},count:function(n){var e=t[n];return e?e.total:0},get:function(n){var e=t[n];return e&&e.value},put:function(n,e){t[n]?t[n].total++:t[n]={total:1,value:e}}}}function L(t,n,e){q(e,function(e){t[e]=H(t[e])?t[e]:n.style.getPropertyValue(e)})}var j,N,R,D,F=n.noop,I=n.extend,z=n.element,q=n.forEach,V=n.isArray,B=n.isString,W=n.isObject,U=n.isUndefined,H=n.isDefined,Y=n.isFunction,G=n.isElement,X=1,Z="-add",J="-remove",K="ng-",Q="-active",tt="ng-animate",nt="$$ngAnimateChildren",et="";U(t.ontransitionend)&&H(t.onwebkittransitionend)?(et="-webkit-",j="WebkitTransition",N="webkitTransitionEnd transitionend"):(j="transition",N="transitionend"),U(t.onanimationend)&&H(t.onwebkitanimationend)?(et="-webkit-",R="WebkitAnimation",D="webkitAnimationEnd animationend"):(R="animation",D="animationend");var rt="Duration",it="Property",ot="Delay",at="TimingFunction",ut="IterationCount",st="PlayState",lt=9999,ct=R+ot,ft=R+rt,ht=j+ot,pt=j+rt,dt=["$$rAF",function(t){function n(t){r=r.concat(t),e()}function e(){if(r.length){for(var n=r.shift(),o=0;o<n.length;o++)n[o]();i||t(function(){i||e()})}}var r,i;return r=n.queue=[],n.waitUntilQuiet=function(n){i&&i(),i=t(function(){i=null,n(),e()})},n}],vt=[function(){return function(t,e,r){var i=r.ngAnimateChildren;n.isString(i)&&0===i.length?e.data(nt,!0):r.$observe("ngAnimateChildren",function(t){t="on"===t||"true"===t,e.data(nt,t)})}}],gt="$$animateCss",mt=1e3,yt=3,$t=1.5,xt={transitionDuration:pt,transitionDelay:ht,transitionProperty:j+it,animationDuration:ft,animationDelay:ct,animationIterationCount:R+ut},bt={transitionDuration:pt,transitionDelay:ht,animationDuration:ft,animationDelay:ct},wt=["$animateProvider",function(t){var n=T(),e=T();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$animate",function(t,r,i,s,l,c,f,m){function y(t,n){var e="$$ngAnimateParentKey",r=t.parentNode,i=r[e]||(r[e]=++I);return i+"-"+t.getAttribute("class")+"-"+n}function x(e,r,i,o){var a=n.get(i);return a||(a=A(t,e,o),"infinite"===a.animationIterationCount&&(a.animationIterationCount=1)),n.put(i,a),a}function b(i,o,u,s){var l;if(n.count(u)>0&&(l=e.get(u),!l)){var c=a(o,"-stagger");r.addClass(i,c),l=A(t,i,s),l.animationDuration=Math.max(l.animationDuration,0),l.transitionDuration=Math.max(l.transitionDuration,0),r.removeClass(i,c),e.put(u,l)}return l||{}}function _(t){z.push(t),f.waitUntilQuiet(function(){n.flush(),e.flush();for(var t=l(),r=0;r<z.length;r++)z[r](t);z.length=0})}function E(t,n,e){var r=x(t,n,e,xt),i=r.animationDelay,o=r.transitionDelay;return r.maxDelay=i&&o?Math.max(i,o):i||o,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var T=h(r),I=0,z=[];return function(t,e){function l(){h()}function f(){h(!0)}function h(n){W||H&&U||(W=!0,U=!1,e.$$skipPreparationClasses||r.removeClass(t,pt),r.removeClass(t,vt),C(B,!1),w(B,!1),q(rt,function(t){B.style[t[0]]=""}),T(t,e),d(t,e),Object.keys(z).length&&q(z,function(t,n){t?B.style.setProperty(n,t):B.style.removeProperty(n)}),e.onDone&&e.onDone(),Y&&Y.complete(!n))}function x(t){jt.blockTransition&&w(B,t),jt.blockKeyframeAnimation&&C(B,!!t)}function A(){return Y=new i({end:l,cancel:f}),_(F),h(),{$$willAnimate:!1,start:function(){return Y},end:l}}function I(){function n(){if(!W){if(x(!1),q(rt,function(t){var n=t[0],e=t[1];B.style[n]=e}),T(t,e),r.addClass(t,vt),jt.recalculateTimingStyles){if(dt=B.className+" "+pt,Ct=y(B,dt),Tt=E(B,dt,Ct),Lt=Tt.maxDelay,X=Math.max(Lt,0),nt=Tt.maxDuration,0===nt)return void h();jt.hasTransitions=Tt.transitionDuration>0,jt.hasAnimations=Tt.animationDuration>0}if(jt.applyAnimationDelay&&(Lt="boolean"!=typeof e.delay&&P(e.delay)?parseFloat(e.delay):Lt,X=Math.max(Lt,0),Tt.animationDelay=Lt,Nt=k(Lt,!0),rt.push(Nt),B.style[Nt[0]]=Nt[1]),tt=X*mt,et=nt*mt,e.easing){var n,u=e.easing;jt.hasTransitions&&(n=j+at,rt.push([n,u]),B.style[n]=u),jt.hasAnimations&&(n=R+at,rt.push([n,u]),B.style[n]=u)}Tt.transitionDuration&&l.push(N),Tt.animationDuration&&l.push(D),a=Date.now();var c=tt+$t*et,f=a+c,p=t.data(gt)||[],d=!0;if(p.length){var v=p[0];d=f>v.expectedEndTime,d?s.cancel(v.timer):p.push(h)}if(d){var m=s(i,c,!1);p[0]={timer:m,expectedEndTime:f},p.push(h),t.data(gt,p)}t.on(l.join(" "),o),e.to&&(e.cleanupStyles&&L(z,B,Object.keys(e.to)),g(t,e))}}function i(){var n=t.data(gt);if(n){for(var e=1;e<n.length;e++)n[e]();t.removeData(gt)}}function o(t){t.stopPropagation();var n=t.originalEvent||t,e=n.$manualTimeStamp||n.timeStamp||Date.now(),r=parseFloat(n.elapsedTime.toFixed(yt));Math.max(e-a,0)>=tt&&r>=nt&&(H=!0,h())}if(!W){if(!B.parentNode)return void h();var a,l=[],c=function(t){if(H)U&&t&&(U=!1,h());else if(U=!t,Tt.animationDuration){var n=C(B,U);U?rt.push(n):u(rt,n)}},f=Pt>0&&(Tt.transitionDuration&&0===St.transitionDuration||Tt.animationDuration&&0===St.animationDuration)&&Math.max(St.animationDelay,St.transitionDelay);f?s(n,Math.floor(f*Pt*mt),!1):n(),G.resume=function(){c(!0)},G.pause=function(){c(!1)}}}var z={},B=$(t);if(!B||!B.parentNode||!m.enabled())return A();e=p(e);var W,U,H,Y,G,X,tt,nt,et,rt=[],ot=t.attr("class"),ut=o(e);if(0===e.duration||!c.animations&&!c.transitions)return A();var st=e.event&&V(e.event)?e.event.join(" "):e.event,ct=st&&e.structural,ft="",ht="";ct?ft=a(st,K,!0):st&&(ft=st),e.addClass&&(ht+=a(e.addClass,Z)),e.removeClass&&(ht.length&&(ht+=" "),ht+=a(e.removeClass,J)),e.applyClassesEarly&&ht.length&&T(t,e);var pt=[ft,ht].join(" ").trim(),dt=ot+" "+pt,vt=a(pt,Q),xt=ut.to&&Object.keys(ut.to).length>0,wt=(e.keyframeStyle||"").length>0;if(!wt&&!xt&&!pt)return A();var Ct,St;if(e.stagger>0){var _t=parseFloat(e.stagger);St={transitionDelay:_t,animationDelay:_t,transitionDuration:0,animationDuration:0}}else Ct=y(B,dt),St=b(B,pt,Ct,bt);e.$$skipPreparationClasses||r.addClass(t,pt);var Mt;if(e.transitionStyle){var kt=[j,e.transitionStyle];S(B,kt),rt.push(kt)}if(e.duration>=0){Mt=B.style[j].length>0;var At=O(e.duration,Mt);S(B,At),rt.push(At)}if(e.keyframeStyle){var Et=[R,e.keyframeStyle];S(B,Et),rt.push(Et)}var Pt=St?e.staggerIndex>=0?e.staggerIndex:n.count(Ct):0,Ot=0===Pt;Ot&&!e.skipBlocking&&w(B,lt);var Tt=E(B,dt,Ct),Lt=Tt.maxDelay;X=Math.max(Lt,0),nt=Tt.maxDuration;var jt={};if(jt.hasTransitions=Tt.transitionDuration>0,jt.hasAnimations=Tt.animationDuration>0,jt.hasTransitionAll=jt.hasTransitions&&"all"==Tt.transitionProperty,jt.applyTransitionDuration=xt&&(jt.hasTransitions&&!jt.hasTransitionAll||jt.hasAnimations&&!jt.hasTransitions),jt.applyAnimationDuration=e.duration&&jt.hasAnimations,jt.applyTransitionDelay=P(e.delay)&&(jt.applyTransitionDuration||jt.hasTransitions),jt.applyAnimationDelay=P(e.delay)&&jt.hasAnimations,jt.recalculateTimingStyles=ht.length>0,(jt.applyTransitionDuration||jt.applyAnimationDuration)&&(nt=e.duration?parseFloat(e.duration):nt,jt.applyTransitionDuration&&(jt.hasTransitions=!0,Tt.transitionDuration=nt,Mt=B.style[j+it].length>0,rt.push(O(nt,Mt))),jt.applyAnimationDuration&&(jt.hasAnimations=!0,Tt.animationDuration=nt,rt.push(M(nt)))),0===nt&&!jt.recalculateTimingStyles)return A();if(null!=e.delay){var Nt=parseFloat(e.delay);jt.applyTransitionDelay&&rt.push(k(Nt)),jt.applyAnimationDelay&&rt.push(k(Nt,!0))}return null==e.duration&&Tt.transitionDuration>0&&(jt.recalculateTimingStyles=jt.recalculateTimingStyles||Ot),tt=X*mt,et=nt*mt,e.skipBlocking||(jt.blockTransition=Tt.transitionDuration>0,jt.blockKeyframeAnimation=Tt.animationDuration>0&&St.animationDelay>0&&0===St.animationDuration),e.from&&(e.cleanupStyles&&L(z,B,Object.keys(e.from)),v(t,e)),jt.blockTransition||jt.blockKeyframeAnimation?x(nt):e.skipBlocking||w(B,!1),{$$willAnimate:!0,end:l,start:function(){if(!W)return G={end:l,cancel:f,resume:null,pause:null},Y=new i(G),_(I),Y}}}}]}],Ct=["$$animationProvider",function(t){function n(t){return t.parentNode&&11===t.parentNode.nodeType}t.drivers.push("$$animateCssDriver");var e="ng-animate-shim",r="ng-anchor",i="ng-anchor-out",o="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(t,a,u,s,l,c,f){function p(t){return t.replace(/\bng-\S+\b/g,"")}function d(t,n){return B(t)&&(t=t.split(" ")),B(n)&&(n=n.split(" ")),t.filter(function(t){return n.indexOf(t)===-1}).join(" ")}function v(n,a,s){function l(t){var n={},e=$(t).getBoundingClientRect();return q(["width","height","top","left"],function(t){var r=e[t];switch(t){case"top":r+=y.scrollTop;break;case"left":r+=y.scrollLeft}n[t]=Math.floor(r)+"px"}),n}function c(){var n=t(g,{addClass:i,delay:!0,from:l(a)});return n.$$willAnimate?n:null}function f(t){return t.attr("class")||""}function h(){var n=p(f(s)),e=d(n,m),r=d(m,n),a=t(g,{to:l(s),addClass:o+" "+e,removeClass:i+" "+r,delay:!0});return a.$$willAnimate?a:null}function v(){g.remove(),a.removeClass(e),s.removeClass(e)}var g=z($(a).cloneNode(!0)),m=p(f(g));a.addClass(e),s.addClass(e),g.addClass(r),b.append(g);var x,w=c();if(!w&&(x=h(),!x))return v();var C=w||x;return{start:function(){function t(){e&&e.end()}var n,e=C.start();return e.done(function(){return e=null,!x&&(x=h())?(e=x.start(),e.done(function(){e=null,v(),n.complete()}),e):(v(),void n.complete())}),n=new u({end:t,cancel:t})}}}function g(t,n,e,r){var i=m(t,F),o=m(n,F),a=[];if(q(r,function(t){var n=t.out,r=t["in"],i=v(e,n,r);i&&a.push(i)}),i||o||0!==a.length)return{start:function(){function t(){q(n,function(t){t.end()})}var n=[];i&&n.push(i.start()),o&&n.push(o.start()),q(a,function(t){n.push(t.start())});var e=new u({end:t,cancel:t});return u.all(n,function(t){e.complete(t)}),e}}}function m(n){var e=n.element,r=n.options||{};n.structural&&(r.event=n.event,r.structural=!0,r.applyClassesEarly=!0,"leave"===n.event&&(r.onDone=r.domOperation)),r.preparationClasses&&(r.event=_(r.event,r.preparationClasses));var i=t(e,r);return i.$$willAnimate?i:null}if(!l.animations&&!l.transitions)return F;var y=f[0].body,x=$(s),b=z(n(x)||y.contains(x)?x:y);h(c);return function(t){return t.from&&t.to?g(t.from,t.to,t.classes,t.anchors):m(t)}}]}],St=["$animateProvider",function(t){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(n,e,r){function i(e){e=V(e)?e:e.split(" ");for(var r=[],i={},o=0;o<e.length;o++){var a=e[o],u=t.$$registeredAnimations[a];u&&!i[a]&&(r.push(n.get(u)),i[a]=!0)}return r}var o=h(r);return function(t,n,r,a){function u(){a.domOperation(),o(t,a)}function s(t,n,r,i,o){var a;switch(r){case"animate":a=[n,i.from,i.to,o];break;case"setClass":a=[n,v,g,o];break;case"addClass":a=[n,v,o];break;case"removeClass":a=[n,g,o];break;default:a=[n,o]}a.push(i);var u=t.apply(t,a);if(u)if(Y(u.start)&&(u=u.start()),u instanceof e)u.done(o);else if(Y(u))return u;return F}function l(t,n,r,i,o){var a=[];return q(i,function(i){var u=i[o];u&&a.push(function(){var i,o,a=!1,l=function(t){a||(a=!0,(o||F)(t),i.complete(!t))};return i=new e({end:function(){l()},cancel:function(){l(!0)}}),o=s(u,t,n,r,function(t){var n=t===!1;l(n)}),i})}),a}function c(t,n,r,i,o){var a=l(t,n,r,i,o);if(0===a.length){var u,s;"beforeSetClass"===o?(u=l(t,"removeClass",r,i,"beforeRemoveClass"),s=l(t,"addClass",r,i,"beforeAddClass")):"setClass"===o&&(u=l(t,"removeClass",r,i,"removeClass"),s=l(t,"addClass",r,i,"addClass")),u&&(a=a.concat(u)),s&&(a=a.concat(s))}if(0!==a.length)return function(t){var n=[];return a.length&&q(a,function(t){n.push(t())}),n.length?e.all(n,t):t(),function(t){q(n,function(n){t?n.cancel():n.end()})}}}3===arguments.length&&W(r)&&(a=r,r=null),a=p(a),r||(r=t.attr("class")||"",a.addClass&&(r+=" "+a.addClass),a.removeClass&&(r+=" "+a.removeClass));var f,h,v=a.addClass,g=a.removeClass,m=i(r);if(m.length){var y,$;"leave"==n?($="leave",y="afterLeave"):($="before"+n.charAt(0).toUpperCase()+n.substr(1),y=n),"enter"!==n&&"move"!==n&&(f=c(t,n,a,m,$)),h=c(t,n,a,m,y)}if(f||h)return{start:function(){function n(n){s=!0,u(),d(t,a),l.complete(n)}function r(t){s||((i||F)(t),n(t))}var i,o=[];f&&o.push(function(t){i=f(t)}),o.length?o.push(function(t){u(),t(!0)}):u(),h&&o.push(function(t){i=h(t)});var s=!1,l=new e({end:function(){r()},cancel:function(){r(!0)}});return e.chain(o,n),l}}}}]}],_t=["$$animationProvider",function(t){t.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(t,n){function e(n){var e=n.element,r=n.event,i=n.options,o=n.classes;return t(e,r,o,i)}return function(t){if(t.from&&t.to){var r=e(t.from),i=e(t.to);if(!r&&!i)return;return{start:function(){function t(){return function(){q(o,function(t){t.end()})}}function e(t){a.complete(t)}var o=[];r&&o.push(r.start()),i&&o.push(i.start()),n.all(o,e);var a=new n({end:t(),cancel:t()});return a}}}return e(t)}}]}],Mt="data-ng-animate",kt="$ngAnimatePin",At=["$animateProvider",function(t){function n(t,n,e,r){return a[t].some(function(t){return t(n,e,r)})}function e(t,n){t=t||{};var e=(t.addClass||"").length>0,r=(t.removeClass||"").length>0;return n?e&&r:e||r}var i=1,o=2,a=this.rules={skip:[],cancel:[],join:[]};a.join.push(function(t,n,r){return!n.structural&&e(n.options)}),a.skip.push(function(t,n,r){return!n.structural&&!e(n.options)}),a.skip.push(function(t,n,e){return"leave"==e.event&&n.structural}),a.skip.push(function(t,n,e){return e.structural&&e.state===o&&!n.structural}),a.cancel.push(function(t,n,e){return e.structural&&n.structural}),a.cancel.push(function(t,n,e){return e.state===o&&n.structural}),a.cancel.push(function(t,n,e){var r=n.options,i=e.options;return r.addClass&&r.addClass===i.removeClass||r.removeClass&&r.removeClass===i.addClass}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow",function(a,u,c,f,v,g,y,w,C,S){function _(){var t=!1;return function(n){t?n():u.$$postDigest(function(){t=!0,n()})}}function M(t,n){return m(t,n,{})}function k(t,n){var e=$(t),r=[],i=F[n];return i&&q(i,function(t){t.node.contains(e)&&r.push(t.callback)}),r}function A(t,r,l){function c(n,e,r,i){C(function(){var n=k(t,e);n.length&&a(function(){q(n,function(n){n(t,r,i)})})}),n.progress(e,r,i)}function f(n){b(t,l),J(t,l),d(t,l),l.domOperation(),w.complete(!n)}var h,v;t=s(t),t&&(h=$(t),v=t.parent()),l=p(l);var w=new y,C=_();if(V(l.addClass)&&(l.addClass=l.addClass.join(" ")),l.addClass&&!B(l.addClass)&&(l.addClass=null),V(l.removeClass)&&(l.removeClass=l.removeClass.join(" ")),l.removeClass&&!B(l.removeClass)&&(l.removeClass=null),l.from&&!W(l.from)&&(l.from=null),l.to&&!W(l.to)&&(l.to=null),!h)return f(),w;var S=[h.className,l.addClass,l.removeClass].join(" ");if(!Z(S))return f(),w;var A=["enter","move","leave"].indexOf(r)>=0,O=!R||N.get(h),D=!O&&j.get(h)||{},F=!!D.state;if(O||F&&D.state==i||(O=!T(t,v,r)),O)return f(),w;A&&E(t);var I={structural:A,element:t,event:r,close:f,options:l,runner:w};if(F){var z=n("skip",t,I,D);if(z)return D.state===o?(f(),w):(m(t,D.options,l),D.runner);var U=n("cancel",t,I,D);if(U)if(D.state===o)D.runner.end();else{if(!D.structural)return m(t,D.options,I.options),D.runner;D.close()}else{var H=n("join",t,I,D);if(H){if(D.state!==o)return x(t,A?r:null,l),r=I.event=D.event,l=m(t,D.options,I.options),D.runner;M(t,l)}}}else M(t,l);var Y=I.structural;if(Y||(Y="animate"===I.event&&Object.keys(I.options.to||{}).length>0||e(I.options)),!Y)return f(),P(t),w;var G=(D.counter||0)+1;return I.counter=G,L(t,i,I),u.$$postDigest(function(){var n=j.get(h),i=!n;n=n||{};var a=t.parent()||[],u=a.length>0&&("animate"===n.event||n.structural||e(n.options));if(i||n.counter!==G||!u)return i&&(J(t,l),d(t,l)),(i||A&&n.event!==r)&&(l.domOperation(),w.end()),void(u||P(t));r=!n.structural&&e(n.options,!0)?"setClass":n.event,L(t,o);var s=g(t,r,n.options);s.done(function(n){f(!n);var e=j.get(h);e&&e.counter===G&&P($(t)),c(w,r,"close",{})}),w.setHost(s),c(w,r,"start",{})}),w}function E(t){var n=$(t),e=n.querySelectorAll("["+Mt+"]");q(e,function(t){var n=parseInt(t.getAttribute(Mt)),e=j.get(t);switch(n){case o:e.runner.end();case i:e&&j.remove(t)}})}function P(t){var n=$(t);n.removeAttribute(Mt),j.remove(n)}function O(t,n){return $(t)===$(n)}function T(t,n,e){var r,i=z(f[0].body),o=O(t,i)||"HTML"===t[0].nodeName,a=O(t,c),u=!1,s=t.data(kt);for(s&&(n=s);n&&n.length;){a||(a=O(n,c));var l=n[0];if(l.nodeType!==X)break;var h=j.get(l)||{};if(u||(u=h.structural||N.get(l)),U(r)||r===!0){var p=n.data(nt);H(p)&&(r=p)}if(u&&r===!1)break;a||(a=O(n,c),a||(s=n.data(kt),s&&(n=s))),o||(o=O(n,i)),n=n.parent()}var d=!u||r;return d&&a&&o}function L(t,n,e){e=e||{},e.state=n;var r=$(t);r.setAttribute(Mt,n);var i=j.get(r),o=i?I(i,e):e;j.put(r,o)}var j=new v,N=new v,R=null,D=u.$watch(function(){return 0===w.totalPendingRequests},function(t){t&&(D(),u.$$postDigest(function(){u.$$postDigest(function(){null===R&&(R=!0)})}))}),F={},Y=t.classNameFilter(),Z=Y?function(t){return Y.test(t)}:function(){return!0},J=h(C);return{on:function(t,n,e){var r=l(n);F[t]=F[t]||[],F[t].push({node:r,callback:e})},off:function(t,n,e){function r(t,n,e){var r=l(n);return t.filter(function(t){var n=t.node===r&&(!e||t.callback===e);return!n})}var i=F[t];i&&(F[t]=1===arguments.length?null:r(i,n,e))},pin:function(t,n){r(G(t),"element","not an element"),r(G(n),"parentElement","not an element"),t.data(kt,n)},push:function(t,n,e,r){return e=e||{},e.domOperation=r,A(t,n,e)},enabled:function(t,n){var e=arguments.length;if(0===e)n=!!R;else{var r=G(t);if(r){var i=$(t),o=N.get(i);1===e?n=!o:(n=!!n,n?o&&N.remove(i):N.put(i,!0))}else n=R=!!t}return n}}}]}],Et=["$$rAF",function(t){function n(n){e.push(n),e.length>1||t(function(){for(var t=0;t<e.length;t++)e[t]();e=[]})}var e=[];return function(){var t=!1;return n(function(){t=!0}),function(e){t?e():n(e)}}}],Pt=["$q","$sniffer","$$animateAsyncRun",function(t,n,e){function r(t){this.setHost(t),this._doneCallbacks=[],this._runInAnimationFrame=e(),this._state=0}var i=0,o=1,a=2;return r.chain=function(t,n){function e(){return r===t.length?void n(!0):void t[r](function(t){return t===!1?void n(!1):(r++,void e())})}var r=0;e()},r.all=function(t,n){function e(e){i=i&&e,++r===t.length&&n(i)}var r=0,i=!0;q(t,function(t){t.done(e)})},r.prototype={setHost:function(t){this.host=t||{}},done:function(t){this._state===a?t():this._doneCallbacks.push(t)},progress:F,getPromise:function(){if(!this.promise){var n=this;this.promise=t(function(t,e){n.done(function(n){n===!1?e():t()})})}return this.promise},then:function(t,n){return this.getPromise().then(t,n)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(t){var n=this;n._state===i&&(n._state=o,n._runInAnimationFrame(function(){n._resolve(t)}))},_resolve:function(t){this._state!==a&&(q(this._doneCallbacks,function(n){n(t)}),this._doneCallbacks.length=0,this._state=a)}},r}],Ot=["$animateProvider",function(t){function n(t,n){t.data(u,n)}function e(t){t.removeData(u)}function r(t){return t.data(u)}var o="ng-animate-ref",a=this.drivers=[],u="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(t,u,s,l,c,f){function v(t){function n(t){if(t.processed)return t;t.processed=!0;var e=t.domNode,r=e.parentNode;o.put(e,t);for(var a;r;){if(a=o.get(r)){a.processed||(a=n(a));break}r=r.parentNode}return(a||i).children.push(t),t}function e(t){var n,e=[],r=[];for(n=0;n<t.children.length;n++)r.push(t.children[n]);var i=r.length,o=0,a=[];for(n=0;n<r.length;n++){var u=r[n];i<=0&&(i=o,o=0,e.push(a),a=[]),a.push(u.fn),u.children.forEach(function(t){o++,r.push(t)}),i--}return a.length&&e.push(a),e}var r,i={children:[]},o=new c;for(r=0;r<t.length;r++){var a=t[r];o.put(a.domNode,t[r]={domNode:a.domNode,fn:a.fn,children:[]})}for(r=0;r<t.length;r++)n(t[r]);return e(i)}var g=[],m=h(t);return function(c,h,y){function x(t){var n="["+o+"]",e=t.hasAttribute(o)?[t]:t.querySelectorAll(n),r=[];return q(e,function(t){var n=t.getAttribute(o);n&&n.length&&r.push(t)}),r}function b(t){var n=[],e={};q(t,function(t,r){var i=t.element,a=$(i),u=t.event,s=["enter","move"].indexOf(u)>=0,l=t.structural?x(a):[];if(l.length){var c=s?"to":"from";q(l,function(t){var n=t.getAttribute(o);e[n]=e[n]||{},e[n][c]={animationID:r,element:z(t)}})}else n.push(t)});var r={},i={};return q(e,function(e,o){var a=e.from,u=e.to;if(!a||!u){var s=a?a.animationID:u.animationID,l=s.toString();return void(r[l]||(r[l]=!0,n.push(t[s])))}var c=t[a.animationID],f=t[u.animationID],h=a.animationID.toString();if(!i[h]){var p=i[h]={structural:!0,beforeStart:function(){c.beforeStart(),f.beforeStart()},close:function(){c.close(),f.close()},classes:w(c.classes,f.classes),from:c,to:f,anchors:[]};p.classes.length?n.push(p):(n.push(c),n.push(f))}i[h].anchors.push({out:a.element,"in":u.element})}),n}function w(t,n){t=t.split(" "),n=n.split(" ");for(var e=[],r=0;r<t.length;r++){var i=t[r];if("ng-"!==i.substring(0,3))for(var o=0;o<n.length;o++)if(i===n[o]){e.push(i);break}}return e.join(" ")}function C(t){for(var n=a.length-1;n>=0;n--){var e=a[n];if(s.has(e)){var r=s.get(e),i=r(t);if(i)return i}}}function S(){c.addClass(tt),O&&t.addClass(c,O)}function _(t,n){function e(t){r(t).setHost(n)}t.from&&t.to?(e(t.from.element),e(t.to.element)):e(t.element)}function M(){var t=r(c);!t||"leave"===h&&y.$$domOperationFired||t.end()}function k(n){c.off("$destroy",M),e(c),m(c,y),d(c,y),y.domOperation(),O&&t.removeClass(c,O),c.removeClass(tt),E.complete(!n)}y=p(y);var A=["enter","move","leave"].indexOf(h)>=0,E=new l({end:function(){k()},cancel:function(){k(!0)}});if(!a.length)return k(),E;n(c,E);var P=i(c.attr("class"),i(y.addClass,y.removeClass)),O=y.tempClasses;return O&&(P+=" "+O,y.tempClasses=null),g.push({element:c,classes:P,event:h,structural:A,options:y,beforeStart:S,close:k}),c.on("$destroy",M),g.length>1?E:(u.$$postDigest(function(){var t=[];q(g,function(n){r(n.element)?t.push(n):n.close()}),g.length=0;var n=b(t),e=[];q(n,function(t){e.push({domNode:$(t.from?t.from.element:t.element),fn:function(){t.beforeStart();var n,e=t.close,i=t.anchors?t.from.element||t.to.element:t.element;if(r(i)){var o=C(t);o&&(n=o.start)}if(n){var a=n();a.done(function(t){e(!t)}),_(t,a)}else e()}})}),f(v(e))}),E)}}]}];n.module("ngAnimate",[]).directive("ngAnimateChildren",vt).factory("$$rAFScheduler",dt).factory("$$AnimateRunner",Pt).factory("$$animateAsyncRun",Et).provider("$$animateQueue",At).provider("$$animation",Ot).provider("$animateCss",wt).provider("$$animateCssDriver",Ct).provider("$$animateJs",St).provider("$$animateJsDriver",_t)}(window,window.angular),function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function e(t,n,e){var r=e.length;switch(r){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function r(t,n,e,r){for(var i=-1,o=t.length;++i<o;){var a=t[i];n(r,a,e(a),t)}return r}function i(t,n){for(var e=-1,r=t.length,i=-1,o=n.length,a=Array(r+o);++e<r;)a[e]=t[e];for(;++i<o;)a[e++]=n[i];return a}function o(t,n){for(var e=-1,r=t.length;++e<r&&n(t[e],e,t)!==!1;);return t}function a(t,n){for(var e=t.length;e--&&n(t[e],e,t)!==!1;);return t}function u(t,n){for(var e=-1,r=t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function s(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];n(a,e,t)&&(o[i++]=a)}return o}function l(t,n){return!!t.length&&y(t,n,0)>-1}function c(t,n,e){for(var r=-1,i=t.length;++r<i;)if(e(n,t[r]))return!0;return!1}function f(t,n){for(var e=-1,r=t.length,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function h(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function p(t,n,e,r){var i=-1,o=t.length;for(r&&o&&(e=t[++i]);++i<o;)e=n(e,t[i],i,t);return e}function d(t,n,e,r){var i=t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function v(t,n){for(var e=-1,r=t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}function g(t,n,e,r){var i;return e(t,function(t,e,o){if(n(t,e,o))return i=r?e:t,!1}),i}function m(t,n,e){for(var r=t.length,i=e?r:-1;e?i--:++i<r;)if(n(t[i],i,t))return i;return-1}function y(t,n,e){if(n!==n)return N(t,e);for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}function $(t,n,e,r){for(var i=e-1,o=t.length;++i<o;)if(r(t[i],n))return i;return-1}function x(t,n){var e=t?t.length:0;return e?C(t,n)/e:$t}function b(t,n,e,r,i){return i(t,function(t,i,o){e=r?(r=!1,t):n(e,t,i,o)}),e}function w(t,n){var e=t.length;for(t.sort(n);e--;)t[e]=t[e].value;return t}function C(t,n){for(var e,r=-1,i=t.length;++r<i;){var o=n(t[r]);o!==U&&(e=e===U?o:e+o)}return e}function S(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function _(t,n){return f(n,function(n){return[n,t[n]]})}function M(t){return function(n){return t(n)}}function k(t,n){return f(n,function(n){return t[n]})}function A(t,n){for(var e=-1,r=t.length;++e<r&&y(n,t[e],0)>-1;);return e}function E(t,n){for(var e=t.length;e--&&y(n,t[e],0)>-1;);return e}function P(t){return t&&t.Object===Object?t:null}function O(t,n){for(var e=t.length,r=0;e--;)t[e]===n&&r++;return r}function T(t){return we[t]}function L(t){return Ce[t]}function j(t){return"\\"+Me[t]}function N(t,n,e){for(var r=t.length,i=n+(e?0:-1);e?i--:++i<r;){var o=t[i];if(o!==o)return i}return-1}function R(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}function D(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}function F(t){var n=-1,e=Array(t.size);return t.forEach(function(t,r){e[++n]=[r,t]}),e}function I(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];a!==n&&a!==Z||(t[e]=Z,o[i++]=e)}return o}function z(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[++n]=t}),e}function q(t){if(!t||!ge.test(t))return t.length;for(var n=de.lastIndex=0;de.test(t);)n++;return n}function V(t){return t.match(de)}function B(t){return Se[t]}function W(P){function En(t){if(lu(t)&&!tf(t)&&!(t instanceof Tn)){if(t instanceof On)return t;if(dl.call(t,"__wrapped__"))return no(t)}return new On(t)}function Pn(){}function On(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=U}function Tn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=xt,this.__views__=[]}function Ln(){var t=new Tn(this.__wrapped__);return t.__actions__=Zr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Zr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Zr(this.__views__),t}function jn(){if(this.__filtered__){var t=new Tn(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function Nn(){var t=this.__wrapped__.value(),n=this.__dir__,e=tf(t),r=n<0,i=e?t.length:0,o=Li(0,i,this.__views__),a=o.start,u=o.end,s=u-a,l=r?u:a-1,c=this.__iteratees__,f=c.length,h=0,p=Il(s,this.__takeCount__);if(!e||i<Y||i==s&&p==s)return Or(t,this.__actions__);var d=[];t:for(;s--&&h<p;){l+=n;for(var v=-1,g=t[l];++v<f;){var m=c[v],y=m.iteratee,$=m.type,x=y(g);if($==dt)g=x;else if(!x){if($==pt)continue t;break t}}d[h++]=g}return d}function Rn(){}function Dn(t,n){return In(t,n)&&delete t[n]}function Fn(t,n){if(Zl){var e=t[n];return e===X?U:e}return dl.call(t,n)?t[n]:U}function In(t,n){return Zl?t[n]!==U:dl.call(t,n)}function zn(t,n,e){t[n]=Zl&&e===U?X:e}function qn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Vn(){this.__data__={hash:new Rn,map:Hl?new Hl:[],string:new Rn}}function Bn(t){var n=this.__data__;return Wi(t)?Dn("string"==typeof t?n.string:n.hash,t):Hl?n.map["delete"](t):ee(n.map,t)}function Wn(t){var n=this.__data__;return Wi(t)?Fn("string"==typeof t?n.string:n.hash,t):Hl?n.map.get(t):re(n.map,t)}function Un(t){var n=this.__data__;return Wi(t)?In("string"==typeof t?n.string:n.hash,t):Hl?n.map.has(t):ie(n.map,t)}function Hn(t,n){var e=this.__data__;return Wi(t)?zn("string"==typeof t?e.string:e.hash,t,n):Hl?e.map.set(t,n):ae(e.map,t,n),this}function Yn(t){var n=-1,e=t?t.length:0;for(this.__data__=new qn;++n<e;)this.push(t[n])}function Gn(t,n){var e=t.__data__;if(Wi(n)){var r=e.__data__,i="string"==typeof n?r.string:r.hash;return i[n]===X}return e.has(n)}function Xn(t){var n=this.__data__;if(Wi(t)){var e=n.__data__,r="string"==typeof t?e.string:e.hash;r[t]=X}else n.set(t,X)}function Zn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Jn(){this.__data__={array:[],map:null}}function Kn(t){var n=this.__data__,e=n.array;return e?ee(e,t):n.map["delete"](t)}function Qn(t){var n=this.__data__,e=n.array;return e?re(e,t):n.map.get(t)}function te(t){var n=this.__data__,e=n.array;return e?ie(e,t):n.map.has(t)}function ne(t,n){var e=this.__data__,r=e.array;r&&(r.length<Y-1?ae(r,t,n):(e.array=null,e.map=new qn(r)));var i=e.map;return i&&i.set(t,n),this}function ee(t,n){var e=oe(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():Ol.call(t,e,1),!0}function re(t,n){var e=oe(t,n);return e<0?U:t[e][1]}function ie(t,n){return oe(t,n)>-1}function oe(t,n){for(var e=t.length;e--;)if(Ha(t[e][0],n))return e;return-1}function ae(t,n,e){var r=oe(t,n);r<0?t.push([n,e]):t[r][1]=e}function ue(t,n,e,r){return t===U||Ha(t,fl[e])&&!dl.call(r,e)?n:t;
-}function se(t,n,e){(e===U||Ha(t[n],e))&&("number"!=typeof n||e!==U||n in t)||(t[n]=e)}function le(t,n,e){var r=t[n];dl.call(t,n)&&Ha(r,e)&&(e!==U||n in t)||(t[n]=e)}function ce(t,n,e,r){return sc(t,function(t,i,o){n(r,t,e(t),o)}),r}function fe(t,n){return t&&Jr(n,Yu(n),t)}function de(t,n){for(var e=-1,r=null==t,i=n.length,o=Array(i);++e<i;)o[e]=r?U:Wu(t,n[e]);return o}function we(t,n,e){return t===t&&(e!==U&&(t=t<=e?t:e),n!==U&&(t=t>=n?t:n)),t}function Ce(t,n,e,r,i,a,u){var s;if(r&&(s=a?r(t,i,a,u):r(t)),s!==U)return s;if(!su(t))return t;var l=tf(t);if(l){if(s=Ni(t),!n)return Zr(t,s)}else{var c=Ti(t),f=c==At||c==Et;if(nf(t))return Fr(t,n);if(c==Tt||c==Ct||f&&!a){if(R(t))return a?t:{};if(s=Ri(f?{}:t),!n)return Kr(t,fe(s,t))}else{if(!be[c])return a?t:{};s=Di(t,c,Ce,n)}}u||(u=new Zn);var h=u.get(t);if(h)return h;if(u.set(t,s),!l)var p=e?Ci(t):Yu(t);return o(p||t,function(i,o){p&&(o=i,i=t[o]),le(s,o,Ce(i,n,e,r,o,t,u))}),s}function Se(t){var n=Yu(t),e=n.length;return function(r){if(null==r)return!e;for(var i=e;i--;){var o=n[i],a=t[o],u=r[o];if(u===U&&!(o in Object(r))||!a(u))return!1}return!0}}function _e(t){return su(t)?Al(t):{}}function Me(t,n,e){if("function"!=typeof t)throw new ll(G);return Pl(function(){t.apply(U,e)},n)}function Ee(t,n,e,r){var i=-1,o=l,a=!0,u=t.length,s=[],h=n.length;if(!u)return s;e&&(n=f(n,M(e))),r?(o=c,a=!1):n.length>=Y&&(o=Gn,a=!1,n=new Yn(n));t:for(;++i<u;){var p=t[i],d=e?e(p):p;if(p=r||0!==p?p:0,a&&d===d){for(var v=h;v--;)if(n[v]===d)continue t;s.push(p)}else o(n,d,r)||s.push(p)}return s}function Pe(t,n){var e=!0;return sc(t,function(t,r,i){return e=!!n(t,r,i)}),e}function Te(t,n,e){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=n(o);if(null!=a&&(u===U?a===a&&!Cu(a):e(a,u)))var u=a,s=o}return s}function Le(t,n,e,r){var i=t.length;for(e=Eu(e),e<0&&(e=-e>i?0:i+e),r=r===U||r>i?i:Eu(r),r<0&&(r+=i),r=e>r?0:Pu(r);e<r;)t[e++]=n;return t}function je(t,n){var e=[];return sc(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function Ne(t,n,e,r,i){var o=-1,a=t.length;for(e||(e=Ii),i||(i=[]);++o<a;){var u=t[o];n>0&&e(u)?n>1?Ne(u,n-1,e,r,i):h(i,u):r||(i[i.length]=u)}return i}function Fe(t,n){return t&&cc(t,n,Yu)}function Ie(t,n){return t&&fc(t,n,Yu)}function ze(t,n){return s(n,function(n){return ou(t[n])})}function qe(t,n){n=Bi(n,t)?[n]:Rr(n);for(var e=0,r=n.length;null!=t&&e<r;)t=t[Qi(n[e++])];return e&&e==r?t:U}function Ve(t,n,e){var r=n(t);return tf(t)?r:h(r,e(t))}function Be(t,n){return t>n}function We(t,n){return dl.call(t,n)||"object"==typeof t&&n in t&&null===Pi(t)}function Ue(t,n){return n in Object(t)}function He(t,n,e){return t>=Il(n,e)&&t<Fl(n,e)}function Ye(t,n,e){for(var r=e?c:l,i=t[0].length,o=t.length,a=o,u=Array(o),s=1/0,h=[];a--;){var p=t[a];a&&n&&(p=f(p,M(n))),s=Il(p.length,s),u[a]=!e&&(n||i>=120&&p.length>=120)?new Yn(a&&p):U}p=t[0];var d=-1,v=u[0];t:for(;++d<i&&h.length<s;){var g=p[d],m=n?n(g):g;if(g=e||0!==g?g:0,!(v?Gn(v,m):r(h,m,e))){for(a=o;--a;){var y=u[a];if(!(y?Gn(y,m):r(t[a],m,e)))continue t}v&&v.push(m),h.push(g)}}return h}function Ge(t,n,e,r){return Fe(t,function(t,i,o){n(r,e(t),i,o)}),r}function Xe(t,n,r){Bi(n,t)||(n=Rr(n),t=Ji(t,n),n=bo(n));var i=null==t?t:t[Qi(n)];return null==i?U:e(i,t,r)}function Ze(t,n,e,r,i){return t===n||(null==t||null==n||!su(t)&&!lu(n)?t!==t&&n!==n:Je(t,n,Ze,e,r,i))}function Je(t,n,e,r,i,o){var a=tf(t),u=tf(n),s=St,l=St;a||(s=Ti(t),s=s==Ct?Tt:s),u||(l=Ti(n),l=l==Ct?Tt:l);var c=s==Tt&&!R(t),f=l==Tt&&!R(n),h=s==l;if(h&&!c)return o||(o=new Zn),a||Su(t)?xi(t,n,e,r,i,o):bi(t,n,s,e,r,i,o);if(!(i&st)){var p=c&&dl.call(t,"__wrapped__"),d=f&&dl.call(n,"__wrapped__");if(p||d){var v=p?t.value():t,g=d?n.value():n;return o||(o=new Zn),e(v,g,r,i,o)}}return!!h&&(o||(o=new Zn),wi(t,n,e,r,i,o))}function Ke(t,n,e,r){var i=e.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var u=e[i];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){u=e[i];var s=u[0],l=t[s],c=u[1];if(a&&u[2]){if(l===U&&!(s in t))return!1}else{var f=new Zn;if(r)var h=r(l,c,s,t,n,f);if(!(h===U?Ze(c,l,r,ut|st,f):h))return!1}}return!0}function Qe(t){return"function"==typeof t?t:null==t?Fs:"object"==typeof t?tf(t)?or(t[0],t[1]):ir(t):Hs(t)}function tr(t){return Dl(Object(t))}function nr(t){t=null==t?t:Object(t);var n=[];for(var e in t)n.push(e);return n}function er(t,n){return t<n}function rr(t,n){var e=-1,r=Xa(t)?Array(t.length):[];return sc(t,function(t,i,o){r[++e]=n(t,i,o)}),r}function ir(t){var n=ki(t);return 1==n.length&&n[0][2]?Gi(n[0][0],n[0][1]):function(e){return e===t||Ke(e,t,n)}}function or(t,n){return Bi(t)&&Yi(n)?Gi(Qi(t),n):function(e){var r=Wu(e,t);return r===U&&r===n?Hu(e,t):Ze(n,r,U,ut|st)}}function ar(t,n,e,r,i){if(t!==n){if(!tf(n)&&!Su(n))var a=Gu(n);o(a||n,function(o,u){if(a&&(u=o,o=n[u]),su(o))i||(i=new Zn),ur(t,n,u,e,ar,r,i);else{var s=r?r(t[u],o,u+"",t,n,i):U;s===U&&(s=o),se(t,u,s)}})}}function ur(t,n,e,r,i,o,a){var u=t[e],s=n[e],l=a.get(s);if(l)return void se(t,e,l);var c=o?o(u,s,e+"",t,n,a):U,f=c===U;f&&(c=s,tf(s)||Su(s)?tf(u)?c=u:Za(u)?c=Zr(u):(f=!1,c=Ce(s,!0)):yu(s)||Ya(s)?Ya(u)?c=Tu(u):!su(u)||r&&ou(u)?(f=!1,c=Ce(s,!0)):c=u:f=!1),a.set(s,c),f&&i(c,s,r,o,a),a["delete"](s),se(t,e,c)}function sr(t,n){var e=t.length;if(e)return n+=n<0?e:0,qi(n,e)?t[n]:U}function lr(t,n,e){var r=-1;n=f(n.length?n:[Fs],M(Mi()));var i=rr(t,function(t,e,i){var o=f(n,function(n){return n(t)});return{criteria:o,index:++r,value:t}});return w(i,function(t,n){return Yr(t,n,e)})}function cr(t,n){return t=Object(t),p(n,function(n,e){return e in t&&(n[e]=t[e]),n},{})}function fr(t,n){for(var e=-1,r=Si(t),i=r.length,o={};++e<i;){var a=r[e],u=t[a];n(u,a)&&(o[a]=u)}return o}function hr(t){return function(n){return null==n?U:n[t]}}function pr(t){return function(n){return qe(n,t)}}function dr(t,n,e,r){var i=r?$:y,o=-1,a=n.length,u=t;for(e&&(u=f(t,M(e)));++o<a;)for(var s=0,l=n[o],c=e?e(l):l;(s=i(u,c,s,r))>-1;)u!==t&&Ol.call(u,s,1),Ol.call(t,s,1);return t}function vr(t,n){for(var e=t?n.length:0,r=e-1;e--;){var i=n[e];if(e==r||i!==o){var o=i;if(qi(i))Ol.call(t,i,1);else if(Bi(i,t))delete t[Qi(i)];else{var a=Rr(i),u=Ji(t,a);null!=u&&delete u[Qi(bo(a))]}}}return t}function gr(t,n){return t+Ll(ql()*(n-t+1))}function mr(t,n,e,r){for(var i=-1,o=Fl(Tl((n-t)/(e||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=e;return a}function yr(t,n){var e="";if(!t||n<1||n>mt)return e;do n%2&&(e+=t),n=Ll(n/2),n&&(t+=t);while(n);return e}function $r(t,n,e,r){n=Bi(n,t)?[n]:Rr(n);for(var i=-1,o=n.length,a=o-1,u=t;null!=u&&++i<o;){var s=Qi(n[i]);if(su(u)){var l=e;if(i!=a){var c=u[s];l=r?r(c,s,u):U,l===U&&(l=null==c?qi(n[i+1])?[]:{}:c)}le(u,s,l)}u=u[s]}return t}function xr(t,n,e){var r=-1,i=t.length;n<0&&(n=-n>i?0:i+n),e=e>i?i:e,e<0&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+n];return o}function br(t,n){var e;return sc(t,function(t,r,i){return e=n(t,r,i),!e}),!!e}function wr(t,n,e){var r=0,i=t?t.length:r;if("number"==typeof n&&n===n&&i<=wt){for(;r<i;){var o=r+i>>>1,a=t[o];null!==a&&!Cu(a)&&(e?a<=n:a<n)?r=o+1:i=o}return i}return Cr(t,n,Fs,e)}function Cr(t,n,e,r){n=e(n);for(var i=0,o=t?t.length:0,a=n!==n,u=null===n,s=Cu(n),l=n===U;i<o;){var c=Ll((i+o)/2),f=e(t[c]),h=f!==U,p=null===f,d=f===f,v=Cu(f);if(a)var g=r||d;else g=l?d&&(r||h):u?d&&h&&(r||!p):s?d&&h&&!p&&(r||!v):!p&&!v&&(r?f<=n:f<n);g?i=c+1:o=c}return Il(o,bt)}function Sr(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e],u=n?n(a):a;if(!e||!Ha(u,s)){var s=u;o[i++]=0===a?0:a}}return o}function _r(t){return"number"==typeof t?t:Cu(t)?$t:+t}function Mr(t){if("string"==typeof t)return t;if(Cu(t))return uc?uc.call(t):"";var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function kr(t,n,e){var r=-1,i=l,o=t.length,a=!0,u=[],s=u;if(e)a=!1,i=c;else if(o>=Y){var f=n?null:pc(t);if(f)return z(f);a=!1,i=Gn,s=new Yn}else s=n?[]:u;t:for(;++r<o;){var h=t[r],p=n?n(h):h;if(h=e||0!==h?h:0,a&&p===p){for(var d=s.length;d--;)if(s[d]===p)continue t;n&&s.push(p),u.push(h)}else i(s,p,e)||(s!==u&&s.push(p),u.push(h))}return u}function Ar(t,n){n=Bi(n,t)?[n]:Rr(n),t=Ji(t,n);var e=Qi(bo(n));return!(null!=t&&We(t,e))||delete t[e]}function Er(t,n,e,r){return $r(t,n,e(qe(t,n)),r)}function Pr(t,n,e,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&n(t[o],o,t););return e?xr(t,r?0:o,r?o+1:i):xr(t,r?o+1:0,r?i:o)}function Or(t,n){var e=t;return e instanceof Tn&&(e=e.value()),p(n,function(t,n){return n.func.apply(n.thisArg,h([t],n.args))},e)}function Tr(t,n,e){for(var r=-1,i=t.length;++r<i;)var o=o?h(Ee(o,t[r],n,e),Ee(t[r],o,n,e)):t[r];return o&&o.length?kr(o,n,e):[]}function Lr(t,n,e){for(var r=-1,i=t.length,o=n.length,a={};++r<i;){var u=r<o?n[r]:U;e(a,t[r],u)}return a}function jr(t){return Za(t)?t:[]}function Nr(t){return"function"==typeof t?t:Fs}function Rr(t){return tf(t)?t:yc(t)}function Dr(t,n,e){var r=t.length;return e=e===U?r:e,!n&&e>=r?t:xr(t,n,e)}function Fr(t,n){if(n)return t.slice();var e=new t.constructor(t.length);return t.copy(e),e}function Ir(t){var n=new t.constructor(t.byteLength);return new Cl(n).set(new Cl(t)),n}function zr(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function qr(n,e,r){var i=e?r(F(n),!0):F(n);return p(i,t,new n.constructor)}function Vr(t){var n=new t.constructor(t.source,$n.exec(t));return n.lastIndex=t.lastIndex,n}function Br(t,e,r){var i=e?r(z(t),!0):z(t);return p(i,n,new t.constructor)}function Wr(t){return ac?Object(ac.call(t)):{}}function Ur(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Hr(t,n){if(t!==n){var e=t!==U,r=null===t,i=t===t,o=Cu(t),a=n!==U,u=null===n,s=n===n,l=Cu(n);if(!u&&!l&&!o&&t>n||o&&a&&s&&!u&&!l||r&&a&&s||!e&&s||!i)return 1;if(!r&&!o&&!l&&t<n||l&&e&&i&&!r&&!o||u&&e&&i||!a&&i||!s)return-1}return 0}function Yr(t,n,e){for(var r=-1,i=t.criteria,o=n.criteria,a=i.length,u=e.length;++r<a;){var s=Hr(i[r],o[r]);if(s){if(r>=u)return s;var l=e[r];return s*("desc"==l?-1:1)}}return t.index-n.index}function Gr(t,n,e,r){for(var i=-1,o=t.length,a=e.length,u=-1,s=n.length,l=Fl(o-a,0),c=Array(s+l),f=!r;++u<s;)c[u]=n[u];for(;++i<a;)(f||i<o)&&(c[e[i]]=t[i]);for(;l--;)c[u++]=t[i++];return c}function Xr(t,n,e,r){for(var i=-1,o=t.length,a=-1,u=e.length,s=-1,l=n.length,c=Fl(o-u,0),f=Array(c+l),h=!r;++i<c;)f[i]=t[i];for(var p=i;++s<l;)f[p+s]=n[s];for(;++a<u;)(h||i<o)&&(f[p+e[a]]=t[i++]);return f}function Zr(t,n){var e=-1,r=t.length;for(n||(n=Array(r));++e<r;)n[e]=t[e];return n}function Jr(t,n,e,r){e||(e={});for(var i=-1,o=n.length;++i<o;){var a=n[i],u=r?r(e[a],t[a],a,e,t):t[a];le(e,a,u)}return e}function Kr(t,n){return Jr(t,Oi(t),n)}function Qr(t,n){return function(e,i){var o=tf(e)?r:ce,a=n?n():{};return o(e,t,Mi(i),a)}}function ti(t){return Ra(function(n,e){var r=-1,i=e.length,o=i>1?e[i-1]:U,a=i>2?e[2]:U;for(o="function"==typeof o?(i--,o):U,a&&Vi(e[0],e[1],a)&&(o=i<3?U:o,i=1),n=Object(n);++r<i;){var u=e[r];u&&t(n,u,r,o)}return n})}function ni(t,n){return function(e,r){if(null==e)return e;if(!Xa(e))return t(e,r);for(var i=e.length,o=n?i:-1,a=Object(e);(n?o--:++o<i)&&r(a[o],o,a)!==!1;);return e}}function ei(t){return function(n,e,r){for(var i=-1,o=Object(n),a=r(n),u=a.length;u--;){var s=a[t?u:++i];if(e(o[s],s,o)===!1)break}return n}}function ri(t,n,e){function r(){var n=this&&this!==Re&&this instanceof r?o:t;return n.apply(i?e:this,arguments)}var i=n&J,o=ai(t);return r}function ii(t){return function(n){n=ju(n);var e=ge.test(n)?V(n):U,r=e?e[0]:n.charAt(0),i=e?Dr(e,1).join(""):n.slice(1);return r[t]()+i}}function oi(t){return function(n){return p(js(ds(n).replace(he,"")),t,"")}}function ai(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=_e(t.prototype),r=t.apply(e,n);return su(r)?r:e}}function ui(t,n,r){function i(){for(var a=arguments.length,u=Array(a),s=a,l=Ei(i);s--;)u[s]=arguments[s];var c=a<3&&u[0]!==l&&u[a-1]!==l?[]:I(u,l);if(a-=c.length,a<r)return mi(t,n,li,i.placeholder,U,u,c,U,U,r-a);var f=this&&this!==Re&&this instanceof i?o:t;return e(f,this,u)}var o=ai(t);return i}function si(t){return Ra(function(n){n=Ne(n,1);var e=n.length,r=e,i=On.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if("function"!=typeof o)throw new ll(G);if(i&&!a&&"wrapper"==_i(o))var a=new On([],(!0))}for(r=a?r:e;++r<e;){o=n[r];var u=_i(o),s="wrapper"==u?dc(o):U;a=s&&Ui(s[0])&&s[1]==(it|tt|et|ot)&&!s[4].length&&1==s[9]?a[_i(s[0])].apply(a,s[3]):1==o.length&&Ui(o)?a[u]():a.thru(o)}return function(){var t=arguments,r=t[0];if(a&&1==t.length&&tf(r)&&r.length>=Y)return a.plant(r).value();for(var i=0,o=e?n[i].apply(this,t):r;++i<e;)o=n[i].call(this,o);return o}})}function li(t,n,e,r,i,o,a,u,s,l){function c(){for(var m=arguments.length,y=m,$=Array(m);y--;)$[y]=arguments[y];if(d)var x=Ei(c),b=O($,x);if(r&&($=Gr($,r,i,d)),o&&($=Xr($,o,a,d)),m-=b,d&&m<l){var w=I($,x);return mi(t,n,li,c.placeholder,e,$,w,u,s,l-m)}var C=h?e:this,S=p?C[t]:t;return m=$.length,u?$=Ki($,u):v&&m>1&&$.reverse(),f&&s<m&&($.length=s),this&&this!==Re&&this instanceof c&&(S=g||ai(S)),S.apply(C,$)}var f=n&it,h=n&J,p=n&K,d=n&(tt|nt),v=n&at,g=p?U:ai(t);return c}function ci(t,n){return function(e,r){return Ge(e,t,n(r),{})}}function fi(t){return function(n,e){var r;if(n===U&&e===U)return 0;if(n!==U&&(r=n),e!==U){if(r===U)return e;"string"==typeof n||"string"==typeof e?(n=Mr(n),e=Mr(e)):(n=_r(n),e=_r(e)),r=t(n,e)}return r}}function hi(t){return Ra(function(n){return n=1==n.length&&tf(n[0])?f(n[0],M(Mi())):f(Ne(n,1,zi),M(Mi())),Ra(function(r){var i=this;return t(n,function(t){return e(t,i,r)})})})}function pi(t,n){n=n===U?" ":Mr(n);var e=n.length;if(e<2)return e?yr(n,t):n;var r=yr(n,Tl(t/q(n)));return ge.test(n)?Dr(V(r),0,t).join(""):r.slice(0,t)}function di(t,n,r,i){function o(){for(var n=-1,s=arguments.length,l=-1,c=i.length,f=Array(c+s),h=this&&this!==Re&&this instanceof o?u:t;++l<c;)f[l]=i[l];for(;s--;)f[l++]=arguments[++n];return e(h,a?r:this,f)}var a=n&J,u=ai(t);return o}function vi(t){return function(n,e,r){return r&&"number"!=typeof r&&Vi(n,e,r)&&(e=r=U),n=Ou(n),n=n===n?n:0,e===U?(e=n,n=0):e=Ou(e)||0,r=r===U?n<e?1:-1:Ou(r)||0,mr(n,e,r,t)}}function gi(t){return function(n,e){return"string"==typeof n&&"string"==typeof e||(n=Ou(n),e=Ou(e)),t(n,e)}}function mi(t,n,e,r,i,o,a,u,s,l){var c=n&tt,f=c?a:U,h=c?U:a,p=c?o:U,d=c?U:o;n|=c?et:rt,n&=~(c?rt:et),n&Q||(n&=~(J|K));var v=[t,n,i,p,f,d,h,u,s,l],g=e.apply(U,v);return Ui(t)&&mc(g,v),g.placeholder=r,g}function yi(t){var n=ul[t];return function(t,e){if(t=Ou(t),e=Eu(e)){var r=(ju(t)+"e").split("e"),i=n(r[0]+"e"+(+r[1]+e));return r=(ju(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-e))}return n(t)}}function $i(t,n,e,r,i,o,a,u){var s=n&K;if(!s&&"function"!=typeof t)throw new ll(G);var l=r?r.length:0;if(l||(n&=~(et|rt),r=i=U),a=a===U?a:Fl(Eu(a),0),u=u===U?u:Eu(u),l-=i?i.length:0,n&rt){var c=r,f=i;r=i=U}var h=s?U:dc(t),p=[t,n,e,r,i,c,f,o,a,u];if(h&&Xi(p,h),t=p[0],n=p[1],e=p[2],r=p[3],i=p[4],u=p[9]=null==p[9]?s?0:t.length:Fl(p[9]-l,0),!u&&n&(tt|nt)&&(n&=~(tt|nt)),n&&n!=J)d=n==tt||n==nt?ui(t,n,u):n!=et&&n!=(J|et)||i.length?li.apply(U,p):di(t,n,e,r);else var d=ri(t,n,e);var v=h?hc:mc;return v(d,p)}function xi(t,n,e,r,i,o){var a=-1,u=i&st,s=i&ut,l=t.length,c=n.length;if(l!=c&&!(u&&c>l))return!1;var f=o.get(t);if(f)return f==n;var h=!0;for(o.set(t,n);++a<l;){var p=t[a],d=n[a];if(r)var g=u?r(d,p,a,n,t,o):r(p,d,a,t,n,o);if(g!==U){if(g)continue;h=!1;break}if(s){if(!v(n,function(t){return p===t||e(p,t,r,i,o)})){h=!1;break}}else if(p!==d&&!e(p,d,r,i,o)){h=!1;break}}return o["delete"](t),h}function bi(t,n,e,r,i,o,a){switch(e){case qt:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case zt:return!(t.byteLength!=n.byteLength||!r(new Cl(t),new Cl(n)));case _t:case Mt:return+t==+n;case kt:return t.name==n.name&&t.message==n.message;case Ot:return t!=+t?n!=+n:t==+n;case jt:case Rt:return t==n+"";case Pt:var u=F;case Nt:var s=o&st;if(u||(u=z),t.size!=n.size&&!s)return!1;var l=a.get(t);return l?l==n:(o|=ut,a.set(t,n),xi(u(t),u(n),r,i,o,a));case Dt:if(ac)return ac.call(t)==ac.call(n)}return!1}function wi(t,n,e,r,i,o){var a=i&st,u=Yu(t),s=u.length,l=Yu(n),c=l.length;if(s!=c&&!a)return!1;for(var f=s;f--;){var h=u[f];if(!(a?h in n:We(n,h)))return!1}var p=o.get(t);if(p)return p==n;var d=!0;o.set(t,n);for(var v=a;++f<s;){h=u[f];var g=t[h],m=n[h];if(r)var y=a?r(m,g,h,n,t,o):r(g,m,h,t,n,o);if(!(y===U?g===m||e(g,m,r,i,o):y)){d=!1;break}v||(v="constructor"==h)}if(d&&!v){var $=t.constructor,x=n.constructor;$!=x&&"constructor"in t&&"constructor"in n&&!("function"==typeof $&&$ instanceof $&&"function"==typeof x&&x instanceof x)&&(d=!1)}return o["delete"](t),d}function Ci(t){return Ve(t,Yu,Oi)}function Si(t){return Ve(t,Gu,gc)}function _i(t){for(var n=t.name+"",e=Ql[n],r=dl.call(Ql,n)?e.length:0;r--;){var i=e[r],o=i.func;if(null==o||o==t)return i.name}return n}function Mi(){var t=En.iteratee||Is;return t=t===Is?Qe:t,arguments.length?t(arguments[0],arguments[1]):t}function ki(t){for(var n=es(t),e=n.length;e--;)n[e][2]=Yi(n[e][1]);return n}function Ai(t,n){var e=t[n];return du(e)?e:U}function Ei(t){var n=dl.call(En,"placeholder")?En:t;return n.placeholder}function Pi(t){return jl(Object(t))}function Oi(t){return Ml(Object(t))}function Ti(t){return ml.call(t)}function Li(t,n,e){for(var r=-1,i=e.length;++r<i;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=Il(n,t+a);break;case"takeRight":t=Fl(t,n-a)}}return{start:t,end:n}}function ji(t,n,e){n=Bi(n,t)?[n]:Rr(n);for(var r,i=-1,o=n.length;++i<o;){var a=Qi(n[i]);if(!(r=null!=t&&e(t,a)))break;t=t[a]}if(r)return r;var o=t?t.length:0;return!!o&&uu(o)&&qi(a,o)&&(tf(t)||wu(t)||Ya(t))}function Ni(t){var n=t.length,e=t.constructor(n);return n&&"string"==typeof t[0]&&dl.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Ri(t){return"function"!=typeof t.constructor||Hi(t)?{}:_e(Pi(t))}function Di(t,n,e,r){var i=t.constructor;switch(n){case zt:return Ir(t);case _t:case Mt:return new i((+t));case qt:return zr(t,r);case Vt:case Bt:case Wt:case Ut:case Ht:case Yt:case Gt:case Xt:case Zt:return Ur(t,r);case Pt:return qr(t,r,e);case Ot:case Rt:return new i(t);case jt:return Vr(t);case Nt:return Br(t,r,e);case Dt:return Wr(t)}}function Fi(t){var n=t?t.length:U;return uu(n)&&(tf(t)||wu(t)||Ya(t))?S(n,String):null}function Ii(t){return Za(t)&&(tf(t)||Ya(t))}function zi(t){return tf(t)&&!(2==t.length&&!ou(t[0]))}function qi(t,n){return n=null==n?mt:n,!!n&&("number"==typeof t||_n.test(t))&&t>-1&&t%1==0&&t<n}function Vi(t,n,e){if(!su(e))return!1;var r=typeof n;return!!("number"==r?Xa(e)&&qi(n,e.length):"string"==r&&n in e)&&Ha(e[n],t)}function Bi(t,n){if(tf(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!Cu(t))||(ln.test(t)||!sn.test(t)||null!=n&&t in Object(n))}function Wi(t){var n=typeof t;return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}function Ui(t){var n=_i(t),e=En[n];if("function"!=typeof e||!(n in Tn.prototype))return!1;if(t===e)return!0;var r=dc(e);return!!r&&t===r[0]}function Hi(t){var n=t&&t.constructor,e="function"==typeof n&&n.prototype||fl;return t===e}function Yi(t){return t===t&&!su(t)}function Gi(t,n){return function(e){return null!=e&&(e[t]===n&&(n!==U||t in Object(e)))}}function Xi(t,n){var e=t[1],r=n[1],i=e|r,o=i<(J|K|it),a=r==it&&e==tt||r==it&&e==ot&&t[7].length<=n[8]||r==(it|ot)&&n[7].length<=n[8]&&e==tt;if(!o&&!a)return t;r&J&&(t[2]=n[2],i|=e&J?0:Q);var u=n[3];if(u){var s=t[3];t[3]=s?Gr(s,u,n[4]):u,t[4]=s?I(t[3],Z):n[4]}return u=n[5],u&&(s=t[5],t[5]=s?Xr(s,u,n[6]):u,t[6]=s?I(t[5],Z):n[6]),u=n[7],u&&(t[7]=u),r&it&&(t[8]=null==t[8]?n[8]:Il(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function Zi(t,n,e,r,i,o){return su(t)&&su(n)&&ar(t,n,U,Zi,o.set(n,t)),t}function Ji(t,n){return 1==n.length?t:qe(t,xr(n,0,-1))}function Ki(t,n){for(var e=t.length,r=Il(n.length,e),i=Zr(t);r--;){var o=n[r];t[r]=qi(o,e)?i[o]:U}return t}function Qi(t){if("string"==typeof t||Cu(t))return t;var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function to(t){if(null!=t){try{return pl.call(t)}catch(n){}try{return t+""}catch(n){}}return""}function no(t){if(t instanceof Tn)return t.clone();var n=new On(t.__wrapped__,t.__chain__);return n.__actions__=Zr(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function eo(t,n,e){n=(e?Vi(t,n,e):n===U)?1:Fl(Eu(n),0);var r=t?t.length:0;if(!r||n<1)return[];for(var i=0,o=0,a=Array(Tl(r/n));i<r;)a[o++]=xr(t,i,i+=n);return a}function ro(t){for(var n=-1,e=t?t.length:0,r=0,i=[];++n<e;){var o=t[n];o&&(i[r++]=o)}return i}function io(){var t=arguments.length,n=qa(arguments[0]);if(t<2)return t?Zr(n):[];for(var e=Array(t-1);t--;)e[t-1]=arguments[t];return i(n,Ne(e,1))}function oo(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),xr(t,n<0?0:n,r)):[]}function ao(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),n=r-n,xr(t,0,n<0?0:n)):[]}function uo(t,n){return t&&t.length?Pr(t,Mi(n,3),!0,!0):[]}function so(t,n){return t&&t.length?Pr(t,Mi(n,3),!0):[]}function lo(t,n,e,r){var i=t?t.length:0;return i?(e&&"number"!=typeof e&&Vi(t,n,e)&&(e=0,r=i),Le(t,n,e,r)):[]}function co(t,n){return t&&t.length?m(t,Mi(n,3)):-1}function fo(t,n){return t&&t.length?m(t,Mi(n,3),!0):-1}function ho(t){var n=t?t.length:0;return n?Ne(t,1):[]}function po(t){var n=t?t.length:0;return n?Ne(t,gt):[]}function vo(t,n){var e=t?t.length:0;return e?(n=n===U?1:Eu(n),Ne(t,n)):[]}function go(t){for(var n=-1,e=t?t.length:0,r={};++n<e;){var i=t[n];r[i[0]]=i[1]}return r}function mo(t){return t&&t.length?t[0]:U}function yo(t,n,e){var r=t?t.length:0;return r?(e=Eu(e),e<0&&(e=Fl(r+e,0)),y(t,n,e)):-1}function $o(t){return ao(t,1)}function xo(t,n){return t?Rl.call(t,n):""}function bo(t){var n=t?t.length:0;return n?t[n-1]:U}function wo(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if(e!==U&&(i=Eu(e),i=(i<0?Fl(r+i,0):Il(i,r-1))+1),n!==n)return N(t,i,!0);for(;i--;)if(t[i]===n)return i;return-1}function Co(t,n){return t&&t.length?sr(t,Eu(n)):U}function So(t,n){return t&&t.length&&n&&n.length?dr(t,n):t}function _o(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,Mi(e)):t}function Mo(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,U,e):t}function ko(t,n){var e=[];if(!t||!t.length)return e;var r=-1,i=[],o=t.length;for(n=Mi(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),i.push(r))}return vr(t,i),e}function Ao(t){return t?Bl.call(t):t}function Eo(t,n,e){var r=t?t.length:0;return r?(e&&"number"!=typeof e&&Vi(t,n,e)?(n=0,e=r):(n=null==n?0:Eu(n),e=e===U?r:Eu(e)),xr(t,n,e)):[]}function Po(t,n){return wr(t,n)}function Oo(t,n,e){return Cr(t,n,Mi(e))}function To(t,n){var e=t?t.length:0;if(e){var r=wr(t,n);if(r<e&&Ha(t[r],n))return r}return-1}function Lo(t,n){return wr(t,n,!0)}function jo(t,n,e){return Cr(t,n,Mi(e),!0)}function No(t,n){var e=t?t.length:0;if(e){var r=wr(t,n,!0)-1;if(Ha(t[r],n))return r}return-1}function Ro(t){return t&&t.length?Sr(t):[]}function Do(t,n){return t&&t.length?Sr(t,Mi(n)):[]}function Fo(t){return oo(t,1)}function Io(t,n,e){return t&&t.length?(n=e||n===U?1:Eu(n),xr(t,0,n<0?0:n)):[]}function zo(t,n,e){var r=t?t.length:0;return r?(n=e||n===U?1:Eu(n),n=r-n,xr(t,n<0?0:n,r)):[]}function qo(t,n){return t&&t.length?Pr(t,Mi(n,3),!1,!0):[]}function Vo(t,n){return t&&t.length?Pr(t,Mi(n,3)):[]}function Bo(t){return t&&t.length?kr(t):[]}function Wo(t,n){return t&&t.length?kr(t,Mi(n)):[]}function Uo(t,n){return t&&t.length?kr(t,U,n):[]}function Ho(t){if(!t||!t.length)return[];var n=0;return t=s(t,function(t){if(Za(t))return n=Fl(t.length,n),!0}),S(n,function(n){return f(t,hr(n))})}function Yo(t,n){if(!t||!t.length)return[];var r=Ho(t);return null==n?r:f(r,function(t){return e(n,U,t)})}function Go(t,n){return Lr(t||[],n||[],le)}function Xo(t,n){return Lr(t||[],n||[],$r)}function Zo(t){var n=En(t);return n.__chain__=!0,n}function Jo(t,n){return n(t),t}function Ko(t,n){return n(t)}function Qo(){return Zo(this)}function ta(){return new On(this.value(),this.__chain__)}function na(){this.__values__===U&&(this.__values__=Au(this.value()));var t=this.__index__>=this.__values__.length,n=t?U:this.__values__[this.__index__++];return{done:t,value:n}}function ea(){return this}function ra(t){for(var n,e=this;e instanceof Pn;){var r=no(e);r.__index__=0,r.__values__=U,n?i.__wrapped__=r:n=r;var i=r;e=e.__wrapped__}return i.__wrapped__=t,n}function ia(){var t=this.__wrapped__;if(t instanceof Tn){var n=t;return this.__actions__.length&&(n=new Tn(this)),n=n.reverse(),n.__actions__.push({func:Ko,args:[Ao],thisArg:U}),new On(n,this.__chain__)}return this.thru(Ao)}function oa(){return Or(this.__wrapped__,this.__actions__)}function aa(t,n,e){var r=tf(t)?u:Pe;return e&&Vi(t,n,e)&&(n=U),r(t,Mi(n,3))}function ua(t,n){var e=tf(t)?s:je;return e(t,Mi(n,3))}function sa(t,n){if(n=Mi(n,3),tf(t)){var e=m(t,n);return e>-1?t[e]:U}return g(t,n,sc)}function la(t,n){if(n=Mi(n,3),tf(t)){var e=m(t,n,!0);return e>-1?t[e]:U}return g(t,n,lc)}function ca(t,n){return Ne(ga(t,n),1)}function fa(t,n){return Ne(ga(t,n),gt)}function ha(t,n,e){return e=e===U?1:Eu(e),Ne(ga(t,n),e)}function pa(t,n){return"function"==typeof n&&tf(t)?o(t,n):sc(t,Mi(n))}function da(t,n){return"function"==typeof n&&tf(t)?a(t,n):lc(t,Mi(n))}function va(t,n,e,r){t=Xa(t)?t:ss(t),e=e&&!r?Eu(e):0;var i=t.length;return e<0&&(e=Fl(i+e,0)),wu(t)?e<=i&&t.indexOf(n,e)>-1:!!i&&y(t,n,e)>-1}function ga(t,n){var e=tf(t)?f:rr;return e(t,Mi(n,3))}function ma(t,n,e,r){return null==t?[]:(tf(n)||(n=null==n?[]:[n]),e=r?U:e,tf(e)||(e=null==e?[]:[e]),lr(t,n,e))}function ya(t,n,e){var r=tf(t)?p:b,i=arguments.length<3;return r(t,Mi(n,4),e,i,sc)}function $a(t,n,e){var r=tf(t)?d:b,i=arguments.length<3;return r(t,Mi(n,4),e,i,lc)}function xa(t,n){var e=tf(t)?s:je;return n=Mi(n,3),e(t,function(t,e,r){return!n(t,e,r)})}function ba(t){var n=Xa(t)?t:ss(t),e=n.length;return e>0?n[gr(0,e-1)]:U}function wa(t,n,e){var r=-1,i=Au(t),o=i.length,a=o-1;for(n=(e?Vi(t,n,e):n===U)?1:we(Eu(n),0,o);++r<n;){var u=gr(r,a),s=i[u];i[u]=i[r],i[r]=s}return i.length=n,i}function Ca(t){return wa(t,xt)}function Sa(t){if(null==t)return 0;if(Xa(t)){var n=t.length;return n&&wu(t)?q(t):n}if(lu(t)){var e=Ti(t);if(e==Pt||e==Nt)return t.size}return Yu(t).length}function _a(t,n,e){var r=tf(t)?v:br;return e&&Vi(t,n,e)&&(n=U),r(t,Mi(n,3))}function Ma(t,n){if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){if(--t<1)return n.apply(this,arguments)}}function ka(t,n,e){return n=e?U:n,n=t&&null==n?t.length:n,$i(t,it,U,U,U,U,n)}function Aa(t,n){var e;if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=U),e}}function Ea(t,n,e){n=e?U:n;var r=$i(t,tt,U,U,U,U,U,n);return r.placeholder=Ea.placeholder,r}function Pa(t,n,e){n=e?U:n;var r=$i(t,nt,U,U,U,U,U,n);return r.placeholder=Pa.placeholder,r}function Oa(t,n,e){function r(n){var e=h,r=p;return h=p=U,y=n,v=t.apply(r,e)}function i(t){return y=t,g=Pl(u,n),$?r(t):v}function o(t){var e=t-m,r=t-y,i=n-e;return x?Il(i,d-r):i}function a(t){var e=t-m,r=t-y;return!m||e>=n||e<0||x&&r>=d}function u(){var t=Bc();return a(t)?s(t):void(g=Pl(u,o(t)))}function s(t){return Sl(g),g=U,b&&h?r(t):(h=p=U,v)}function l(){g!==U&&Sl(g),m=y=0,h=p=g=U}function c(){return g===U?v:s(Bc())}function f(){var t=Bc(),e=a(t);if(h=arguments,p=this,m=t,e){if(g===U)return i(m);if(x)return Sl(g),g=Pl(u,n),r(m)}return g===U&&(g=Pl(u,n)),v}var h,p,d,v,g,m=0,y=0,$=!1,x=!1,b=!0;if("function"!=typeof t)throw new ll(G);return n=Ou(n)||0,su(e)&&($=!!e.leading,x="maxWait"in e,d=x?Fl(Ou(e.maxWait)||0,n):d,b="trailing"in e?!!e.trailing:b),f.cancel=l,f.flush=c,f}function Ta(t){return $i(t,at)}function La(t,n){if("function"!=typeof t||n&&"function"!=typeof n)throw new ll(G);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],o=e.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return e.cache=o.set(i,a),a};return e.cache=new(La.Cache||qn),e}function ja(t){if("function"!=typeof t)throw new ll(G);return function(){return!t.apply(this,arguments)}}function Na(t){return Aa(2,t)}function Ra(t,n){if("function"!=typeof t)throw new ll(G);return n=Fl(n===U?t.length-1:Eu(n),0),function(){for(var r=arguments,i=-1,o=Fl(r.length-n,0),a=Array(o);++i<o;)a[i]=r[n+i];switch(n){case 0:return t.call(this,a);case 1:return t.call(this,r[0],a);case 2:return t.call(this,r[0],r[1],a)}var u=Array(n+1);for(i=-1;++i<n;)u[i]=r[i];return u[n]=a,e(t,this,u)}}function Da(t,n){if("function"!=typeof t)throw new ll(G);return n=n===U?0:Fl(Eu(n),0),Ra(function(r){var i=r[n],o=Dr(r,0,n);return i&&h(o,i),e(t,this,o)})}function Fa(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new ll(G);return su(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Oa(t,n,{leading:r,maxWait:n,trailing:i})}function Ia(t){return ka(t,1)}function za(t,n){return n=null==n?Fs:n,Xc(n,t)}function qa(){if(!arguments.length)return[];var t=arguments[0];return tf(t)?t:[t]}function Va(t){return Ce(t,!1,!0)}function Ba(t,n){return Ce(t,!1,!0,n)}function Wa(t){return Ce(t,!0,!0)}function Ua(t,n){return Ce(t,!0,!0,n)}function Ha(t,n){return t===n||t!==t&&n!==n}function Ya(t){return Za(t)&&dl.call(t,"callee")&&(!El.call(t,"callee")||ml.call(t)==Ct)}function Ga(t){return lu(t)&&ml.call(t)==zt}function Xa(t){return null!=t&&uu(vc(t))&&!ou(t)}function Za(t){return lu(t)&&Xa(t)}function Ja(t){return t===!0||t===!1||lu(t)&&ml.call(t)==_t}function Ka(t){return lu(t)&&ml.call(t)==Mt}function Qa(t){return!!t&&1===t.nodeType&&lu(t)&&!yu(t)}function tu(t){if(Xa(t)&&(tf(t)||wu(t)||ou(t.splice)||Ya(t)||nf(t)))return!t.length;if(lu(t)){var n=Ti(t);if(n==Pt||n==Nt)return!t.size}for(var e in t)if(dl.call(t,e))return!1;return!(Kl&&Yu(t).length)}function nu(t,n){return Ze(t,n)}function eu(t,n,e){e="function"==typeof e?e:U;var r=e?e(t,n):U;return r===U?Ze(t,n,e):!!r}function ru(t){return!!lu(t)&&(ml.call(t)==kt||"string"==typeof t.message&&"string"==typeof t.name)}function iu(t){return"number"==typeof t&&Nl(t)}function ou(t){var n=su(t)?ml.call(t):"";return n==At||n==Et}function au(t){return"number"==typeof t&&t==Eu(t)}function uu(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=mt}function su(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function lu(t){return!!t&&"object"==typeof t}function cu(t){return lu(t)&&Ti(t)==Pt}function fu(t,n){return t===n||Ke(t,n,ki(n))}function hu(t,n,e){return e="function"==typeof e?e:U,Ke(t,n,ki(n),e)}function pu(t){return mu(t)&&t!=+t}function du(t){if(!su(t))return!1;var n=ou(t)||R(t)?$l:Cn;return n.test(to(t))}function vu(t){return null===t}function gu(t){return null==t}function mu(t){return"number"==typeof t||lu(t)&&ml.call(t)==Ot}function yu(t){if(!lu(t)||ml.call(t)!=Tt||R(t))return!1;var n=Pi(t);if(null===n)return!0;var e=dl.call(n,"constructor")&&n.constructor;return"function"==typeof e&&e instanceof e&&pl.call(e)==gl}function $u(t){return su(t)&&ml.call(t)==jt}function xu(t){return au(t)&&t>=-mt&&t<=mt}function bu(t){return lu(t)&&Ti(t)==Nt}function wu(t){return"string"==typeof t||!tf(t)&&lu(t)&&ml.call(t)==Rt}function Cu(t){return"symbol"==typeof t||lu(t)&&ml.call(t)==Dt}function Su(t){return lu(t)&&uu(t.length)&&!!xe[ml.call(t)]}function _u(t){return t===U}function Mu(t){return lu(t)&&Ti(t)==Ft}function ku(t){return lu(t)&&ml.call(t)==It}function Au(t){if(!t)return[];if(Xa(t))return wu(t)?V(t):Zr(t);if(kl&&t[kl])return D(t[kl]());var n=Ti(t),e=n==Pt?F:n==Nt?z:ss;return e(t)}function Eu(t){if(!t)return 0===t?t:0;if(t=Ou(t),t===gt||t===-gt){var n=t<0?-1:1;return n*yt}var e=t%1;return t===t?e?t-e:t:0}function Pu(t){return t?we(Eu(t),0,xt):0}function Ou(t){if("number"==typeof t)return t;if(Cu(t))return $t;if(su(t)){var n=ou(t.valueOf)?t.valueOf():t;t=su(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(pn,"");var e=wn.test(t);return e||Sn.test(t)?Ae(t.slice(2),e?2:8):bn.test(t)?$t:+t}function Tu(t){return Jr(t,Gu(t))}function Lu(t){return we(Eu(t),-mt,mt)}function ju(t){return null==t?"":Mr(t)}function Nu(t,n){var e=_e(t);return n?fe(e,n):e}function Ru(t,n){return g(t,Mi(n,3),Fe,!0)}function Du(t,n){return g(t,Mi(n,3),Ie,!0);
-}function Fu(t,n){return null==t?t:cc(t,Mi(n),Gu)}function Iu(t,n){return null==t?t:fc(t,Mi(n),Gu)}function zu(t,n){return t&&Fe(t,Mi(n))}function qu(t,n){return t&&Ie(t,Mi(n))}function Vu(t){return null==t?[]:ze(t,Yu(t))}function Bu(t){return null==t?[]:ze(t,Gu(t))}function Wu(t,n,e){var r=null==t?U:qe(t,n);return r===U?e:r}function Uu(t,n){return null!=t&&ji(t,n,We)}function Hu(t,n){return null!=t&&ji(t,n,Ue)}function Yu(t){var n=Hi(t);if(!n&&!Xa(t))return tr(t);var e=Fi(t),r=!!e,i=e||[],o=i.length;for(var a in t)!We(t,a)||r&&("length"==a||qi(a,o))||n&&"constructor"==a||i.push(a);return i}function Gu(t){for(var n=-1,e=Hi(t),r=nr(t),i=r.length,o=Fi(t),a=!!o,u=o||[],s=u.length;++n<i;){var l=r[n];a&&("length"==l||qi(l,s))||"constructor"==l&&(e||!dl.call(t,l))||u.push(l)}return u}function Xu(t,n){var e={};return n=Mi(n,3),Fe(t,function(t,r,i){e[n(t,r,i)]=t}),e}function Zu(t,n){var e={};return n=Mi(n,3),Fe(t,function(t,r,i){e[r]=n(t,r,i)}),e}function Ju(t,n){return n=Mi(n),fr(t,function(t,e){return!n(t,e)})}function Ku(t,n){return null==t?{}:fr(t,Mi(n))}function Qu(t,n,e){n=Bi(n,t)?[n]:Rr(n);var r=-1,i=n.length;for(i||(t=U,i=1);++r<i;){var o=null==t?U:t[Qi(n[r])];o===U&&(r=i,o=e),t=ou(o)?o.call(t):o}return t}function ts(t,n,e){return null==t?t:$r(t,n,e)}function ns(t,n,e,r){return r="function"==typeof r?r:U,null==t?t:$r(t,n,e,r)}function es(t){return _(t,Yu(t))}function rs(t){return _(t,Gu(t))}function is(t,n,e){var r=tf(t)||Su(t);if(n=Mi(n,4),null==e)if(r||su(t)){var i=t.constructor;e=r?tf(t)?new i:[]:ou(i)?_e(Pi(t)):{}}else e={};return(r?o:Fe)(t,function(t,r,i){return n(e,t,r,i)}),e}function os(t,n){return null==t||Ar(t,n)}function as(t,n,e){return null==t?t:Er(t,n,Nr(e))}function us(t,n,e,r){return r="function"==typeof r?r:U,null==t?t:Er(t,n,Nr(e),r)}function ss(t){return t?k(t,Yu(t)):[]}function ls(t){return null==t?[]:k(t,Gu(t))}function cs(t,n,e){return e===U&&(e=n,n=U),e!==U&&(e=Ou(e),e=e===e?e:0),n!==U&&(n=Ou(n),n=n===n?n:0),we(Ou(t),n,e)}function fs(t,n,e){return n=Ou(n)||0,e===U?(e=n,n=0):e=Ou(e)||0,t=Ou(t),He(t,n,e)}function hs(t,n,e){if(e&&"boolean"!=typeof e&&Vi(t,n,e)&&(n=e=U),e===U&&("boolean"==typeof n?(e=n,n=U):"boolean"==typeof t&&(e=t,t=U)),t===U&&n===U?(t=0,n=1):(t=Ou(t)||0,n===U?(n=t,t=0):n=Ou(n)||0),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var i=ql();return Il(t+i*(n-t+ke("1e-"+((i+"").length-1))),n)}return gr(t,n)}function ps(t){return Mf(ju(t).toLowerCase())}function ds(t){return t=ju(t),t&&t.replace(Mn,T).replace(pe,"")}function vs(t,n,e){t=ju(t),n=Mr(n);var r=t.length;return e=e===U?r:we(Eu(e),0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function gs(t){return t=ju(t),t&&rn.test(t)?t.replace(nn,L):t}function ms(t){return t=ju(t),t&&hn.test(t)?t.replace(fn,"\\$&"):t}function ys(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;if(!n||r>=n)return t;var i=(n-r)/2;return pi(Ll(i),e)+t+pi(Tl(i),e)}function $s(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;return n&&r<n?t+pi(n-r,e):t}function xs(t,n,e){t=ju(t),n=Eu(n);var r=n?q(t):0;return n&&r<n?pi(n-r,e)+t:t}function bs(t,n,e){return e||null==n?n=0:n&&(n=+n),t=ju(t).replace(pn,""),zl(t,n||(xn.test(t)?16:10))}function ws(t,n,e){return n=(e?Vi(t,n,e):n===U)?1:Eu(n),yr(ju(t),n)}function Cs(){var t=arguments,n=ju(t[0]);return t.length<3?n:Vl.call(n,t[1],t[2])}function Ss(t,n,e){return e&&"number"!=typeof e&&Vi(t,n,e)&&(n=e=U),(e=e===U?xt:e>>>0)?(t=ju(t),t&&("string"==typeof n||null!=n&&!$u(n))&&(n=Mr(n),""==n&&ge.test(t))?Dr(V(t),0,e):Wl.call(t,n,e)):[]}function _s(t,n,e){return t=ju(t),e=we(Eu(e),0,t.length),t.lastIndexOf(Mr(n),e)==e}function Ms(t,n,e){var r=En.templateSettings;e&&Vi(t,n,e)&&(n=U),t=ju(t),n=uf({},n,r,ue);var i,o,a=uf({},n.imports,r.imports,ue),u=Yu(a),s=k(a,u),l=0,c=n.interpolate||kn,f="__p += '",h=sl((n.escape||kn).source+"|"+c.source+"|"+(c===un?yn:kn).source+"|"+(n.evaluate||kn).source+"|$","g"),p="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++$e+"]")+"\n";t.replace(h,function(n,e,r,a,u,s){return r||(r=a),f+=t.slice(l,s).replace(An,j),e&&(i=!0,f+="' +\n__e("+e+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+n.length,n}),f+="';\n";var d=n.variable;d||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(Jt,""):f).replace(Kt,"$1").replace(Qt,"$1;"),f="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=kf(function(){return Function(u,p+"return "+f).apply(U,s)});if(v.source=f,ru(v))throw v;return v}function ks(t){return ju(t).toLowerCase()}function As(t){return ju(t).toUpperCase()}function Es(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(pn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=V(n),o=A(r,i),a=E(r,i)+1;return Dr(r,o,a).join("")}function Ps(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(vn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=E(r,V(n))+1;return Dr(r,0,i).join("")}function Os(t,n,e){if(t=ju(t),t&&(e||n===U))return t.replace(dn,"");if(!t||!(n=Mr(n)))return t;var r=V(t),i=A(r,V(n));return Dr(r,i).join("")}function Ts(t,n){var e=lt,r=ct;if(su(n)){var i="separator"in n?n.separator:i;e="length"in n?Eu(n.length):e,r="omission"in n?Mr(n.omission):r}t=ju(t);var o=t.length;if(ge.test(t)){var a=V(t);o=a.length}if(e>=o)return t;var u=e-q(r);if(u<1)return r;var s=a?Dr(a,0,u).join(""):t.slice(0,u);if(i===U)return s+r;if(a&&(u+=s.length-u),$u(i)){if(t.slice(u).search(i)){var l,c=s;for(i.global||(i=sl(i.source,ju($n.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;s=s.slice(0,f===U?u:f)}}else if(t.indexOf(Mr(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function Ls(t){return t=ju(t),t&&en.test(t)?t.replace(tn,B):t}function js(t,n,e){return t=ju(t),n=e?U:n,n===U&&(n=me.test(t)?ve:gn),t.match(n)||[]}function Ns(t){var n=t?t.length:0,r=Mi();return t=n?f(t,function(t){if("function"!=typeof t[1])throw new ll(G);return[r(t[0]),t[1]]}):[],Ra(function(r){for(var i=-1;++i<n;){var o=t[i];if(e(o[0],this,r))return e(o[1],this,r)}})}function Rs(t){return Se(Ce(t,!0))}function Ds(t){return function(){return t}}function Fs(t){return t}function Is(t){return Qe("function"==typeof t?t:Ce(t,!0))}function zs(t){return ir(Ce(t,!0))}function qs(t,n){return or(t,Ce(n,!0))}function Vs(t,n,e){var r=Yu(n),i=ze(n,r);null!=e||su(n)&&(i.length||!r.length)||(e=n,n=t,t=this,i=ze(n,Yu(n)));var a=!(su(e)&&"chain"in e&&!e.chain),u=ou(t);return o(i,function(e){var r=n[e];t[e]=r,u&&(t.prototype[e]=function(){var n=this.__chain__;if(a||n){var e=t(this.__wrapped__),i=e.__actions__=Zr(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),e.__chain__=n,e}return r.apply(t,h([this.value()],arguments))})}),t}function Bs(){return Re._===this&&(Re._=yl),this}function Ws(){}function Us(t){return t=Eu(t),Ra(function(n){return sr(n,t)})}function Hs(t){return Bi(t)?hr(Qi(t)):pr(t)}function Ys(t){return function(n){return null==t?U:qe(t,n)}}function Gs(t,n){if(t=Eu(t),t<1||t>mt)return[];var e=xt,r=Il(t,xt);n=Mi(n),t-=xt;for(var i=S(r,n);++e<t;)n(e);return i}function Xs(t){return tf(t)?f(t,Qi):Cu(t)?[t]:Zr(yc(t))}function Zs(t){var n=++vl;return ju(t)+n}function Js(t){return t&&t.length?Te(t,Fs,Be):U}function Ks(t,n){return t&&t.length?Te(t,Mi(n),Be):U}function Qs(t){return x(t,Fs)}function tl(t,n){return x(t,Mi(n))}function nl(t){return t&&t.length?Te(t,Fs,er):U}function el(t,n){return t&&t.length?Te(t,Mi(n),er):U}function rl(t){return t&&t.length?C(t,Fs):0}function il(t,n){return t&&t.length?C(t,Mi(n)):0}P=P?De.defaults({},P,De.pick(Re,ye)):Re;var ol=P.Date,al=P.Error,ul=P.Math,sl=P.RegExp,ll=P.TypeError,cl=P.Array.prototype,fl=P.Object.prototype,hl=P.String.prototype,pl=P.Function.prototype.toString,dl=fl.hasOwnProperty,vl=0,gl=pl.call(Object),ml=fl.toString,yl=Re._,$l=sl("^"+pl.call(dl).replace(fn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),xl=Oe?P.Buffer:U,bl=P.Reflect,wl=P.Symbol,Cl=P.Uint8Array,Sl=P.clearTimeout,_l=bl?bl.enumerate:U,Ml=Object.getOwnPropertySymbols,kl="symbol"==typeof(kl=wl&&wl.iterator)?kl:U,Al=Object.create,El=fl.propertyIsEnumerable,Pl=P.setTimeout,Ol=cl.splice,Tl=ul.ceil,Ll=ul.floor,jl=Object.getPrototypeOf,Nl=P.isFinite,Rl=cl.join,Dl=Object.keys,Fl=ul.max,Il=ul.min,zl=P.parseInt,ql=ul.random,Vl=hl.replace,Bl=cl.reverse,Wl=hl.split,Ul=Ai(P,"DataView"),Hl=Ai(P,"Map"),Yl=Ai(P,"Promise"),Gl=Ai(P,"Set"),Xl=Ai(P,"WeakMap"),Zl=Ai(Object,"create"),Jl=Xl&&new Xl,Kl=!El.call({valueOf:1},"valueOf"),Ql={},tc=to(Ul),nc=to(Hl),ec=to(Yl),rc=to(Gl),ic=to(Xl),oc=wl?wl.prototype:U,ac=oc?oc.valueOf:U,uc=oc?oc.toString:U;En.templateSettings={escape:on,evaluate:an,interpolate:un,variable:"",imports:{_:En}},En.prototype=Pn.prototype,En.prototype.constructor=En,On.prototype=_e(Pn.prototype),On.prototype.constructor=On,Tn.prototype=_e(Pn.prototype),Tn.prototype.constructor=Tn,Rn.prototype=Zl?Zl(null):fl,qn.prototype.clear=Vn,qn.prototype["delete"]=Bn,qn.prototype.get=Wn,qn.prototype.has=Un,qn.prototype.set=Hn,Yn.prototype.push=Xn,Zn.prototype.clear=Jn,Zn.prototype["delete"]=Kn,Zn.prototype.get=Qn,Zn.prototype.has=te,Zn.prototype.set=ne;var sc=ni(Fe),lc=ni(Ie,!0),cc=ei(),fc=ei(!0);_l&&!El.call({valueOf:1},"valueOf")&&(nr=function(t){return D(_l(t))});var hc=Jl?function(t,n){return Jl.set(t,n),t}:Fs,pc=Gl&&1/z(new Gl([,-0]))[1]==gt?function(t){return new Gl(t)}:Ws,dc=Jl?function(t){return Jl.get(t)}:Ws,vc=hr("length");Ml||(Oi=function(){return[]});var gc=Ml?function(t){for(var n=[];t;)h(n,Oi(t)),t=Pi(t);return n}:Oi;(Ul&&Ti(new Ul(new ArrayBuffer(1)))!=qt||Hl&&Ti(new Hl)!=Pt||Yl&&Ti(Yl.resolve())!=Lt||Gl&&Ti(new Gl)!=Nt||Xl&&Ti(new Xl)!=Ft)&&(Ti=function(t){var n=ml.call(t),e=n==Tt?t.constructor:U,r=e?to(e):U;if(r)switch(r){case tc:return qt;case nc:return Pt;case ec:return Lt;case rc:return Nt;case ic:return Ft}return n});var mc=function(){var t=0,n=0;return function(e,r){var i=Bc(),o=ht-(i-n);if(n=i,o>0){if(++t>=ft)return e}else t=0;return hc(e,r)}}(),yc=La(function(t){var n=[];return ju(t).replace(cn,function(t,e,r,i){n.push(r?i.replace(mn,"$1"):e||t)}),n}),$c=Ra(function(t,n){return Za(t)?Ee(t,Ne(n,1,Za,!0)):[]}),xc=Ra(function(t,n){var e=bo(n);return Za(e)&&(e=U),Za(t)?Ee(t,Ne(n,1,Za,!0),Mi(e)):[]}),bc=Ra(function(t,n){var e=bo(n);return Za(e)&&(e=U),Za(t)?Ee(t,Ne(n,1,Za,!0),U,e):[]}),wc=Ra(function(t){var n=f(t,jr);return n.length&&n[0]===t[0]?Ye(n):[]}),Cc=Ra(function(t){var n=bo(t),e=f(t,jr);return n===bo(e)?n=U:e.pop(),e.length&&e[0]===t[0]?Ye(e,Mi(n)):[]}),Sc=Ra(function(t){var n=bo(t),e=f(t,jr);return n===bo(e)?n=U:e.pop(),e.length&&e[0]===t[0]?Ye(e,U,n):[]}),_c=Ra(So),Mc=Ra(function(t,n){n=Ne(n,1);var e=t?t.length:0,r=de(t,n);return vr(t,f(n,function(t){return qi(t,e)?+t:t}).sort(Hr)),r}),kc=Ra(function(t){return kr(Ne(t,1,Za,!0))}),Ac=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),kr(Ne(t,1,Za,!0),Mi(n))}),Ec=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),kr(Ne(t,1,Za,!0),U,n)}),Pc=Ra(function(t,n){return Za(t)?Ee(t,n):[]}),Oc=Ra(function(t){return Tr(s(t,Za))}),Tc=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),Tr(s(t,Za),Mi(n))}),Lc=Ra(function(t){var n=bo(t);return Za(n)&&(n=U),Tr(s(t,Za),U,n)}),jc=Ra(Ho),Nc=Ra(function(t){var n=t.length,e=n>1?t[n-1]:U;return e="function"==typeof e?(t.pop(),e):U,Yo(t,e)}),Rc=Ra(function(t){t=Ne(t,1);var n=t.length,e=n?t[0]:0,r=this.__wrapped__,i=function(n){return de(n,t)};return!(n>1||this.__actions__.length)&&r instanceof Tn&&qi(e)?(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:Ko,args:[i],thisArg:U}),new On(r,this.__chain__).thru(function(t){return n&&!t.length&&t.push(U),t})):this.thru(i)}),Dc=Qr(function(t,n,e){dl.call(t,e)?++t[e]:t[e]=1}),Fc=Qr(function(t,n,e){dl.call(t,e)?t[e].push(n):t[e]=[n]}),Ic=Ra(function(t,n,r){var i=-1,o="function"==typeof n,a=Bi(n),u=Xa(t)?Array(t.length):[];return sc(t,function(t){var s=o?n:a&&null!=t?t[n]:U;u[++i]=s?e(s,t,r):Xe(t,n,r)}),u}),zc=Qr(function(t,n,e){t[e]=n}),qc=Qr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),Vc=Ra(function(t,n){if(null==t)return[];var e=n.length;return e>1&&Vi(t,n[0],n[1])?n=[]:e>2&&Vi(n[0],n[1],n[2])&&(n=[n[0]]),n=1==n.length&&tf(n[0])?n[0]:Ne(n,1,zi),lr(t,n,[])}),Bc=ol.now,Wc=Ra(function(t,n,e){var r=J;if(e.length){var i=I(e,Ei(Wc));r|=et}return $i(t,r,n,e,i)}),Uc=Ra(function(t,n,e){var r=J|K;if(e.length){var i=I(e,Ei(Uc));r|=et}return $i(n,r,t,e,i)}),Hc=Ra(function(t,n){return Me(t,1,n)}),Yc=Ra(function(t,n,e){return Me(t,Ou(n)||0,e)});La.Cache=qn;var Gc=Ra(function(t,n){n=1==n.length&&tf(n[0])?f(n[0],M(Mi())):f(Ne(n,1,zi),M(Mi()));var r=n.length;return Ra(function(i){for(var o=-1,a=Il(i.length,r);++o<a;)i[o]=n[o].call(this,i[o]);return e(t,this,i)})}),Xc=Ra(function(t,n){var e=I(n,Ei(Xc));return $i(t,et,U,n,e)}),Zc=Ra(function(t,n){var e=I(n,Ei(Zc));return $i(t,rt,U,n,e)}),Jc=Ra(function(t,n){return $i(t,ot,U,U,U,Ne(n,1))}),Kc=gi(Be),Qc=gi(function(t,n){return t>=n}),tf=Array.isArray,nf=xl?function(t){return t instanceof xl}:Ds(!1),ef=gi(er),rf=gi(function(t,n){return t<=n}),of=ti(function(t,n){if(Kl||Hi(n)||Xa(n))return void Jr(n,Yu(n),t);for(var e in n)dl.call(n,e)&&le(t,e,n[e])}),af=ti(function(t,n){if(Kl||Hi(n)||Xa(n))return void Jr(n,Gu(n),t);for(var e in n)le(t,e,n[e])}),uf=ti(function(t,n,e,r){Jr(n,Gu(n),t,r)}),sf=ti(function(t,n,e,r){Jr(n,Yu(n),t,r)}),lf=Ra(function(t,n){return de(t,Ne(n,1))}),cf=Ra(function(t){return t.push(U,ue),e(uf,U,t)}),ff=Ra(function(t){return t.push(U,Zi),e(gf,U,t)}),hf=ci(function(t,n,e){t[n]=e},Ds(Fs)),pf=ci(function(t,n,e){dl.call(t,n)?t[n].push(e):t[n]=[e]},Mi),df=Ra(Xe),vf=ti(function(t,n,e){ar(t,n,e)}),gf=ti(function(t,n,e,r){ar(t,n,e,r)}),mf=Ra(function(t,n){return null==t?{}:(n=f(Ne(n,1),Qi),cr(t,Ee(Si(t),n)))}),yf=Ra(function(t,n){return null==t?{}:cr(t,f(Ne(n,1),Qi))}),$f=oi(function(t,n,e){return n=n.toLowerCase(),t+(e?ps(n):n)}),xf=oi(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),bf=oi(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),wf=ii("toLowerCase"),Cf=oi(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()}),Sf=oi(function(t,n,e){return t+(e?" ":"")+Mf(n)}),_f=oi(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),Mf=ii("toUpperCase"),kf=Ra(function(t,n){try{return e(t,U,n)}catch(r){return ru(r)?r:new al(r)}}),Af=Ra(function(t,n){return o(Ne(n,1),function(n){n=Qi(n),t[n]=Wc(t[n],t)}),t}),Ef=si(),Pf=si(!0),Of=Ra(function(t,n){return function(e){return Xe(e,t,n)}}),Tf=Ra(function(t,n){return function(e){return Xe(t,e,n)}}),Lf=hi(f),jf=hi(u),Nf=hi(v),Rf=vi(),Df=vi(!0),Ff=fi(function(t,n){return t+n}),If=yi("ceil"),zf=fi(function(t,n){return t/n}),qf=yi("floor"),Vf=fi(function(t,n){return t*n}),Bf=yi("round"),Wf=fi(function(t,n){return t-n});return En.after=Ma,En.ary=ka,En.assign=of,En.assignIn=af,En.assignInWith=uf,En.assignWith=sf,En.at=lf,En.before=Aa,En.bind=Wc,En.bindAll=Af,En.bindKey=Uc,En.castArray=qa,En.chain=Zo,En.chunk=eo,En.compact=ro,En.concat=io,En.cond=Ns,En.conforms=Rs,En.constant=Ds,En.countBy=Dc,En.create=Nu,En.curry=Ea,En.curryRight=Pa,En.debounce=Oa,En.defaults=cf,En.defaultsDeep=ff,En.defer=Hc,En.delay=Yc,En.difference=$c,En.differenceBy=xc,En.differenceWith=bc,En.drop=oo,En.dropRight=ao,En.dropRightWhile=uo,En.dropWhile=so,En.fill=lo,En.filter=ua,En.flatMap=ca,En.flatMapDeep=fa,En.flatMapDepth=ha,En.flatten=ho,En.flattenDeep=po,En.flattenDepth=vo,En.flip=Ta,En.flow=Ef,En.flowRight=Pf,En.fromPairs=go,En.functions=Vu,En.functionsIn=Bu,En.groupBy=Fc,En.initial=$o,En.intersection=wc,En.intersectionBy=Cc,En.intersectionWith=Sc,En.invert=hf,En.invertBy=pf,En.invokeMap=Ic,En.iteratee=Is,En.keyBy=zc,En.keys=Yu,En.keysIn=Gu,En.map=ga,En.mapKeys=Xu,En.mapValues=Zu,En.matches=zs,En.matchesProperty=qs,En.memoize=La,En.merge=vf,En.mergeWith=gf,En.method=Of,En.methodOf=Tf,En.mixin=Vs,En.negate=ja,En.nthArg=Us,En.omit=mf,En.omitBy=Ju,En.once=Na,En.orderBy=ma,En.over=Lf,En.overArgs=Gc,En.overEvery=jf,En.overSome=Nf,En.partial=Xc,En.partialRight=Zc,En.partition=qc,En.pick=yf,En.pickBy=Ku,En.property=Hs,En.propertyOf=Ys,En.pull=_c,En.pullAll=So,En.pullAllBy=_o,En.pullAllWith=Mo,En.pullAt=Mc,En.range=Rf,En.rangeRight=Df,En.rearg=Jc,En.reject=xa,En.remove=ko,En.rest=Ra,En.reverse=Ao,En.sampleSize=wa,En.set=ts,En.setWith=ns,En.shuffle=Ca,En.slice=Eo,En.sortBy=Vc,En.sortedUniq=Ro,En.sortedUniqBy=Do,En.split=Ss,En.spread=Da,En.tail=Fo,En.take=Io,En.takeRight=zo,En.takeRightWhile=qo,En.takeWhile=Vo,En.tap=Jo,En.throttle=Fa,En.thru=Ko,En.toArray=Au,En.toPairs=es,En.toPairsIn=rs,En.toPath=Xs,En.toPlainObject=Tu,En.transform=is,En.unary=Ia,En.union=kc,En.unionBy=Ac,En.unionWith=Ec,En.uniq=Bo,En.uniqBy=Wo,En.uniqWith=Uo,En.unset=os,En.unzip=Ho,En.unzipWith=Yo,En.update=as,En.updateWith=us,En.values=ss,En.valuesIn=ls,En.without=Pc,En.words=js,En.wrap=za,En.xor=Oc,En.xorBy=Tc,En.xorWith=Lc,En.zip=jc,En.zipObject=Go,En.zipObjectDeep=Xo,En.zipWith=Nc,En.entries=es,En.entriesIn=rs,En.extend=af,En.extendWith=uf,Vs(En,En),En.add=Ff,En.attempt=kf,En.camelCase=$f,En.capitalize=ps,En.ceil=If,En.clamp=cs,En.clone=Va,En.cloneDeep=Wa,En.cloneDeepWith=Ua,En.cloneWith=Ba,En.deburr=ds,En.divide=zf,En.endsWith=vs,En.eq=Ha,En.escape=gs,En.escapeRegExp=ms,En.every=aa,En.find=sa,En.findIndex=co,En.findKey=Ru,En.findLast=la,En.findLastIndex=fo,En.findLastKey=Du,En.floor=qf,En.forEach=pa,En.forEachRight=da,En.forIn=Fu,En.forInRight=Iu,En.forOwn=zu,En.forOwnRight=qu,En.get=Wu,En.gt=Kc,En.gte=Qc,En.has=Uu,En.hasIn=Hu,En.head=mo,En.identity=Fs,En.includes=va,En.indexOf=yo,En.inRange=fs,En.invoke=df,En.isArguments=Ya,En.isArray=tf,En.isArrayBuffer=Ga,En.isArrayLike=Xa,En.isArrayLikeObject=Za,En.isBoolean=Ja,En.isBuffer=nf,En.isDate=Ka,En.isElement=Qa,En.isEmpty=tu,En.isEqual=nu,En.isEqualWith=eu,En.isError=ru,En.isFinite=iu,En.isFunction=ou,En.isInteger=au,En.isLength=uu,En.isMap=cu,En.isMatch=fu,En.isMatchWith=hu,En.isNaN=pu,En.isNative=du,En.isNil=gu,En.isNull=vu,En.isNumber=mu,En.isObject=su,En.isObjectLike=lu,En.isPlainObject=yu,En.isRegExp=$u,En.isSafeInteger=xu,En.isSet=bu,En.isString=wu,En.isSymbol=Cu,En.isTypedArray=Su,En.isUndefined=_u,En.isWeakMap=Mu,En.isWeakSet=ku,En.join=xo,En.kebabCase=xf,En.last=bo,En.lastIndexOf=wo,En.lowerCase=bf,En.lowerFirst=wf,En.lt=ef,En.lte=rf,En.max=Js,En.maxBy=Ks,En.mean=Qs,En.meanBy=tl,En.min=nl,En.minBy=el,En.multiply=Vf,En.nth=Co,En.noConflict=Bs,En.noop=Ws,En.now=Bc,En.pad=ys,En.padEnd=$s,En.padStart=xs,En.parseInt=bs,En.random=hs,En.reduce=ya,En.reduceRight=$a,En.repeat=ws,En.replace=Cs,En.result=Qu,En.round=Bf,En.runInContext=W,En.sample=ba,En.size=Sa,En.snakeCase=Cf,En.some=_a,En.sortedIndex=Po,En.sortedIndexBy=Oo,En.sortedIndexOf=To,En.sortedLastIndex=Lo,En.sortedLastIndexBy=jo,En.sortedLastIndexOf=No,En.startCase=Sf,En.startsWith=_s,En.subtract=Wf,En.sum=rl,En.sumBy=il,En.template=Ms,En.times=Gs,En.toInteger=Eu,En.toLength=Pu,En.toLower=ks,En.toNumber=Ou,En.toSafeInteger=Lu,En.toString=ju,En.toUpper=As,En.trim=Es,En.trimEnd=Ps,En.trimStart=Os,En.truncate=Ts,En.unescape=Ls,En.uniqueId=Zs,En.upperCase=_f,En.upperFirst=Mf,En.each=pa,En.eachRight=da,En.first=mo,Vs(En,function(){var t={};return Fe(En,function(n,e){dl.call(En.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),En.VERSION=H,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){En[t].placeholder=En}),o(["drop","take"],function(t,n){Tn.prototype[t]=function(e){var r=this.__filtered__;if(r&&!n)return new Tn(this);e=e===U?1:Fl(Eu(e),0);var i=this.clone();return r?i.__takeCount__=Il(e,i.__takeCount__):i.__views__.push({size:Il(e,xt),type:t+(i.__dir__<0?"Right":"")}),i},Tn.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),o(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==pt||e==vt;Tn.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:Mi(t,3),type:e}),n.__filtered__=n.__filtered__||r,n}}),o(["head","last"],function(t,n){var e="take"+(n?"Right":"");Tn.prototype[t]=function(){return this[e](1).value()[0]}}),o(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");Tn.prototype[t]=function(){return this.__filtered__?new Tn(this):this[e](1)}}),Tn.prototype.compact=function(){return this.filter(Fs)},Tn.prototype.find=function(t){return this.filter(t).head()},Tn.prototype.findLast=function(t){return this.reverse().find(t)},Tn.prototype.invokeMap=Ra(function(t,n){return"function"==typeof t?new Tn(this):this.map(function(e){return Xe(e,t,n)})}),Tn.prototype.reject=function(t){return t=Mi(t,3),this.filter(function(n){return!t(n)})},Tn.prototype.slice=function(t,n){t=Eu(t);var e=this;return e.__filtered__&&(t>0||n<0)?new Tn(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==U&&(n=Eu(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},Tn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Tn.prototype.toArray=function(){return this.take(xt)},Fe(Tn.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=En[r?"take"+("last"==n?"Right":""):n],o=r||/^find/.test(n);i&&(En.prototype[n]=function(){var n=this.__wrapped__,a=r?[1]:arguments,u=n instanceof Tn,s=a[0],l=u||tf(n),c=function(t){var n=i.apply(En,h([t],a));return r&&f?n[0]:n};l&&e&&"function"==typeof s&&1!=s.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,v=u&&!p;if(!o&&l){n=v?n:new Tn(this);var g=t.apply(n,a);return g.__actions__.push({func:Ko,args:[c],thisArg:U}),new On(g,f)}return d&&v?t.apply(this,a):(g=this.thru(c),d?r?g.value()[0]:g.value():g)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var n=cl[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);En.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return n.apply(tf(i)?i:[],t)}return this[e](function(e){return n.apply(tf(e)?e:[],t)})}}),Fe(Tn.prototype,function(t,n){var e=En[n];if(e){var r=e.name+"",i=Ql[r]||(Ql[r]=[]);i.push({name:n,func:e})}}),Ql[li(U,K).name]=[{name:"wrapper",func:U}],Tn.prototype.clone=Ln,Tn.prototype.reverse=jn,Tn.prototype.value=Nn,En.prototype.at=Rc,En.prototype.chain=Qo,En.prototype.commit=ta,En.prototype.next=na,En.prototype.plant=ra,En.prototype.reverse=ia,En.prototype.toJSON=En.prototype.valueOf=En.prototype.value=oa,kl&&(En.prototype[kl]=ea),En}var U,H="4.11.2",Y=200,G="Expected a function",X="__lodash_hash_undefined__",Z="__lodash_placeholder__",J=1,K=2,Q=4,tt=8,nt=16,et=32,rt=64,it=128,ot=256,at=512,ut=1,st=2,lt=30,ct="...",ft=150,ht=16,pt=1,dt=2,vt=3,gt=1/0,mt=9007199254740991,yt=1.7976931348623157e308,$t=NaN,xt=4294967295,bt=xt-1,wt=xt>>>1,Ct="[object Arguments]",St="[object Array]",_t="[object Boolean]",Mt="[object Date]",kt="[object Error]",At="[object Function]",Et="[object GeneratorFunction]",Pt="[object Map]",Ot="[object Number]",Tt="[object Object]",Lt="[object Promise]",jt="[object RegExp]",Nt="[object Set]",Rt="[object String]",Dt="[object Symbol]",Ft="[object WeakMap]",It="[object WeakSet]",zt="[object ArrayBuffer]",qt="[object DataView]",Vt="[object Float32Array]",Bt="[object Float64Array]",Wt="[object Int8Array]",Ut="[object Int16Array]",Ht="[object Int32Array]",Yt="[object Uint8Array]",Gt="[object Uint8ClampedArray]",Xt="[object Uint16Array]",Zt="[object Uint32Array]",Jt=/\b__p \+= '';/g,Kt=/\b(__p \+=) '' \+/g,Qt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,tn=/&(?:amp|lt|gt|quot|#39|#96);/g,nn=/[&<>"'`]/g,en=RegExp(tn.source),rn=RegExp(nn.source),on=/<%-([\s\S]+?)%>/g,an=/<%([\s\S]+?)%>/g,un=/<%=([\s\S]+?)%>/g,sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ln=/^\w*$/,cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,fn=/[\\^$.*+?()[\]{}|]/g,hn=RegExp(fn.source),pn=/^\s+|\s+$/g,dn=/^\s+/,vn=/\s+$/,gn=/[a-zA-Z0-9]+/g,mn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,xn=/^0x/i,bn=/^[-+]0x[0-9a-f]+$/i,wn=/^0b[01]+$/i,Cn=/^\[object .+?Constructor\]$/,Sn=/^0o[0-7]+$/i,_n=/^(?:0|[1-9]\d*)$/,Mn=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,kn=/($^)/,An=/['\n\r\u2028\u2029\\]/g,En="\\ud800-\\udfff",Pn="\\u0300-\\u036f\\ufe20-\\ufe23",On="\\u20d0-\\u20f0",Tn="\\u2700-\\u27bf",Ln="a-z\\xdf-\\xf6\\xf8-\\xff",jn="\\xac\\xb1\\xd7\\xf7",Nn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Rn="\\u2000-\\u206f",Dn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fn="A-Z\\xc0-\\xd6\\xd8-\\xde",In="\\ufe0e\\ufe0f",zn=jn+Nn+Rn+Dn,qn="['’]",Vn="["+En+"]",Bn="["+zn+"]",Wn="["+Pn+On+"]",Un="\\d+",Hn="["+Tn+"]",Yn="["+Ln+"]",Gn="[^"+En+zn+Un+Tn+Ln+Fn+"]",Xn="\\ud83c[\\udffb-\\udfff]",Zn="(?:"+Wn+"|"+Xn+")",Jn="[^"+En+"]",Kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Qn="[\\ud800-\\udbff][\\udc00-\\udfff]",te="["+Fn+"]",ne="\\u200d",ee="(?:"+Yn+"|"+Gn+")",re="(?:"+te+"|"+Gn+")",ie="(?:"+qn+"(?:d|ll|m|re|s|t|ve))?",oe="(?:"+qn+"(?:D|LL|M|RE|S|T|VE))?",ae=Zn+"?",ue="["+In+"]?",se="(?:"+ne+"(?:"+[Jn,Kn,Qn].join("|")+")"+ue+ae+")*",le=ue+ae+se,ce="(?:"+[Hn,Kn,Qn].join("|")+")"+le,fe="(?:"+[Jn+Wn+"?",Wn,Kn,Qn,Vn].join("|")+")",he=RegExp(qn,"g"),pe=RegExp(Wn,"g"),de=RegExp(Xn+"(?="+Xn+")|"+fe+le,"g"),ve=RegExp([te+"?"+Yn+"+"+ie+"(?="+[Bn,te,"$"].join("|")+")",re+"+"+oe+"(?="+[Bn,te+ee,"$"].join("|")+")",te+"?"+ee+"+"+ie,te+"+"+oe,Un,ce].join("|"),"g"),ge=RegExp("["+ne+En+Pn+On+In+"]"),me=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],$e=-1,xe={};xe[Vt]=xe[Bt]=xe[Wt]=xe[Ut]=xe[Ht]=xe[Yt]=xe[Gt]=xe[Xt]=xe[Zt]=!0,xe[Ct]=xe[St]=xe[zt]=xe[_t]=xe[qt]=xe[Mt]=xe[kt]=xe[At]=xe[Pt]=xe[Ot]=xe[Tt]=xe[jt]=xe[Nt]=xe[Rt]=xe[Ft]=!1;var be={};be[Ct]=be[St]=be[zt]=be[qt]=be[_t]=be[Mt]=be[Vt]=be[Bt]=be[Wt]=be[Ut]=be[Ht]=be[Pt]=be[Ot]=be[Tt]=be[jt]=be[Nt]=be[Rt]=be[Dt]=be[Yt]=be[Gt]=be[Xt]=be[Zt]=!0,be[kt]=be[At]=be[Ft]=!1;var we={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Ce={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Se={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},_e={"function":!0,object:!0},Me={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ke=parseFloat,Ae=parseInt,Ee=_e[typeof exports]&&exports&&!exports.nodeType?exports:U,Pe=_e[typeof module]&&module&&!module.nodeType?module:U,Oe=Pe&&Pe.exports===Ee?Ee:U,Te=P(Ee&&Pe&&"object"==typeof global&&global),Le=P(_e[typeof self]&&self),je=P(_e[typeof window]&&window),Ne=P(_e[typeof this]&&this),Re=Te||je!==(Ne&&Ne.window)&&je||Le||Ne||Function("return this")(),De=W();(je||Le||{})._=De,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return De}):Ee&&Pe?(Oe&&((Pe.exports=De)._=De),Ee._=De):Re._=De}.call(this),function(){"use strict";var t=this,n=t.Chart,e=function(t){this.canvas=t.canvas,this.ctx=t;var n=function(t,n){return t["offset"+n]?t["offset"+n]:document.defaultView.getComputedStyle(t).getPropertyValue(n)};this.width=n(t.canvas,"Width")||t.canvas.width,this.height=n(t.canvas,"Height")||t.canvas.height;return this.aspectRatio=this.width/this.height,r.retinaScale(this),this};e.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= datasetLabel %>: <%= value %>",multiTooltipKeyBackground:"#fff",segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}},e.types={};var r=e.helpers={},i=r.each=function(t,n,e){var r=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var i;for(i=0;i<t.length;i++)n.apply(e,[t[i],i].concat(r))}else for(var o in t)n.apply(e,[t[o],o].concat(r))},o=r.clone=function(t){var n={};return i(t,function(e,r){t.hasOwnProperty(r)&&(n[r]=e)}),n},a=r.extend=function(t){return i(Array.prototype.slice.call(arguments,1),function(n){i(n,function(e,r){n.hasOwnProperty(r)&&(t[r]=e)})}),t},u=r.merge=function(t,n){var e=Array.prototype.slice.call(arguments,0);return e.unshift({}),a.apply(null,e)},s=r.indexOf=function(t,n){if(Array.prototype.indexOf)return t.indexOf(n);for(var e=0;e<t.length;e++)if(t[e]===n)return e;return-1},l=(r.where=function(t,n){var e=[];return r.each(t,function(t){n(t)&&e.push(t)}),e},r.findNextWhere=function(t,n,e){e||(e=-1);for(var r=e+1;r<t.length;r++){var i=t[r];if(n(i))return i}},r.findPreviousWhere=function(t,n,e){e||(e=t.length);for(var r=e-1;r>=0;r--){var i=t[r];if(n(i))return i}},r.inherits=function(t){var n=this,e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return n.apply(this,arguments)},r=function(){this.constructor=e};return r.prototype=n.prototype,e.prototype=new r,e.extend=l,t&&a(e.prototype,t),e.__super__=n.prototype,e}),c=r.noop=function(){},f=r.uid=function(){var t=0;return function(){return"chart-"+t++}}(),h=r.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=r.amd="function"==typeof define&&define.amd,d=r.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},v=r.max=function(t){return Math.max.apply(Math,t)},g=r.min=function(t){return Math.min.apply(Math,t)},m=(r.cap=function(t,n,e){if(d(n)){if(t>n)return n}else if(d(e)&&t<e)return e;return t},r.getDecimalPlaces=function(t){if(t%1!==0&&d(t)){var n=t.toString();if(n.indexOf("e-")<0)return n.split(".")[1].length;if(n.indexOf(".")<0)return parseInt(n.split("e-")[1]);var e=n.split(".")[1].split("e-");return e[0].length+parseInt(e[1])}return 0}),y=r.radians=function(t){return t*(Math.PI/180)},$=(r.getAngleFromPoint=function(t,n){var e=n.x-t.x,r=n.y-t.y,i=Math.sqrt(e*e+r*r),o=2*Math.PI+Math.atan2(r,e);return e<0&&r<0&&(o+=2*Math.PI),{angle:o,distance:i}},r.aliasPixel=function(t){return t%2===0?0:.5}),x=(r.splineCurve=function(t,n,e,r){var i=Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2)),o=Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)),a=r*i/(i+o),u=r*o/(i+o);return{inner:{x:n.x-a*(e.x-t.x),y:n.y-a*(e.y-t.y)},outer:{x:n.x+u*(e.x-t.x),y:n.y+u*(e.y-t.y)}}},r.calculateOrderOfMagnitude=function(t){return Math.floor(Math.log(t)/Math.LN10)}),b=(r.calculateScaleRange=function(t,n,e,r,o){var a=2,u=Math.floor(n/(1.5*e)),s=a>=u,l=[];i(t,function(t){null==t||l.push(t)});var c=g(l),f=v(l);f===c&&(f+=.5,c>=.5&&!r?c-=.5:f+=.5);for(var h=Math.abs(f-c),p=x(h),d=Math.ceil(f/(1*Math.pow(10,p)))*Math.pow(10,p),m=r?0:Math.floor(c/(1*Math.pow(10,p)))*Math.pow(10,p),y=d-m,$=Math.pow(10,p),b=Math.round(y/$);(b>u||2*b<u)&&!s;)if(b>u)$*=2,
-b=Math.round(y/$),b%1!==0&&(s=!0);else if(o&&p>=0){if($/2%1!==0)break;$/=2,b=Math.round(y/$)}else $/=2,b=Math.round(y/$);return s&&(b=a,$=y/b),{steps:b,stepValue:$,min:m,max:m+b*$}},r.template=function(t,n){function e(t,n){var e=/\W/.test(t)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+t.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):r[t]=r[t];return n?e(n):e}if(t instanceof Function)return t(n);var r={};return e(t,n)}),w=(r.generateLabels=function(t,n,e,r){var o=new Array(n);return t&&i(o,function(n,i){o[i]=b(t,{value:e+r*(i+1)})}),o},r.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),-(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)))},easeOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*t)*Math.sin((1*t-n)*(2*Math.PI)/e)+1)},easeInOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:2==(t/=.5)?1:(e||(e=1*(.3*1.5)),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),t<1?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)):r*Math.pow(2,-10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)*.5+1)},easeInBack:function(t){var n=1.70158;return 1*(t/=1)*t*((n+1)*t-n)},easeOutBack:function(t){var n=1.70158;return 1*((t=t/1-1)*t*((n+1)*t+n)+1)},easeInOutBack:function(t){var n=1.70158;return(t/=.5)<1?.5*(t*t*(((n*=1.525)+1)*t-n)):.5*((t-=2)*t*(((n*=1.525)+1)*t+n)+2)},easeInBounce:function(t){return 1-w.easeOutBounce(1-t)},easeOutBounce:function(t){return(t/=1)<1/2.75?1*(7.5625*t*t):t<2/2.75?1*(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){return t<.5?.5*w.easeInBounce(2*t):.5*w.easeOutBounce(2*t-1)+.5}}),C=r.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),S=(r.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(t){return window.clearTimeout(t,1e3/60)}}(),r.animationLoop=function(t,n,e,r,i,o){var a=0,u=w[e]||w.linear,s=function(){a++;var e=a/n,l=u(e);t.call(o,l,e,a),r.call(o,l,e),a<n?o.animationFrame=C(s):i.apply(o)};C(s)},r.getRelativePosition=function(t){var n,e,r=t.originalEvent||t,i=t.currentTarget||t.srcElement,o=i.getBoundingClientRect();return r.touches?(n=r.touches[0].clientX-o.left,e=r.touches[0].clientY-o.top):(n=r.clientX-o.left,e=r.clientY-o.top),{x:n,y:e}},r.addEvent=function(t,n,e){t.addEventListener?t.addEventListener(n,e):t.attachEvent?t.attachEvent("on"+n,e):t["on"+n]=e}),_=r.removeEvent=function(t,n,e){t.removeEventListener?t.removeEventListener(n,e,!1):t.detachEvent?t.detachEvent("on"+n,e):t["on"+n]=c},M=(r.bindEvents=function(t,n,e){t.events||(t.events={}),i(n,function(n){t.events[n]=function(){e.apply(t,arguments)},S(t.chart.canvas,n,t.events[n])})},r.unbindEvents=function(t,n){i(n,function(n,e){_(t.chart.canvas,e,n)})}),k=r.getMaximumWidth=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-left"))+parseInt(E(n,"padding-right"));return n?n.clientWidth-e:0},A=r.getMaximumHeight=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-bottom"))+parseInt(E(n,"padding-top"));return n?n.clientHeight-e:0},E=r.getStyle=function(t,n){return t.currentStyle?t.currentStyle[n]:document.defaultView.getComputedStyle(t,null).getPropertyValue(n)},P=(r.getMaximumSize=r.getMaximumWidth,r.retinaScale=function(t){var n=t.ctx,e=t.canvas.width,r=t.canvas.height;window.devicePixelRatio&&(n.canvas.style.width=e+"px",n.canvas.style.height=r+"px",n.canvas.height=r*window.devicePixelRatio,n.canvas.width=e*window.devicePixelRatio,n.scale(window.devicePixelRatio,window.devicePixelRatio))}),O=r.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},T=r.fontString=function(t,n,e){return n+" "+t+"px "+e},L=r.longestText=function(t,n,e){t.font=n;var r=0;return i(e,function(n){var e=t.measureText(n).width;r=e>r?e:r}),r},j=r.drawRoundedRectangle=function(t,n,e,r,i,o){t.beginPath(),t.moveTo(n+o,e),t.lineTo(n+r-o,e),t.quadraticCurveTo(n+r,e,n+r,e+o),t.lineTo(n+r,e+i-o),t.quadraticCurveTo(n+r,e+i,n+r-o,e+i),t.lineTo(n+o,e+i),t.quadraticCurveTo(n,e+i,n,e+i-o),t.lineTo(n,e+o),t.quadraticCurveTo(n,e,n+o,e),t.closePath()};e.instances={},e.Type=function(t,n,r){this.options=n,this.chart=r,this.id=f(),e.instances[this.id]=this,n.responsive&&this.resize(),this.initialize.call(this,t)},a(e.Type.prototype,{initialize:function(){return this},clear:function(){return O(this.chart),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(t){this.stop();var n=this.chart.canvas,e=k(this.chart.canvas),r=this.options.maintainAspectRatio?e/this.chart.aspectRatio:A(this.chart.canvas);return n.width=this.chart.width=e,n.height=this.chart.height=r,P(this.chart),"function"==typeof t&&t.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:c,render:function(t){if(t&&this.reflow(),this.options.animation&&!t){var n=new e.Animation;n.numSteps=this.options.animationSteps,n.easing=this.options.animationEasing,n.render=function(t,n){var e=r.easingEffects[n.easing],i=n.currentStep/n.numSteps,o=e(i);t.draw(o,i,n.currentStep)},n.onAnimationProgress=this.options.onAnimationProgress,n.onAnimationComplete=this.options.onAnimationComplete,e.animationService.addAnimation(this,n)}else this.draw(),this.options.onAnimationComplete.call(this);return this},generateLegend:function(){return r.template(this.options.legendTemplate,this)},destroy:function(){this.stop(),this.clear(),M(this,this.events);var t=this.chart.canvas;t.width=this.chart.width,t.height=this.chart.height,t.style.removeProperty?(t.style.removeProperty("width"),t.style.removeProperty("height")):(t.style.removeAttribute("width"),t.style.removeAttribute("height")),delete e.instances[this.id]},showTooltip:function(t,n){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var o=function(t){var n=!1;return t.length!==this.activeElements.length?n=!0:(i(t,function(t,e){t!==this.activeElements[e]&&(n=!0)},this),n)}.call(this,t);if(o||n){if(this.activeElements=t,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),t.length>0)if(this.datasets&&this.datasets.length>1){for(var a,u,l=this.datasets.length-1;l>=0&&(a=this.datasets[l].points||this.datasets[l].bars||this.datasets[l].segments,u=s(a,t[0]),u===-1);l--);var c=[],f=[],h=function(t){var n,e,i,o,a,s=[],l=[],h=[];return r.each(this.datasets,function(t){n=t.points||t.bars||t.segments,n[u]&&n[u].hasValue()&&s.push(n[u])}),r.each(s,function(t){l.push(t.x),h.push(t.y),c.push(r.template(this.options.multiTooltipTemplate,t)),f.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),a=g(h),i=v(h),o=g(l),e=v(l),{x:o>this.chart.width/2?o:e,y:(a+i)/2}}.call(this,u);new e.MultiTooltip({x:h.x,y:h.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:c,legendColors:f,legendColorBackground:this.options.multiTooltipKeyBackground,title:b(this.options.tooltipTitleTemplate,t[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(t,function(t){var n=t.tooltipPosition();new e.Tooltip({x:Math.round(n.x),y:Math.round(n.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:b(this.options.tooltipTemplate,t),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),e.Type.extend=function(t){var n=this,r=function(){return n.apply(this,arguments)};if(r.prototype=o(n.prototype),a(r.prototype,t),r.extend=e.Type.extend,t.name||n.prototype.name){var i=t.name||n.prototype.name,s=e.defaults[n.prototype.name]?o(e.defaults[n.prototype.name]):{};e.defaults[i]=a(s,t.defaults),e.types[i]=r,e.prototype[i]=function(t,n){var o=u(e.defaults.global,e.defaults[i],n||{});return new r(t,o,this)}}else h("Name not provided for this chart, so it hasn't been registered");return n},e.Element=function(t){a(this,t),this.initialize.apply(this,arguments),this.save()},a(e.Element.prototype,{initialize:function(){},restore:function(t){return t?i(t,function(t){this[t]=this._saved[t]},this):a(this,this._saved),this},save:function(){return this._saved=o(this),delete this._saved._saved,this},update:function(t){return i(t,function(t,n){this._saved[n]=this[n],this[n]=t},this),this},transition:function(t,n){return i(t,function(t,e){this[e]=(t-this._saved[e])*n+this._saved[e]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return d(this.value)}}),e.Element.extend=l,e.Point=e.Element.extend({display:!0,inRange:function(t,n){var e=this.hitDetectionRadius+this.radius;return Math.pow(t-this.x,2)+Math.pow(n-this.y,2)<Math.pow(e,2)},draw:function(){if(this.display){var t=this.ctx;t.beginPath(),t.arc(this.x,this.y,this.radius,0,2*Math.PI),t.closePath(),t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.fillStyle=this.fillColor,t.fill(),t.stroke()}}}),e.Arc=e.Element.extend({inRange:function(t,n){var e=r.getAngleFromPoint(this,{x:t,y:n}),i=e.angle%(2*Math.PI),o=(2*Math.PI+this.startAngle)%(2*Math.PI),a=(2*Math.PI+this.endAngle)%(2*Math.PI)||360,u=a<o?i<=a||i>=o:i>=o&&i<=a,s=e.distance>=this.innerRadius&&e.distance<=this.outerRadius;return u&&s},tooltipPosition:function(){var t=this.startAngle+(this.endAngle-this.startAngle)/2,n=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(t)*n,y:this.y+Math.sin(t)*n}},draw:function(t){var n=this.ctx;n.beginPath(),n.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle),n.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,!0),n.closePath(),n.strokeStyle=this.strokeColor,n.lineWidth=this.strokeWidth,n.fillStyle=this.fillColor,n.fill(),n.lineJoin="bevel",this.showStroke&&n.stroke()}}),e.Rectangle=e.Element.extend({draw:function(){var t=this.ctx,n=this.width/2,e=this.x-n,r=this.x+n,i=this.base-(this.base-this.y),o=this.strokeWidth/2;this.showStroke&&(e+=o,r-=o,i+=o),t.beginPath(),t.fillStyle=this.fillColor,t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.moveTo(e,this.base),t.lineTo(e,i),t.lineTo(r,i),t.lineTo(r,this.base),t.fill(),this.showStroke&&t.stroke()},height:function(){return this.base-this.y},inRange:function(t,n){return t>=this.x-this.width/2&&t<=this.x+this.width/2&&n>=this.y&&n<=this.base}}),e.Animation=e.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.Tooltip=e.Element.extend({draw:function(){var t=this.chart.ctx;t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var n=this.caretPadding=2,e=t.measureText(this.text).width+2*this.xPadding,r=this.fontSize+2*this.yPadding,i=r+this.caretHeight+n;this.x+e/2>this.chart.width?this.xAlign="left":this.x-e/2<0&&(this.xAlign="right"),this.y-i<0&&(this.yAlign="below");var o=this.x-e/2,a=this.y-i;if(t.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":t.beginPath(),t.moveTo(this.x,this.y-n),t.lineTo(this.x+this.caretHeight,this.y-(n+this.caretHeight)),t.lineTo(this.x-this.caretHeight,this.y-(n+this.caretHeight)),t.closePath(),t.fill();break;case"below":a=this.y+n+this.caretHeight,t.beginPath(),t.moveTo(this.x,this.y+n),t.lineTo(this.x+this.caretHeight,this.y+n+this.caretHeight),t.lineTo(this.x-this.caretHeight,this.y+n+this.caretHeight),t.closePath(),t.fill()}switch(this.xAlign){case"left":o=this.x-e+(this.cornerRadius+this.caretHeight);break;case"right":o=this.x-(this.cornerRadius+this.caretHeight)}j(t,o,a,e,r,this.cornerRadius),t.fill(),t.fillStyle=this.textColor,t.textAlign="center",t.textBaseline="middle",t.fillText(this.text,o+e/2,a+r/2)}}}),e.MultiTooltip=e.Element.extend({initialize:function(){this.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=T(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.titleHeight=this.title?1.5*this.titleFontSize:0,this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+this.titleHeight,this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,n=L(this.ctx,this.font,this.labels)+this.fontSize+3,e=v([n,t]);this.width=e+2*this.xPadding;var r=this.height/2;this.y-r<0?this.y=r:this.y+r>this.chart.height&&(this.y=this.chart.height-r),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(t){var n=this.y-this.height/2+this.yPadding,e=t-1;return 0===t?n+this.titleHeight/3:n+(1.5*this.fontSize*e+this.fontSize/2)+this.titleHeight},draw:function(){if(this.custom)this.custom(this);else{j(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor,t.fill(),t.closePath(),t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.titleTextColor,t.font=this.titleFont,t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),t.font=this.font,r.each(this.labels,function(n,e){t.fillStyle=this.textColor,t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(e+1)),t.fillStyle=this.legendColorBackground,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize),t.fillStyle=this.legendColors[e].fill,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),e.Scale=e.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(b(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?L(this.ctx,this.font,this.yLabels)+10:0},addXLabel:function(t){this.xLabels.push(t),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var t,n=this.endPoint,e=this.endPoint-this.startPoint;for(this.calculateYRange(e),this.buildYLabels(),this.calculateXLabelRotation();e>this.endPoint-this.startPoint;)e=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(e),this.buildYLabels(),t<this.yLabelWidth&&(this.endPoint=n,this.calculateXLabelRotation())},calculateXLabelRotation:function(){this.ctx.font=this.font;var t,n,e=this.ctx.measureText(this.xLabels[0]).width,r=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=r/2+3,this.xScalePaddingLeft=e/2>this.yLabelWidth?e/2:this.yLabelWidth,this.xLabelRotation=0,this.display){var i,o=L(this.ctx,this.font,this.xLabels);this.xLabelWidth=o;for(var a=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>a&&0===this.xLabelRotation||this.xLabelWidth>a&&this.xLabelRotation<=90&&this.xLabelRotation>0;)i=Math.cos(y(this.xLabelRotation)),t=i*e,n=i*r,t+this.fontSize/2>this.yLabelWidth&&(this.xScalePaddingLeft=t+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=i*o;this.xLabelRotation>0&&(this.endPoint-=Math.sin(y(this.xLabelRotation))*o+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:c,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(t){var n=this.drawingArea()/(this.min-this.max);return this.endPoint-n*(t-this.min)},calculateX:function(t){var n=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),e=n/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),r=e*t+this.xScalePaddingLeft;return this.offsetGridLines&&(r+=e/2),Math.round(r)},update:function(t){r.extend(this,t),this.fit()},draw:function(){var t=this.ctx,n=(this.endPoint-this.startPoint)/this.steps,e=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,o){var a=this.endPoint-n*o,u=Math.round(a),s=this.showHorizontalLines;t.textAlign="right",t.textBaseline="middle",this.showLabels&&t.fillText(i,e-10,a),0!==o||s||(s=!0),s&&t.beginPath(),o>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),u+=r.aliasPixel(t.lineWidth),s&&(t.moveTo(e,u),t.lineTo(this.width,u),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(e-5,u),t.lineTo(e,u),t.stroke(),t.closePath()},this),i(this.xLabels,function(n,e){var r=this.calculateX(e)+$(this.lineWidth),i=this.calculateX(e-(this.offsetGridLines?.5:0))+$(this.lineWidth),o=this.xLabelRotation>0,a=this.showVerticalLines;0!==e||a||(a=!0),a&&t.beginPath(),e>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),a&&(t.moveTo(i,this.endPoint),t.lineTo(i,this.startPoint-3),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(i,this.endPoint),t.lineTo(i,this.endPoint+5),t.stroke(),t.closePath(),t.save(),t.translate(r,o?this.endPoint+12:this.endPoint+8),t.rotate(y(this.xLabelRotation)*-1),t.font=this.font,t.textAlign=o?"right":"center",t.textBaseline=o?"middle":"top",t.fillText(n,0,0),t.restore()},this))}}),e.RadialScale=e.Element.extend({initialize:function(){this.size=g([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(t){var n=this.drawingArea/(this.max-this.min);return(t-this.min)*n},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(b(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,n,e,r,i,o,a,u,s,l,c,f,h=g([this.height/2-this.pointLabelFontSize-5,this.width/2]),p=this.width,v=0;for(this.ctx.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;n<this.valuesCount;n++)t=this.getPointPosition(n,h),e=this.ctx.measureText(b(this.templateString,{value:this.labels[n]})).width+5,0===n||n===this.valuesCount/2?(r=e/2,t.x+r>p&&(p=t.x+r,i=n),t.x-r<v&&(v=t.x-r,a=n)):n<this.valuesCount/2?t.x+e>p&&(p=t.x+e,i=n):n>this.valuesCount/2&&t.x-e<v&&(v=t.x-e,a=n);s=v,l=Math.ceil(p-this.width),o=this.getIndexAngle(i),u=this.getIndexAngle(a),c=l/Math.sin(o+Math.PI/2),f=s/Math.sin(u+Math.PI/2),c=d(c)?c:0,f=d(f)?f:0,this.drawingArea=h-(f+c)/2,this.setCenterPoint(f,c)},setCenterPoint:function(t,n){var e=this.width-n-this.drawingArea,r=t+this.drawingArea;this.xCenter=(r+e)/2,this.yCenter=this.height/2},getIndexAngle:function(t){var n=2*Math.PI/this.valuesCount;return t*n-Math.PI/2},getPointPosition:function(t,n){var e=this.getIndexAngle(t);return{x:Math.cos(e)*n+this.xCenter,y:Math.sin(e)*n+this.yCenter}},draw:function(){if(this.display){var t=this.ctx;if(i(this.yLabels,function(n,e){if(e>0){var r,i=e*(this.drawingArea/this.steps),o=this.yCenter-i;if(this.lineWidth>0)if(t.strokeStyle=this.lineColor,t.lineWidth=this.lineWidth,this.lineArc)t.beginPath(),t.arc(this.xCenter,this.yCenter,i,0,2*Math.PI),t.closePath(),t.stroke();else{t.beginPath();for(var a=0;a<this.valuesCount;a++)r=this.getPointPosition(a,this.calculateCenterOffset(this.min+e*this.stepValue)),0===a?t.moveTo(r.x,r.y):t.lineTo(r.x,r.y);t.closePath(),t.stroke()}if(this.showLabels){if(t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var u=t.measureText(n).width;t.fillStyle=this.backdropColor,t.fillRect(this.xCenter-u/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,u+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.fontColor,t.fillText(n,this.xCenter,o)}}},this),!this.lineArc){t.lineWidth=this.angleLineWidth,t.strokeStyle=this.angleLineColor;for(var n=this.valuesCount-1;n>=0;n--){var e=null,r=null;if(this.angleLineWidth>0&&n%this.angleLineInterval===0&&(e=this.calculateCenterOffset(this.max),r=this.getPointPosition(n,e),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke(),t.closePath()),this.backgroundColors&&this.backgroundColors.length==this.valuesCount){null==e&&(e=this.calculateCenterOffset(this.max)),null==r&&(r=this.getPointPosition(n,e));var o=this.getPointPosition(0===n?this.valuesCount-1:n-1,e),a=this.getPointPosition(n===this.valuesCount-1?0:n+1,e),u={x:(o.x+r.x)/2,y:(o.y+r.y)/2},s={x:(r.x+a.x)/2,y:(r.y+a.y)/2};t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.lineTo(r.x,r.y),t.lineTo(s.x,s.y),t.fillStyle=this.backgroundColors[n],t.fill(),t.closePath()}var l=this.getPointPosition(n,this.calculateCenterOffset(this.max)+5);t.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),t.fillStyle=this.pointLabelFontColor;var c=this.labels.length,f=this.labels.length/2,h=f/2,p=n<h||n>c-h,d=n===h||n===c-h;0===n?t.textAlign="center":n===f?t.textAlign="center":n<f?t.textAlign="left":t.textAlign="right",d?t.textBaseline="middle":p?t.textBaseline="bottom":t.textBaseline="top",t.fillText(this.labels[n],l.x,l.y)}}}}}),e.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:function(t,n){for(var e=0;e<this.animations.length;++e)if(this.animations[e].chartInstance===t)return void(this.animations[e].animationObject=n);this.animations.push({chartInstance:t,animationObject:n}),1==this.animations.length&&r.requestAnimFrame.call(window,this.digestWrapper)},cancelAnimation:function(t){var n=r.findNextWhere(this.animations,function(n){return n.chartInstance===t});n&&this.animations.splice(n,1)},digestWrapper:function(){e.animationService.startDigest.call(e.animationService)},startDigest:function(){var t=Date.now(),n=0;this.dropFrames>1&&(n=Math.floor(this.dropFrames),this.dropFrames-=n);for(var e=0;e<this.animations.length;e++)null===this.animations[e].animationObject.currentStep&&(this.animations[e].animationObject.currentStep=0),this.animations[e].animationObject.currentStep+=1+n,this.animations[e].animationObject.currentStep>this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.currentStep=this.animations[e].animationObject.numSteps),this.animations[e].animationObject.render(this.animations[e].chartInstance,this.animations[e].animationObject),this.animations[e].animationObject.currentStep==this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.onAnimationComplete.call(this.animations[e].chartInstance),this.animations.splice(e,1),e--);var i=Date.now(),o=i-t-this.frameDuration,a=o/this.frameDuration;a>1&&(this.dropFrames+=a),this.animations.length>0&&r.requestAnimFrame.call(window,this.digestWrapper)}},r.addEvent(window,"resize",function(){var t;return function(){clearTimeout(t),t=setTimeout(function(){i(e.instances,function(t){t.options.responsive&&t.resize(t.render,!0)})},50)}}()),p?define("Chart",[],function(){return e}):"object"==typeof module&&module.exports&&(module.exports=e),t.Chart=e,e.noConflict=function(){return t.Chart=n,e}}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Bar",defaults:r,initialize:function(t){var r=this.options;this.ScaleClass=n.Scale.extend({offsetGridLines:!0,calculateBarX:function(t,n,e){var i=this.calculateBaseWidth(),o=this.calculateX(e)-i/2,a=this.calculateBarWidth(t);return o+a*n+n*r.barDatasetSpacing+a/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(t){var n=this.calculateBaseWidth()-(t-1)*r.barDatasetSpacing;return n/t}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t&&(t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke)}),this.showTooltip(n)}),this.BarClass=n.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),e.each(t.datasets,function(n,r){var i={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,bars:[]};this.datasets.push(i),e.each(n.data,function(e,r){i.bars.push(new this.BarClass({value:e,label:t.labels[r],datasetLabel:n.label,strokeColor:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor,fillColor:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightFill:n.highlightFill?"object"==typeof n.highlightFill?n.highlightFill[r]:n.highlightFill:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightStroke:n.highlightStroke?"object"==typeof n.highlightStroke?n.highlightStroke[r]:n.highlightStroke:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor}))},this)},this),this.buildScale(t.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(t,n,r){e.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,n),y:this.scale.endPoint}),t.save()},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachBars(function(t){t.save()}),this.render()},eachBars:function(t){e.each(this.datasets,function(n,r){e.each(n.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var n,r=[],i=e.getRelativePosition(t),o=function(t){r.push(t.bars[n])},a=0;a<this.datasets.length;a++)for(n=0;n<this.datasets[a].bars.length;n++)if(this.datasets[a].bars[n].inRange(i.x,i.y))return e.each(this.datasets,o),r;return r},buildScale:function(t){var n=this,r=function(){var t=[];return n.eachBars(function(n){t.push(n.value)}),t},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(r(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(i,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(i)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].bars.push(new this.BarClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateBarX(this.datasets.length,e,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[e].strokeColor,fillColor:this.datasets[e].fillColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.bars.shift()},this),this.update()},reflow:function(){e.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();this.chart.ctx;this.scale.draw(n),e.each(this.datasets,function(t,r){e.each(t.bars,function(t,e){t.hasValue()&&(t.base=this.scale.endPoint,t.transition({x:this.scale.calculateBarX(this.datasets.length,r,e),y:this.scale.calculateY(t.value),width:this.scale.calculateBarWidth(this.datasets.length)},n).draw())},this)},this)}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,
-percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Doughnut",defaults:r,initialize:function(t){this.segments=[],this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=n.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.calculateTotal(t),e.each(t,function(n,e){n.color||(n.color="hsl("+360*e/t.length+", 100%, 50%)"),this.addData(n,e,!0)},this),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,e,r){var i=void 0!==e?e:this.segments.length;"undefined"==typeof t.color&&(t.color=n.defaults.global.segmentColorDefault[i%n.defaults.global.segmentColorDefault.length],t.highlight=n.defaults.global.segmentHighlightColorDefaults[i%n.defaults.global.segmentHighlightColorDefaults.length]),this.segments.splice(i,0,new this.SegmentArc({value:t.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:t.color,highlightColor:t.highlight||t.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(t.value),label:t.label})),r||(this.reflow(),this.update())},calculateCircumference:function(t){return this.total>0?2*Math.PI*(t/this.total):0},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=Math.abs(t.value)},this)},update:function(){this.calculateTotal(this.segments),e.each(this.activeElements,function(t){t.restore(["fillColor"])}),e.each(this.segments,function(t){t.save()}),this.render()},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,e.each(this.segments,function(t){t.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var n=t?t:1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.calculateCircumference(t.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},n),t.endAngle=t.startAngle+t.circumference,t.draw(),0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle)},this)}}),n.types.Doughnut.extend({name:"Pie",defaults:e.merge(r,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>',offsetGridLines:!1};n.Type.extend({name:"Line",defaults:r,initialize:function(t){this.PointClass=n.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(t){return Math.pow(t-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this),this.buildScale(t.labels),this.eachPoints(function(t,n){e.extend(t,{x:this.scale.calculateX(n),y:this.scale.endPoint}),t.save()},this)},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachPoints(function(t){t.save()}),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.datasets,function(t){e.each(t.points,function(t){t.inRange(r.x,r.y)&&n.push(t)})},this),n},buildScale:function(t){var r=this,i=function(){var t=[];return r.eachPoints(function(n){t.push(n.value)}),t},o={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,offsetGridLines:this.options.offsetGridLines,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(i(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(o,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new n.Scale(o)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.points.shift()},this),this.update()},reflow:function(){var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();var r=this.chart.ctx,i=function(t){return null!==t.value},o=function(t,n,r){return e.findNextWhere(n,i,r)||t},a=function(t,n,r){return e.findPreviousWhere(n,i,r)||t};this.scale&&(this.scale.draw(n),e.each(this.datasets,function(t){var u=e.where(t.points,i);e.each(t.points,function(t,e){t.hasValue()&&t.transition({y:this.scale.calculateY(t.value),x:this.scale.calculateX(e)},n)},this),this.options.bezierCurve&&e.each(u,function(t,n){var r=n>0&&n<u.length-1?this.options.bezierCurveTension:0;t.controlPoints=e.splineCurve(a(t,u,n),t,o(t,u,n),r),t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint),t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(u,function(t,n){if(0===n)r.moveTo(t.x,t.y);else if(this.options.bezierCurve){var e=a(t,u,n);r.bezierCurveTo(e.controlPoints.outer.x,e.controlPoints.outer.y,t.controlPoints.inner.x,t.controlPoints.inner.y,t.x,t.y)}else r.lineTo(t.x,t.y)},this),this.options.datasetStroke&&r.stroke(),this.options.datasetFill&&u.length>0&&(r.lineTo(u[u.length-1].x,this.scale.endPoint),r.lineTo(u[0].x,this.scale.endPoint),r.fillStyle=t.fillColor,r.closePath(),r.fill()),e.each(u,function(t){t.draw()})},this))}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"PolarArea",defaults:r,initialize:function(t){this.segments=[],this.SegmentArc=n.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:t.length}),this.updateScaleRange(t),this.scale.update(),e.each(t,function(t,n){this.addData(t,n,!0)},this),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,n,e){var r=n||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:t.color,highlightColor:t.highlight||t.color,label:t.label,value:t.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(t.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),e||(this.reflow(),this.update())},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=t.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var n=[];e.each(t,function(t){n.push(t.value)});var r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r,{size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),e.each(this.segments,function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),e.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),e.each(this.segments,function(t){t.update({outerRadius:this.scale.calculateCenterOffset(t.value)})},this)},draw:function(t){var n=t||1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(t.value)},n),t.endAngle=t.startAngle+t.circumference,0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle),t.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers;n.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,angleLineInterval:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'},initialize:function(t){this.PointClass=n.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(t),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){var o;this.scale.animation||(o=this.scale.getPointPosition(i,this.scale.calculateCenterOffset(e))),r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,x:this.options.animation?this.scale.xCenter:o.x,y:this.options.animation?this.scale.yCenter:o.y,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=e.getRelativePosition(t),r=e.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},n),i=2*Math.PI/this.scale.valuesCount,o=Math.round((r.angle-1.5*Math.PI)/i),a=[];return(o>=this.scale.valuesCount||o<0)&&(o=0),r.distance<=this.scale.drawingArea&&e.each(this.datasets,function(t){a.push(t.points[o])}),a},buildScale:function(t){this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,angleLineInterval:this.options.angleLineInterval?this.options.angleLineInterval:1,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:t.labels,valuesCount:t.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(t.datasets),this.scale.buildYLabels()},updateScaleRange:function(t){var n=function(){var n=[];return e.each(t,function(t){t.data?n=n.concat(t.data):e.each(t.points,function(t){n.push(t.value)})}),n}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r)},addData:function(t,n){this.scale.valuesCount++,e.each(t,function(t,e){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(t));this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:r.x,y:r.y,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.labels.push(n),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),e.each(this.datasets,function(t){t.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(t){var n=t||1,r=this.chart.ctx;this.clear(),this.scale.draw(),e.each(this.datasets,function(t){e.each(t.points,function(t,e){t.hasValue()&&t.transition(this.scale.getPointPosition(e,this.scale.calculateCenterOffset(t.value)),n)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(t.points,function(t,n){0===n?r.moveTo(t.x,t.y):r.lineTo(t.x,t.y)},this),r.closePath(),r.stroke(),r.fillStyle=t.fillColor,this.options.datasetFill&&r.fill(),e.each(t.points,function(t){t.hasValue()&&t.draw()})},this)}})}.call(this),function(t){"use strict";"object"==typeof exports?module.exports=t("undefined"!=typeof angular?angular:require("angular"),"undefined"!=typeof Chart?Chart:require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],t):t(angular,Chart)}(function(t,n){"use strict";function e(){var e={},r={Chart:n,getOptions:function(n){var r=n&&e[n]||{};return t.extend({},e,r)}};this.setOptions=function(n,r){return r?void(e[n]=t.extend(e[n]||{},r)):(r=n,void(e=t.extend(e,r)))},this.$get=function(){return r}}function r(e,r){function o(t,n){return!!(t&&n&&t.length&&n.length)&&(Array.isArray(t[0])?t.length===n.length&&t.every(function(t,e){return t.length===n[e].length}):n.reduce(a,0)>0&&t.length===n.length)}function a(t,n){return t+n}function u(n,e,r,i){var o=null;return function(a){var u=e.getPointsAtEvent||e.getBarsAtEvent||e.getSegmentsAtEvent;if(u){var s=u.call(e,a);i!==!1&&t.equals(o,s)!==!1||(o=s,n[r](s,a),n.$apply())}}}function s(r,i){for(var o=!1,a=t.copy(i.colours||e.getOptions(r).colours||n.defaults.global.colours);a.length<i.data.length;)a.push(i.getColour()),o=!0;return o&&(i.colours=a),a.map(l)}function l(t){return"object"==typeof t&&null!==t?t:"string"==typeof t&&"#"===t[0]?f(d(t.substr(1))):c()}function c(){var t=[h(0,255),h(0,255),h(0,255)];return f(t)}function f(t){return{fillColor:p(t,.2),strokeColor:p(t,1),pointColor:p(t,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:p(t,.8)}}function h(t,n){return Math.floor(Math.random()*(n-t+1))+t}function p(t,n){return i?"rgb("+t.join(",")+")":"rgba("+t.concat(n).join(",")+")"}function d(t){var n=parseInt(t,16),e=n>>16&255,r=n>>8&255,i=255&n;return[e,r,i]}function v(n,e,r,i){return{labels:n,datasets:e.map(function(n,e){return t.extend({},i[e],{label:r[e],data:n})})}}function g(n,e,r){return n.map(function(n,i){return t.extend({},r[i],{label:n,value:e[i],color:r[i].strokeColor,highlight:r[i].pointHighlightStroke})})}function m(t,n){var e=t.parent(),r=e.find("chart-legend"),i="<chart-legend>"+n.generateLegend()+"</chart-legend>";r.length?r.replaceWith(i):e.append(i)}function y(t,n,e,r){Array.isArray(e.data[0])?t.datasets.forEach(function(t,e){(t.points||t.bars).forEach(function(t,r){t.value=n[e][r]})}):t.segments.forEach(function(t,e){t.value=n[e]}),t.update(),e.$emit("update",t),e.legend&&"false"!==e.legend&&m(r,t)}function $(t){return!t||Array.isArray(t)&&!t.length||"object"==typeof t&&!Object.keys(t).length}function x(r,i){var o=t.extend({},n.defaults.global,e.getOptions(r),i.options);return o.responsive}function b(t,n){t&&(t.destroy(),n.$emit("destroy",t))}return function(n){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(a,l){function f(t,n){a.$watch(t,function(t){"undefined"!=typeof t&&(a[n]=t)})}function h(e,r){if(!$(e)&&!t.equals(e,r)){var i=n||a.chartType;i&&p(i)}}function p(n){if(x(n,a)&&0===l[0].clientHeight&&0===C.clientHeight)return r(function(){p(n)},50,!1);if(a.data&&a.data.length){a.getColour="function"==typeof a.getColour?a.getColour:c;var i=s(n,a),o=l[0],f=o.getContext("2d"),h=Array.isArray(a.data[0])?v(a.labels,a.data,a.series||[],i):g(a.labels,a.data,i),d=t.extend({},e.getOptions(n),a.options);b(w,a),w=new e.Chart(f)[n](h,d),a.$emit("create",w),o.onclick=a.click?u(a,w,"click",!1):t.noop,o.onmousemove=a.hover?u(a,w,"hover",!0):t.noop,a.legend&&"false"!==a.legend&&m(l,w)}}function d(t){if("undefined"!=typeof console&&"test"!==e.getOptions().env){var n="function"==typeof console.warn?console.warn:console.log;a[t]&&n.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',t,t)}}var w,C=document.createElement("div");C.className="chart-container",l.replaceWith(C),C.appendChild(l[0]),i&&window.G_vmlCanvasManager.initElement(l[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(d),f("chartData","data"),f("chartLabels","labels"),f("chartOptions","options"),f("chartSeries","series"),f("chartColours","colours"),f("chartLegend","legend"),f("chartClick","click"),f("chartHover","hover"),a.$watch("data",function(t,e){if(!t||!t.length||Array.isArray(t[0])&&!t[0].length)return void b(w,a);var r=n||a.chartType;if(r)return w&&o(t,e)?y(w,t,a,l):void p(r)},!0),a.$watch("series",h,!0),a.$watch("labels",h,!0),a.$watch("options",h,!0),a.$watch("colours",h,!0),a.$watch("chartType",function(n,e){$(n)||t.equals(n,e)||p(n)}),a.$on("$destroy",function(){b(w,a)})}}}}n.defaults.global.responsive=!0,n.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",n.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var i="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return i&&(n.defaults.global.animation=!1),t.module("chart.js",[]).provider("ChartJs",e).factory("ChartJsFactory",["ChartJs","$timeout",r]).directive("chartBase",["ChartJsFactory",function(t){return new t}]).directive("chartLine",["ChartJsFactory",function(t){return new t("Line")}]).directive("chartBar",["ChartJsFactory",function(t){return new t("Bar")}]).directive("chartRadar",["ChartJsFactory",function(t){return new t("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(t){return new t("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(t){return new t("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(t){return new t("PolarArea")}])}),!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function e(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function r(t){return null===t?NaN:+t}function i(t){return!isNaN(t)}function o(t){return{left:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}function a(t){return t.length}function u(t){for(var n=1;t*n%1;)n*=10;return n}function s(t,n){for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}function l(){this._=Object.create(null)}function c(t){return(t+="")===ba||t[0]===wa?wa+t:t}function f(t){return(t+="")[0]===wa?t.slice(1):t}function h(t){return c(t)in this._}function p(t){return(t=c(t))in this._&&delete this._[t]}function d(){var t=[];for(var n in this._)t.push(f(n));return t}function v(){var t=0;for(var n in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(t){return t}function $(t,n,e){return function(){var r=e.apply(n,arguments);return r===n?t:r}}function x(t,n){if(n in t)return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var e=0,r=Ca.length;e<r;++e){var i=Ca[e]+n;if(i in t)return i}}function b(){}function w(){}function C(t){function n(){for(var n,r=e,i=-1,o=r.length;++i<o;)(n=r[i].on)&&n.apply(this,arguments);return t}var e=[],r=new l;return n.on=function(n,i){var o,a=r.get(n);return arguments.length<2?a&&a.on:(a&&(a.on=null,e=e.slice(0,o=e.indexOf(a)).concat(e.slice(o+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function S(){sa.event.preventDefault()}function _(){for(var t,n=sa.event;t=n.sourceEvent;)n=t;return n}function M(t){for(var n=new w,e=0,r=arguments.length;++e<r;)n[arguments[e]]=C(n);return n.of=function(e,r){return function(i){try{var o=i.sourceEvent=sa.event;i.target=t,sa.event=i,n[i.type].apply(e,r)}finally{sa.event=o}}},n}function k(t){return _a(t,Ea),t}function A(t){return"function"==typeof t?t:function(){return Ma(t,this)}}function E(t){return"function"==typeof t?t:function(){return ka(t,this)}}function P(t,n){function e(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,n)}function o(){this.setAttributeNS(t.space,t.local,n)}function a(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}function u(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=sa.ns.qualify(t),null==n?t.local?r:e:"function"==typeof n?t.local?u:a:t.local?o:i}function O(t){return t.trim().replace(/\s+/g," ")}function T(t){return new RegExp("(?:^|\\s+)"+sa.requote(t)+"(?:\\s+|$)","g")}function L(t){return(t+"").trim().split(/^|\s+/)}function j(t,n){function e(){for(var e=-1;++e<i;)t[e](this,n)}function r(){for(var e=-1,r=n.apply(this,arguments);++e<i;)t[e](this,r)}t=L(t).map(N);var i=t.length;return"function"==typeof n?r:e}function N(t){var n=T(t);return function(e,r){if(i=e.classList)return r?i.add(t):i.remove(t);var i=e.getAttribute("class")||"";r?(n.lastIndex=0,n.test(i)||e.setAttribute("class",O(i+" "+t))):e.setAttribute("class",O(i.replace(n," ")))}}function R(t,n,e){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,n,e)}function o(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}return null==n?r:"function"==typeof n?o:i}function D(t,n){function e(){delete this[t]}function r(){this[t]=n}function i(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}return null==n?e:"function"==typeof n?i:r}function F(t){function n(){var n=this.ownerDocument,e=this.namespaceURI;return e===Pa&&n.documentElement.namespaceURI===Pa?n.createElement(t):n.createElementNS(e,t)}function e(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=sa.ns.qualify(t)).local?e:n}function I(){var t=this.parentNode;t&&t.removeChild(this)}function z(t){return{__data__:t}}function q(t){return function(){return Aa(this,t)}}function V(t){return arguments.length||(t=e),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function B(t,n){for(var e=0,r=t.length;e<r;e++)for(var i,o=t[e],a=0,u=o.length;a<u;a++)(i=o[a])&&n(i,a,e);return t}function W(t){return _a(t,Ta),t}function U(t){var n,e;return function(r,i,o){var a,u=t[o].update,s=u.length;for(o!=e&&(e=o,n=0),i>=n&&(n=i+1);!(a=u[n])&&++n<s;);return a}}function H(t,n,e){function r(){var n=this[a];n&&(this.removeEventListener(t,n,n.$),delete this[a])}function i(){var i=s(n,ca(arguments));r.call(this),this.addEventListener(t,this[a]=i,i.$=e),i._=n}function o(){var n,e=new RegExp("^__on([^.]+)"+sa.requote(t)+"$");for(var r in this)if(n=r.match(e)){var i=this[r];this.removeEventListener(n[1],i,i.$),delete this[r]}}var a="__on"+t,u=t.indexOf("."),s=Y;u>0&&(t=t.slice(0,u));var l=La.get(t);return l&&(t=l,s=G),u?n?i:r:n?b:o}function Y(t,n){return function(e){var r=sa.event;sa.event=e,n[0]=this.__data__;try{t.apply(this,n)}finally{sa.event=r}}}function G(t,n){var e=Y(t,n);return function(t){var n=this,r=t.relatedTarget;r&&(r===n||8&r.compareDocumentPosition(n))||e.call(n,t)}}function X(e){var r=".dragsuppress-"+ ++Na,i="click"+r,o=sa.select(n(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==ja&&(ja=!("onselectstart"in e)&&x(e.style,"userSelect")),ja){var a=t(e).style,u=a[ja];a[ja]="none"}return function(t){if(o.on(r,null),ja&&(a[ja]=u),t){var n=function(){o.on(i,null)};o.on(i,function(){S(),n()},!0),setTimeout(n,0)}}}function Z(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ra<0){var o=n(t);if(o.scrollX||o.scrollY){r=sa.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=r[0][0].getScreenCTM();Ra=!(a.f||a.e),r.remove()}}return Ra?(i.x=e.pageX,
-i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function J(){return sa.event.changedTouches[0].identifier}function K(t){return t>0?1:t<0?-1:0}function Q(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function tt(t){return t>1?0:t<-1?Ia:Math.acos(t)}function nt(t){return t>1?Va:t<-1?-Va:Math.asin(t)}function et(t){return((t=Math.exp(t))-1/t)/2}function rt(t){return((t=Math.exp(t))+1/t)/2}function it(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function at(){}function ut(t,n,e){return this instanceof ut?(this.h=+t,this.s=+n,void(this.l=+e)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):bt(""+t,wt,ut):new ut(t,n,e)}function st(t,n,e){function r(t){return t>360?t-=360:t<0&&(t+=360),t<60?o+(a-o)*t/60:t<180?a:t<240?o+(a-o)*(240-t)/60:o}function i(t){return Math.round(255*r(t))}var o,a;return t=isNaN(t)?0:(t%=360)<0?t+360:t,n=isNaN(n)?0:n<0?0:n>1?1:n,e=e<0?0:e>1?1:e,a=e<=.5?e*(1+n):e+n-e*n,o=2*e-a,new mt(i(t+120),i(t),i(t-120))}function lt(t,n,e){return this instanceof lt?(this.h=+t,this.c=+n,void(this.l=+e)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=Ct((t=sa.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,n,e)}function ct(t,n,e){return isNaN(t)&&(t=0),isNaN(n)&&(n=0),new ft(e,Math.cos(t*=Ba)*n,Math.sin(t)*n)}function ft(t,n,e){return this instanceof ft?(this.l=+t,this.a=+n,void(this.b=+e)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ct(t.h,t.c,t.l):Ct((t=mt(t)).r,t.g,t.b):new ft(t,n,e)}function ht(t,n,e){var r=(t+16)/116,i=r+n/500,o=r-e/200;return i=dt(i)*tu,r=dt(r)*nu,o=dt(o)*eu,new mt(gt(3.2404542*i-1.5371385*r-.4985314*o),gt(-.969266*i+1.8760108*r+.041556*o),gt(.0556434*i-.2040259*r+1.0572252*o))}function pt(t,n,e){return t>0?new lt(Math.atan2(e,n)*Wa,Math.sqrt(n*n+e*e),t):new lt(NaN,NaN,t)}function dt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function vt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function gt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function mt(t,n,e){return this instanceof mt?(this.r=~~t,this.g=~~n,void(this.b=~~e)):arguments.length<2?t instanceof mt?new mt(t.r,t.g,t.b):bt(""+t,mt,st):new mt(t,n,e)}function yt(t){return new mt(t>>16,t>>8&255,255&t)}function $t(t){return yt(t)+""}function xt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function bt(t,n,e){var r,i,o,a=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(_t(i[0]),_t(i[1]),_t(i[2]))}return(o=ou.get(t))?n(o.r,o.g,o.b):(null==t||"#"!==t.charAt(0)||isNaN(o=parseInt(t.slice(1),16))||(4===t.length?(a=(3840&o)>>4,a=a>>4|a,u=240&o,u=u>>4|u,s=15&o,s=s<<4|s):7===t.length&&(a=(16711680&o)>>16,u=(65280&o)>>8,s=255&o)),n(a,u,s))}function wt(t,n,e){var r,i,o=Math.min(t/=255,n/=255,e/=255),a=Math.max(t,n,e),u=a-o,s=(a+o)/2;return u?(i=s<.5?u/(a+o):u/(2-a-o),r=t==a?(n-e)/u+(n<e?6:0):n==a?(e-t)/u+2:(t-n)/u+4,r*=60):(r=NaN,i=s>0&&s<1?0:r),new ut(r,i,s)}function Ct(t,n,e){t=St(t),n=St(n),e=St(e);var r=vt((.4124564*t+.3575761*n+.1804375*e)/tu),i=vt((.2126729*t+.7151522*n+.072175*e)/nu),o=vt((.0193339*t+.119192*n+.9503041*e)/eu);return ft(116*i-16,500*(r-i),200*(i-o))}function St(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function _t(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}function Mt(t){return"function"==typeof t?t:function(){return t}}function kt(t){return function(n,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),At(n,e,t,r)}}function At(t,n,e,r){function i(){var t,n=s.status;if(!n&&Pt(s)||n>=200&&n<300||304===n){try{t=e.call(o,s)}catch(r){return void a.error.call(o,r)}a.load.call(o,t)}else a.error.call(o,s)}var o={},a=sa.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var n=sa.event;sa.event=t;try{a.progress.call(o,s)}finally{sa.event=n}},o.header=function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==n?delete u[t]:u[t]=n+"",o)},o.mimeType=function(t){return arguments.length?(n=null==t?null:t+"",o):n},o.responseType=function(t){return arguments.length?(l=t,o):l},o.response=function(t){return e=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(ca(arguments)))}}),o.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(e,t,!0),null==n||"accept"in u||(u.accept=n+",*/*"),s.setRequestHeader)for(var c in u)s.setRequestHeader(c,u[c]);return null!=n&&s.overrideMimeType&&s.overrideMimeType(n),null!=l&&(s.responseType=l),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),a.beforesend.call(o,s),s.send(null==r?null:r),o},o.abort=function(){return s.abort(),o},sa.rebind(o,a,"on"),null==r?o:o.get(Et(r))}function Et(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function Pt(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ot(t,n,e){var r=arguments.length;r<2&&(n=0),r<3&&(e=Date.now());var i=e+n,o={c:t,t:i,n:null};return uu?uu.n=o:au=o,uu=o,su||(lu=clearTimeout(lu),su=1,cu(Tt)),o}function Tt(){var t=Lt(),n=jt()-t;n>24?(isFinite(n)&&(clearTimeout(lu),lu=setTimeout(Tt,n)),su=0):(su=1,cu(Tt))}function Lt(){for(var t=Date.now(),n=au;n;)t>=n.t&&n.c(t-n.t)&&(n.c=null),n=n.n;return t}function jt(){for(var t,n=au,e=1/0;n;)n.c?(n.t<e&&(e=n.t),n=(t=n).n):n=t?t.n=n.n:au=n.n;return uu=t,e}function Nt(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,n){var e=Math.pow(10,3*xa(8-n));return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function Dt(t){var n=t.decimal,e=t.thousands,r=t.grouping,i=t.currency,o=r&&e?function(t,n){for(var i=t.length,o=[],a=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>n&&(u=Math.max(1,n-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>n));)u=r[a=(a+1)%r.length];return o.reverse().join(e)}:y;return function(t){var e=hu.exec(t),r=e[1]||" ",a=e[2]||">",u=e[3]||"-",s=e[4]||"",l=e[5],c=+e[6],f=e[7],h=e[8],p=e[9],d=1,v="",g="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===a)&&(l=r="0",a="="),p){case"n":f=!0,p="g";break;case"%":d=100,g="%",p="f";break;case"p":d=100,g="%",p="r";break;case"b":case"o":case"x":case"X":"#"===s&&(v="0"+p.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":d=-1,p="r"}"$"===s&&(v=i[0],g=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pu.get(p)||Ft;var $=l&&f;return function(t){var e=g;if(m&&t%1)return"";var i=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===u?"":u;if(d<0){var s=sa.formatPrefix(t,h);t=s.scale(t),e=s.symbol+g}else t*=d;t=p(t,h);var x,b,w=t.lastIndexOf(".");if(w<0){var C=y?t.lastIndexOf("e"):-1;C<0?(x=t,b=""):(x=t.substring(0,C),b=t.substring(C))}else x=t.substring(0,w),b=n+t.substring(w+1);!l&&f&&(x=o(x,1/0));var S=v.length+x.length+b.length+($?0:i.length),_=S<c?new Array(S=c-S+1).join(r):"";return $&&(x=o(_+x,_.length?c-b.length:1/0)),i+=v,t=x+b,("<"===a?i+t+_:">"===a?_+i+t:"^"===a?_.substring(0,S>>=1)+i+t+_.substring(S):i+($?t:_+t))+e}}}function Ft(t){return t+""}function It(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function zt(t,n,e){function r(n){var e=t(n),r=o(e,1);return n-e<r-n?e:r}function i(e){return n(e=t(new vu(e-1)),1),e}function o(t,e){return n(t=new vu((+t)),e),t}function a(t,r,o){var a=i(t),u=[];if(o>1)for(;a<r;)e(a)%o||u.push(new Date((+a))),n(a,1);else for(;a<r;)u.push(new Date((+a))),n(a,1);return u}function u(t,n,e){try{vu=It;var r=new It;return r._=t,a(r,n,e)}finally{vu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=o,t.range=a;var s=t.utc=qt(t);return s.floor=s,s.round=qt(r),s.ceil=qt(i),s.offset=qt(o),s.range=u,t}function qt(t){return function(n,e){try{vu=It;var r=new It;return r._=n,t(r,e)._}finally{vu=Date}}}function Vt(t){function n(t){function n(n){for(var e,i,o,a=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=mu[e=t.charAt(++u)])&&(e=t.charAt(++u)),(o=A[e])&&(e=o(n,null==i?"e"===e?" ":"0":i)),a.push(e),s=u+1);return a.push(t.slice(s,u)),a.join("")}var r=t.length;return n.parse=function(n){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,t,n,0);if(i!=n.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var o=null!=r.Z&&vu!==It,a=new(o?It:vu);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),o?a._:a},n.toString=function(){return t},n}function e(t,n,e,r){for(var i,o,a,u=0,s=n.length,l=e.length;u<s;){if(r>=l)return-1;if(i=n.charCodeAt(u++),37===i){if(a=n.charAt(u++),o=E[a in mu?n.charAt(u++):a],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(t,n,e){w.lastIndex=0;var r=w.exec(n.slice(e));return r?(t.w=C.get(r[0].toLowerCase()),e+r[0].length):-1}function i(t,n,e){x.lastIndex=0;var r=x.exec(n.slice(e));return r?(t.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function o(t,n,e){M.lastIndex=0;var r=M.exec(n.slice(e));return r?(t.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(t,n,e){S.lastIndex=0;var r=S.exec(n.slice(e));return r?(t.m=_.get(r[0].toLowerCase()),e+r[0].length):-1}function u(t,n,r){return e(t,A.c.toString(),n,r)}function s(t,n,r){return e(t,A.x.toString(),n,r)}function l(t,n,r){return e(t,A.X.toString(),n,r)}function c(t,n,e){var r=$.get(n.slice(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}var f=t.dateTime,h=t.date,p=t.time,d=t.periods,v=t.days,g=t.shortDays,m=t.months,y=t.shortMonths;n.utc=function(t){function e(t){try{vu=It;var n=new vu;return n._=t,r(n)}finally{vu=Date}}var r=n(t);return e.parse=function(t){try{vu=It;var n=r.parse(t);return n&&n._}finally{vu=Date}},e.toString=r.toString,e},n.multi=n.utc.multi=ln;var $=sa.map(),x=Wt(v),b=Ut(v),w=Wt(g),C=Ut(g),S=Wt(m),_=Ut(m),M=Wt(y),k=Ut(y);d.forEach(function(t,n){$.set(t.toLowerCase(),n)});var A={a:function(t){return g[t.getDay()]},A:function(t){return v[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:n(f),d:function(t,n){return Bt(t.getDate(),n,2)},e:function(t,n){return Bt(t.getDate(),n,2)},H:function(t,n){return Bt(t.getHours(),n,2)},I:function(t,n){return Bt(t.getHours()%12||12,n,2)},j:function(t,n){return Bt(1+du.dayOfYear(t),n,3)},L:function(t,n){return Bt(t.getMilliseconds(),n,3)},m:function(t,n){return Bt(t.getMonth()+1,n,2)},M:function(t,n){return Bt(t.getMinutes(),n,2)},p:function(t){return d[+(t.getHours()>=12)]},S:function(t,n){return Bt(t.getSeconds(),n,2)},U:function(t,n){return Bt(du.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Bt(du.mondayOfYear(t),n,2)},x:n(h),X:n(p),y:function(t,n){return Bt(t.getFullYear()%100,n,2)},Y:function(t,n){return Bt(t.getFullYear()%1e4,n,4)},Z:un,"%":function(){return"%"}},E={a:r,A:i,b:o,B:a,c:u,d:tn,e:tn,H:en,I:en,j:nn,L:an,m:Qt,M:rn,p:c,S:on,U:Yt,w:Ht,W:Gt,x:s,X:l,y:Zt,Y:Xt,Z:Jt,"%":sn};return n}function Bt(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Wt(t){return new RegExp("^(?:"+t.map(sa.requote).join("|")+")","i")}function Ut(t){for(var n=new l,e=-1,r=t.length;++e<r;)n.set(t[e].toLowerCase(),e);return n}function Ht(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Yt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Gt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Xt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Zt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.y=Kt(+r[0]),e+r[0].length):-1}function Jt(t,n,e){return/^[+-]\d{4}$/.test(n=n.slice(e,e+5))?(t.Z=-n,e+5):-1}function Kt(t){return t+(t>68?1900:2e3)}function Qt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function tn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function nn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.j=+r[0],e+r[0].length):-1}function en(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function rn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function on(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function an(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function un(t){var n=t.getTimezoneOffset(),e=n>0?"-":"+",r=xa(n)/60|0,i=xa(n)%60;return e+Bt(r,"0",2)+Bt(i,"0",2)}function sn(t,n,e){$u.lastIndex=0;var r=$u.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function ln(t){for(var n=t.length,e=-1;++e<n;)t[e][0]=this(t[e][0]);return function(n){for(var e=0,r=t[e];!r[1](n);)r=t[++e];return r[0](n)}}function cn(){}function fn(t,n,e){var r=e.s=t+n,i=r-t,o=r-i;e.t=t-o+(n-i)}function hn(t,n){t&&Cu.hasOwnProperty(t.type)&&Cu[t.type](t,n)}function pn(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function dn(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)pn(t[e],n,1);n.polygonEnd()}function vn(){function t(t,n){t*=Ba,n=n*Ba/2+Ia/4;var e=t-r,a=e>=0?1:-1,u=a*e,s=Math.cos(n),l=Math.sin(n),c=o*l,f=i*s+c*Math.cos(u),h=c*a*Math.sin(u);_u.add(Math.atan2(h,f)),r=t,i=s,o=l}var n,e,r,i,o;Mu.point=function(a,u){Mu.point=t,r=(n=a)*Ba,i=Math.cos(u=(e=u)*Ba/2+Ia/4),o=Math.sin(u)},Mu.lineEnd=function(){t(n,e)}}function gn(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function mn(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function yn(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function $n(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function xn(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function bn(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function wn(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function Cn(t,n){return xa(t[0]-n[0])<Da&&xa(t[1]-n[1])<Da}function Sn(t,n){t*=Ba;var e=Math.cos(n*=Ba);_n(e*Math.cos(t),e*Math.sin(t),Math.sin(n))}function _n(t,n,e){++ku,Eu+=(t-Eu)/ku,Pu+=(n-Pu)/ku,Ou+=(e-Ou)/ku}function Mn(){function t(t,i){t*=Ba;var o=Math.cos(i*=Ba),a=o*Math.cos(t),u=o*Math.sin(t),s=Math.sin(i),l=Math.atan2(Math.sqrt((l=e*s-r*u)*l+(l=r*a-n*s)*l+(l=n*u-e*a)*l),n*a+e*u+r*s);Au+=l,Tu+=l*(n+(n=a)),Lu+=l*(e+(e=u)),ju+=l*(r+(r=s)),_n(n,e,r)}var n,e,r;Fu.point=function(i,o){i*=Ba;var a=Math.cos(o*=Ba);n=a*Math.cos(i),e=a*Math.sin(i),r=Math.sin(o),Fu.point=t,_n(n,e,r)}}function kn(){Fu.point=Sn}function An(){function t(t,n){t*=Ba;var e=Math.cos(n*=Ba),a=e*Math.cos(t),u=e*Math.sin(t),s=Math.sin(n),l=i*s-o*u,c=o*a-r*s,f=r*u-i*a,h=Math.sqrt(l*l+c*c+f*f),p=r*a+i*u+o*s,d=h&&-tt(p)/h,v=Math.atan2(h,p);Nu+=d*l,Ru+=d*c,Du+=d*f,Au+=v,Tu+=v*(r+(r=a)),Lu+=v*(i+(i=u)),ju+=v*(o+(o=s)),_n(r,i,o)}var n,e,r,i,o;Fu.point=function(a,u){n=a,e=u,Fu.point=t,a*=Ba;var s=Math.cos(u*=Ba);r=s*Math.cos(a),i=s*Math.sin(a),o=Math.sin(u),_n(r,i,o)},Fu.lineEnd=function(){t(n,e),Fu.lineEnd=kn,Fu.point=Sn}}function En(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Pn(){return!0}function On(t,n,e,r,i){var o=[],a=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e=t[0],r=t[n];if(Cn(e,r)){i.lineStart();for(var u=0;u<n;++u)i.point((e=t[u])[0],e[1]);return void i.lineEnd()}var s=new Ln(e,t,null,(!0)),l=new Ln(e,null,s,(!1));s.o=l,o.push(s),a.push(l),s=new Ln(r,t,null,(!1)),l=new Ln(r,null,s,(!0)),s.o=l,o.push(s),a.push(l)}}),a.sort(n),Tn(o),Tn(a),o.length){for(var u=0,s=e,l=a.length;u<l;++u)a[u].e=s=!s;for(var c,f,h=o[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(var u=0,l=c.length;u<l;++u)i.point((f=c[u])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((f=c[u])[0],f[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}}function Tn(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Ln(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function jn(t,n,e,r){return function(i,o){function a(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&o.point(n,e)}function u(t,n){var e=i(t,n);g.point(e[0],e[1])}function s(){y.point=u,g.lineStart()}function l(){y.point=a,g.lineEnd()}function c(t,n){v.push([t,n]);var e=i(t,n);x.point(e[0],e[1])}function f(){x.lineStart(),v=[]}function h(){c(v[0][0],v[0][1]),x.lineEnd();var t,n=x.clean(),e=$.buffer(),r=e.length;if(v.pop(),d.push(v),v=null,r)if(1&n){t=e[0];var i,r=t.length-1,a=-1;if(r>0){for(b||(o.polygonStart(),b=!0),o.lineStart();++a<r;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else r>1&&2&n&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Nn))}var p,d,v,g=n(o),m=i.invert(r[0],r[1]),y={point:a,lineStart:s,lineEnd:l,polygonStart:function(){y.point=c,y.lineStart=f,y.lineEnd=h,p=[],d=[]},polygonEnd:function(){y.point=a,y.lineStart=s,y.lineEnd=l,p=sa.merge(p);var t=qn(m,d);p.length?(b||(o.polygonStart(),b=!0),On(p,Dn,t,e,o)):t&&(b||(o.polygonStart(),b=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),b&&(o.polygonEnd(),b=!1),p=d=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}},$=Rn(),x=n($),b=!1;return y}}function Nn(t){return t.length>1}function Rn(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:b,buffer:function(){var e=n;return n=[],t=null,e},rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))}}}function Dn(t,n){return((t=t.x)[0]<0?t[1]-Va-Da:Va-t[1])-((n=n.x)[0]<0?n[1]-Va-Da:Va-n[1])}function Fn(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Ia:-Ia,s=xa(o-e);xa(s-Ia)<Da?(t.point(e,r=(r+a)/2>0?Va:-Va),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&s>=Ia&&(xa(e-i)<Da&&(e-=i*Da),xa(o-u)<Da&&(o-=u*Da),r=In(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}function In(t,n,e,r){var i,o,a=Math.sin(t-e);return xa(a)>Da?Math.atan((Math.sin(n)*(o=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*o*a)):(n+r)/2}function zn(t,n,e,r){var i;if(null==t)i=e*Va,r.point(-Ia,i),r.point(0,i),r.point(Ia,i),r.point(Ia,0),r.point(Ia,-i),r.point(0,-i),r.point(-Ia,-i),r.point(-Ia,0),r.point(-Ia,i);else if(xa(t[0]-n[0])>Da){var o=t[0]<n[0]?Ia:-Ia;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}function qn(t,n){var e=t[0],r=t[1],i=[Math.sin(e),-Math.cos(e),0],o=0,a=0;_u.reset();for(var u=0,s=n.length;u<s;++u){var l=n[u],c=l.length;if(c)for(var f=l[0],h=f[0],p=f[1]/2+Ia/4,d=Math.sin(p),v=Math.cos(p),g=1;;){g===c&&(g=0),t=l[g];var m=t[0],y=t[1]/2+Ia/4,$=Math.sin(y),x=Math.cos(y),b=m-h,w=b>=0?1:-1,C=w*b,S=C>Ia,_=d*$;if(_u.add(Math.atan2(_*w*Math.sin(C),v*x+_*Math.cos(C))),o+=S?b+w*za:b,S^h>=e^m>=e){var M=yn(gn(f),gn(t));bn(M);var k=yn(i,M);bn(k);var A=(S^b>=0?-1:1)*nt(k[2]);(r>A||r===A&&(M[0]||M[1]))&&(a+=S^b>=0?1:-1)}if(!g++)break;h=m,d=$,v=x,f=t}}return(o<-Da||o<Da&&_u<-Da)^1&a}function Vn(t){function n(t,n){return Math.cos(t)*Math.cos(n)>o}function e(t){var e,o,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var p,d=[f,h],v=n(f,h),g=a?v?0:i(f,h):v?i(f+(f<0?Ia:-Ia),h):0;if(!e&&(l=s=v)&&t.lineStart(),v!==s&&(p=r(e,d),(Cn(e,p)||Cn(d,p))&&(d[0]+=Da,d[1]+=Da,v=n(d[0],d[1]))),v!==s)c=0,v?(t.lineStart(),p=r(d,e),t.point(p[0],p[1])):(p=r(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(u&&e&&a^v){var m;g&o||!(m=r(d,e,!0))||(c=0,a?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!v||e&&Cn(e,d)||t.point(d[0],d[1]),e=d,s=v,o=g},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return c|(l&&s)<<1}}}function r(t,n,e){var r=gn(t),i=gn(n),a=[1,0,0],u=yn(r,i),s=mn(u,u),l=u[0],c=s-l*l;if(!c)return!e&&t;var f=o*s/c,h=-o*l/c,p=yn(a,u),d=xn(a,f),v=xn(u,h);$n(d,v);var g=p,m=mn(d,g),y=mn(g,g),$=m*m-y*(mn(d,d)-1);if(!($<0)){var x=Math.sqrt($),b=xn(g,(-m-x)/y);if($n(b,d),b=wn(b),!e)return b;var w,C=t[0],S=n[0],_=t[1],M=n[1];S<C&&(w=C,C=S,S=w);var k=S-C,A=xa(k-Ia)<Da,E=A||k<Da;if(!A&&M<_&&(w=_,_=M,M=w),E?A?_+M>0^b[1]<(xa(b[0]-C)<Da?_:M):_<=b[1]&&b[1]<=M:k>Ia^(C<=b[0]&&b[0]<=S)){var P=xn(g,(-m+x)/y);return $n(P,d),[b,wn(P)]}}}function i(n,e){var r=a?t:Ia-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var o=Math.cos(t),a=o>0,u=xa(o)>Da,s=ve(t,6*Ba);return jn(n,e,s,a?[0,-t]:[-Ia,t-Ia])}function Bn(t,n,e,r){return function(i){var o,a=i.a,u=i.b,s=a.x,l=a.y,c=u.x,f=u.y,h=0,p=1,d=c-s,v=f-l;if(o=t-s,d||!(o>0)){if(o/=d,d<0){if(o<h)return;o<p&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=e-s,d||!(o<0)){if(o/=d,d<0){if(o>p)return;o>h&&(h=o)}else if(d>0){if(o<h)return;o<p&&(p=o)}if(o=n-l,v||!(o>0)){if(o/=v,v<0){if(o<h)return;o<p&&(p=o)}else if(v>0){if(o>p)return;o>h&&(h=o)}if(o=r-l,v||!(o<0)){if(o/=v,v<0){if(o>p)return;o>h&&(h=o)}else if(v>0){if(o<h)return;o<p&&(p=o)}return h>0&&(i.a={x:s+h*d,y:l+h*v}),p<1&&(i.b={x:s+p*d,y:l+p*v}),i}}}}}}function Wn(t,n,e,r){function i(r,i){return xa(r[0]-t)<Da?i>0?0:3:xa(r[0]-e)<Da?i>0?2:1:xa(r[1]-n)<Da?i>0?1:0:i>0?3:2}function o(t,n){return a(t.x,n.x)}function a(t,n){var e=i(t,1),r=i(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function s(t){for(var n=0,e=g.length,r=t[1],i=0;i<e;++i)for(var o,a=1,u=g[i],s=u.length,l=u[0];a<s;++a)o=u[a],l[1]<=r?o[1]>r&&Q(l,o,t)>0&&++n:o[1]<=r&&Q(l,o,t)<0&&--n,l=o;return 0!==n}function l(o,u,s,l){var c=0,f=0;if(null==o||(c=i(o,s))!==(f=i(u,s))||a(o,u)<0^s>0){do l.point(0===c||3===c?t:e,c>1?r:n);while((c=(c+s+4)%4)!==f)}else l.point(u[0],u[1])}function c(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function f(t,n){c(t,n)&&u.point(t,n)}function h(){E.point=d,g&&g.push(m=[]),S=!0,C=!1,b=w=NaN}function p(){v&&(d(y,$),x&&C&&k.rejoin(),v.push(k.buffer())),E.point=f,C&&u.lineEnd()}function d(t,n){t=Math.max(-zu,Math.min(zu,t)),n=Math.max(-zu,Math.min(zu,n));var e=c(t,n);if(g&&m.push([t,n]),S)y=t,$=n,x=e,S=!1,e&&(u.lineStart(),u.point(t,n));else if(e&&C)u.point(t,n);else{var r={a:{x:b,y:w},b:{x:t,y:n}};A(r)?(C||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),e||u.lineEnd(),_=!1):e&&(u.lineStart(),u.point(t,n),_=!1)}b=t,w=n,C=e}var v,g,m,y,$,x,b,w,C,S,_,M=u,k=Rn(),A=Bn(t,n,e,r),E={point:f,lineStart:h,lineEnd:p,polygonStart:function(){u=k,v=[],g=[],_=!0},polygonEnd:function(){u=M,v=sa.merge(v);var n=s([t,r]),e=_&&n,i=v.length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),l(null,null,1,u),u.lineEnd()),i&&On(v,o,n,l,u),u.polygonEnd()),v=g=m=null}};return E}}function Un(t){var n=0,e=Ia/3,r=ue(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Ia/180,e=t[1]*Ia/180):[n/Ia*180,e/Ia*180]},i}function Hn(t,n){function e(t,n){var e=Math.sqrt(o-2*i*Math.sin(n))/i;return[e*Math.sin(t*=i),a-e*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(n))/2,o=1+r*(2*i-r),a=Math.sqrt(o)/i;return e.invert=function(t,n){var e=a-n;return[Math.atan2(t,e)/i,nt((o-(t*t+e*e)*i*i)/(2*i))]},e}function Yn(){function t(t,n){Vu+=i*t-r*n,r=t,i=n}var n,e,r,i;Yu.point=function(o,a){Yu.point=t,n=r=o,e=i=a},Yu.lineEnd=function(){t(n,e)}}function Gn(t,n){t<Bu&&(Bu=t),t>Uu&&(Uu=t),n<Wu&&(Wu=n),n>Hu&&(Hu=n)}function Xn(){function t(t,n){a.push("M",t,",",n,o)}function n(t,n){a.push("M",t,",",n),u.point=e}function e(t,n){a.push("L",t,",",n)}function r(){u.point=t}function i(){a.push("Z")}var o=Zn(4.5),a=[],u={point:t,lineStart:function(){u.point=n},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return o=Zn(t),u},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return u}function Zn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Jn(t,n){Eu+=t,Pu+=n,++Ou}function Kn(){function t(t,r){var i=t-n,o=r-e,a=Math.sqrt(i*i+o*o);Tu+=a*(n+t)/2,Lu+=a*(e+r)/2,ju+=a,Jn(n=t,e=r)}var n,e;Xu.point=function(r,i){Xu.point=t,Jn(n=r,e=i)}}function Qn(){Xu.point=Jn}function te(){function t(t,n){var e=t-r,o=n-i,a=Math.sqrt(e*e+o*o);Tu+=a*(r+t)/2,Lu+=a*(i+n)/2,ju+=a,a=i*t-r*n,Nu+=a*(r+t),Ru+=a*(i+n),Du+=3*a,Jn(r=t,i=n)}var n,e,r,i;Xu.point=function(o,a){Xu.point=t,Jn(n=r=o,e=i=a)},Xu.lineEnd=function(){t(n,e)}}function ne(t){function n(n,e){t.moveTo(n+a,e),t.arc(n,e,a,0,za)}function e(n,e){t.moveTo(n,e),u.point=r}function r(n,e){t.lineTo(n,e)}function i(){u.point=n}function o(){t.closePath()}var a=4.5,u={point:n,lineStart:function(){u.point=e},lineEnd:i,polygonStart:function(){u.lineEnd=o},polygonEnd:function(){u.lineEnd=i,u.point=n},pointRadius:function(t){return a=t,u},result:b};return u}function ee(t){function n(t){return(u?r:e)(t)}function e(n){return oe(n,function(e,r){e=t(e,r),n.point(e[0],e[1])})}function r(n){function e(e,r){e=t(e,r),n.point(e[0],e[1])}function r(){$=NaN,S.point=o,n.lineStart()}function o(e,r){var o=gn([e,r]),a=t(e,r);i($,x,y,b,w,C,$=a[0],x=a[1],y=e,b=o[0],w=o[1],C=o[2],u,n),n.point($,x)}function a(){S.point=e,n.lineEnd()}function s(){r(),S.point=l,S.lineEnd=c}function l(t,n){o(f=t,h=n),p=$,d=x,v=b,g=w,m=C,S.point=o}function c(){i($,x,y,b,w,C,p,d,f,v,g,m,u,n),S.lineEnd=a,a()}var f,h,p,d,v,g,m,y,$,x,b,w,C,S={point:e,lineStart:r,lineEnd:a,polygonStart:function(){n.polygonStart(),S.lineStart=s},polygonEnd:function(){n.polygonEnd(),S.lineStart=r}};return S}function i(n,e,r,u,s,l,c,f,h,p,d,v,g,m){var y=c-n,$=f-e,x=y*y+$*$;if(x>4*o&&g--){var b=u+p,w=s+d,C=l+v,S=Math.sqrt(b*b+w*w+C*C),_=Math.asin(C/=S),M=xa(xa(C)-1)<Da||xa(r-h)<Da?(r+h)/2:Math.atan2(w,b),k=t(M,_),A=k[0],E=k[1],P=A-n,O=E-e,T=$*P-y*O;(T*T/x>o||xa((y*P+$*O)/x-.5)>.3||u*p+s*d+l*v<a)&&(i(n,e,r,u,s,l,A,E,M,b/=S,w/=S,C,g,m),m.point(A,E),i(A,E,M,b,w,C,c,f,h,p,d,v,g,m))}}var o=.5,a=Math.cos(30*Ba),u=16;return n.precision=function(t){return arguments.length?(u=(o=t*t)>0&&16,n):Math.sqrt(o)},n}function re(t){var n=ee(function(n,e){return t([n*Wa,e*Wa])});return function(t){return se(n(t))}}function ie(t){this.stream=t}function oe(t,n){return{point:n,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ae(t){return ue(function(){return t})()}function ue(t){function n(t){return t=u(t[0]*Ba,t[1]*Ba),[t[0]*h+s,l-t[1]*h]}function e(t){return t=u.invert((t[0]-s)/h,(l-t[1])/h),t&&[t[0]*Wa,t[1]*Wa]}function r(){u=En(a=fe(m,$,x),o);var t=o(v,g);return s=p-t[0]*h,l=d+t[1]*h,i()}function i(){return c&&(c.valid=!1,c=null),n}var o,a,u,s,l,c,f=ee(function(t,n){return t=o(t,n),[t[0]*h+s,l-t[1]*h]}),h=150,p=480,d=250,v=0,g=0,m=0,$=0,x=0,b=Iu,w=y,C=null,S=null;return n.stream=function(t){return c&&(c.valid=!1),c=se(b(a,f(w(t)))),c.valid=!0,c},n.clipAngle=function(t){return arguments.length?(b=null==t?(C=t,Iu):Vn((C=+t)*Ba),i()):C},n.clipExtent=function(t){return arguments.length?(S=t,w=t?Wn(t[0][0],t[0][1],t[1][0],t[1][1]):y,i()):S},n.scale=function(t){return arguments.length?(h=+t,r()):h},n.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],r()):[p,d]},n.center=function(t){return arguments.length?(v=t[0]%360*Ba,g=t[1]%360*Ba,r()):[v*Wa,g*Wa]},n.rotate=function(t){return arguments.length?(m=t[0]%360*Ba,$=t[1]%360*Ba,x=t.length>2?t[2]%360*Ba:0,r()):[m*Wa,$*Wa,x*Wa]},sa.rebind(n,f,"precision"),function(){return o=t.apply(this,arguments),n.invert=o.invert&&e,r()}}function se(t){return oe(t,function(n,e){t.point(n*Ba,e*Ba)})}function le(t,n){return[t,n]}function ce(t,n){return[t>Ia?t-za:t<-Ia?t+za:t,n]}function fe(t,n,e){return t?n||e?En(pe(t),de(n,e)):pe(t):n||e?de(n,e):ce}function he(t){return function(n,e){return n+=t,[n>Ia?n-za:n<-Ia?n+za:n,e]}}function pe(t){var n=he(t);return n.invert=he(-t),n}function de(t,n){function e(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*r+u*i;return[Math.atan2(s*o-c*a,u*r-l*i),nt(c*o+s*a)]}var r=Math.cos(t),i=Math.sin(t),o=Math.cos(n),a=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*o-s*a;return[Math.atan2(s*o+l*a,u*r+c*i),nt(c*r-u*i)]},e}function ve(t,n){var e=Math.cos(t),r=Math.sin(t);return function(i,o,a,u){var s=a*n;null!=i?(i=ge(e,i),o=ge(e,o),(a>0?i<o:i>o)&&(i+=a*za)):(i=t+a*za,o=t-.5*s);for(var l,c=i;a>0?c>o:c<o;c-=s)u.point((l=wn([e,-r*Math.cos(c),-r*Math.sin(c)]))[0],l[1])}}function ge(t,n){var e=gn(n);e[0]-=t,bn(e);var r=tt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Da)%(2*Math.PI)}function me(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ye(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function $e(t){return t.source}function xe(t){return t.target}function be(t,n,e,r){var i=Math.cos(n),o=Math.sin(n),a=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),l=i*Math.sin(t),c=a*Math.cos(e),f=a*Math.sin(e),h=2*Math.asin(Math.sqrt(ot(r-n)+i*a*ot(e-t))),p=1/Math.sin(h),d=h?function(t){var n=Math.sin(t*=h)*p,e=Math.sin(h-t)*p,r=e*s+n*c,i=e*l+n*f,a=e*o+n*u;return[Math.atan2(i,r)*Wa,Math.atan2(a,Math.sqrt(r*r+i*i))*Wa]}:function(){return[t*Wa,n*Wa]};return d.distance=h,d}function we(){function t(t,i){var o=Math.sin(i*=Ba),a=Math.cos(i),u=xa((t*=Ba)-n),s=Math.cos(u);Zu+=Math.atan2(Math.sqrt((u=a*Math.sin(u))*u+(u=r*o-e*a*s)*u),e*o+r*a*s),n=t,e=o,r=a}var n,e,r;Ju.point=function(i,o){n=i*Ba,e=Math.sin(o*=Ba),r=Math.cos(o),Ju.point=t},Ju.lineEnd=function(){Ju.point=Ju.lineEnd=b}}function Ce(t,n){function e(n,e){var r=Math.cos(n),i=Math.cos(e),o=t(r*i);return[o*i*Math.sin(n),o*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),i=n(r),o=Math.sin(i),a=Math.cos(i);return[Math.atan2(t*o,r*a),Math.asin(r&&e*o/r)]},e}function Se(t,n){function e(t,n){a>0?n<-Va+Da&&(n=-Va+Da):n>Va-Da&&(n=Va-Da);var e=a/Math.pow(i(n),o);return[e*Math.sin(o*t),a-e*Math.cos(o*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Ia/4+t/2)},o=t===n?Math.sin(t):Math.log(r/Math.cos(n))/Math.log(i(n)/i(t)),a=r*Math.pow(i(t),o)/o;return o?(e.invert=function(t,n){var e=a-n,r=K(o)*Math.sqrt(t*t+e*e);return[Math.atan2(t,e)/o,2*Math.atan(Math.pow(a/r,1/o))-Va]},e):Me}function _e(t,n){function e(t,n){var e=o-n;return[e*Math.sin(i*t),o-e*Math.cos(i*t)]}var r=Math.cos(t),i=t===n?Math.sin(t):(r-Math.cos(n))/(n-t),o=r/i+t;return xa(i)<Da?le:(e.invert=function(t,n){var e=o-n;return[Math.atan2(t,e)/i,o-K(i)*Math.sqrt(t*t+e*e)]},e)}function Me(t,n){return[t,Math.log(Math.tan(Ia/4+n/2))]}function ke(t){var n,e=ae(t),r=e.scale,i=e.translate,o=e.clipExtent;return e.scale=function(){var t=r.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.translate=function(){var t=i.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.clipExtent=function(t){var a=o.apply(e,arguments);if(a===e){if(n=null==t){var u=Ia*r(),s=i();o([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else n&&(a=null);return a},e.clipExtent(null)}function Ae(t,n){return[Math.log(Math.tan(Ia/4+n/2)),-t]}function Ee(t){return t[0]}function Pe(t){return t[1]}function Oe(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;i++){for(;r>1&&Q(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Te(t,n){return t[0]-n[0]||t[1]-n[1]}function Le(t,n,e){
-return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function je(t,n,e,r){var i=t[0],o=e[0],a=n[0]-i,u=r[0]-o,s=t[1],l=e[1],c=n[1]-s,f=r[1]-l,h=(u*(s-l)-f*(i-o))/(f*a-u*c);return[i+h*a,s+h*c]}function Ne(t){var n=t[0],e=t[t.length-1];return!(n[0]-e[0]||n[1]-e[1])}function Re(){rr(this),this.edge=this.site=this.circle=null}function De(t){var n=ls.pop()||new Re;return n.site=t,n}function Fe(t){Ge(t),as.remove(t),ls.push(t),rr(t)}function Ie(t){var n=t.circle,e=n.x,r=n.cy,i={x:e,y:r},o=t.P,a=t.N,u=[t];Fe(t);for(var s=o;s.circle&&xa(e-s.circle.x)<Da&&xa(r-s.circle.cy)<Da;)o=s.P,u.unshift(s),Fe(s),s=o;u.unshift(s),Ge(s);for(var l=a;l.circle&&xa(e-l.circle.x)<Da&&xa(r-l.circle.cy)<Da;)a=l.N,u.push(l),Fe(l),l=a;u.push(l),Ge(l);var c,f=u.length;for(c=1;c<f;++c)l=u[c],s=u[c-1],tr(l.edge,s.site,l.site,i);s=u[0],l=u[f-1],l.edge=Ke(s.site,l.site,null,i),Ye(s),Ye(l)}function ze(t){for(var n,e,r,i,o=t.x,a=t.y,u=as._;u;)if(r=qe(u,a)-o,r>Da)u=u.L;else{if(i=o-Ve(u,a),!(i>Da)){r>-Da?(n=u.P,e=u):i>-Da?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}var s=De(t);if(as.insert(n,s),n||e){if(n===e)return Ge(n),e=De(n.site),as.insert(s,e),s.edge=e.edge=Ke(n.site,s.site),Ye(n),void Ye(e);if(!e)return void(s.edge=Ke(n.site,s.site));Ge(n),Ge(e);var l=n.site,c=l.x,f=l.y,h=t.x-c,p=t.y-f,d=e.site,v=d.x-c,g=d.y-f,m=2*(h*g-p*v),y=h*h+p*p,$=v*v+g*g,x={x:(g*y-p*$)/m+c,y:(h*$-v*y)/m+f};tr(e.edge,l,d,x),s.edge=Ke(l,t,null,x),e.edge=Ke(t,d,null,x),Ye(n),Ye(e)}}function qe(t,n){var e=t.site,r=e.x,i=e.y,o=i-n;if(!o)return r;var a=t.P;if(!a)return-(1/0);e=a.site;var u=e.x,s=e.y,l=s-n;if(!l)return u;var c=u-r,f=1/o-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-o/2)))/f+r:(r+u)/2}function Ve(t,n){var e=t.N;if(e)return qe(e,n);var r=t.site;return r.y===n?r.x:1/0}function Be(t){this.site=t,this.edges=[]}function We(t){for(var n,e,r,i,o,a,u,s,l,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],v=os,g=v.length;g--;)if(o=v[g],o&&o.prepare())for(u=o.edges,s=u.length,a=0;a<s;)c=u[a].end(),r=c.x,i=c.y,l=u[++a%s].start(),n=l.x,e=l.y,(xa(r-n)>Da||xa(i-e)>Da)&&(u.splice(a,0,new nr(Qe(o.site,c,xa(r-f)<Da&&d-i>Da?{x:f,y:xa(n-f)<Da?e:d}:xa(i-d)<Da&&h-r>Da?{x:xa(e-d)<Da?n:h,y:d}:xa(r-h)<Da&&i-p>Da?{x:h,y:xa(n-h)<Da?e:p}:xa(i-p)<Da&&r-f>Da?{x:xa(e-p)<Da?n:f,y:p}:null),o.site,null)),++s)}function Ue(t,n){return n.angle-t.angle}function He(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var a=i.x,u=i.y,s=r.x-a,l=r.y-u,c=o.x-a,f=o.y-u,h=2*(s*f-l*c);if(!(h>=-Fa)){var p=s*s+l*l,d=c*c+f*f,v=(f*p-l*d)/h,g=(s*d-c*p)/h,f=g+u,m=cs.pop()||new He;m.arc=t,m.site=i,m.x=v+a,m.y=f+Math.sqrt(v*v+g*g),m.cy=f,t.circle=m;for(var y=null,$=ss._;$;)if(m.y<$.y||m.y===$.y&&m.x<=$.x){if(!$.L){y=$.P;break}$=$.L}else{if(!$.R){y=$;break}$=$.R}ss.insert(y,m),y||(us=m)}}}}function Ge(t){var n=t.circle;n&&(n.P||(us=n.N),ss.remove(n),cs.push(n),rr(n),t.circle=null)}function Xe(t){for(var n,e=is,r=Bn(t[0][0],t[0][1],t[1][0],t[1][1]),i=e.length;i--;)n=e[i],(!Ze(n,t)||!r(n)||xa(n.a.x-n.b.x)<Da&&xa(n.a.y-n.b.y)<Da)&&(n.a=n.b=null,e.splice(i,1))}function Ze(t,n){var e=t.b;if(e)return!0;var r,i,o=t.a,a=n[0][0],u=n[1][0],s=n[0][1],l=n[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,v=f.y,g=(h+d)/2,m=(p+v)/2;if(v===p){if(g<a||g>=u)return;if(h>d){if(o){if(o.y>=l)return}else o={x:g,y:s};e={x:g,y:l}}else{if(o){if(o.y<s)return}else o={x:g,y:l};e={x:g,y:s}}}else if(r=(h-d)/(v-p),i=m-r*g,r<-1||r>1)if(h>d){if(o){if(o.y>=l)return}else o={x:(s-i)/r,y:s};e={x:(l-i)/r,y:l}}else{if(o){if(o.y<s)return}else o={x:(l-i)/r,y:l};e={x:(s-i)/r,y:s}}else if(p<v){if(o){if(o.x>=u)return}else o={x:a,y:r*a+i};e={x:u,y:r*u+i}}else{if(o){if(o.x<a)return}else o={x:u,y:r*u+i};e={x:a,y:r*a+i}}return t.a=o,t.b=e,!0}function Je(t,n){this.l=t,this.r=n,this.a=this.b=null}function Ke(t,n,e,r){var i=new Je(t,n);return is.push(i),e&&tr(i,t,n,e),r&&tr(i,n,t,r),os[t.i].edges.push(new nr(i,t,n)),os[n.i].edges.push(new nr(i,n,t)),i}function Qe(t,n,e){var r=new Je(t,null);return r.a=n,r.b=e,is.push(r),r}function tr(t,n,e,r){t.a||t.b?t.l===e?t.b=r:t.a=r:(t.a=r,t.l=n,t.r=e)}function nr(t,n,e){var r=t.a,i=t.b;this.edge=t,this.site=n,this.angle=e?Math.atan2(e.y-n.y,e.x-n.x):t.l===n?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function or(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function ar(t){for(;t.L;)t=t.L;return t}function ur(t,n){var e,r,i,o=t.sort(sr).pop();for(is=[],os=new Array(t.length),as=new er,ss=new er;;)if(i=us,o&&(!i||o.y<i.y||o.y===i.y&&o.x<i.x))o.x===e&&o.y===r||(os[o.i]=new Be(o),ze(o),e=o.x,r=o.y),o=t.pop();else{if(!i)break;Ie(i.arc)}n&&(Xe(n),We(n));var a={cells:os,edges:is};return as=ss=is=os=null,a}function sr(t,n){return n.y-t.y||n.x-t.x}function lr(t,n,e){return(t.x-e.x)*(n.y-t.y)-(t.x-n.x)*(e.y-t.y)}function cr(t){return t.x}function fr(t){return t.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(t,n,e,r,i,o){if(!t(n,e,r,i,o)){var a=.5*(e+i),u=.5*(r+o),s=n.nodes;s[0]&&pr(t,s[0],e,r,a,u),s[1]&&pr(t,s[1],a,r,i,u),s[2]&&pr(t,s[2],e,u,a,o),s[3]&&pr(t,s[3],a,u,i,o)}}function dr(t,n,e,r,i,o,a){var u,s=1/0;return function l(t,c,f,h,p){if(!(c>o||f>a||h<r||p<i)){if(d=t.point){var d,v=n-t.x,g=e-t.y,m=v*v+g*g;if(m<s){var y=Math.sqrt(s=m);r=n-y,i=e-y,o=n+y,a=e+y,u=d}}for(var $=t.nodes,x=.5*(c+h),b=.5*(f+p),w=n>=x,C=e>=b,S=C<<1|w,_=S+4;S<_;++S)if(t=$[3&S])switch(3&S){case 0:l(t,c,f,x,b);break;case 1:l(t,x,f,h,b);break;case 2:l(t,c,b,x,p);break;case 3:l(t,x,b,h,p)}}}(t,r,i,o,a),u}function vr(t,n){t=sa.rgb(t),n=sa.rgb(n);var e=t.r,r=t.g,i=t.b,o=n.r-e,a=n.g-r,u=n.b-i;return function(t){return"#"+xt(Math.round(e+o*t))+xt(Math.round(r+a*t))+xt(Math.round(i+u*t))}}function gr(t,n){var e,r={},i={};for(e in t)e in n?r[e]=$r(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}}function mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function yr(t,n){var e,r,i,o=hs.lastIndex=ps.lastIndex=0,a=-1,u=[],s=[];for(t+="",n+="";(e=hs.exec(t))&&(r=ps.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:mr(e,r)})),o=ps.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?(n=s[0].x,function(t){return n(t)+""}):function(){return n}:(n=s.length,function(t){for(var e,r=0;r<n;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})}function $r(t,n){for(var e,r=sa.interpolators.length;--r>=0&&!(e=sa.interpolators[r](t,n)););return e}function xr(t,n){var e,r=[],i=[],o=t.length,a=n.length,u=Math.min(t.length,n.length);for(e=0;e<u;++e)r.push($r(t[e],n[e]));for(;e<o;++e)i[e]=t[e];for(;e<a;++e)i[e]=n[e];return function(t){for(e=0;e<u;++e)i[e]=r[e](t);return i}}function br(t){return function(n){return n<=0?0:n>=1?1:t(n)}}function wr(t){return function(n){return 1-t(1-n)}}function Cr(t){return function(n){return.5*(n<.5?t(2*n):2-t(2-2*n))}}function Sr(t){return t*t}function _r(t){return t*t*t}function Mr(t){if(t<=0)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(t<.5?e:3*(t-n)+e-.75)}function kr(t){return function(n){return Math.pow(n,t)}}function Ar(t){return 1-Math.cos(t*Va)}function Er(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Or(t,n){var e;return arguments.length<2&&(n=.45),arguments.length?e=n/za*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-e)*za/n)}}function Tr(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function Lr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function jr(t,n){t=sa.hcl(t),n=sa.hcl(n);var e=t.h,r=t.c,i=t.l,o=n.h-e,a=n.c-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.c:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:o<-180&&(o+=360),function(t){return ct(e+o*t,r+a*t,i+u*t)+""}}function Nr(t,n){t=sa.hsl(t),n=sa.hsl(n);var e=t.h,r=t.s,i=t.l,o=n.h-e,a=n.s-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.s:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:o<-180&&(o+=360),function(t){return st(e+o*t,r+a*t,i+u*t)+""}}function Rr(t,n){t=sa.lab(t),n=sa.lab(n);var e=t.l,r=t.a,i=t.b,o=n.l-e,a=n.a-r,u=n.b-i;return function(t){return ht(e+o*t,r+a*t,i+u*t)+""}}function Dr(t,n){return n-=t,function(e){return Math.round(t+n*e)}}function Fr(t){var n=[t.a,t.b],e=[t.c,t.d],r=zr(n),i=Ir(n,e),o=zr(qr(e,n,-i))||0;n[0]*e[1]<e[0]*n[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*Wa,this.translate=[t.e,t.f],this.scale=[r,o],this.skew=o?Math.atan2(i,o)*Wa:0}function Ir(t,n){return t[0]*n[0]+t[1]*n[1]}function zr(t){var n=Math.sqrt(Ir(t,t));return n&&(t[0]/=n,t[1]/=n),n}function qr(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function Vr(t){return t.length?t.pop()+",":""}function Br(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else(n[0]||n[1])&&e.push("translate("+n+")")}function Wr(t,n,e,r){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),r.push({i:e.push(Vr(e)+"rotate(",null,")")-2,x:mr(t,n)})):n&&e.push(Vr(e)+"rotate("+n+")")}function Ur(t,n,e,r){t!==n?r.push({i:e.push(Vr(e)+"skewX(",null,")")-2,x:mr(t,n)}):n&&e.push(Vr(e)+"skewX("+n+")")}function Hr(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push(Vr(e)+"scale(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else 1===n[0]&&1===n[1]||e.push(Vr(e)+"scale("+n+")")}function Yr(t,n){var e=[],r=[];return t=sa.transform(t),n=sa.transform(n),Br(t.translate,n.translate,e,r),Wr(t.rotate,n.rotate,e,r),Ur(t.skew,n.skew,e,r),Hr(t.scale,n.scale,e,r),t=n=null,function(t){for(var n,i=-1,o=r.length;++i<o;)e[(n=r[i]).i]=n.x(t);return e.join("")}}function Gr(t,n){return n=(n-=t=+t)||1/n,function(e){return(e-t)/n}}function Xr(t,n){return n=(n-=t=+t)||1/n,function(e){return Math.max(0,Math.min(1,(e-t)/n))}}function Zr(t){for(var n=t.source,e=t.target,r=Kr(n,e),i=[n];n!==r;)n=n.parent,i.push(n);for(var o=i.length;e!==r;)i.splice(o,0,e),e=e.parent;return i}function Jr(t){for(var n=[],e=t.parent;null!=e;)n.push(t),t=e,e=e.parent;return n.push(t),n}function Kr(t,n){if(t===n)return t;for(var e=Jr(t),r=Jr(n),i=e.pop(),o=r.pop(),a=null;i===o;)a=i,i=e.pop(),o=r.pop();return a}function Qr(t){t.fixed|=2}function ti(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ei(t){t.fixed&=-5}function ri(t,n,e){var r=0,i=0;if(t.charge=0,!t.leaf)for(var o,a=t.nodes,u=a.length,s=-1;++s<u;)o=a[s],null!=o&&(ri(o,n,e),t.charge+=o.charge,r+=o.charge*o.cx,i+=o.charge*o.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=n*e[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,i+=l*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function ii(t,n){return sa.rebind(t,n,"sort","children","value"),t.nodes=t,t.links=ci,t}function oi(t,n){for(var e=[t];null!=(t=e.pop());)if(n(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function ai(t,n){for(var e=[t],r=[];null!=(t=e.pop());)if(r.push(t),(o=t.children)&&(i=o.length))for(var i,o,a=-1;++a<i;)e.push(o[a]);for(;null!=(t=r.pop());)n(t)}function ui(t){return t.children}function si(t){return t.value}function li(t,n){return n.value-t.value}function ci(t){return sa.merge(t.map(function(t){return(t.children||[]).map(function(n){return{source:t,target:n}})}))}function fi(t){return t.x}function hi(t){return t.y}function pi(t,n,e){t.y0=n,t.y=e}function di(t){return sa.range(t.length)}function vi(t){for(var n=-1,e=t[0].length,r=[];++n<e;)r[n]=0;return r}function gi(t){for(var n,e=1,r=0,i=t[0][1],o=t.length;e<o;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function mi(t){return t.reduce(yi,0)}function yi(t,n){return t+n[1]}function $i(t,n){return xi(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function xi(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,o=[];++e<=n;)o[e]=i*e+r;return o}function bi(t){return[sa.min(t),sa.max(t)]}function wi(t,n){return t.value-n.value}function Ci(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function Si(t,n){t._pack_next=n,n._pack_prev=t}function _i(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.999*i*i>e*e+r*r}function Mi(t){function n(t){c=Math.min(t.x-t.r,c),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),p=Math.max(t.y+t.r,p)}if((e=t.children)&&(l=e.length)){var e,r,i,o,a,u,s,l,c=1/0,f=-(1/0),h=1/0,p=-(1/0);if(e.forEach(ki),r=e[0],r.x=-r.r,r.y=0,n(r),l>1&&(i=e[1],i.x=i.r,i.y=0,n(i),l>2))for(o=e[2],Pi(r,i,o),n(o),Ci(r,o),r._pack_prev=o,Ci(o,i),i=r._pack_next,a=3;a<l;a++){Pi(r,i,o=e[a]);var d=0,v=1,g=1;for(u=i._pack_next;u!==i;u=u._pack_next,v++)if(_i(u,o)){d=1;break}if(1==d)for(s=r._pack_prev;s!==u._pack_prev&&!_i(s,o);s=s._pack_prev,g++);d?(v<g||v==g&&i.r<r.r?Si(r,i=u):Si(r=s,i),a--):(Ci(r,o),i=o,n(o))}var m=(c+f)/2,y=(h+p)/2,$=0;for(a=0;a<l;a++)o=e[a],o.x-=m,o.y-=y,$=Math.max($,o.r+Math.sqrt(o.x*o.x+o.y*o.y));t.r=$,e.forEach(Ai)}}function ki(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function Ei(t,n,e,r){var i=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,i)for(var o=-1,a=i.length;++o<a;)Ei(i[o],n,e,r)}function Pi(t,n,e){var r=t.r+e.r,i=n.x-t.x,o=n.y-t.y;if(r&&(i||o)){var a=n.r+e.r,u=i*i+o*o;a*=a,r*=r;var s=.5+(r-a)/(2*u),l=Math.sqrt(Math.max(0,2*a*(r+u)-(r-=u)*r-a*a))/(2*u);e.x=t.x+s*i+l*o,e.y=t.y+s*o-l*i}else e.x=t.x+r,e.y=t.y}function Oi(t,n){return t.parent==n.parent?1:2}function Ti(t){var n=t.children;return n.length?n[0]:t.t}function Li(t){var n,e=t.children;return(n=e.length)?e[n-1]:t.t}function ji(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function Ni(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Ri(t,n,e){return t.a.parent===n.parent?t.a:e}function Di(t){return 1+sa.max(t,function(t){return t.y})}function Fi(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function Ii(t){var n=t.children;return n&&n.length?Ii(n[0]):t}function zi(t){var n,e=t.children;return e&&(n=e.length)?zi(e[n-1]):t}function qi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function Vi(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],o=t.dy-n[0]-n[2];return i<0&&(e+=i/2,i=0),o<0&&(r+=o/2,o=0),{x:e,y:r,dx:i,dy:o}}function Bi(t){var n=t[0],e=t[t.length-1];return n<e?[n,e]:[e,n]}function Wi(t){return t.rangeExtent?t.rangeExtent():Bi(t.range())}function Ui(t,n,e,r){var i=e(t[0],t[1]),o=r(n[0],n[1]);return function(t){return o(i(t))}}function Hi(t,n){var e,r=0,i=t.length-1,o=t[r],a=t[i];return a<o&&(e=r,r=i,i=e,e=o,o=a,a=e),t[r]=n.floor(o),t[i]=n.ceil(a),t}function Yi(t){return t?{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}:Ss}function Gi(t,n,e,r){var i=[],o=[],a=0,u=Math.min(t.length,n.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),n=n.slice().reverse());++a<=u;)i.push(e(t[a-1],t[a])),o.push(r(n[a-1],n[a]));return function(n){var e=sa.bisect(t,n,1,u)-1;return o[e](i[e](n))}}function Xi(t,n,e,r){function i(){var i=Math.min(t.length,n.length)>2?Gi:Ui,s=r?Xr:Gr;return a=i(t,n,s,e),u=i(n,t,s,$r),o}function o(t){return a(t)}var a,u;return o.invert=function(t){return u(t)},o.domain=function(n){return arguments.length?(t=n.map(Number),i()):t},o.range=function(t){return arguments.length?(n=t,i()):n},o.rangeRound=function(t){return o.range(t).interpolate(Dr)},o.clamp=function(t){return arguments.length?(r=t,i()):r},o.interpolate=function(t){return arguments.length?(e=t,i()):e},o.ticks=function(n){return Qi(t,n)},o.tickFormat=function(n,e){return to(t,n,e)},o.nice=function(n){return Ji(t,n),i()},o.copy=function(){return Xi(t,n,e,r)},i()}function Zi(t,n){return sa.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Ji(t,n){return Hi(t,Yi(Ki(t,n)[2])),Hi(t,Yi(Ki(t,n)[2])),t}function Ki(t,n){null==n&&(n=10);var e=Bi(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),o=n/r*i;return o<=.15?i*=10:o<=.35?i*=5:o<=.75&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(t,n){return sa.range.apply(sa,Ki(t,n))}function to(t,n,e){var r=Ki(t,n);if(e){var i=hu.exec(e);if(i.shift(),"s"===i[8]){var o=sa.formatPrefix(Math.max(xa(r[0]),xa(r[1])));return i[7]||(i[7]="."+no(o.scale(r[2]))),i[8]="f",e=sa.format(i.join("")),function(t){return e(o.scale(t))+o.symbol}}i[7]||(i[7]="."+eo(i[8],r)),e=i.join("")}else e=",."+no(r[2])+"f";return sa.format(e)}function no(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function eo(t,n){var e=no(n[2]);return t in _s?Math.abs(e-no(Math.max(xa(n[0]),xa(n[1]))))+ +("e"!==t):e-2*("%"===t)}function ro(t,n,e,r){function i(t){return(e?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function o(t){return e?Math.pow(n,t):-Math.pow(n,-t)}function a(n){return t(i(n))}return a.invert=function(n){return o(t.invert(n))},a.domain=function(n){return arguments.length?(e=n[0]>=0,t.domain((r=n.map(Number)).map(i)),a):r},a.base=function(e){return arguments.length?(n=+e,t.domain(r.map(i)),a):n},a.nice=function(){var n=Hi(r.map(i),e?Math:ks);return t.domain(n),r=n.map(o),a},a.ticks=function(){var t=Bi(r),a=[],u=t[0],s=t[1],l=Math.floor(i(u)),c=Math.ceil(i(s)),f=n%1?2:n;if(isFinite(c-l)){if(e){for(;l<c;l++)for(var h=1;h<f;h++)a.push(o(l)*h);a.push(o(l))}else for(a.push(o(l));l++<c;)for(var h=f-1;h>0;h--)a.push(o(l)*h);for(l=0;a[l]<u;l++);for(c=a.length;a[c-1]>s;c--);a=a.slice(l,c)}return a},a.tickFormat=function(t,e){if(!arguments.length)return Ms;arguments.length<2?e=Ms:"function"!=typeof e&&(e=sa.format(e));var r=Math.max(1,n*t/a.ticks().length);return function(t){var a=t/o(Math.round(i(t)));return a*n<n-.5&&(a*=n),a<=r?e(t):""}},a.copy=function(){return ro(t.copy(),n,e,r)},Zi(a,t)}function io(t,n,e){function r(n){return t(i(n))}var i=oo(n),o=oo(1/n);return r.invert=function(n){return o(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain((e=n.map(Number)).map(i)),r):e},r.ticks=function(t){return Qi(e,t)},r.tickFormat=function(t,n){return to(e,t,n)},r.nice=function(t){return r.domain(Ji(e,t))},r.exponent=function(a){return arguments.length?(i=oo(n=a),o=oo(1/n),t.domain(e.map(i)),r):n},r.copy=function(){return io(t.copy(),n,e)},Zi(r,t)}function oo(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function ao(t,n){function e(e){return o[((i.get(e)||("range"===n.t?i.set(e,t.push(e)):NaN))-1)%o.length]}function r(n,e){return sa.range(t.length).map(function(t){return n+e*t})}var i,o,a;return e.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var o,a=-1,u=r.length;++a<u;)i.has(o=r[a])||i.set(o,t.push(o));return e[n.t].apply(e,n.a)},e.range=function(t){return arguments.length?(o=t,a=0,n={t:"range",a:arguments},e):o},e.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=(s+l)/2,0):(l-s)/(t.length-1+u);return o=r(s+c*u/2,c),a=0,n={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=l=Math.round((s+l)/2),0):(l-s)/(t.length-1+u)|0;return o=r(s+Math.round(c*u/2+(l-s-(t.length-1+u)*c)/2),c),a=0,n={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=(f-c)/(t.length-u+2*s);return o=r(c+h*s,h),l&&o.reverse(),a=h*(1-u),n={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=Math.floor((f-c)/(t.length-u+2*s));return o=r(c+Math.round((f-c-(t.length-u)*h)/2),h),l&&o.reverse(),a=Math.round(h*(1-u)),n={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return Bi(n.a[0])},e.copy=function(){return ao(t,n)},e.domain(t)}function uo(t,n){function o(){var e=0,r=n.length;for(u=[];++e<r;)u[e-1]=sa.quantile(t,e/r);return a}function a(t){if(!isNaN(t=+t))return n[sa.bisect(u,t)]}var u;return a.domain=function(n){return arguments.length?(t=n.map(r).filter(i).sort(e),o()):t},a.range=function(t){return arguments.length?(n=t,o()):n},a.quantiles=function(){return u},a.invertExtent=function(e){return e=n.indexOf(e),e<0?[NaN,NaN]:[e>0?u[e-1]:t[0],e<u.length?u[e]:t[t.length-1]]},a.copy=function(){return uo(t,n)},o()}function so(t,n,e){function r(n){return e[Math.max(0,Math.min(a,Math.floor(o*(n-t))))]}function i(){return o=e.length/(n-t),a=e.length-1,r}var o,a;return r.domain=function(e){return arguments.length?(t=+e[0],n=+e[e.length-1],i()):[t,n]},r.range=function(t){return arguments.length?(e=t,i()):e},r.invertExtent=function(n){return n=e.indexOf(n),n=n<0?NaN:n/o+t,[n,n+1/o]},r.copy=function(){return so(t,n,e)},i()}function lo(t,n){function e(e){if(e<=e)return n[sa.bisect(t,e)]}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},e.copy=function(){return lo(t,n)},e}function co(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Qi(t,n)},n.tickFormat=function(n,e){return to(t,n,e)},n.copy=function(){return co(t)},n}function fo(){return 0}function ho(t){return t.innerRadius}function po(t){return t.outerRadius}function vo(t){return t.startAngle}function go(t){return t.endAngle}function mo(t){return t&&t.padAngle}function yo(t,n,e,r){return(t-e)*n-(n-r)*t>0?0:1}function $o(t,n,e,r,i){var o=t[0]-n[0],a=t[1]-n[1],u=(i?r:-r)/Math.sqrt(o*o+a*a),s=u*a,l=-u*o,c=t[0]+s,f=t[1]+l,h=n[0]+s,p=n[1]+l,d=(c+h)/2,v=(f+p)/2,g=h-c,m=p-f,y=g*g+m*m,$=e-r,x=c*p-h*f,b=(m<0?-1:1)*Math.sqrt(Math.max(0,$*$*y-x*x)),w=(x*m-g*b)/y,C=(-x*g-m*b)/y,S=(x*m+g*b)/y,_=(-x*g+m*b)/y,M=w-d,k=C-v,A=S-d,E=_-v;return M*M+k*k>A*A+E*E&&(w=S,C=_),[[w-s,C-l],[w*e/$,C*e/$]]}function xo(t){function n(n){function a(){l.push("M",o(t(c),u))}for(var s,l=[],c=[],f=-1,h=n.length,p=Mt(e),d=Mt(r);++f<h;)i.call(this,s=n[f],f)?c.push([+p.call(this,s,f),+d.call(this,s,f)]):c.length&&(a(),c=[]);return c.length&&a(),l.length?l.join(""):null}var e=Ee,r=Pe,i=Pn,o=bo,a=o.key,u=.7;return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n.defined=function(t){return arguments.length?(i=t,n):i},n.interpolate=function(t){return arguments.length?(a="function"==typeof t?o=t:(o=Ls.get(t)||bo).key,n):a},n.tension=function(t){return arguments.length?(u=t,n):u},n}function bo(t){return t.length>1?t.join("L"):t+"Z"}function wo(t){return t.join("L")+"Z"}function Co(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r[0]+(r=t[n])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function So(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("V",(r=t[n])[1],"H",r[0]);return i.join("")}function _o(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r=t[n])[0],"V",r[1]);return i.join("")}function Mo(t,n){return t.length<4?bo(t):t[1]+Eo(t.slice(1,-1),Po(t,n))}function ko(t,n){return t.length<3?wo(t):t[0]+Eo((t.push(t[0]),t),Po([t[t.length-2]].concat(t,[t[1]]),n))}function Ao(t,n){return t.length<3?bo(t):t[0]+Eo(t,Po(t,n))}function Eo(t,n){if(n.length<1||t.length!=n.length&&t.length!=n.length+2)return bo(t);var e=t.length!=n.length,r="",i=t[0],o=t[1],a=n[0],u=a,s=1;if(e&&(r+="Q"+(o[0]-2*a[0]/3)+","+(o[1]-2*a[1]/3)+","+o[0]+","+o[1],i=t[1],s=2),n.length>1){u=n[1],o=t[s],s++,r+="C"+(i[0]+a[0])+","+(i[1]+a[1])+","+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1];for(var l=2;l<n.length;l++,s++)o=t[s],u=n[l],r+="S"+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1]}if(e){var c=t[s];r+="Q"+(o[0]+2*u[0]/3)+","+(o[1]+2*u[1]/3)+","+c[0]+","+c[1]}return r}function Po(t,n){for(var e,r=[],i=(1-n)/2,o=t[0],a=t[1],u=1,s=t.length;++u<s;)e=o,o=a,a=t[u],r.push([i*(a[0]-e[0]),i*(a[1]-e[1])]);return r}function Oo(t){if(t.length<3)return bo(t);var n=1,e=t.length,r=t[0],i=r[0],o=r[1],a=[i,i,i,(r=t[1])[0]],u=[o,o,o,r[1]],s=[i,",",o,"L",No(Rs,a),",",No(Rs,u)];for(t.push(t[e-1]);++n<=e;)r=t[n],a.shift(),a.push(r[0]),u.shift(),u.push(r[1]),Ro(s,a,u);return t.pop(),s.push("L",r),s.join("")}function To(t){if(t.length<4)return bo(t);for(var n,e=[],r=-1,i=t.length,o=[0],a=[0];++r<3;)n=t[r],o.push(n[0]),a.push(n[1]);for(e.push(No(Rs,o)+","+No(Rs,a)),--r;++r<i;)n=t[r],o.shift(),o.push(n[0]),a.shift(),a.push(n[1]),Ro(e,o,a);return e.join("")}function Lo(t){for(var n,e,r=-1,i=t.length,o=i+4,a=[],u=[];++r<4;)e=t[r%i],a.push(e[0]),u.push(e[1]);for(n=[No(Rs,a),",",No(Rs,u)],--r;++r<o;)e=t[r%i],a.shift(),a.push(e[0]),u.shift(),u.push(e[1]),Ro(n,a,u);return n.join("")}function jo(t,n){var e=t.length-1;if(e)for(var r,i,o=t[0][0],a=t[0][1],u=t[e][0]-o,s=t[e][1]-a,l=-1;++l<=e;)r=t[l],i=l/e,r[0]=n*r[0]+(1-n)*(o+i*u),r[1]=n*r[1]+(1-n)*(a+i*s);return Oo(t)}function No(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function Ro(t,n,e){t.push("C",No(js,n),",",No(js,e),",",No(Ns,n),",",No(Ns,e),",",No(Rs,n),",",No(Rs,e))}function Do(t,n){return(n[1]-t[1])/(n[0]-t[0])}function Fo(t){for(var n=0,e=t.length-1,r=[],i=t[0],o=t[1],a=r[0]=Do(i,o);++n<e;)r[n]=(a+(a=Do(i=o,o=t[n+1])))/2;return r[n]=a,r}function Io(t){for(var n,e,r,i,o=[],a=Fo(t),u=-1,s=t.length-1;++u<s;)n=Do(t[u],t[u+1]),xa(n)<Da?a[u]=a[u+1]=0:(e=a[u]/n,r=a[u+1]/n,i=e*e+r*r,i>9&&(i=3*n/Math.sqrt(i),a[u]=i*e,a[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+a[u]*a[u])),o.push([i||0,a[u]*i||0]);return o}function zo(t){return t.length<3?bo(t):t[0]+Eo(t,Io(t))}function qo(t){for(var n,e,r,i=-1,o=t.length;++i<o;)n=t[i],e=n[0],r=n[1]-Va,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function Vo(t){function n(n){function s(){v.push("M",u(t(m),f),c,l(t(g.reverse()),f),"Z")}for(var h,p,d,v=[],g=[],m=[],y=-1,$=n.length,x=Mt(e),b=Mt(i),w=e===r?function(){return p}:Mt(r),C=i===o?function(){return d}:Mt(o);++y<$;)a.call(this,h=n[y],y)?(g.push([p=+x.call(this,h,y),d=+b.call(this,h,y)]),m.push([+w.call(this,h,y),+C.call(this,h,y)])):g.length&&(s(),g=[],m=[]);return g.length&&s(),v.length?v.join(""):null}var e=Ee,r=Ee,i=0,o=Pe,a=Pn,u=bo,s=u.key,l=u,c="L",f=.7;return n.x=function(t){return arguments.length?(e=r=t,n):r},n.x0=function(t){return arguments.length?(e=t,n):e},n.x1=function(t){return arguments.length?(r=t,n):r},n.y=function(t){return arguments.length?(i=o=t,n):o},n.y0=function(t){return arguments.length?(i=t,n):i},n.y1=function(t){return arguments.length?(o=t,n):o},n.defined=function(t){return arguments.length?(a=t,n):a},n.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=Ls.get(t)||bo).key,l=u.reverse||u,c=u.closed?"M":"L",n):s},n.tension=function(t){return arguments.length?(f=t,n):f},n}function Bo(t){return t.radius}function Wo(t){return[t.x,t.y]}function Uo(t){return function(){var n=t.apply(this,arguments),e=n[0],r=n[1]-Va;return[e*Math.cos(r),e*Math.sin(r)]}}function Ho(){return 64}function Yo(){return"circle"}function Go(t){var n=Math.sqrt(t/Ia);return"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z"}function Xo(t){return function(){var n,e,r;(n=this[t])&&(r=n[e=n.active])&&(r.timer.c=null,r.timer.t=NaN,--n.count?delete n[e]:delete this[t],n.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Zo(t,n,e){return _a(t,Bs),t.namespace=n,t.id=e,t}function Jo(t,n,e,r){var i=t.id,o=t.namespace;return B(t,"function"==typeof e?function(t,a,u){t[o][i].tween.set(n,r(e.call(t,t.__data__,a,u)))}:(e=r(e),function(t){t[o][i].tween.set(n,e)}))}function Ko(t){return null==t&&(t=""),function(){this.textContent=t}}function Qo(t){return null==t?"__transition__":"__transition_"+t+"__"}function ta(t,n,e,r,i){function o(t){var n=v.delay;return c.t=n+s,n<=t?a(t-n):void(c.c=a)}function a(e){var i=d.active,o=d[i];o&&(o.timer.c=null,o.timer.t=NaN,--d.count,delete d[i],o.event&&o.event.interrupt.call(t,t.__data__,o.index));for(var a in d)if(+a<r){var l=d[a];l.timer.c=null,l.timer.t=NaN,--d.count,delete d[a]}c.c=u,Ot(function(){return c.c&&u(e||1)&&(c.c=null,c.t=NaN),1},0,s),d.active=r,v.event&&v.event.start.call(t,t.__data__,n),p=[],v.tween.forEach(function(e,r){(r=r.call(t,t.__data__,n))&&p.push(r)}),h=v.ease,f=v.duration}function u(i){for(var o=i/f,a=h(o),u=p.length;u>0;)p[--u].call(t,a);if(o>=1)return v.event&&v.event.end.call(t,t.__data__,n),--d.count?delete d[r]:delete t[e],1}var s,c,f,h,p,d=t[e]||(t[e]={active:0,count:0}),v=d[r];v||(s=i.time,c=Ot(o,0,s),v=d[r]={tween:new l,time:s,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:n},i=null,++d.count)}function na(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate("+(isFinite(r)?r:e(t))+",0)"})}function ea(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate(0,"+(isFinite(r)?r:e(t))+")"})}function ra(t){return t.toISOString()}function ia(t,n,e){function r(n){return t(n)}function i(t,e){var r=t[1]-t[0],i=r/e,o=sa.bisect(Ks,i);return o==Ks.length?[n.year,Ki(t.map(function(t){return t/31536e6}),e)[2]]:o?n[i/Ks[o-1]<Ks[o]/i?o-1:o]:[nl,Ki(t,e)[2]]}return r.invert=function(n){return oa(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain(n),r):t.domain().map(oa)},r.nice=function(t,n){function e(e){return!isNaN(e)&&!t.range(e,oa(+e+1),n).length}var o=r.domain(),a=Bi(o),u=null==t?i(a,10):"number"==typeof t&&i(a,t);return u&&(t=u[0],n=u[1]),r.domain(Hi(o,n>1?{floor:function(n){for(;e(n=t.floor(n));)n=oa(n-1);return n},ceil:function(n){for(;e(n=t.ceil(n));)n=oa(+n+1);return n}}:t))},r.ticks=function(t,n){var e=Bi(r.domain()),o=null==t?i(e,10):"number"==typeof t?i(e,t):!t.range&&[{range:t},n];return o&&(t=o[0],n=o[1]),t.range(e[0],oa(+e[1]+1),n<1?1:n)},r.tickFormat=function(){return e},r.copy=function(){return ia(t.copy(),n,e)},Zi(r,t)}function oa(t){return new Date(t)}function aa(t){return JSON.parse(t.responseText)}function ua(t){var n=fa.createRange();return n.selectNode(fa.body),n.createContextualFragment(t.responseText)}var sa={version:"3.5.17"},la=[].slice,ca=function(t){return la.call(t)},fa=this.document;if(fa)try{ca(fa.documentElement.childNodes)[0].nodeType}catch(ha){ca=function(t){for(var n=t.length,e=new Array(n);n--;)e[n]=t[n];return e}}if(Date.now||(Date.now=function(){return+new Date}),fa)try{fa.createElement("DIV").style.setProperty("opacity",0,"")}catch(pa){var da=this.Element.prototype,va=da.setAttribute,ga=da.setAttributeNS,ma=this.CSSStyleDeclaration.prototype,ya=ma.setProperty;da.setAttribute=function(t,n){va.call(this,t,n+"")},da.setAttributeNS=function(t,n,e){ga.call(this,t,n,e+"")},ma.setProperty=function(t,n,e){ya.call(this,t,n+"",e)}}sa.ascending=e,sa.descending=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},sa.min=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&e>r&&(e=r)}return e},sa.max=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&r>e&&(e=r)}return e},sa.extent=function(t,n){var e,r,i,o=-1,a=t.length;if(1===arguments.length){for(;++o<a;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=t[o])&&(e>r&&(e=r),i<r&&(i=r))}else{for(;++o<a;)if(null!=(r=n.call(t,t[o],o))&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=n.call(t,t[o],o))&&(e>r&&(e=r),i<r&&(i=r))}return[e,i]},sa.sum=function(t,n){var e,r=0,o=t.length,a=-1;if(1===arguments.length)for(;++a<o;)i(e=+t[a])&&(r+=e);else for(;++a<o;)i(e=+n.call(t,t[a],a))&&(r+=e);return r},sa.mean=function(t,n){var e,o=0,a=t.length,u=-1,s=a;if(1===arguments.length)for(;++u<a;)i(e=r(t[u]))?o+=e:--s;else for(;++u<a;)i(e=r(n.call(t,t[u],u)))?o+=e:--s;if(s)return o/s},sa.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),i=+t[r-1],o=e-r;
-return o?i+o*(t[r]-i):i},sa.median=function(t,n){var o,a=[],u=t.length,s=-1;if(1===arguments.length)for(;++s<u;)i(o=r(t[s]))&&a.push(o);else for(;++s<u;)i(o=r(n.call(t,t[s],s)))&&a.push(o);if(a.length)return sa.quantile(a.sort(e),.5)},sa.variance=function(t,n){var e,o,a=t.length,u=0,s=0,l=-1,c=0;if(1===arguments.length)for(;++l<a;)i(e=r(t[l]))&&(o=e-u,u+=o/++c,s+=o*(e-u));else for(;++l<a;)i(e=r(n.call(t,t[l],l)))&&(o=e-u,u+=o/++c,s+=o*(e-u));if(c>1)return s/(c-1)},sa.deviation=function(){var t=sa.variance.apply(this,arguments);return t?Math.sqrt(t):t};var $a=o(e);sa.bisectLeft=$a.left,sa.bisect=sa.bisectRight=$a.right,sa.bisector=function(t){return o(1===t.length?function(n,r){return e(t(n),r)}:t)},sa.shuffle=function(t,n,e){(o=arguments.length)<3&&(e=t.length,o<2&&(n=0));for(var r,i,o=e-n;o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},sa.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},sa.pairs=function(t){for(var n,e=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);e<r;)o[e]=[n=i,i=t[++e]];return o},sa.transpose=function(t){if(!(i=t.length))return[];for(var n=-1,e=sa.min(t,a),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r},sa.zip=function(){return sa.transpose(arguments)},sa.keys=function(t){var n=[];for(var e in t)n.push(e);return n},sa.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},sa.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},sa.merge=function(t){for(var n,e,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(e=new Array(a);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--a]=r[n];return e};var xa=Math.abs;sa.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e===1/0)throw new Error("infinite range");var r,i=[],o=u(xa(e)),a=-1;if(t*=o,n*=o,e*=o,e<0)for(;(r=t+e*++a)>n;)i.push(r/o);else for(;(r=t+e*++a)<n;)i.push(r/o);return i},sa.map=function(t,n){var e=new l;if(t instanceof l)t.forEach(function(t,n){e.set(t,n)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(1===arguments.length)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n.call(t,r=t[i],i),r)}else for(var a in t)e.set(a,t[a]);return e};var ba="__proto__",wa="\0";s(l,{has:h,get:function(t){return this._[c(t)]},set:function(t,n){return this._[c(t)]=n},remove:p,keys:d,values:function(){var t=[];for(var n in this._)t.push(this._[n]);return t},entries:function(){var t=[];for(var n in this._)t.push({key:f(n),value:this._[n]});return t},size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n),this._[n])}}),sa.nest=function(){function t(n,a,u){if(u>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,c,f,h,p=-1,d=a.length,v=o[u++],g=new l;++p<d;)(h=g.get(s=v(c=a[p])))?h.push(c):g.set(s,[c]);return n?(c=n(),f=function(e,r){c.set(e,t(n,r,u))}):(c={},f=function(e,r){c[e]=t(n,r,u)}),g.forEach(f),c}function n(t,e){if(e>=o.length)return t;var r=[],i=a[e++];return t.forEach(function(t,i){r.push({key:t,values:n(i,e)})}),i?r.sort(function(t,n){return i(t.key,n.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(n,e){return t(e,n,0)},i.entries=function(e){return n(t(sa.map,e,0),0)},i.key=function(t){return o.push(t),i},i.sortKeys=function(t){return a[o.length-1]=t,i},i.sortValues=function(t){return e=t,i},i.rollup=function(t){return r=t,i},i},sa.set=function(t){var n=new m;if(t)for(var e=0,r=t.length;e<r;++e)n.add(t[e]);return n},s(m,{has:h,add:function(t){return this._[c(t+="")]=!0,t},remove:p,values:d,size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n))}}),sa.behavior={},sa.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r<i;)t[e=arguments[r]]=$(t,n,n[e]);return t};var Ca=["webkit","ms","moz","Moz","o","O"];sa.dispatch=function(){for(var t=new w,n=-1,e=arguments.length;++n<e;)t[arguments[n]]=C(t);return t},w.prototype.on=function(t,n){var e=t.indexOf("."),r="";if(e>=0&&(r=t.slice(e+1),t=t.slice(0,e)),t)return arguments.length<2?this[t].on(r):this[t].on(r,n);if(2===arguments.length){if(null==n)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},sa.event=null,sa.requote=function(t){return t.replace(Sa,"\\$&")};var Sa=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,_a={}.__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]},Ma=function(t,n){return n.querySelector(t)},ka=function(t,n){return n.querySelectorAll(t)},Aa=function(t,n){var e=t.matches||t[x(t,"matchesSelector")];return(Aa=function(t,n){return e.call(t,n)})(t,n)};"function"==typeof Sizzle&&(Ma=function(t,n){return Sizzle(t,n)[0]||null},ka=Sizzle,Aa=Sizzle.matchesSelector),sa.selection=function(){return sa.select(fa.documentElement)};var Ea=sa.selection.prototype=[];Ea.select=function(t){var n,e,r,i,o=[];t=A(t);for(var a=-1,u=this.length;++a<u;){o.push(n=[]),n.parentNode=(r=this[a]).parentNode;for(var s=-1,l=r.length;++s<l;)(i=r[s])?(n.push(e=t.call(i,i.__data__,s,a)),e&&"__data__"in i&&(e.__data__=i.__data__)):n.push(null)}return k(o)},Ea.selectAll=function(t){var n,e,r=[];t=E(t);for(var i=-1,o=this.length;++i<o;)for(var a=this[i],u=-1,s=a.length;++u<s;)(e=a[u])&&(r.push(n=ca(t.call(e,e.__data__,u,i))),n.parentNode=e);return k(r)};var Pa="http://www.w3.org/1999/xhtml",Oa={svg:"http://www.w3.org/2000/svg",xhtml:Pa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};sa.ns={prefix:Oa,qualify:function(t){var n=t.indexOf(":"),e=t;return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Oa.hasOwnProperty(e)?{space:Oa[e],local:t}:t}},Ea.attr=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node();return t=sa.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(P(n,t[n]));return this}return this.each(P(t,n))},Ea.classed=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node(),r=(t=L(t)).length,i=-1;if(n=e.classList){for(;++i<r;)if(!n.contains(t[i]))return!1}else for(n=e.getAttribute("class");++i<r;)if(!T(t[i]).test(n))return!1;return!0}for(n in t)this.each(j(n,t[n]));return this}return this.each(j(t,n))},Ea.style=function(t,e,r){var i=arguments.length;if(i<3){if("string"!=typeof t){i<2&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(i<2){var o=this.node();return n(o).getComputedStyle(o,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},Ea.property=function(t,n){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(n in t)this.each(D(n,t[n]));return this}return this.each(D(t,n))},Ea.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Ea.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Ea.append=function(t){return t=F(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Ea.insert=function(t,n){return t=F(t),n=A(n),this.select(function(){return this.insertBefore(t.apply(this,arguments),n.apply(this,arguments)||null)})},Ea.remove=function(){return this.each(I)},Ea.data=function(t,n){function e(t,e){var r,i,o,a=t.length,f=e.length,h=Math.min(a,f),p=new Array(f),d=new Array(f),v=new Array(a);if(n){var g,m=new l,y=new Array(a);for(r=-1;++r<a;)(i=t[r])&&(m.has(g=n.call(i,i.__data__,r))?v[r]=i:m.set(g,i),y[r]=g);for(r=-1;++r<f;)(i=m.get(g=n.call(e,o=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=o):d[r]=z(o),m.set(g,!0);for(r=-1;++r<a;)r in y&&m.get(y[r])!==!0&&(v[r]=t[r])}else{for(r=-1;++r<h;)i=t[r],o=e[r],i?(i.__data__=o,p[r]=i):d[r]=z(o);for(;r<f;++r)d[r]=z(e[r]);for(;r<a;++r)v[r]=t[r]}d.update=p,d.parentNode=p.parentNode=v.parentNode=t.parentNode,u.push(d),s.push(p),c.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(t[o]=i.__data__);return t}var u=W([]),s=k([]),c=k([]);if("function"==typeof t)for(;++o<a;)e(r=this[o],t.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],t);return s.enter=function(){return u},s.exit=function(){return c},s},Ea.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Ea.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;o<a;o++){i.push(n=[]),n.parentNode=(e=this[o]).parentNode;for(var u=0,s=e.length;u<s;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return k(i)},Ea.order=function(){for(var t=-1,n=this.length;++t<n;)for(var e,r=this[t],i=r.length-1,o=r[i];--i>=0;)(e=r[i])&&(o&&o!==e.nextSibling&&o.parentNode.insertBefore(e,o),o=e);return this},Ea.sort=function(t){t=V.apply(this,arguments);for(var n=-1,e=this.length;++n<e;)this[n].sort(t);return this.order()},Ea.each=function(t){return B(this,function(n,e,r){t.call(n,n.__data__,e,r)})},Ea.call=function(t){var n=ca(arguments);return t.apply(n[0]=this,n),this},Ea.empty=function(){return!this.node()},Ea.node=function(){for(var t=0,n=this.length;t<n;t++)for(var e=this[t],r=0,i=e.length;r<i;r++){var o=e[r];if(o)return o}return null},Ea.size=function(){var t=0;return B(this,function(){++t}),t};var Ta=[];sa.selection.enter=W,sa.selection.enter.prototype=Ta,Ta.append=Ea.append,Ta.empty=Ea.empty,Ta.node=Ea.node,Ta.call=Ea.call,Ta.size=Ea.size,Ta.select=function(t){for(var n,e,r,i,o,a=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,a.push(n=[]),n.parentNode=i.parentNode;for(var l=-1,c=i.length;++l<c;)(o=i[l])?(n.push(r[l]=e=t.call(i.parentNode,o.__data__,l,u)),e.__data__=o.__data__):n.push(null)}return k(a)},Ta.insert=function(t,n){return arguments.length<2&&(n=U(this)),Ea.insert.call(this,t,n)},sa.select=function(n){var e;return"string"==typeof n?(e=[Ma(n,fa)],e.parentNode=fa.documentElement):(e=[n],e.parentNode=t(n)),k([e])},sa.selectAll=function(t){var n;return"string"==typeof t?(n=ca(ka(t,fa)),n.parentNode=fa.documentElement):(n=ca(t),n.parentNode=null),k([n])},Ea.on=function(t,n,e){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(n=!1);for(e in t)this.each(H(e,t[e],n));return this}if(r<2)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(H(t,n,e))};var La=sa.map({mouseenter:"mouseover",mouseleave:"mouseout"});fa&&La.forEach(function(t){"on"+t in fa&&La.remove(t)});var ja,Na=0;sa.mouse=function(t){return Z(t,_())};var Ra=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;sa.touch=function(t,n,e){if(arguments.length<3&&(e=n,n=_().changedTouches),n)for(var r,i=0,o=n.length;i<o;++i)if((r=n[i]).identifier===e)return Z(t,r)},sa.behavior.drag=function(){function t(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function e(t,n,e,o,a){return function(){function u(){var t,e,r=n(h,v);r&&(t=r[0]-$[0],e=r[1]-$[1],d|=t|e,$=r,p({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function s(){n(h,v)&&(m.on(o+g,null).on(a+g,null),y(d),p({type:"dragend"}))}var l,c=this,f=sa.event.target.correspondingElement||sa.event.target,h=c.parentNode,p=r.of(c,arguments),d=0,v=t(),g=".drag"+(null==v?"":"-"+v),m=sa.select(e(f)).on(o+g,u).on(a+g,s),y=X(f),$=n(h,v);i?(l=i.apply(c,arguments),l=[l.x-$[0],l.y-$[1]]):l=[0,0],p({type:"dragstart"})}}var r=M(t,"drag","dragstart","dragend"),i=null,o=e(b,sa.mouse,n,"mousemove","mouseup"),a=e(J,sa.touch,y,"touchmove","touchend");return t.origin=function(n){return arguments.length?(i=n,t):i},sa.rebind(t,r,"on")},sa.touches=function(t,n){return arguments.length<2&&(n=_().touches),n?ca(n).map(function(n){var e=Z(t,n);return e.identifier=n.identifier,e}):[]};var Da=1e-6,Fa=Da*Da,Ia=Math.PI,za=2*Ia,qa=za-Da,Va=Ia/2,Ba=Ia/180,Wa=180/Ia,Ua=Math.SQRT2,Ha=2,Ya=4;sa.interpolateZoom=function(t,n){var e,r,i=t[0],o=t[1],a=t[2],u=n[0],s=n[1],l=n[2],c=u-i,f=s-o,h=c*c+f*f;if(h<Fa)r=Math.log(l/a)/Ua,e=function(t){return[i+t*c,o+t*f,a*Math.exp(Ua*t*r)]};else{var p=Math.sqrt(h),d=(l*l-a*a+Ya*h)/(2*a*Ha*p),v=(l*l-a*a-Ya*h)/(2*l*Ha*p),g=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(v*v+1)-v);r=(m-g)/Ua,e=function(t){var n=t*r,e=rt(g),u=a/(Ha*p)*(e*it(Ua*n+g)-et(g));return[i+u*c,o+u*f,a*e/rt(Ua*n+g)]}}return e.duration=1e3*r,e},sa.behavior.zoom=function(){function t(t){t.on(O,f).on(Xa+".zoom",p).on("dblclick.zoom",d).on(j,h)}function e(t){return[(t[0]-_.x)/_.k,(t[1]-_.y)/_.k]}function r(t){return[t[0]*_.k+_.x,t[1]*_.k+_.y]}function i(t){_.k=Math.max(A[0],Math.min(A[1],t))}function o(t,n){n=r(n),_.x+=t[0]-n[0],_.y+=t[1]-n[1]}function a(n,e,r,a){n.__chart__={x:_.x,y:_.y,k:_.k},i(Math.pow(2,a)),o(g=e,r),n=sa.select(n),E>0&&(n=n.transition().duration(E)),n.call(t.event)}function u(){b&&b.domain(x.range().map(function(t){return(t-_.x)/_.k}).map(x.invert)),C&&C.domain(w.range().map(function(t){return(t-_.y)/_.k}).map(w.invert))}function s(t){P++||t({type:"zoomstart"})}function l(t){u(),t({type:"zoom",scale:_.k,translate:[_.x,_.y]})}function c(t){--P||(t({type:"zoomend"}),g=null)}function f(){function t(){u=1,o(sa.mouse(i),h),l(a)}function r(){f.on(T,null).on(L,null),p(u),c(a)}var i=this,a=N.of(i,arguments),u=0,f=sa.select(n(i)).on(T,t).on(L,r),h=e(sa.mouse(i)),p=X(i);Vs.call(i),s(a)}function h(){function t(){var t=sa.touches(d);return p=_.k,t.forEach(function(t){t.identifier in g&&(g[t.identifier]=e(t))}),t}function n(){var n=sa.event.target;sa.select(n).on(x,r).on(b,u),w.push(n);for(var e=sa.event.changedTouches,i=0,o=e.length;i<o;++i)g[e[i].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-$<500){var c=s[0];a(d,c,g[c.identifier],Math.floor(Math.log(_.k)/Math.LN2)+1),S()}$=l}else if(s.length>1){var c=s[0],f=s[1],h=c[0]-f[0],p=c[1]-f[1];m=h*h+p*p}}function r(){var t,n,e,r,a=sa.touches(d);Vs.call(d);for(var u=0,s=a.length;u<s;++u,r=null)if(e=a[u],r=g[e.identifier]){if(n)break;t=e,n=r}if(r){var c=(c=e[0]-t[0])*c+(c=e[1]-t[1])*c,f=m&&Math.sqrt(c/m);t=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=[(n[0]+r[0])/2,(n[1]+r[1])/2],i(f*p)}$=null,o(t,n),l(v)}function u(){if(sa.event.touches.length){for(var n=sa.event.changedTouches,e=0,r=n.length;e<r;++e)delete g[n[e].identifier];for(var i in g)return void t()}sa.selectAll(w).on(y,null),C.on(O,f).on(j,h),M(),c(v)}var p,d=this,v=N.of(d,arguments),g={},m=0,y=".zoom-"+sa.event.changedTouches[0].identifier,x="touchmove"+y,b="touchend"+y,w=[],C=sa.select(d),M=X(d);n(),s(v),C.on(O,null).on(j,n)}function p(){var t=N.of(this,arguments);y?clearTimeout(y):(Vs.call(this),v=e(g=m||sa.mouse(this)),s(t)),y=setTimeout(function(){y=null,c(t)},50),S(),i(Math.pow(2,.002*Ga())*_.k),o(g,v),l(t)}function d(){var t=sa.mouse(this),n=Math.log(_.k)/Math.LN2;a(this,t,e(t),sa.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var v,g,m,y,$,x,b,w,C,_={x:0,y:0,k:1},k=[960,500],A=Za,E=250,P=0,O="mousedown.zoom",T="mousemove.zoom",L="mouseup.zoom",j="touchstart.zoom",N=M(t,"zoomstart","zoom","zoomend");return Xa||(Xa="onwheel"in fa?(Ga=function(){return-sa.event.deltaY*(sa.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fa?(Ga=function(){return sa.event.wheelDelta},"mousewheel"):(Ga=function(){return-sa.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=N.of(this,arguments),n=_;zs?sa.select(this).transition().each("start.zoom",function(){_=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],i=g?g[0]:e/2,o=g?g[1]:r/2,a=sa.interpolateZoom([(i-_.x)/_.k,(o-_.y)/_.k,e/_.k],[(i-n.x)/n.k,(o-n.y)/n.k,e/n.k]);return function(n){var r=a(n),u=e/r[2];this.__chart__=_={x:i-r[0]*u,y:o-r[1]*u,k:u},l(t)}}).each("interrupt.zoom",function(){c(t)}).each("end.zoom",function(){c(t)}):(this.__chart__=_,s(t),l(t),c(t))})},t.translate=function(n){return arguments.length?(_={x:+n[0],y:+n[1],k:_.k},u(),t):[_.x,_.y]},t.scale=function(n){return arguments.length?(_={x:_.x,y:_.y,k:null},i(+n),u(),t):_.k},t.scaleExtent=function(n){return arguments.length?(A=null==n?Za:[+n[0],+n[1]],t):A},t.center=function(n){return arguments.length?(m=n&&[+n[0],+n[1]],t):m},t.size=function(n){return arguments.length?(k=n&&[+n[0],+n[1]],t):k},t.duration=function(n){return arguments.length?(E=+n,t):E},t.x=function(n){return arguments.length?(b=n,x=n.copy(),_={x:0,y:0,k:1},t):b},t.y=function(n){return arguments.length?(C=n,w=n.copy(),_={x:0,y:0,k:1},t):C},sa.rebind(t,N,"on")};var Ga,Xa,Za=[0,1/0];sa.color=at,at.prototype.toString=function(){return this.rgb()+""},sa.hsl=ut;var Ja=ut.prototype=new at;Ja.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Ja.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Ja.rgb=function(){return st(this.h,this.s,this.l)},sa.hcl=lt;var Ka=lt.prototype=new at;Ka.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Qa*(arguments.length?t:1)))},Ka.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Qa*(arguments.length?t:1)))},Ka.rgb=function(){return ct(this.h,this.c,this.l).rgb()},sa.lab=ft;var Qa=18,tu=.95047,nu=1,eu=1.08883,ru=ft.prototype=new at;ru.brighter=function(t){return new ft(Math.min(100,this.l+Qa*(arguments.length?t:1)),this.a,this.b)},ru.darker=function(t){return new ft(Math.max(0,this.l-Qa*(arguments.length?t:1)),this.a,this.b)},ru.rgb=function(){return ht(this.l,this.a,this.b)},sa.rgb=mt;var iu=mt.prototype=new at;iu.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,i=30;return n||e||r?(n&&n<i&&(n=i),e&&e<i&&(e=i),r&&r<i&&(r=i),new mt(Math.min(255,n/t),Math.min(255,e/t),Math.min(255,r/t))):new mt(i,i,i)},iu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new mt(t*this.r,t*this.g,t*this.b)},iu.hsl=function(){return wt(this.r,this.g,this.b)},iu.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var ou=sa.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ou.forEach(function(t,n){ou.set(t,yt(n))}),sa.functor=Mt,sa.xhr=kt(y),sa.dsv=function(t,n){function e(t,e,o){arguments.length<3&&(o=e,e=null);var a=At(t,n,null==e?r:i(e),o);return a.row=function(t){return arguments.length?a.response(null==(e=t)?r:i(t)):e},a}function r(t){return e.parse(t.responseText)}function i(t){return function(n){return e.parse(n.responseText,t)}}function o(n){return n.map(a).join(t)}function a(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return e.parse=function(t,n){var r;return e.parseRows(t,function(t,e){if(r)return r(t,e-1);var i=new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}");r=n?function(t,e){return n(i(t),e)}:i})},e.parseRows=function(t,n){function e(){if(c>=l)return a;if(i)return i=!1,o;var n=c;if(34===t.charCodeAt(n)){for(var e=n;e++<l;)if(34===t.charCodeAt(e)){if(34!==t.charCodeAt(e+1))break;++e}c=e+2;var r=t.charCodeAt(e+1);return 13===r?(i=!0,10===t.charCodeAt(e+2)&&++c):10===r&&(i=!0),t.slice(n+1,e).replace(/""/g,'"')}for(;c<l;){var r=t.charCodeAt(c++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(r!==s)continue;return t.slice(n,c-u)}return t.slice(n)}for(var r,i,o={},a={},u=[],l=t.length,c=0,f=0;(r=e())!==a;){for(var h=[];r!==o&&r!==a;)h.push(r),r=e();n&&null==(h=n(h,f++))||u.push(h)}return u},e.format=function(n){if(Array.isArray(n[0]))return e.formatRows(n);var r=new m,i=[];return n.forEach(function(t){for(var n in t)r.has(n)||i.push(r.add(n))}),[i.map(a).join(t)].concat(n.map(function(n){return i.map(function(t){return a(n[t])}).join(t)})).join("\n")},e.formatRows=function(t){return t.map(o).join("\n")},e},sa.csv=sa.dsv(",","text/csv"),sa.tsv=sa.dsv("\t","text/tab-separated-values");var au,uu,su,lu,cu=this[x(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};sa.timer=function(){Ot.apply(this,arguments)},sa.timer.flush=function(){Lt(),jt()},sa.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)};var fu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);sa.formatPrefix=function(t,n){var e=0;return(t=+t)&&(t<0&&(t*=-1),n&&(t=sa.round(t,Nt(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),fu[8+e/3]};var hu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pu=sa.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=sa.round(t,Nt(t,n))).toFixed(Math.max(0,Math.min(20,Nt(t*(1+1e-15),n))))}}),du=sa.time={},vu=Date;It.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gu.setUTCDate.apply(this._,arguments)},setDay:function(){gu.setUTCDay.apply(this._,arguments)},setFullYear:function(){gu.setUTCFullYear.apply(this._,arguments)},setHours:function(){gu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gu.setUTCSeconds.apply(this._,arguments)},setTime:function(){gu.setTime.apply(this._,arguments)}};var gu=Date.prototype;du.year=zt(function(t){return t=du.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),du.years=du.year.range,du.years.utc=du.year.utc.range,du.day=zt(function(t){var n=new vu(2e3,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),du.days=du.day.range,du.days.utc=du.day.utc.range,du.dayOfYear=function(t){var n=du.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,n){n=7-n;var e=du[t]=zt(function(t){return(t=du.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});du[t+"s"]=e.range,du[t+"s"].utc=e.utc.range,du[t+"OfYear"]=function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)}}),du.week=du.sunday,du.weeks=du.sunday.range,du.weeks.utc=du.sunday.utc.range,du.weekOfYear=du.sundayOfYear;var mu={"-":"",_:" ",0:"0"},yu=/^\s*\d+/,$u=/^%/;sa.locale=function(t){return{numberFormat:Dt(t),timeFormat:Vt(t)}};var xu=sa.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});sa.format=xu.numberFormat,sa.geo={},cn.prototype={s:0,t:0,add:function(t){fn(t,this.t,bu),fn(bu.s,this.s,this),this.s?this.t+=bu.t:this.s=bu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var bu=new cn;sa.geo.stream=function(t,n){t&&wu.hasOwnProperty(t.type)?wu[t.type](t,n):hn(t,n)};var wu={Feature:function(t,n){hn(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)hn(e[r].geometry,n)}},Cu={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){pn(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)pn(e[r],n,0)},Polygon:function(t,n){dn(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)dn(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)hn(e[r],n)}};sa.geo.area=function(t){return Su=0,sa.geo.stream(t,Mu),Su};var Su,_u=new cn,Mu={sphere:function(){Su+=4*Ia},point:b,lineStart:b,lineEnd:b,polygonStart:function(){_u.reset(),Mu.lineStart=vn},polygonEnd:function(){var t=2*_u;Su+=t<0?4*Ia+t:t,Mu.lineStart=Mu.lineEnd=Mu.point=b}};sa.geo.bounds=function(){function t(t,n){$.push(x=[c=t,h=t]),n<f&&(f=n),n>p&&(p=n)}function n(n,e){var r=gn([n*Ba,e*Ba]);if(m){var i=yn(m,r),o=[i[1],-i[0],0],a=yn(o,i);bn(a),a=wn(a);var s=n-d,l=s>0?1:-1,v=a[0]*Wa*l,g=xa(s)>180;if(g^(l*d<v&&v<l*n)){var y=a[1]*Wa;y>p&&(p=y)}else if(v=(v+360)%360-180,g^(l*d<v&&v<l*n)){var y=-a[1]*Wa;y<f&&(f=y)}else e<f&&(f=e),e>p&&(p=e);g?n<d?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n):h>=c?(n<c&&(c=n),n>h&&(h=n)):n>d?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n)}else t(n,e);m=r,d=n}function e(){b.point=n}function r(){x[0]=c,x[1]=h,b.point=t,m=null}function i(t,e){if(m){var r=t-d;y+=xa(r)>180?r+(r>0?360:-360):r}else v=t,g=e;Mu.point(t,e),n(t,e)}function o(){Mu.lineStart()}function a(){i(v,g),Mu.lineEnd(),xa(y)>Da&&(c=-(h=180)),x[0]=c,x[1]=h,m=null}function u(t,n){return(n-=t)<0?n+360:n}function s(t,n){return t[0]-n[0]}function l(t,n){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:t<n[0]||n[1]<t}var c,f,h,p,d,v,g,m,y,$,x,b={point:t,lineStart:e,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=o,b.lineEnd=a,y=0,Mu.polygonStart()},polygonEnd:function(){Mu.polygonEnd(),b.point=t,b.lineStart=e,b.lineEnd=r,_u<0?(c=-(h=180),f=-(p=90)):y>Da?p=90:y<-Da&&(f=-90),x[0]=c,x[1]=h}};return function(t){p=h=-(c=f=1/0),$=[],sa.geo.stream(t,b);var n=$.length;if(n){$.sort(s);for(var e,r=1,i=$[0],o=[i];r<n;++r)e=$[r],l(e[0],i)||l(e[1],i)?(u(i[0],e[1])>u(i[0],i[1])&&(i[1]=e[1]),u(e[0],i[1])>u(i[0],i[1])&&(i[0]=e[0])):o.push(i=e);for(var a,e,d=-(1/0),n=o.length-1,r=0,i=o[n];r<=n;i=e,++r)e=o[r],(a=u(i[1],e[0]))>d&&(d=a,c=e[0],h=i[1])}return $=x=null,c===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,f],[h,p]]}}(),sa.geo.centroid=function(t){ku=Au=Eu=Pu=Ou=Tu=Lu=ju=Nu=Ru=Du=0,sa.geo.stream(t,Fu);var n=Nu,e=Ru,r=Du,i=n*n+e*e+r*r;return i<Fa&&(n=Tu,e=Lu,r=ju,Au<Da&&(n=Eu,e=Pu,r=Ou),i=n*n+e*e+r*r,i<Fa)?[NaN,NaN]:[Math.atan2(e,n)*Wa,nt(r/Math.sqrt(i))*Wa]};var ku,Au,Eu,Pu,Ou,Tu,Lu,ju,Nu,Ru,Du,Fu={sphere:b,point:Sn,lineStart:Mn,lineEnd:kn,polygonStart:function(){Fu.lineStart=An},polygonEnd:function(){Fu.lineStart=Mn}},Iu=jn(Pn,Fn,zn,[-Ia,-Ia/2]),zu=1e9;sa.geo.clipExtent=function(){var t,n,e,r,i,o,a={stream:function(t){return i&&(i.valid=!1),i=o(t),i.valid=!0,i},extent:function(u){return arguments.length?(o=Wn(t=+u[0][0],n=+u[0][1],e=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),a):[[t,n],[e,r]]}};return a.extent([[0,0],[960,500]])},(sa.geo.conicEqualArea=function(){return Un(Hn)}).raw=Hn,sa.geo.albers=function(){return sa.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},sa.geo.albersUsa=function(){function t(t){var o=t[0],a=t[1];return n=null,e(o,a),n||(r(o,a),n)||i(o,a),n}var n,e,r,i,o=sa.geo.albers(),a=sa.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=sa.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,e){n=[t,e]}};return t.invert=function(t){var n=o.scale(),e=o.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?a:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:o).invert(t)},t.stream=function(t){var n=o.stream(t),e=a.stream(t),r=u.stream(t);return{point:function(t,i){n.point(t,i),e.point(t,i),r.point(t,i)},sphere:function(){n.sphere(),e.sphere(),r.sphere()},lineStart:function(){n.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){n.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){n.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){n.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},t.precision=function(n){return arguments.length?(o.precision(n),a.precision(n),u.precision(n),t):o.precision()},t.scale=function(n){return arguments.length?(o.scale(n),a.scale(.35*n),u.scale(n),t.translate(o.translate())):o.scale()},t.translate=function(n){if(!arguments.length)return o.translate();var l=o.scale(),c=+n[0],f=+n[1];return e=o.translate(n).clipExtent([[c-.455*l,f-.238*l],[c+.455*l,f+.238*l]]).stream(s).point,r=a.translate([c-.307*l,f+.201*l]).clipExtent([[c-.425*l+Da,f+.12*l+Da],[c-.214*l-Da,f+.234*l-Da]]).stream(s).point,i=u.translate([c-.205*l,f+.212*l]).clipExtent([[c-.214*l+Da,f+.166*l+Da],[c-.115*l-Da,f+.234*l-Da]]).stream(s).point,t},t.scale(1070)};var qu,Vu,Bu,Wu,Uu,Hu,Yu={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Vu=0,Yu.lineStart=Yn},polygonEnd:function(){Yu.lineStart=Yu.lineEnd=Yu.point=b,qu+=xa(Vu/2)}},Gu={point:Gn,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Xu={point:Jn,lineStart:Kn,lineEnd:Qn,polygonStart:function(){Xu.lineStart=te},polygonEnd:function(){Xu.point=Jn,
-Xu.lineStart=Kn,Xu.lineEnd=Qn}};sa.geo.path=function(){function t(t){return t&&("function"==typeof u&&o.pointRadius(+u.apply(this,arguments)),a&&a.valid||(a=i(o)),sa.geo.stream(t,a)),o.result()}function n(){return a=null,t}var e,r,i,o,a,u=4.5;return t.area=function(t){return qu=0,sa.geo.stream(t,i(Yu)),qu},t.centroid=function(t){return Eu=Pu=Ou=Tu=Lu=ju=Nu=Ru=Du=0,sa.geo.stream(t,i(Xu)),Du?[Nu/Du,Ru/Du]:ju?[Tu/ju,Lu/ju]:Ou?[Eu/Ou,Pu/Ou]:[NaN,NaN]},t.bounds=function(t){return Uu=Hu=-(Bu=Wu=1/0),sa.geo.stream(t,i(Gu)),[[Bu,Wu],[Uu,Hu]]},t.projection=function(t){return arguments.length?(i=(e=t)?t.stream||re(t):y,n()):e},t.context=function(t){return arguments.length?(o=null==(r=t)?new Xn:new ne(t),"function"!=typeof u&&o.pointRadius(u),n()):r},t.pointRadius=function(n){return arguments.length?(u="function"==typeof n?n:(o.pointRadius(+n),+n),t):u},t.projection(sa.geo.albersUsa()).context(null)},sa.geo.transform=function(t){return{stream:function(n){var e=new ie(n);for(var r in t)e[r]=t[r];return e}}},ie.prototype={point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},sa.geo.projection=ae,sa.geo.projectionMutator=ue,(sa.geo.equirectangular=function(){return ae(le)}).raw=le.invert=le,sa.geo.rotation=function(t){function n(n){return n=t(n[0]*Ba,n[1]*Ba),n[0]*=Wa,n[1]*=Wa,n}return t=fe(t[0]%360*Ba,t[1]*Ba,t.length>2?t[2]*Ba:0),n.invert=function(n){return n=t.invert(n[0]*Ba,n[1]*Ba),n[0]*=Wa,n[1]*=Wa,n},n},ce.invert=le,sa.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,n=fe(-t[0]*Ba,-t[1]*Ba,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Wa,t[1]*=Wa}}),{type:"Polygon",coordinates:[i]}}var n,e,r=[0,0],i=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=ve((n=+r)*Ba,i*Ba),t):n},t.precision=function(r){return arguments.length?(e=ve(n*Ba,(i=+r)*Ba),t):i},t.angle(90)},sa.geo.distance=function(t,n){var e,r=(n[0]-t[0])*Ba,i=t[1]*Ba,o=n[1]*Ba,a=Math.sin(r),u=Math.cos(r),s=Math.sin(i),l=Math.cos(i),c=Math.sin(o),f=Math.cos(o);return Math.atan2(Math.sqrt((e=f*a)*e+(e=l*c-s*f*u)*e),s*c+l*f*u)},sa.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return sa.range(Math.ceil(o/g)*g,i,g).map(h).concat(sa.range(Math.ceil(l/m)*m,s,m).map(p)).concat(sa.range(Math.ceil(r/d)*d,e,d).filter(function(t){return xa(t%g)>Da}).map(c)).concat(sa.range(Math.ceil(u/v)*v,a,v).filter(function(t){return xa(t%m)>Da}).map(f))}var e,r,i,o,a,u,s,l,c,f,h,p,d=10,v=d,g=90,m=360,y=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(s).slice(1),h(i).reverse().slice(1),p(l).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.majorExtent(n).minorExtent(n):t.minorExtent()},t.majorExtent=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],l=+n[0][1],s=+n[1][1],o>i&&(n=o,o=i,i=n),l>s&&(n=l,l=s,s=n),t.precision(y)):[[o,l],[i,s]]},t.minorExtent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],u=+n[0][1],a=+n[1][1],r>e&&(n=r,r=e,e=n),u>a&&(n=u,u=a,a=n),t.precision(y)):[[r,u],[e,a]]},t.step=function(n){return arguments.length?t.majorStep(n).minorStep(n):t.minorStep()},t.majorStep=function(n){return arguments.length?(g=+n[0],m=+n[1],t):[g,m]},t.minorStep=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(y=+n,c=me(u,a,90),f=ye(r,e,y),h=me(l,s,90),p=ye(o,i,y),t):y},t.majorExtent([[-180,-90+Da],[180,90-Da]]).minorExtent([[-180,-80-Da],[180,80+Da]])},sa.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[n||r.apply(this,arguments),e||i.apply(this,arguments)]}}var n,e,r=$e,i=xe;return t.distance=function(){return sa.geo.distance(n||r.apply(this,arguments),e||i.apply(this,arguments))},t.source=function(e){return arguments.length?(r=e,n="function"==typeof e?null:e,t):r},t.target=function(n){return arguments.length?(i=n,e="function"==typeof n?null:n,t):i},t.precision=function(){return arguments.length?t:0},t},sa.geo.interpolate=function(t,n){return be(t[0]*Ba,t[1]*Ba,n[0]*Ba,n[1]*Ba)},sa.geo.length=function(t){return Zu=0,sa.geo.stream(t,Ju),Zu};var Zu,Ju={sphere:b,point:b,lineStart:we,lineEnd:b,polygonStart:b,polygonEnd:b},Ku=Ce(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(sa.geo.azimuthalEqualArea=function(){return ae(Ku)}).raw=Ku;var Qu=Ce(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},y);(sa.geo.azimuthalEquidistant=function(){return ae(Qu)}).raw=Qu,(sa.geo.conicConformal=function(){return Un(Se)}).raw=Se,(sa.geo.conicEquidistant=function(){return Un(_e)}).raw=_e;var ts=Ce(function(t){return 1/t},Math.atan);(sa.geo.gnomonic=function(){return ae(ts)}).raw=ts,Me.invert=function(t,n){return[t,2*Math.atan(Math.exp(n))-Va]},(sa.geo.mercator=function(){return ke(Me)}).raw=Me;var ns=Ce(function(){return 1},Math.asin);(sa.geo.orthographic=function(){return ae(ns)}).raw=ns;var es=Ce(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(sa.geo.stereographic=function(){return ae(es)}).raw=es,Ae.invert=function(t,n){return[-n,2*Math.atan(Math.exp(t))-Va]},(sa.geo.transverseMercator=function(){var t=ke(Ae),n=t.center,e=t.rotate;return t.center=function(t){return t?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return t?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}).raw=Ae,sa.geom={},sa.geom.hull=function(t){function n(t){if(t.length<3)return[];var n,i=Mt(e),o=Mt(r),a=t.length,u=[],s=[];for(n=0;n<a;n++)u.push([+i.call(this,t[n],n),+o.call(this,t[n],n),n]);for(u.sort(Te),n=0;n<a;n++)s.push([u[n][0],-u[n][1]]);var l=Oe(u),c=Oe(s),f=c[0]===l[0],h=c[c.length-1]===l[l.length-1],p=[];for(n=l.length-1;n>=0;--n)p.push(t[u[l[n]][2]]);for(n=+f;n<c.length-h;++n)p.push(t[u[c[n]][2]]);return p}var e=Ee,r=Pe;return arguments.length?n(t):(n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n)},sa.geom.polygon=function(t){return _a(t,rs),t};var rs=sa.geom.polygon.prototype=[];rs.area=function(){for(var t,n=-1,e=this.length,r=this[e-1],i=0;++n<e;)t=r,r=this[n],i+=t[1]*r[0]-t[0]*r[1];return.5*i},rs.centroid=function(t){var n,e,r=-1,i=this.length,o=0,a=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)n=u,u=this[r],e=n[0]*u[1]-u[0]*n[1],o+=(n[0]+u[0])*e,a+=(n[1]+u[1])*e;return[o*t,a*t]},rs.clip=function(t){for(var n,e,r,i,o,a,u=Ne(t),s=-1,l=this.length-Ne(this),c=this[l-1];++s<l;){for(n=t.slice(),t.length=0,i=this[s],o=n[(r=n.length-u)-1],e=-1;++e<r;)a=n[e],Le(a,c,i)?(Le(o,c,i)||t.push(je(o,a,c,i)),t.push(a)):Le(o,c,i)&&t.push(je(o,a,c,i)),o=a;u&&t.push(t[0]),c=i}return t};var is,os,as,us,ss,ls=[],cs=[];Be.prototype.prepare=function(){for(var t,n=this.edges,e=n.length;e--;)t=n[e].edge,t.b&&t.a||n.splice(e,1);return n.sort(Ue),n.length},nr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=ar(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(ir(this,e),t=e,e=t.U),e.C=!1,r.C=!0,or(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(or(this,e),t=e,e=t.U),e.C=!1,r.C=!0,ir(this,r))),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,a=t.R;if(e=o?a?ar(a):o:a,i?i.L===t?i.L=e:i.R=e:this._=e,o&&a?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==a?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=a,a.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,ir(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,or(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,ir(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,or(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,ir(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,or(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},sa.geom.voronoi=function(t){function n(t){var n=new Array(t.length),r=u[0][0],i=u[0][1],o=u[1][0],a=u[1][1];return ur(e(t),u).cells.forEach(function(e,u){var s=e.edges,l=e.site,c=n[u]=s.length?s.map(function(t){var n=t.start();return[n.x,n.y]}):l.x>=r&&l.x<=o&&l.y>=i&&l.y<=a?[[r,a],[o,a],[o,i],[r,i]]:[];c.point=t[u]}),n}function e(t){return t.map(function(t,n){return{x:Math.round(o(t,n)/Da)*Da,y:Math.round(a(t,n)/Da)*Da,i:n}})}var r=Ee,i=Pe,o=r,a=i,u=fs;return t?n(t):(n.links=function(t){return ur(e(t)).edges.filter(function(t){return t.l&&t.r}).map(function(n){return{source:t[n.l.i],target:t[n.r.i]}})},n.triangles=function(t){var n=[];return ur(e(t)).cells.forEach(function(e,r){for(var i,o,a=e.site,u=e.edges.sort(Ue),s=-1,l=u.length,c=u[l-1].edge,f=c.l===a?c.r:c.l;++s<l;)i=c,o=f,c=u[s].edge,f=c.l===a?c.r:c.l,r<o.i&&r<f.i&&lr(a,o,f)<0&&n.push([t[r],t[o.i],t[f.i]])}),n},n.x=function(t){return arguments.length?(o=Mt(r=t),n):r},n.y=function(t){return arguments.length?(a=Mt(i=t),n):i},n.clipExtent=function(t){return arguments.length?(u=null==t?fs:t,n):u===fs?null:u},n.size=function(t){return arguments.length?n.clipExtent(t&&[[0,0],t]):u===fs?null:u&&u[1]},n)};var fs=[[-1e6,-1e6],[1e6,1e6]];sa.geom.delaunay=function(t){return sa.geom.voronoi().triangles(t)},sa.geom.quadtree=function(t,n,e,r,i){function o(t){function o(t,n,e,r,i,o,a,u){if(!isNaN(e)&&!isNaN(r))if(t.leaf){var s=t.x,c=t.y;if(null!=s)if(xa(s-e)+xa(c-r)<.01)l(t,n,e,r,i,o,a,u);else{var f=t.point;t.x=t.y=t.point=null,l(t,f,s,c,i,o,a,u),l(t,n,e,r,i,o,a,u)}else t.x=e,t.y=r,t.point=n}else l(t,n,e,r,i,o,a,u)}function l(t,n,e,r,i,a,u,s){var l=.5*(i+u),c=.5*(a+s),f=e>=l,h=r>=c,p=h<<1|f;t.leaf=!1,t=t.nodes[p]||(t.nodes[p]=hr()),f?i=l:u=l,h?a=c:s=c,o(t,n,e,r,i,a,u,s)}var c,f,h,p,d,v,g,m,y,$=Mt(u),x=Mt(s);if(null!=n)v=n,g=e,m=r,y=i;else if(m=y=-(v=g=1/0),f=[],h=[],d=t.length,a)for(p=0;p<d;++p)c=t[p],c.x<v&&(v=c.x),c.y<g&&(g=c.y),c.x>m&&(m=c.x),c.y>y&&(y=c.y),f.push(c.x),h.push(c.y);else for(p=0;p<d;++p){var b=+$(c=t[p],p),w=+x(c,p);b<v&&(v=b),w<g&&(g=w),b>m&&(m=b),w>y&&(y=w),f.push(b),h.push(w)}var C=m-v,S=y-g;C>S?y=g+C:m=v+S;var _=hr();if(_.add=function(t){o(_,t,+$(t,++p),+x(t,p),v,g,m,y)},_.visit=function(t){pr(t,_,v,g,m,y)},_.find=function(t){return dr(_,t[0],t[1],v,g,m,y)},p=-1,null==n){for(;++p<d;)o(_,t[p],f[p],h[p],v,g,m,y);--p}else t.forEach(_.add);return f=h=t=c=null,_}var a,u=Ee,s=Pe;return(a=arguments.length)?(u=cr,s=fr,3===a&&(i=e,r=n,e=n=0),o(t)):(o.x=function(t){return arguments.length?(u=t,o):u},o.y=function(t){return arguments.length?(s=t,o):s},o.extent=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),o):null==n?null:[[n,e],[r,i]]},o.size=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=e=0,r=+t[0],i=+t[1]),o):null==n?null:[r-n,i-e]},o)},sa.interpolateRgb=vr,sa.interpolateObject=gr,sa.interpolateNumber=mr,sa.interpolateString=yr;var hs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ps=new RegExp(hs.source,"g");sa.interpolate=$r,sa.interpolators=[function(t,n){var e=typeof n;return("string"===e?ou.has(n.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(n)?vr:yr:n instanceof at?vr:Array.isArray(n)?xr:"object"===e&&isNaN(n)?gr:mr)(t,n)}],sa.interpolateArray=xr;var ds=function(){return y},vs=sa.map({linear:ds,poly:kr,quad:function(){return Sr},cubic:function(){return _r},sin:function(){return Ar},exp:function(){return Er},circle:function(){return Pr},elastic:Or,back:Tr,bounce:function(){return Lr}}),gs=sa.map({"in":y,out:wr,"in-out":Cr,"out-in":function(t){return Cr(wr(t))}});sa.ease=function(t){var n=t.indexOf("-"),e=n>=0?t.slice(0,n):t,r=n>=0?t.slice(n+1):"in";return e=vs.get(e)||ds,r=gs.get(r)||y,br(r(e.apply(null,la.call(arguments,1))))},sa.interpolateHcl=jr,sa.interpolateHsl=Nr,sa.interpolateLab=Rr,sa.interpolateRound=Dr,sa.transform=function(t){var n=fa.createElementNS(sa.ns.prefix.svg,"g");return(sa.transform=function(t){if(null!=t){n.setAttribute("transform",t);var e=n.transform.baseVal.consolidate()}return new Fr(e?e.matrix:ms)})(t)},Fr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ms={a:1,b:0,c:0,d:1,e:0,f:0};sa.interpolateTransform=Yr,sa.layout={},sa.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++e<r;)n.push(Zr(t[e]));return n}},sa.layout.chord=function(){function t(){var t,l,f,h,p,d={},v=[],g=sa.range(o),m=[];for(e=[],r=[],t=0,h=-1;++h<o;){for(l=0,p=-1;++p<o;)l+=i[h][p];v.push(l),m.push(sa.range(o)),t+=l}for(a&&g.sort(function(t,n){return a(v[t],v[n])}),u&&m.forEach(function(t,n){t.sort(function(t,e){return u(i[n][t],i[n][e])})}),t=(za-c*o)/t,l=0,h=-1;++h<o;){for(f=l,p=-1;++p<o;){var y=g[h],$=m[y][p],x=i[y][$],b=l,w=l+=x*t;d[y+"-"+$]={index:y,subindex:$,startAngle:b,endAngle:w,value:x}}r[y]={index:y,startAngle:f,endAngle:l,value:v[y]},l+=c}for(h=-1;++h<o;)for(p=h-1;++p<o;){var C=d[h+"-"+p],S=d[p+"-"+h];(C.value||S.value)&&e.push(C.value<S.value?{source:S,target:C}:{source:C,target:S})}s&&n()}function n(){e.sort(function(t,n){return s((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}var e,r,i,o,a,u,s,l={},c=0;return l.matrix=function(t){return arguments.length?(o=(i=t)&&i.length,e=r=null,l):i},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(u=t,e=null,l):u},l.sortChords=function(t){return arguments.length?(s=t,e&&n(),l):s},l.chords=function(){return e||t(),e},l.groups=function(){return r||t(),r},l},sa.layout.force=function(){function t(t){return function(n,e,r,i){if(n.point!==t){var o=n.cx-t.x,a=n.cy-t.y,u=i-e,s=o*o+a*a;if(u*u/m<s){if(s<v){var l=n.charge/s;t.px-=o*l,t.py-=a*l}return!0}if(n.point&&s&&s<v){var l=n.pointCharge/s;t.px-=o*l,t.py-=a*l}}return!n.charge}}function n(t){t.px=sa.event.x,t.py=sa.event.y,s.resume()}var e,r,i,o,a,u,s={},l=sa.dispatch("start","tick","end"),c=[1,1],f=.9,h=ys,p=$s,d=-30,v=xs,g=.1,m=.64,$=[],x=[];return s.tick=function(){if((i*=.99)<.005)return e=null,l.end({type:"end",alpha:i=0}),!0;var n,r,s,h,p,v,m,y,b,w=$.length,C=x.length;for(r=0;r<C;++r)s=x[r],h=s.source,p=s.target,y=p.x-h.x,b=p.y-h.y,(v=y*y+b*b)&&(v=i*a[r]*((v=Math.sqrt(v))-o[r])/v,y*=v,b*=v,p.x-=y*(m=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*m,h.x+=y*(m=1-m),h.y+=b*m);if((m=i*g)&&(y=c[0]/2,b=c[1]/2,r=-1,m))for(;++r<w;)s=$[r],s.x+=(y-s.x)*m,s.y+=(b-s.y)*m;if(d)for(ri(n=sa.geom.quadtree($),i,u),r=-1;++r<w;)(s=$[r]).fixed||n.visit(t(s));for(r=-1;++r<w;)s=$[r],s.fixed?(s.x=s.px,s.y=s.py):(s.x-=(s.px-(s.px=s.x))*f,s.y-=(s.py-(s.py=s.y))*f);l.tick({type:"tick",alpha:i})},s.nodes=function(t){return arguments.length?($=t,s):$},s.links=function(t){return arguments.length?(x=t,s):x},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.friction=function(t){return arguments.length?(f=+t,s):f},s.charge=function(t){return arguments.length?(d="function"==typeof t?t:+t,s):d},s.chargeDistance=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:i=0})):t>0&&(l.start({type:"start",alpha:i=t}),e=Ot(s.tick)),s):i},s.start=function(){function t(t,r){if(!e){for(e=new Array(i),s=0;s<i;++s)e[s]=[];for(s=0;s<l;++s){var o=x[s];e[o.source.index].push(o.target),e[o.target.index].push(o.source)}}for(var a,u=e[n],s=-1,c=u.length;++s<c;)if(!isNaN(a=u[s][t]))return a;return Math.random()*r}var n,e,r,i=$.length,l=x.length,f=c[0],v=c[1];for(n=0;n<i;++n)(r=$[n]).index=n,r.weight=0;for(n=0;n<l;++n)r=x[n],"number"==typeof r.source&&(r.source=$[r.source]),"number"==typeof r.target&&(r.target=$[r.target]),++r.source.weight,++r.target.weight;for(n=0;n<i;++n)r=$[n],isNaN(r.x)&&(r.x=t("x",f)),isNaN(r.y)&&(r.y=t("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(o=[],"function"==typeof h)for(n=0;n<l;++n)o[n]=+h.call(this,x[n],n);else for(n=0;n<l;++n)o[n]=h;if(a=[],"function"==typeof p)for(n=0;n<l;++n)a[n]=+p.call(this,x[n],n);else for(n=0;n<l;++n)a[n]=p;if(u=[],"function"==typeof d)for(n=0;n<i;++n)u[n]=+d.call(this,$[n],n);else for(n=0;n<i;++n)u[n]=d;return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){return r||(r=sa.behavior.drag().origin(y).on("dragstart.force",Qr).on("drag.force",n).on("dragend.force",ti)),arguments.length?void this.on("mouseover.force",ni).on("mouseout.force",ei).call(r):r},sa.rebind(s,l,"on")};var ys=20,$s=1,xs=1/0;sa.layout.hierarchy=function(){function t(i){var o,a=[i],u=[];for(i.depth=0;null!=(o=a.pop());)if(u.push(o),(l=e.call(t,o,o.depth))&&(s=l.length)){for(var s,l,c;--s>=0;)a.push(c=l[s]),c.parent=o,c.depth=o.depth+1;r&&(o.value=0),o.children=l}else r&&(o.value=+r.call(t,o,o.depth)||0),delete o.children;return ai(i,function(t){var e,i;n&&(e=t.children)&&e.sort(n),r&&(i=t.parent)&&(i.value+=t.value)}),u}var n=li,e=ui,r=si;return t.sort=function(e){return arguments.length?(n=e,t):n},t.children=function(n){return arguments.length?(e=n,t):e},t.value=function(n){return arguments.length?(r=n,t):r},t.revalue=function(n){return r&&(oi(n,function(t){t.children&&(t.value=0)}),ai(n,function(n){var e;n.children||(n.value=+r.call(t,n,n.depth)||0),(e=n.parent)&&(e.value+=n.value)})),n},t},sa.layout.partition=function(){function t(n,e,r,i){var o=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,o&&(a=o.length)){var a,u,s,l=-1;for(r=n.value?r/n.value:0;++l<a;)t(u=o[l],e,s=u.value*r,i),e+=s}}function n(t){var e=t.children,r=0;if(e&&(i=e.length))for(var i,o=-1;++o<i;)r=Math.max(r,n(e[o]));return 1+r}function e(e,o){var a=r.call(this,e,o);return t(a[0],0,i[0],i[1]/n(a[0])),a}var r=sa.layout.hierarchy(),i=[1,1];return e.size=function(t){return arguments.length?(i=t,e):i},ii(e,r)},sa.layout.pie=function(){function t(a){var u,s=a.length,l=a.map(function(e,r){return+n.call(t,e,r)}),c=+("function"==typeof r?r.apply(this,arguments):r),f=("function"==typeof i?i.apply(this,arguments):i)-c,h=Math.min(Math.abs(f)/s,+("function"==typeof o?o.apply(this,arguments):o)),p=h*(f<0?-1:1),d=sa.sum(l),v=d?(f-s*p)/d:0,g=sa.range(s),m=[];return null!=e&&g.sort(e===bs?function(t,n){return l[n]-l[t]}:function(t,n){return e(a[t],a[n])}),g.forEach(function(t){m[t]={data:a[t],value:u=l[t],startAngle:c,endAngle:c+=u*v+p,padAngle:h}}),m}var n=Number,e=bs,r=0,i=za,o=0;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t.padAngle=function(n){return arguments.length?(o=n,t):o},t};var bs={};sa.layout.stack=function(){function t(u,s){if(!(h=u.length))return u;var l=u.map(function(e,r){return n.call(t,e,r)}),c=l.map(function(n){return n.map(function(n,e){return[o.call(t,n,e),a.call(t,n,e)]})}),f=e.call(t,c,s);l=sa.permute(l,f),c=sa.permute(c,f);var h,p,d,v,g=r.call(t,c,s),m=l[0].length;for(d=0;d<m;++d)for(i.call(t,l[0][d],v=g[d],c[0][d][1]),p=1;p<h;++p)i.call(t,l[p][d],v+=c[p-1][d][1],c[p][d][1]);return u}var n=y,e=di,r=vi,i=pi,o=fi,a=hi;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e="function"==typeof n?n:ws.get(n)||di,t):e},t.offset=function(n){return arguments.length?(r="function"==typeof n?n:Cs.get(n)||vi,t):r},t.x=function(n){return arguments.length?(o=n,t):o},t.y=function(n){return arguments.length?(a=n,t):a},t.out=function(n){return arguments.length?(i=n,t):i},t};var ws=sa.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(gi),o=t.map(mi),a=sa.range(r).sort(function(t,n){return i[t]-i[n]}),u=0,s=0,l=[],c=[];for(n=0;n<r;++n)e=a[n],u<s?(u+=o[e],l.push(e)):(s+=o[e],c.push(e));return c.reverse().concat(l)},reverse:function(t){return sa.range(t.length).reverse()},"default":di}),Cs=sa.map({silhouette:function(t){var n,e,r,i=t.length,o=t[0].length,a=[],u=0,s=[];for(e=0;e<o;++e){for(n=0,r=0;n<i;n++)r+=t[n][e][1];r>u&&(u=r),a.push(r)}for(e=0;e<o;++e)s[e]=(u-a[e])/2;return s},wiggle:function(t){var n,e,r,i,o,a,u,s,l,c=t.length,f=t[0],h=f.length,p=[];for(p[0]=s=l=0,e=1;e<h;++e){for(n=0,i=0;n<c;++n)i+=t[n][e][1];for(n=0,o=0,u=f[e][0]-f[e-1][0];n<c;++n){for(r=0,a=(t[n][e][1]-t[n][e-1][1])/(2*u);r<n;++r)a+=(t[r][e][1]-t[r][e-1][1])/u;o+=a*t[n][e][1]}p[e]=s-=i?o/i*u:0,s<l&&(l=s)}for(e=0;e<h;++e)p[e]-=l;return p},expand:function(t){var n,e,r,i=t.length,o=t[0].length,a=1/i,u=[];for(e=0;e<o;++e){for(n=0,r=0;n<i;n++)r+=t[n][e][1];if(r)for(n=0;n<i;n++)t[n][e][1]/=r;else for(n=0;n<i;n++)t[n][e][1]=a}for(e=0;e<o;++e)u[e]=0;return u},zero:vi});sa.layout.histogram=function(){function t(t,o){for(var a,u,s=[],l=t.map(e,this),c=r.call(this,l,o),f=i.call(this,c,l,o),o=-1,h=l.length,p=f.length-1,d=n?1:1/h;++o<p;)a=s[o]=[],a.dx=f[o+1]-(a.x=f[o]),a.y=0;if(p>0)for(o=-1;++o<h;)u=l[o],u>=c[0]&&u<=c[1]&&(a=s[sa.bisect(f,u,1,p)-1],a.y+=d,a.push(t[o]));return s}var n=!0,e=Number,r=bi,i=$i;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=Mt(n),t):r},t.bins=function(n){return arguments.length?(i="number"==typeof n?function(t){return xi(t,n)}:Mt(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},sa.layout.pack=function(){function t(t,o){var a=e.call(this,t,o),u=a[0],s=i[0],l=i[1],c=null==n?Math.sqrt:"function"==typeof n?n:function(){return n};if(u.x=u.y=0,ai(u,function(t){t.r=+c(t.value)}),ai(u,Mi),r){var f=r*(n?1:Math.max(2*u.r/s,2*u.r/l))/2;ai(u,function(t){t.r+=f}),ai(u,Mi),ai(u,function(t){t.r-=f})}return Ei(u,s/2,l/2,n?1:1/Math.max(2*u.r/s,2*u.r/l)),a}var n,e=sa.layout.hierarchy().sort(wi),r=0,i=[1,1];return t.size=function(n){return arguments.length?(i=n,t):i},t.radius=function(e){return arguments.length?(n=null==e||"function"==typeof e?e:+e,t):n},t.padding=function(n){return arguments.length?(r=+n,t):r},ii(t,e)},sa.layout.tree=function(){function t(t,i){var c=a.call(this,t,i),f=c[0],h=n(f);if(ai(h,e),h.parent.m=-h.z,oi(h,r),l)oi(f,o);else{var p=f,d=f,v=f;oi(f,function(t){t.x<p.x&&(p=t),t.x>d.x&&(d=t),t.depth>v.depth&&(v=t)});var g=u(p,d)/2-p.x,m=s[0]/(d.x+u(d,p)/2+g),y=s[1]/(v.depth||1);oi(f,function(t){t.x=(t.x+g)*m,t.y=t.depth*y})}return c}function n(t){for(var n,e={A:null,children:[t]},r=[e];null!=(n=r.pop());)for(var i,o=n.children,a=0,u=o.length;a<u;++a)r.push((o[a]=i={_:o[a],parent:n,children:(i=o[a].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=i);return e.children[0]}function e(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n.length){Ni(t);var o=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||e[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,n,e){if(n){for(var r,i=t,o=t,a=n,s=i.parent.children[0],l=i.m,c=o.m,f=a.m,h=s.m;a=Li(a),i=Ti(i),a&&i;)s=Ti(s),o=Li(o),o.a=t,r=a.z+f-i.z-l+u(a._,i._),r>0&&(ji(Ri(a,t,e),t,r),l+=r,c+=r),f+=a.m,l+=i.m,h+=s.m,c+=o.m;a&&!Li(o)&&(o.t=a,o.m+=f-c),i&&!Ti(s)&&(s.t=i,s.m+=l-h,e=t)}return e}function o(t){t.x*=s[0],t.y=t.depth*s[1]}var a=sa.layout.hierarchy().sort(null).value(null),u=Oi,s=[1,1],l=null;return t.separation=function(n){return arguments.length?(u=n,t):u},t.size=function(n){return arguments.length?(l=null==(s=n)?o:null,t):l?null:s},t.nodeSize=function(n){return arguments.length?(l=null==(s=n)?null:o,t):l?s:null},ii(t,a)},sa.layout.cluster=function(){function t(t,o){var a,u=n.call(this,t,o),s=u[0],l=0;ai(s,function(t){var n=t.children;n&&n.length?(t.x=Fi(n),t.y=Di(n)):(t.x=a?l+=e(t,a):0,t.y=0,a=t)});var c=Ii(s),f=zi(s),h=c.x-e(c,f)/2,p=f.x+e(f,c)/2;return ai(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(p-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var n=sa.layout.hierarchy().sort(null).value(null),e=Oi,r=[1,1],i=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(i=null==(r=n),t):i?null:r},t.nodeSize=function(n){return arguments.length?(i=null!=(r=n),t):i?r:null},ii(t,n)},sa.layout.treemap=function(){function t(t,n){for(var e,r,i=-1,o=t.length;++i<o;)r=(e=t[i]).value*(n<0?0:n),e.area=isNaN(r)||r<=0?0:r}function n(e){var o=e.children;if(o&&o.length){var a,u,s,l=f(e),c=[],h=o.slice(),d=1/0,v="slice"===p?l.dx:"dice"===p?l.dy:"slice-dice"===p?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(h,l.dx*l.dy/e.value),c.area=0;(s=h.length)>0;)c.push(a=h[s-1]),c.area+=a.area,"squarify"!==p||(u=r(c,v))<=d?(h.pop(),d=u):(c.area-=c.pop().area,i(c,v,l,!1),v=Math.min(l.dx,l.dy),c.length=c.area=0,d=1/0);c.length&&(i(c,v,l,!0),c.length=c.area=0),o.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){var o,a=f(n),u=r.slice(),s=[];for(t(u,a.dx*a.dy/n.value),s.area=0;o=u.pop();)s.push(o),s.area+=o.area,null!=o.z&&(i(s,o.z?a.dx:a.dy,a,!u.length),s.length=s.area=0);r.forEach(e)}}function r(t,n){for(var e,r=t.area,i=0,o=1/0,a=-1,u=t.length;++a<u;)(e=t[a].area)&&(e<o&&(o=e),e>i&&(i=e));return r*=r,n*=n,r?Math.max(n*i*d/r,r/(n*o*d)):1/0}function i(t,n,e,r){var i,o=-1,a=t.length,u=e.x,l=e.y,c=n?s(t.area/n):0;if(n==e.dx){for((r||c>e.dy)&&(c=e.dy);++o<a;)i=t[o],i.x=u,i.y=l,i.dy=c,u+=i.dx=Math.min(e.x+e.dx-u,c?s(i.area/c):0);i.z=!0,i.dx+=e.x+e.dx-u,e.y+=c,e.dy-=c}else{for((r||c>e.dx)&&(c=e.dx);++o<a;)i=t[o],i.x=u,i.y=l,i.dx=c,l+=i.dy=Math.min(e.y+e.dy-l,c?s(i.area/c):0);i.z=!1,i.dy+=e.y+e.dy-l,e.x+=c,e.dx-=c}}function o(r){var i=a||u(r),o=i[0];return o.x=o.y=0,o.value?(o.dx=l[0],o.dy=l[1]):o.dx=o.dy=0,a&&u.revalue(o),t([o],o.dx*o.dy/o.value),(a?e:n)(o),h&&(a=i),i}var a,u=sa.layout.hierarchy(),s=Math.round,l=[1,1],c=null,f=qi,h=!1,p="squarify",d=.5*(1+Math.sqrt(5));return o.size=function(t){return arguments.length?(l=t,o):l},o.padding=function(t){function n(n){var e=t.call(o,n,n.depth);return null==e?qi(n):Vi(n,"number"==typeof e?[e,e,e,e]:e)}function e(n){return Vi(n,t)}if(!arguments.length)return c;var r;return f=null==(c=t)?qi:"function"==(r=typeof t)?n:"number"===r?(t=[t,t,t,t],e):e,o},o.round=function(t){return arguments.length?(s=t?Math.round:Number,o):s!=Number},o.sticky=function(t){return arguments.length?(h=t,a=null,o):h},o.ratio=function(t){return arguments.length?(d=t,o):d},o.mode=function(t){return arguments.length?(p=t+"",o):p},ii(o,u)},sa.random={normal:function(t,n){var e=arguments.length;return e<2&&(n=1),e<1&&(t=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return t+n*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=sa.random.normal.apply(sa,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=sa.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(t){return function(){for(var n=0,e=0;e<t;e++)n+=Math.random();return n}}},sa.scale={};var Ss={floor:y,ceil:y};sa.scale.linear=function(){return Xi([0,1],[0,1],$r,!1)};var _s={s:1,g:1,p:1,r:1,e:1};sa.scale.log=function(){return ro(sa.scale.linear().domain([0,1]),10,!0,[1,10])};var Ms=sa.format(".0e"),ks={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};sa.scale.pow=function(){return io(sa.scale.linear(),1,[0,1])},sa.scale.sqrt=function(){return sa.scale.pow().exponent(.5)},sa.scale.ordinal=function(){return ao([],{t:"range",a:[[]]})},sa.scale.category10=function(){return sa.scale.ordinal().range(As)},sa.scale.category20=function(){return sa.scale.ordinal().range(Es)},sa.scale.category20b=function(){return sa.scale.ordinal().range(Ps)},sa.scale.category20c=function(){return sa.scale.ordinal().range(Os)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map($t),Es=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map($t),Ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map($t),Os=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map($t);sa.scale.quantile=function(){return uo([],[])},sa.scale.quantize=function(){return so(0,1,[0,1])},sa.scale.threshold=function(){return lo([.5],[0,1])},sa.scale.identity=function(){return co([0,1])},sa.svg={},sa.svg.arc=function(){function t(){var t=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),c=a.apply(this,arguments)-Va,f=u.apply(this,arguments)-Va,h=Math.abs(f-c),p=c>f?0:1;if(l<t&&(d=l,l=t,t=d),h>=qa)return n(l,p)+(t?n(t,1-p):"")+"Z";var d,v,g,m,y,$,x,b,w,C,S,_,M=0,k=0,A=[];if((m=(+s.apply(this,arguments)||0)/2)&&(g=o===Ts?Math.sqrt(t*t+l*l):+o.apply(this,arguments),p||(k*=-1),l&&(k=nt(g/l*Math.sin(m))),t&&(M=nt(g/t*Math.sin(m)))),l){y=l*Math.cos(c+k),$=l*Math.sin(c+k),x=l*Math.cos(f-k),b=l*Math.sin(f-k);var E=Math.abs(f-c-2*k)<=Ia?0:1;if(k&&yo(y,$,x,b)===p^E){var P=(c+f)/2;y=l*Math.cos(P),$=l*Math.sin(P),x=b=null}}else y=$=0;if(t){w=t*Math.cos(f-M),C=t*Math.sin(f-M),S=t*Math.cos(c+M),_=t*Math.sin(c+M);var O=Math.abs(c-f+2*M)<=Ia?0:1;if(M&&yo(w,C,S,_)===1-p^O){var T=(c+f)/2;w=t*Math.cos(T),C=t*Math.sin(T),S=_=null}}else w=C=0;if(h>Da&&(d=Math.min(Math.abs(l-t)/2,+i.apply(this,arguments)))>.001){v=t<l^p?0:1;var L=d,j=d;if(h<Ia){var N=null==S?[w,C]:null==x?[y,$]:je([y,$],[S,_],[x,b],[w,C]),R=y-N[0],D=$-N[1],F=x-N[0],I=b-N[1],z=1/Math.sin(Math.acos((R*F+D*I)/(Math.sqrt(R*R+D*D)*Math.sqrt(F*F+I*I)))/2),q=Math.sqrt(N[0]*N[0]+N[1]*N[1]);j=Math.min(d,(t-q)/(z-1)),L=Math.min(d,(l-q)/(z+1))}if(null!=x){var V=$o(null==S?[w,C]:[S,_],[y,$],l,L,p),B=$o([x,b],[w,C],l,L,p);d===L?A.push("M",V[0],"A",L,",",L," 0 0,",v," ",V[1],"A",l,",",l," 0 ",1-p^yo(V[1][0],V[1][1],B[1][0],B[1][1]),",",p," ",B[1],"A",L,",",L," 0 0,",v," ",B[0]):A.push("M",V[0],"A",L,",",L," 0 1,",v," ",B[0])}else A.push("M",y,",",$);if(null!=S){var W=$o([y,$],[S,_],t,-j,p),U=$o([w,C],null==x?[y,$]:[x,b],t,-j,p);d===j?A.push("L",U[0],"A",j,",",j," 0 0,",v," ",U[1],"A",t,",",t," 0 ",p^yo(U[1][0],U[1][1],W[1][0],W[1][1]),",",1-p," ",W[1],"A",j,",",j," 0 0,",v," ",W[0]):A.push("L",U[0],"A",j,",",j," 0 0,",v," ",W[0])}else A.push("L",w,",",C)}else A.push("M",y,",",$),null!=x&&A.push("A",l,",",l," 0 ",E,",",p," ",x,",",b),A.push("L",w,",",C),null!=S&&A.push("A",t,",",t," 0 ",O,",",1-p," ",S,",",_);return A.push("Z"),A.join("")}function n(t,n){return"M0,"+t+"A"+t+","+t+" 0 1,"+n+" 0,"+-t+"A"+t+","+t+" 0 1,"+n+" 0,"+t}var e=ho,r=po,i=fo,o=Ts,a=vo,u=go,s=mo;return t.innerRadius=function(n){return arguments.length?(e=Mt(n),t):e},t.outerRadius=function(n){return arguments.length?(r=Mt(n),t):r},t.cornerRadius=function(n){return arguments.length?(i=Mt(n),t):i},t.padRadius=function(n){return arguments.length?(o=n==Ts?Ts:Mt(n),t):o},t.startAngle=function(n){return arguments.length?(a=Mt(n),t):a},t.endAngle=function(n){return arguments.length?(u=Mt(n),t):u},t.padAngle=function(n){return arguments.length?(s=Mt(n),t):s},t.centroid=function(){var t=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +u.apply(this,arguments))/2-Va;
-return[Math.cos(n)*t,Math.sin(n)*t]},t};var Ts="auto";sa.svg.line=function(){return xo(y)};var Ls=sa.map({linear:bo,"linear-closed":wo,step:Co,"step-before":So,"step-after":_o,basis:Oo,"basis-open":To,"basis-closed":Lo,bundle:jo,cardinal:Ao,"cardinal-open":Mo,"cardinal-closed":ko,monotone:zo});Ls.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var js=[0,2/3,1/3,0],Ns=[0,1/3,2/3,0],Rs=[0,1/6,2/3,1/6];sa.svg.line.radial=function(){var t=xo(qo);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},So.reverse=_o,_o.reverse=So,sa.svg.area=function(){return Vo(y)},sa.svg.area.radial=function(){var t=Vo(qo);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},sa.svg.chord=function(){function t(t,u){var s=n(this,o,t,u),l=n(this,a,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(e(s,l)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+i(l.r,l.p1,s.r,s.p0))+"Z"}function n(t,n,e,r){var i=n.call(t,e,r),o=u.call(t,i,r),a=s.call(t,i,r)-Va,c=l.call(t,i,r)-Va;return{r:o,a0:a,a1:c,p0:[o*Math.cos(a),o*Math.sin(a)],p1:[o*Math.cos(c),o*Math.sin(c)]}}function e(t,n){return t.a0==n.a0&&t.a1==n.a1}function r(t,n,e){return"A"+t+","+t+" 0 "+ +(e>Ia)+",1 "+n}function i(t,n,e,r){return"Q 0,0 "+r}var o=$e,a=xe,u=Bo,s=vo,l=go;return t.radius=function(n){return arguments.length?(u=Mt(n),t):u},t.source=function(n){return arguments.length?(o=Mt(n),t):o},t.target=function(n){return arguments.length?(a=Mt(n),t):a},t.startAngle=function(n){return arguments.length?(s=Mt(n),t):s},t.endAngle=function(n){return arguments.length?(l=Mt(n),t):l},t},sa.svg.diagonal=function(){function t(t,i){var o=n.call(this,t,i),a=e.call(this,t,i),u=(o.y+a.y)/2,s=[o,{x:o.x,y:u},{x:a.x,y:u},a];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var n=$e,e=xe,r=Wo;return t.source=function(e){return arguments.length?(n=Mt(e),t):n},t.target=function(n){return arguments.length?(e=Mt(n),t):e},t.projection=function(n){return arguments.length?(r=n,t):r},t},sa.svg.diagonal.radial=function(){var t=sa.svg.diagonal(),n=Wo,e=t.projection;return t.projection=function(t){return arguments.length?e(Uo(n=t)):n},t},sa.svg.symbol=function(){function t(t,r){return(Ds.get(n.call(this,t,r))||Go)(e.call(this,t,r))}var n=Yo,e=Ho;return t.type=function(e){return arguments.length?(n=Mt(e),t):n},t.size=function(n){return arguments.length?(e=Mt(n),t):e},t};var Ds=sa.map({circle:Go,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Is)),e=n*Is;return"M0,"+-n+"L"+e+",0 0,"+n+" "+-e+",0Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});sa.svg.symbolTypes=Ds.keys();var Fs=Math.sqrt(3),Is=Math.tan(30*Ba);Ea.transition=function(t){for(var n,e,r=zs||++Ws,i=Qo(t),o=[],a=qs||{time:Date.now(),ease:Mr,delay:0,duration:250},u=-1,s=this.length;++u<s;){o.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(e=l[c])&&ta(e,c,i,r,a),n.push(e)}return Zo(o,i,r)},Ea.interrupt=function(t){return this.each(null==t?Vs:Xo(Qo(t)))};var zs,qs,Vs=Xo(Qo()),Bs=[],Ws=0;Bs.call=Ea.call,Bs.empty=Ea.empty,Bs.node=Ea.node,Bs.size=Ea.size,sa.transition=function(t,n){return t&&t.transition?zs?t.transition(n):t:sa.selection().transition(t)},sa.transition.prototype=Bs,Bs.select=function(t){var n,e,r,i=this.id,o=this.namespace,a=[];t=A(t);for(var u=-1,s=this.length;++u<s;){a.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(r=l[c])&&(e=t.call(r,r.__data__,c,u))?("__data__"in r&&(e.__data__=r.__data__),ta(e,c,o,i,r[o][i]),n.push(e)):n.push(null)}return Zo(a,o,i)},Bs.selectAll=function(t){var n,e,r,i,o,a=this.id,u=this.namespace,s=[];t=E(t);for(var l=-1,c=this.length;++l<c;)for(var f=this[l],h=-1,p=f.length;++h<p;)if(r=f[h]){o=r[u][a],e=t.call(r,r.__data__,h,l),s.push(n=[]);for(var d=-1,v=e.length;++d<v;)(i=e[d])&&ta(i,d,u,a,o),n.push(i)}return Zo(s,u,a)},Bs.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;o<a;o++){i.push(n=[]);for(var e=this[o],u=0,s=e.length;u<s;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return Zo(i,this.namespace,this.id)},Bs.tween=function(t,n){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(t):B(this,null==n?function(n){n[r][e].tween.remove(t)}:function(i){i[r][e].tween.set(t,n)})},Bs.attr=function(t,n){function e(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?e:(t+="",function(){var n,e=this.getAttribute(u);return e!==t&&(n=a(e,t),function(t){this.setAttribute(u,n(t))})})}function o(t){return null==t?r:(t+="",function(){var n,e=this.getAttributeNS(u.space,u.local);return e!==t&&(n=a(e,t),function(t){this.setAttributeNS(u.space,u.local,n(t))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var a="transform"==t?Yr:$r,u=sa.ns.qualify(t);return Jo(this,"attr."+t,n,u.local?o:i)},Bs.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=sa.ns.qualify(t);return this.tween("attr."+t,i.local?r:e)},Bs.style=function(t,e,r){function i(){this.style.removeProperty(t)}function o(e){return null==e?i:(e+="",function(){var i,o=n(this).getComputedStyle(this,null).getPropertyValue(t);return o!==e&&(i=$r(o,e),function(n){this.style.setProperty(t,i(n),r)})})}var a=arguments.length;if(a<3){if("string"!=typeof t){a<2&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Jo(this,"style."+t,e,o)},Bs.styleTween=function(t,e,r){function i(i,o){var a=e.call(this,i,o,n(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(n){this.style.setProperty(t,a(n),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Bs.text=function(t){return Jo(this,"text",t,Ko)},Bs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var n;this[t].count<2&&(n=this.parentNode)&&n.removeChild(this)})},Bs.ease=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].ease:("function"!=typeof t&&(t=sa.ease.apply(sa,arguments)),B(this,function(r){r[e][n].ease=t}))},Bs.delay=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].delay:B(this,"function"==typeof t?function(r,i,o){r[e][n].delay=+t.call(r,r.__data__,i,o)}:(t=+t,function(r){r[e][n].delay=t}))},Bs.duration=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].duration:B(this,"function"==typeof t?function(r,i,o){r[e][n].duration=Math.max(1,t.call(r,r.__data__,i,o))}:(t=Math.max(1,t),function(r){r[e][n].duration=t}))},Bs.each=function(t,n){var e=this.id,r=this.namespace;if(arguments.length<2){var i=qs,o=zs;try{zs=e,B(this,function(n,i,o){qs=n[r][e],t.call(n,n.__data__,i,o)})}finally{qs=i,zs=o}}else B(this,function(i){var o=i[r][e];(o.event||(o.event=sa.dispatch("start","end","interrupt"))).on(t,n)});return this},Bs.transition=function(){for(var t,n,e,r,i=this.id,o=++Ws,a=this.namespace,u=[],s=0,l=this.length;s<l;s++){u.push(t=[]);for(var n=this[s],c=0,f=n.length;c<f;c++)(e=n[c])&&(r=e[a][i],ta(e,c,a,o,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(e)}return Zo(u,a,o)},sa.svg.axis=function(){function t(t){t.each(function(){var t,l=sa.select(this),c=this.__chart__||e,f=this.__chart__=e.copy(),h=null==s?f.ticks?f.ticks.apply(f,u):f.domain():s,p=null==n?f.tickFormat?f.tickFormat.apply(f,u):y:n,d=l.selectAll(".tick").data(h,f),v=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Da),g=sa.transition(d.exit()).style("opacity",Da).remove(),m=sa.transition(d.order()).style("opacity",1),$=Math.max(i,0)+a,x=Wi(f),b=l.selectAll(".domain").data([0]),w=(b.enter().append("path").attr("class","domain"),sa.transition(b));v.append("line"),v.append("text");var C,S,_,M,k=v.select("line"),A=m.select("line"),E=d.select("text").text(p),P=v.select("text"),O=m.select("text"),T="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=na,C="x",_="y",S="x2",M="y2",E.attr("dy",T<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+x[0]+","+T*o+"V0H"+x[1]+"V"+T*o)):(t=ea,C="y",_="x",S="y2",M="x2",E.attr("dy",".32em").style("text-anchor",T<0?"end":"start"),w.attr("d","M"+T*o+","+x[0]+"H0V"+x[1]+"H"+T*o)),k.attr(M,T*i),P.attr(_,T*$),A.attr(S,0).attr(M,T*i),O.attr(C,0).attr(_,T*$),f.rangeBand){var L=f,j=L.rangeBand()/2;c=f=function(t){return L(t)+j}}else c.rangeBand?c=f:g.call(t,f,c);v.call(t,c,f),m.call(t,f,f)})}var n,e=sa.scale.linear(),r=Us,i=6,o=6,a=3,u=[10],s=null;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in Hs?n+"":Us,t):r},t.ticks=function(){return arguments.length?(u=ca(arguments),t):u},t.tickValues=function(n){return arguments.length?(s=n,t):s},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n){var e=arguments.length;return e?(i=+n,o=+arguments[e-1],t):i},t.innerTickSize=function(n){return arguments.length?(i=+n,t):i},t.outerTickSize=function(n){return arguments.length?(o=+n,t):o},t.tickPadding=function(n){return arguments.length?(a=+n,t):a},t.tickSubdivide=function(){return arguments.length&&t},t};var Us="bottom",Hs={top:1,right:1,bottom:1,left:1};sa.svg.brush=function(){function t(n){n.each(function(){var n=sa.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",o).on("touchstart.brush",o),a=n.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(v,y);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,f=sa.transition(n),h=sa.transition(a);l&&(s=Wi(l),h.attr("x",s[0]).attr("width",s[1]-s[0]),r(f)),c&&(s=Wi(c),h.attr("y",s[0]).attr("height",s[1]-s[0]),i(f)),e(f)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+f[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",f[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function i(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function o(){function o(){32==sa.event.keyCode&&(E||($=null,O[0]-=f[1],O[1]-=h[1],E=2),S())}function v(){32==sa.event.keyCode&&2==E&&(O[0]+=f[1],O[1]+=h[1],E=0,S())}function g(){var t=sa.mouse(b),n=!1;x&&(t[0]+=x[0],t[1]+=x[1]),E||(sa.event.altKey?($||($=[(f[0]+f[1])/2,(h[0]+h[1])/2]),O[0]=f[+(t[0]<$[0])],O[1]=h[+(t[1]<$[1])]):$=null),k&&m(t,l,0)&&(r(_),n=!0),A&&m(t,c,1)&&(i(_),n=!0),n&&(e(_),C({type:"brush",mode:E?"move":"resize"}))}function m(t,n,e){var r,i,o=Wi(n),s=o[0],l=o[1],c=O[e],v=e?h:f,g=v[1]-v[0];if(E&&(s-=c,l-=g+c),r=(e?d:p)?Math.max(s,Math.min(l,t[e])):t[e],E?i=(r+=c)+g:($&&(c=Math.max(s,Math.min(l,2*$[e]-r))),c<r?(i=r,r=c):i=c),v[0]!=r||v[1]!=i)return e?u=null:a=null,v[0]=r,v[1]=i,!0}function y(){g(),_.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),sa.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),P(),C({type:"brushend"})}var $,x,b=this,w=sa.select(sa.event.target),C=s.of(b,arguments),_=sa.select(b),M=w.datum(),k=!/^(n|s)$/.test(M)&&l,A=!/^(e|w)$/.test(M)&&c,E=w.classed("extent"),P=X(b),O=sa.mouse(b),T=sa.select(n(b)).on("keydown.brush",o).on("keyup.brush",v);if(sa.event.changedTouches?T.on("touchmove.brush",g).on("touchend.brush",y):T.on("mousemove.brush",g).on("mouseup.brush",y),_.interrupt().selectAll("*").interrupt(),E)O[0]=f[0]-O[0],O[1]=h[0]-O[1];else if(M){var L=+/w$/.test(M),j=+/^n/.test(M);x=[f[1-L]-O[0],h[1-j]-O[1]],O[0]=f[L],O[1]=h[j]}else sa.event.altKey&&($=O.slice());_.style("pointer-events","none").selectAll(".resize").style("display",null),sa.select("body").style("cursor",w.style("cursor")),C({type:"brushstart"}),g()}var a,u,s=M(t,"brushstart","brush","brushend"),l=null,c=null,f=[0,0],h=[0,0],p=!0,d=!0,v=Gs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),n={x:f,y:h,i:a,j:u},e=this.__chart__||n;this.__chart__=n,zs?sa.select(this).transition().each("start.brush",function(){a=e.i,u=e.j,f=e.x,h=e.y,t({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(f,n.x),r=xr(h,n.y);return a=u=null,function(i){f=n.x=e(i),h=n.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=n.i,u=n.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(n){return arguments.length?(l=n,v=Gs[!l<<1|!c],t):l},t.y=function(n){return arguments.length?(c=n,v=Gs[!l<<1|!c],t):c},t.clamp=function(n){return arguments.length?(l&&c?(p=!!n[0],d=!!n[1]):l?p=!!n:c&&(d=!!n),t):l&&c?[p,d]:l?p:c?d:null},t.extent=function(n){var e,r,i,o,s;return arguments.length?(l&&(e=n[0],r=n[1],c&&(e=e[0],r=r[0]),a=[e,r],l.invert&&(e=l(e),r=l(r)),r<e&&(s=e,e=r,r=s),e==f[0]&&r==f[1]||(f=[e,r])),c&&(i=n[0],o=n[1],l&&(i=i[1],o=o[1]),u=[i,o],c.invert&&(i=c(i),o=c(o)),o<i&&(s=i,i=o,o=s),i==h[0]&&o==h[1]||(h=[i,o])),t):(l&&(a?(e=a[0],r=a[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),r<e&&(s=e,e=r,r=s))),c&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],c.invert&&(i=c.invert(i),o=c.invert(o)),o<i&&(s=i,i=o,o=s))),l&&c?[[e,i],[r,o]]:l?[e,r]:c&&[i,o])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!l&&f[0]==f[1]||!!c&&h[0]==h[1]},sa.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Gs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Xs=du.format=xu.timeFormat,Zs=Xs.utc,Js=Zs("%Y-%m-%dT%H:%M:%S.%LZ");Xs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?ra:Js,ra.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},ra.toString=Js.toString,du.second=zt(function(t){return new vu(1e3*Math.floor(t/1e3))},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),du.seconds=du.second.range,du.seconds.utc=du.second.utc.range,du.minute=zt(function(t){return new vu(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),du.minutes=du.minute.range,du.minutes.utc=du.minute.utc.range,du.hour=zt(function(t){var n=t.getTimezoneOffset()/60;return new vu(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),du.hours=du.hour.range,du.hours.utc=du.hour.utc.range,du.month=zt(function(t){return t=du.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),du.months=du.month.range,du.months.utc=du.month.utc.range;var Ks=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Qs=[[du.second,1],[du.second,5],[du.second,15],[du.second,30],[du.minute,1],[du.minute,5],[du.minute,15],[du.minute,30],[du.hour,1],[du.hour,3],[du.hour,6],[du.hour,12],[du.day,1],[du.day,2],[du.week,1],[du.month,1],[du.month,3],[du.year,1]],tl=Xs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Pn]]),nl={range:function(t,n,e){return sa.range(Math.ceil(t/e)*e,+n,e).map(oa)},floor:y,ceil:y};Qs.year=du.year,du.scale=function(){return ia(sa.scale.linear(),Qs,tl)};var el=Qs.map(function(t){return[t[0].utc,t[1]]}),rl=Zs.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Pn]]);el.year=du.year.utc,du.scale.utc=function(){return ia(sa.scale.linear(),el,rl)},sa.text=kt(function(t){return t.responseText}),sa.json=function(t,n){return At(t,"application/json",aa,n)},sa.html=function(t,n){return At(t,"text/html",ua,n)},sa.xml=kt(function(t){return t.responseXML}),"function"==typeof define&&define.amd?(this.d3=sa,define(sa)):"object"==typeof module&&module.exports?module.exports=sa:this.d3=sa}(),angular.module("RecursionHelper",[]).factory("RecursionHelper",["$compile",function(t){return{compile:function(n,e){angular.isFunction(e)&&(e={post:e});var r,i=n.contents().remove();return{pre:e&&e.pre?e.pre:null,post:function(n,o){r||(r=t(i)),r(n,function(t){o.append(t)}),e&&e.post&&e.post.apply(null,arguments)}}}}}]);
\ No newline at end of file
+!function(t){"use strict";function n(t,n){return n=n||Error,function(){var e,r,i=2,o=arguments,a=o[0],u="["+(t?t+":":"")+a+"] ",s=o[1];for(u+=s.replace(/\{\d+\}/g,function(t){var n=+t.slice(1,-1),e=n+i;return e<o.length?$t(o[e]):t}),u+="\nhttp://errors.angularjs.org/1.5.9-build.4970+sha.1660ddd/"+(t?t+"/":"")+a,r=i,e="?";r<o.length;r++,e="&")u+=e+"p"+(r-i)+"="+encodeURIComponent($t(o[r]));return new n(u)}}function e(t){if(null==t||_(t))return!1;if(Kr(t)||x(t)||qr&&t instanceof qr)return!0;var n="length"in Object(t)&&t.length;return w(n)&&(n>=0&&(n-1 in t||t instanceof Array)||"function"==typeof t.item)}function r(t,n,i){var o,a;if(t)if(S(t))for(o in t)"prototype"!==o&&"length"!==o&&"name"!==o&&t.hasOwnProperty(o)&&n.call(i,t[o],o,t);else if(Kr(t)||e(t)){var u="object"!=typeof t;for(o=0,a=t.length;o<a;o++)(u||o in t)&&n.call(i,t[o],o,t)}else if(t.forEach&&t.forEach!==r)t.forEach(n,i,t);else if(b(t))for(o in t)n.call(i,t[o],o,t);else if("function"==typeof t.hasOwnProperty)for(o in t)t.hasOwnProperty(o)&&n.call(i,t[o],o,t);else for(o in t)jr.call(t,o)&&n.call(i,t[o],o,t);return t}function i(t,n,e){for(var r=Object.keys(t).sort(),i=0;i<r.length;i++)n.call(e,t[r[i]],r[i]);return r}function o(t){return function(n,e){t(e,n)}}function a(){return++Jr}function u(t,n){n?t.$$hashKey=n:delete t.$$hashKey}function s(t,n,e){for(var r=t.$$hashKey,i=0,o=n.length;i<o;++i){var a=n[i];if($(a)||S(a))for(var l=Object.keys(a),c=0,f=l.length;c<f;c++){var h=l[c],p=a[h];e&&$(p)?C(p)?t[h]=new Date(p.valueOf()):M(p)?t[h]=new RegExp(p):p.nodeName?t[h]=p.cloneNode(!0):j(p)?t[h]=p.clone():($(t[h])||(t[h]=Kr(p)?[]:{}),s(t[h],[p],!0)):t[h]=p}}return u(t,r),t}function l(t){return s(t,Ur.call(arguments,1),!1)}function c(t){return s(t,Ur.call(arguments,1),!0)}function f(t){return parseInt(t,10)}function h(t,n){return l(Object.create(t),n)}function p(){}function d(t){return t}function v(t){return function(){return t}}function g(t){return S(t.toString)&&t.toString!==Yr}function m(t){return"undefined"==typeof t}function y(t){return"undefined"!=typeof t}function $(t){return null!==t&&"object"==typeof t}function b(t){return null!==t&&"object"==typeof t&&!Gr(t)}function x(t){return"string"==typeof t}function w(t){return"number"==typeof t}function C(t){return"[object Date]"===Yr.call(t)}function S(t){return"function"==typeof t}function M(t){return"[object RegExp]"===Yr.call(t)}function _(t){return t&&t.window===t}function k(t){return t&&t.$evalAsync&&t.$watch}function A(t){return"[object File]"===Yr.call(t)}function E(t){return"[object FormData]"===Yr.call(t)}function P(t){return"[object Blob]"===Yr.call(t)}function O(t){return"boolean"==typeof t}function T(t){return t&&S(t.then)}function L(t){return t&&w(t.length)&&Qr.test(Yr.call(t))}function N(t){return"[object ArrayBuffer]"===Yr.call(t)}function j(t){return!(!t||!(t.nodeName||t.prop&&t.attr&&t.find))}function R(t){var n,e={},r=t.split(",");for(n=0;n<r.length;n++)e[r[n]]=!0;return e}function D(t){return Rr(t.nodeName||t[0]&&t[0].nodeName)}function F(t,n){var e=t.indexOf(n);return e>=0&&t.splice(e,1),e}function I(t,n){function e(t,n){var e,r=n.$$hashKey;if(Kr(t))for(var o=0,a=t.length;o<a;o++)n.push(i(t[o]));else if(b(t))for(e in t)n[e]=i(t[e]);else if(t&&"function"==typeof t.hasOwnProperty)for(e in t)t.hasOwnProperty(e)&&(n[e]=i(t[e]));else for(e in t)jr.call(t,e)&&(n[e]=i(t[e]));return u(n,r),n}function i(t){if(!$(t))return t;var n=a.indexOf(t);if(n!==-1)return s[n];if(_(t)||k(t))throw Zr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var r=!1,i=o(t);return void 0===i&&(i=Kr(t)?[]:Object.create(Gr(t)),r=!0),a.push(t),s.push(i),r?e(t,i):i}function o(t){switch(Yr.call(t)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new t.constructor(i(t.buffer),t.byteOffset,t.length);case"[object ArrayBuffer]":if(!t.slice){var n=new ArrayBuffer(t.byteLength);return new Uint8Array(n).set(new Uint8Array(t)),n}return t.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new t.constructor(t.valueOf());case"[object RegExp]":var e=new RegExp(t.source,t.toString().match(/[^\/]*$/)[0]);return e.lastIndex=t.lastIndex,e;case"[object Blob]":return new t.constructor([t],{type:t.type})}if(S(t.cloneNode))return t.cloneNode(!0)}var a=[],s=[];if(n){if(L(n)||N(n))throw Zr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(t===n)throw Zr("cpi","Can't copy! Source and destination are identical.");return Kr(n)?n.length=0:r(n,function(t,e){"$$hashKey"!==e&&delete n[e]}),a.push(t),s.push(n),e(t,n)}return i(t)}function V(t,n){if(t===n)return!0;if(null===t||null===n)return!1;if(t!==t&&n!==n)return!0;var e,r,i,o=typeof t,a=typeof n;if(o===a&&"object"===o){if(!Kr(t)){if(C(t))return!!C(n)&&V(t.getTime(),n.getTime());if(M(t))return!!M(n)&&t.toString()===n.toString();if(k(t)||k(n)||_(t)||_(n)||Kr(n)||C(n)||M(n))return!1;i=dt();for(r in t)if("$"!==r.charAt(0)&&!S(t[r])){if(!V(t[r],n[r]))return!1;i[r]=!0}for(r in n)if(!(r in i)&&"$"!==r.charAt(0)&&y(n[r])&&!S(n[r]))return!1;return!0}if(!Kr(n))return!1;if((e=t.length)===n.length){for(r=0;r<e;r++)if(!V(t[r],n[r]))return!1;return!0}}return!1}function q(t,n,e){return t.concat(Ur.call(n,e))}function z(t,n){return Ur.call(t,n||0)}function B(t,n){var e=arguments.length>2?z(arguments,2):[];return!S(n)||n instanceof RegExp?n:e.length?function(){return arguments.length?n.apply(t,q(e,arguments,0)):n.apply(t,e)}:function(){return arguments.length?n.apply(t,arguments):n.call(t)}}function U(n,e){var r=e;return"string"==typeof n&&"$"===n.charAt(0)&&"$"===n.charAt(1)?r=void 0:_(e)?r="$WINDOW":e&&t.document===e?r="$DOCUMENT":k(e)&&(r="$SCOPE"),r}function W(t,n){if(!m(t))return w(n)||(n=n?2:null),JSON.stringify(t,U,n)}function H(t){return x(t)?JSON.parse(t):t}function Y(t,n){t=t.replace(ii,"");var e=Date.parse("Jan 01, 1970 00:00:00 "+t)/6e4;return isNaN(e)?n:e}function G(t,n){return t=new Date(t.getTime()),t.setMinutes(t.getMinutes()+n),t}function Z(t,n,e){e=e?-1:1;var r=t.getTimezoneOffset(),i=Y(n,r);return G(t,e*(i-r))}function X(t){t=qr(t).clone();try{t.empty()}catch(n){}var e=qr("<div>").append(t).html();try{return t[0].nodeType===ci?Rr(e):e.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(t,n){return"<"+Rr(n)})}catch(n){return Rr(e)}}function J(t){try{return decodeURIComponent(t)}catch(n){}}function K(t){var n={};return r((t||"").split("&"),function(t){var e,r,i;t&&(r=t=t.replace(/\+/g,"%20"),e=t.indexOf("="),e!==-1&&(r=t.substring(0,e),i=t.substring(e+1)),r=J(r),y(r)&&(i=!y(i)||J(i),jr.call(n,r)?Kr(n[r])?n[r].push(i):n[r]=[n[r],i]:n[r]=i))}),n}function Q(t){var n=[];return r(t,function(t,e){Kr(t)?r(t,function(t){n.push(nt(e,!0)+(t===!0?"":"="+nt(t,!0)))}):n.push(nt(e,!0)+(t===!0?"":"="+nt(t,!0)))}),n.length?n.join("&"):""}function tt(t){return nt(t,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function nt(t,n){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,n?"%20":"+")}function et(t,n){var e,r,i=oi.length;for(r=0;r<i;++r)if(e=oi[r]+n,x(e=t.getAttribute(e)))return e;return null}function rt(t,n){var e,i,o={};r(oi,function(n){var r=n+"app";!e&&t.hasAttribute&&t.hasAttribute(r)&&(e=t,i=t.getAttribute(r))}),r(oi,function(n){var r,o=n+"app";!e&&(r=t.querySelector("["+o.replace(":","\\:")+"]"))&&(e=r,i=r.getAttribute(o))}),e&&(o.strictDi=null!==et(e,"strict-di"),n(e,i?[i]:[],o))}function it(n,e,i){$(i)||(i={});var o={strictDi:!1};i=l(o,i);var a=function(){if(n=qr(n),n.injector()){var r=n[0]===t.document?"document":X(n);throw Zr("btstrpd","App already bootstrapped with this element '{0}'",r.replace(/</,"<").replace(/>/,">"))}e=e||[],e.unshift(["$provide",function(t){t.value("$rootElement",n)}]),i.debugInfoEnabled&&e.push(["$compileProvider",function(t){t.debugInfoEnabled(!0)}]),e.unshift("ng");var o=on(e,i.strictDi);return o.invoke(["$rootScope","$rootElement","$compile","$injector",function(t,n,e,r){t.$apply(function(){n.data("$injector",r),e(n)(t)})}]),o},u=/^NG_ENABLE_DEBUG_INFO!/,s=/^NG_DEFER_BOOTSTRAP!/;return t&&u.test(t.name)&&(i.debugInfoEnabled=!0,t.name=t.name.replace(u,"")),t&&!s.test(t.name)?a():(t.name=t.name.replace(s,""),Xr.resumeBootstrap=function(t){return r(t,function(t){e.push(t)}),a()},void(S(Xr.resumeDeferredBootstrap)&&Xr.resumeDeferredBootstrap()))}function ot(){t.name="NG_ENABLE_DEBUG_INFO!"+t.name,t.location.reload()}function at(t){var n=Xr.element(t).injector();if(!n)throw Zr("test","no injector found for element argument to getTestability");return n.get("$$testability")}function ut(t,n){return n=n||"_",t.replace(ai,function(t,e){return(e?n:"")+t.toLowerCase()})}function st(){var n;if(!ui){var e=ri();zr=m(e)?t.jQuery:e?t[e]:void 0,zr&&zr.fn.on?(qr=zr,l(zr.fn,{scope:ki.scope,isolateScope:ki.isolateScope,controller:ki.controller,injector:ki.injector,inheritedData:ki.inheritedData}),n=zr.cleanData,zr.cleanData=function(t){for(var e,r,i=0;null!=(r=t[i]);i++)e=zr._data(r,"events"),e&&e.$destroy&&zr(r).triggerHandler("$destroy");n(t)}):qr=Pt,Xr.element=qr,ui=!0}}function lt(t,n,e){if(!t)throw Zr("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function ct(t,n,e){return e&&Kr(t)&&(t=t[t.length-1]),lt(S(t),n,"not a function, got "+(t&&"object"==typeof t?t.constructor.name||"Object":typeof t)),t}function ft(t,n){if("hasOwnProperty"===t)throw Zr("badname","hasOwnProperty is not a valid {0} name",n)}function ht(t,n,e){if(!n)return t;for(var r,i=n.split("."),o=t,a=i.length,u=0;u<a;u++)r=i[u],t&&(t=(o=t)[r]);return!e&&S(t)?B(o,t):t}function pt(t){for(var n,e=t[0],r=t[t.length-1],i=1;e!==r&&(e=e.nextSibling);i++)(n||t[i]!==e)&&(n||(n=qr(Ur.call(t,0,i))),n.push(e));return n||t}function dt(){return Object.create(null)}function vt(t){if(null==t)return"";switch(typeof t){case"string":break;case"number":t=""+t;break;default:t=!g(t)||Kr(t)||C(t)?W(t):t.toString()}return t}function gt(t){function e(t,n,e){return t[n]||(t[n]=e())}var r=n("$injector"),i=n("ng"),o=e(t,"angular",Object);return o.$$minErr=o.$$minErr||n,e(o,"module",function(){var t={};return function(n,o,a){var u=function(t,n){if("hasOwnProperty"===t)throw i("badname","hasOwnProperty is not a valid {0} name",n)};return u(n,"module"),o&&t.hasOwnProperty(n)&&(t[n]=null),e(t,n,function(){function t(t,n,e,r){return r||(r=i),function(){return r[e||"push"]([t,n,arguments]),c}}function e(t,e,r){return r||(r=i),function(i,o){return o&&S(o)&&(o.$$moduleName=n),r.push([t,e,arguments]),c}}if(!o)throw r("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.",n);var i=[],u=[],s=[],l=t("$injector","invoke","push",u),c={_invokeQueue:i,_configBlocks:u,_runBlocks:s,requires:o,name:n,provider:e("$provide","provider"),factory:e("$provide","factory"),service:e("$provide","service"),value:t("$provide","value"),constant:t("$provide","constant","unshift"),decorator:e("$provide","decorator",u),animation:e("$animateProvider","register"),filter:e("$filterProvider","register"),controller:e("$controllerProvider","register"),directive:e("$compileProvider","directive"),component:e("$compileProvider","component"),config:l,run:function(t){return s.push(t),this}};return a&&l(a),c})}})}function mt(t,n){if(Kr(t)){n=n||[];for(var e=0,r=t.length;e<r;e++)n[e]=t[e]}else if($(t)){n=n||{};for(var i in t)"$"===i.charAt(0)&&"$"===i.charAt(1)||(n[i]=t[i])}return n||t}function yt(t){var n=[];return JSON.stringify(t,function(t,e){if(e=U(t,e),$(e)){if(n.indexOf(e)>=0)return"...";n.push(e)}return e})}function $t(t){return"function"==typeof t?t.toString().replace(/ \{[\s\S]*$/,""):m(t)?"undefined":"string"!=typeof t?yt(t):t}function bt(e){l(e,{bootstrap:it,copy:I,extend:l,merge:c,equals:V,element:qr,forEach:r,injector:on,noop:p,bind:B,toJson:W,fromJson:H,identity:d,isUndefined:m,isDefined:y,isString:x,isFunction:S,isObject:$,isNumber:w,isElement:j,isArray:Kr,version:di,isDate:C,lowercase:Rr,uppercase:Dr,callbacks:{$$counter:0},getTestability:at,reloadWithDebugInfo:ot,$$minErr:n,$$csp:ei,$$encodeUriSegment:tt,$$encodeUriQuery:nt,$$stringify:vt}),(Br=gt(t))("ng",["ngLocale"],["$provide",function(t){t.provider({$$sanitizeUri:ke}),t.provider("$compile",gn).directive({a:Ro,input:na,textarea:na,form:qo,script:Xa,select:Qa,style:nu,option:tu,ngBind:ia,ngBindHtml:aa,ngBindTemplate:oa,ngClass:sa,ngClassEven:ca,ngClassOdd:la,ngCloak:fa,ngController:ha,ngForm:zo,ngHide:Ba,ngIf:va,ngInclude:ga,ngInit:ya,ngNonBindable:Na,ngPluralize:Fa,ngRepeat:Ia,ngShow:za,ngStyle:Ua,ngSwitch:Wa,ngSwitchWhen:Ha,ngSwitchDefault:Ya,ngOptions:Da,ngTransclude:Za,ngModel:Oa,ngList:$a,ngChange:ua,pattern:ru,ngPattern:ru,required:eu,ngRequired:eu,minlength:ou,ngMinlength:ou,maxlength:iu,ngMaxlength:iu,ngValue:ra,ngModelOptions:La}).directive({ngInclude:ma}).directive(Do).directive(pa),t.provider({$anchorScroll:an,$animate:Bi,$animateCss:Hi,$$animateJs:qi,$$animateQueue:zi,$$AnimateRunner:Wi,$$animateAsyncRun:Ui,$browser:hn,$cacheFactory:pn,$controller:wn,$document:Cn,$$isDocumentHidden:Sn,$exceptionHandler:Mn,$filter:qe,$$forceReflow:Ki,$interpolate:In,$interval:Vn,$http:jn,$httpParamSerializer:kn,$httpParamSerializerJQLike:An,$httpBackend:Dn,$xhrFactory:Rn,$jsonpCallbacks:uo,$location:ne,$log:ee,$parse:xe,$rootScope:_e,$q:we,$$q:Ce,$sce:Oe,$sceDelegate:Pe,$sniffer:Te,$templateCache:dn,$templateRequest:Le,$$testability:Ne,$timeout:je,$window:Fe,$$rAF:Me,$$jqLite:Jt,$$HashMap:Oi,$$cookieReader:Ve})}])}function xt(){return++gi}function wt(t){return t.replace(mi,function(t,n,e,r){return r?e.toUpperCase():e}).replace(yi,"Moz$1")}function Ct(t){return!wi.test(t)}function St(t){var n=t.nodeType;return n===si||!n||n===hi}function Mt(t){for(var n in vi[t.ng339])return!0;return!1}function _t(t){for(var n=0,e=t.length;n<e;n++)Nt(t[n])}function kt(t,n){var e,i,o,a,u=n.createDocumentFragment(),s=[];if(Ct(t))s.push(n.createTextNode(t));else{for(e=u.appendChild(n.createElement("div")),i=(Ci.exec(t)||["",""])[1].toLowerCase(),o=Mi[i]||Mi._default,e.innerHTML=o[1]+t.replace(Si,"<$1></$2>")+o[2],a=o[0];a--;)e=e.lastChild;s=q(s,e.childNodes),e=u.firstChild,e.textContent=""}return u.textContent="",u.innerHTML="",r(s,function(t){u.appendChild(t)}),u}function At(n,e){e=e||t.document;var r;return(r=xi.exec(n))?[e.createElement(r[1])]:(r=kt(n,e))?r.childNodes:[]}function Et(t,n){var e=t.parentNode;e&&e.replaceChild(n,t),n.appendChild(t)}function Pt(t){if(t instanceof Pt)return t;var n;if(x(t)&&(t=ti(t),n=!0),!(this instanceof Pt)){if(n&&"<"!==t.charAt(0))throw bi("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new Pt(t)}n?Vt(this,At(t)):Vt(this,t)}function Ot(t){return t.cloneNode(!0)}function Tt(t,n){if(n||Nt(t),t.querySelectorAll)for(var e=t.querySelectorAll("*"),r=0,i=e.length;r<i;r++)Nt(e[r])}function Lt(t,n,e,i){if(y(i))throw bi("offargs","jqLite#off() does not support the `selector` argument");var o=jt(t),a=o&&o.events,u=o&&o.handle;if(u)if(n){var s=function(n){var r=a[n];y(e)&&F(r||[],e),y(e)&&r&&r.length>0||(t.removeEventListener(n,u),delete a[n])};r(n.split(" "),function(t){s(t),$i[t]&&s($i[t])})}else for(n in a)"$destroy"!==n&&t.removeEventListener(n,u),delete a[n]}function Nt(t,n){var e=t.ng339,r=e&&vi[e];if(r){if(n)return void delete r.data[n];r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),Lt(t)),delete vi[e],t.ng339=void 0}}function jt(t,n){var e=t.ng339,r=e&&vi[e];return n&&!r&&(t.ng339=e=xt(),r=vi[e]={events:{},data:{},handle:void 0}),r}function Rt(t,n,e){if(St(t)){var r=y(e),i=!r&&n&&!$(n),o=!n,a=jt(t,!i),u=a&&a.data;if(r)u[n]=e;else{if(o)return u;if(i)return u&&u[n];l(u,n)}}}function Dt(t,n){return!!t.getAttribute&&(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+n+" ")>-1}function Ft(t,n){n&&t.setAttribute&&r(n.split(" "),function(n){t.setAttribute("class",ti((" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+ti(n)+" "," ")))})}function It(t,n){if(n&&t.setAttribute){var e=(" "+(t.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");r(n.split(" "),function(t){t=ti(t),e.indexOf(" "+t+" ")===-1&&(e+=t+" ")}),t.setAttribute("class",ti(e))}}function Vt(t,n){if(n)if(n.nodeType)t[t.length++]=n;else{var e=n.length;if("number"==typeof e&&n.window!==n){if(e)for(var r=0;r<e;r++)t[t.length++]=n[r]}else t[t.length++]=n}}function qt(t,n){return zt(t,"$"+(n||"ngController")+"Controller")}function zt(t,n,e){t.nodeType===hi&&(t=t.documentElement);for(var r=Kr(n)?n:[n];t;){for(var i=0,o=r.length;i<o;i++)if(y(e=qr.data(t,r[i])))return e;t=t.parentNode||t.nodeType===pi&&t.host}}function Bt(t){for(Tt(t,!0);t.firstChild;)t.removeChild(t.firstChild)}function Ut(t,n){n||Tt(t);var e=t.parentNode;e&&e.removeChild(t)}function Wt(n,e){e=e||t,"complete"===e.document.readyState?e.setTimeout(n):qr(e).on("load",n)}function Ht(t,n){var e=Ai[n.toLowerCase()];return e&&Ei[D(t)]&&e}function Yt(t){return Pi[t]}function Gt(t,n){var e=function(e,r){e.isDefaultPrevented=function(){return e.defaultPrevented};var i=n[r||e.type],o=i?i.length:0;if(o){if(m(e.immediatePropagationStopped)){var a=e.stopImmediatePropagation;e.stopImmediatePropagation=function(){e.immediatePropagationStopped=!0,e.stopPropagation&&e.stopPropagation(),a&&a.call(e)}}e.isImmediatePropagationStopped=function(){return e.immediatePropagationStopped===!0};var u=i.specialHandlerWrapper||Zt;o>1&&(i=mt(i));for(var s=0;s<o;s++)e.isImmediatePropagationStopped()||u(t,e,i[s])}};return e.elem=t,e}function Zt(t,n,e){e.call(t,n)}function Xt(t,n,e){var r=n.relatedTarget;r&&(r===t||_i.call(t,r))||e.call(t,n)}function Jt(){this.$get=function(){return l(Pt,{hasClass:function(t,n){return t.attr&&(t=t[0]),Dt(t,n)},addClass:function(t,n){return t.attr&&(t=t[0]),It(t,n)},removeClass:function(t,n){return t.attr&&(t=t[0]),Ft(t,n)}})}}function Kt(t,n){var e=t&&t.$$hashKey;if(e)return"function"==typeof e&&(e=t.$$hashKey()),e;var r=typeof t;return e="function"===r||"object"===r&&null!==t?t.$$hashKey=r+":"+(n||a)():r+":"+t}function Qt(t,n){if(n){var e=0;this.nextUid=function(){return++e}}r(t,this.put,this)}function tn(t){return Function.prototype.toString.call(t)+" "}function nn(t){var n=tn(t).replace(Ri,""),e=n.match(Ti)||n.match(Li);return e}function en(t){var n=nn(t);return n?"function("+(n[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function rn(t,n,e){var i,o,a;if("function"==typeof t){if(!(i=t.$inject)){if(i=[],t.length){if(n)throw x(e)&&e||(e=t.name||en(t)),Di("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",e);o=nn(t),r(o[1].split(Ni),function(t){t.replace(ji,function(t,n,e){i.push(e)})})}t.$inject=i}}else Kr(t)?(a=t.length-1,ct(t[a],"fn"),i=t.slice(0,a)):ct(t,"fn",!0);return i}function on(t,n){function e(t){return function(n,e){return $(n)?void r(n,o(t)):t(n,e)}}function i(t,n){if(ft(t,"service"),(S(n)||Kr(n))&&(n=C.instantiate(n)),!n.$get)throw Di("pget","Provider '{0}' must define $get factory method.",t);return w[t+g]=n}function a(t,n){return function(){var e=k.invoke(n,this);if(m(e))throw Di("undef","Provider '{0}' must return a value from $get factory method.",t);return e}}function u(t,n,e){return i(t,{$get:e!==!1?a(t,n):n})}function s(t,n){return u(t,["$injector",function(t){return t.instantiate(n)}])}function l(t,n){return u(t,v(n),!1)}function c(t,n){ft(t,"constant"),w[t]=n,M[t]=n}function f(t,n){var e=C.get(t+g),r=e.$get;e.$get=function(){var t=k.invoke(r,e);return k.invoke(n,null,{$delegate:t})}}function h(t){lt(m(t)||Kr(t),"modulesToLoad","not an array");var n,e=[];return r(t,function(t){function r(t){var n,e;for(n=0,e=t.length;n<e;n++){var r=t[n],i=C.get(r[0]);i[r[1]].apply(i,r[2])}}if(!b.get(t)){b.put(t,!0);try{x(t)?(n=Br(t),e=e.concat(h(n.requires)).concat(n._runBlocks),r(n._invokeQueue),r(n._configBlocks)):S(t)?e.push(C.invoke(t)):Kr(t)?e.push(C.invoke(t)):ct(t,"module")}catch(i){throw Kr(t)&&(t=t[t.length-1]),i.message&&i.stack&&i.stack.indexOf(i.message)===-1&&(i=i.message+"\n"+i.stack),Di("modulerr","Failed to instantiate module {0} due to:\n{1}",t,i.stack||i.message||i)}}}),e}function p(t,e){function r(n,r){if(t.hasOwnProperty(n)){if(t[n]===d)throw Di("cdep","Circular dependency found: {0}",n+" <- "+y.join(" <- "));return t[n]}try{return y.unshift(n),t[n]=d,t[n]=e(n,r)}catch(i){throw t[n]===d&&delete t[n],i}finally{y.shift()}}function i(t,e,i){for(var o=[],a=on.$$annotate(t,n,i),u=0,s=a.length;u<s;u++){var l=a[u];if("string"!=typeof l)throw Di("itkn","Incorrect injection token! Expected service name as string, got {0}",l);o.push(e&&e.hasOwnProperty(l)?e[l]:r(l,i))}return o}function o(t){if(Vr<=11||"function"!=typeof t)return!1;var n=t.$$ngIsClass;return O(n)||(n=t.$$ngIsClass=/^(?:class\b|constructor\()/.test(tn(t))),n}function a(t,n,e,r){"string"==typeof e&&(r=e,e=null);var a=i(t,e,r);return Kr(t)&&(t=t[t.length-1]),o(t)?(a.unshift(null),new(Function.prototype.bind.apply(t,a))):t.apply(n,a)}function u(t,n,e){var r=Kr(t)?t[t.length-1]:t,o=i(t,n,e);return o.unshift(null),new(Function.prototype.bind.apply(r,o))}return{invoke:a,instantiate:u,get:r,annotate:on.$$annotate,has:function(n){return w.hasOwnProperty(n+g)||t.hasOwnProperty(n)}}}n=n===!0;var d={},g="Provider",y=[],b=new Qt([],(!0)),w={$provide:{provider:e(i),factory:e(u),service:e(s),value:e(l),constant:e(c),decorator:f}},C=w.$injector=p(w,function(t,n){throw Xr.isString(n)&&y.push(n),Di("unpr","Unknown provider: {0}",y.join(" <- "))}),M={},_=p(M,function(t,n){var e=C.get(t+g,n);return k.invoke(e.$get,e,void 0,t)}),k=_;w["$injector"+g]={$get:v(_)};var A=h(t);return k=_.get("$injector"),k.strictDi=n,r(A,function(t){t&&k.invoke(t)}),k}function an(){var t=!0;this.disableAutoScrolling=function(){t=!1},this.$get=["$window","$location","$rootScope",function(n,e,r){function i(t){var n=null;return Array.prototype.some.call(t,function(t){if("a"===D(t))return n=t,!0}),n}function o(){var t=u.yOffset;if(S(t))t=t();else if(j(t)){var e=t[0],r=n.getComputedStyle(e);t="fixed"!==r.position?0:e.getBoundingClientRect().bottom}else w(t)||(t=0);return t}function a(t){if(t){t.scrollIntoView();var e=o();if(e){var r=t.getBoundingClientRect().top;n.scrollBy(0,r-e)}}else n.scrollTo(0,0)}function u(t){t=x(t)?t:e.hash();var n;t?(n=s.getElementById(t))?a(n):(n=i(s.getElementsByName(t)))?a(n):"top"===t&&a(null):a(null)}var s=n.document;return t&&r.$watch(function(){return e.hash()},function(t,n){t===n&&""===t||Wt(function(){r.$evalAsync(u)})}),u}]}function un(t,n){return t||n?t?n?(Kr(t)&&(t=t.join(" ")),Kr(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function sn(t){for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType===Ii)return e}}function ln(t){x(t)&&(t=t.split(" "));var n=dt();return r(t,function(t){t.length&&(n[t]=!0)}),n}function cn(t){return $(t)?t:{}}function fn(t,n,e,i){function o(t){try{t.apply(null,z(arguments,1))}finally{if(y--,0===y)for(;$.length;)try{$.pop()()}catch(n){e.error(n)}}}function a(t){var n=t.indexOf("#");return n===-1?"":t.substr(n)}function u(){S=null,s(),l()}function s(){b=M(),b=m(b)?null:b,V(b,A)&&(b=A),A=b}function l(){w===c.url()&&x===b||(w=c.url(),x=b,r(_,function(t){t(c.url(),b)}))}var c=this,f=t.location,h=t.history,d=t.setTimeout,v=t.clearTimeout,g={};c.isMock=!1;var y=0,$=[];c.$$completeOutstandingRequest=o,c.$$incOutstandingRequestCount=function(){y++},c.notifyWhenNoOutstandingRequests=function(t){0===y?t():$.push(t)};var b,x,w=f.href,C=n.find("base"),S=null,M=i.history?function(){try{return h.state}catch(t){}}:p;s(),x=b,c.url=function(n,e,r){if(m(r)&&(r=null),f!==t.location&&(f=t.location),h!==t.history&&(h=t.history),n){var o=x===r;if(w===n&&(!i.history||o))return c;var u=w&&Hn(w)===Hn(n);return w=n,x=r,!i.history||u&&o?(u||(S=n),e?f.replace(n):u?f.hash=a(n):f.href=n,f.href!==n&&(S=n)):(h[e?"replaceState":"pushState"](r,"",n),s(),x=b),S&&(S=n),c}return S||f.href.replace(/%27/g,"'")},c.state=function(){return b};var _=[],k=!1,A=null;c.onUrlChange=function(n){return k||(i.history&&qr(t).on("popstate",u),qr(t).on("hashchange",u),k=!0),_.push(n),n},c.$$applicationDestroyed=function(){qr(t).off("hashchange popstate",u)},c.$$checkUrlChange=l,c.baseHref=function(){var t=C.attr("href");return t?t.replace(/^(https?\:)?\/\/[^\/]*/,""):""},c.defer=function(t,n){var e;return y++,e=d(function(){delete g[e],o(t)},n||0),g[e]=!0,e},c.defer.cancel=function(t){return!!g[t]&&(delete g[t],v(t),o(p),!0)}}function hn(){this.$get=["$window","$log","$sniffer","$document",function(t,n,e,r){return new fn(t,r,n,e)}]}function pn(){this.$get=function(){function t(t,r){function i(t){t!==h&&(p?p===t&&(p=t.n):p=t,o(t.n,t.p),o(t,h),h=t,h.n=null)}function o(t,n){t!==n&&(t&&(t.p=n),n&&(n.n=t))}if(t in e)throw n("$cacheFactory")("iid","CacheId '{0}' is already taken!",t);var a=0,u=l({},r,{id:t}),s=dt(),c=r&&r.capacity||Number.MAX_VALUE,f=dt(),h=null,p=null;return e[t]={put:function(t,n){if(!m(n)){if(c<Number.MAX_VALUE){var e=f[t]||(f[t]={key:t});i(e)}return t in s||a++,s[t]=n,a>c&&this.remove(p.key),n}},get:function(t){if(c<Number.MAX_VALUE){var n=f[t];if(!n)return;i(n)}return s[t]},remove:function(t){if(c<Number.MAX_VALUE){var n=f[t];if(!n)return;n===h&&(h=n.p),n===p&&(p=n.n),o(n.n,n.p),delete f[t]}t in s&&(delete s[t],a--)},removeAll:function(){s=dt(),a=0,f=dt(),h=p=null},destroy:function(){s=null,u=null,f=null,delete e[t]},info:function(){return l({},u,{size:a})}}}var e={};return t.info=function(){var t={};return r(e,function(n,e){t[e]=n.info()}),t},t.get=function(t){return e[t]},t}}function dn(){this.$get=["$cacheFactory",function(t){return t("templates")}]}function vn(){}function gn(n,e){function i(t,n,e){var i=/^\s*([@&<]|=(\*?))(\??)\s*(\w*)\s*$/,o=dt();return r(t,function(t,r){if(t in _)return void(o[r]=_[t]);var a=t.match(i);if(!a)throw Yi("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",n,r,t,e?"controller bindings definition":"isolate scope definition");o[r]={mode:a[1][0],collection:"*"===a[2],optional:"?"===a[3],attrName:a[4]||r},a[4]&&(_[t]=o[r])}),o}function a(t,n){var e={isolateScope:null,bindToController:null};if($(t.scope)&&(t.bindToController===!0?(e.bindToController=i(t.scope,n,!0),e.isolateScope={}):e.isolateScope=i(t.scope,n,!1)),$(t.bindToController)&&(e.bindToController=i(t.bindToController,n,!0)),$(e.bindToController)){var r=t.controller,o=t.controllerAs;if(!r)throw Yi("noctrl","Cannot bind to controller without directive '{0}'s controller.",n);if(!xn(r,o))throw Yi("noident","Cannot bind to controller without identifier for directive '{0}'.",n)}return e}function u(t){var n=t.charAt(0);if(!n||n!==Rr(n))throw Yi("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",t);if(t!==t.trim())throw Yi("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",t)}function s(t){var n=t.require||t.controller&&t.name;return!Kr(n)&&$(n)&&r(n,function(t,e){var r=t.match(C),i=t.substring(r[0].length);i||(n[e]=r[0]+e)}),n}var c={},f="Directive",g=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,b=/(([\w\-]+)(?:\:([^;]+))?;?)/,w=R("ngSrc,ngSrcset,src,srcset"),C=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,M=/^(on[a-z]+|formaction)$/,_=dt();this.directive=function P(t,e){return ft(t,"directive"),x(t)?(u(t),lt(e,"directiveFactory"),c.hasOwnProperty(t)||(c[t]=[],n.factory(t+f,["$injector","$exceptionHandler",function(n,e){var i=[];return r(c[t],function(r,o){try{var a=n.invoke(r);S(a)?a={compile:v(a)}:!a.compile&&a.link&&(a.compile=v(a.link)),a.priority=a.priority||0,a.index=o,a.name=a.name||t,a.require=s(a),a.restrict=a.restrict||"EA",a.$$moduleName=r.$$moduleName,i.push(a)}catch(u){e(u)}}),i}])),c[t].push(e)):r(t,o(P)),this},this.component=function(t,n){function e(t){function e(n){return S(n)||Kr(n)?function(e,r){return t.invoke(n,this,{$element:e,$attrs:r})}:n}var o=n.template||n.templateUrl?n.template:"",a={controller:i,controllerAs:xn(n.controller)||n.controllerAs||"$ctrl",template:e(o),templateUrl:e(n.templateUrl),transclude:n.transclude,scope:{},bindToController:n.bindings||{},restrict:"E",require:n.require};return r(n,function(t,n){"$"===n.charAt(0)&&(a[n]=t)}),a}var i=n.controller||function(){};return r(n,function(t,n){"$"===n.charAt(0)&&(e[n]=t,S(i)&&(i[n]=t))}),e.$inject=["$injector"],this.directive(t,e)},this.aHrefSanitizationWhitelist=function(t){return y(t)?(e.aHrefSanitizationWhitelist(t),this):e.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(t){return y(t)?(e.imgSrcSanitizationWhitelist(t),this):e.imgSrcSanitizationWhitelist()};var A=!0;this.debugInfoEnabled=function(t){return y(t)?(A=t,this):A};var E=10;this.onChangesTtl=function(t){return arguments.length?(E=t,this):E},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function(n,e,i,o,u,s,v,_,P,T){function L(){try{if(!--wt)throw $t=void 0,Yi("infchng","{0} $onChanges() iterations reached. Aborting!\n",E);v.$apply(function(){for(var t=[],n=0,e=$t.length;n<e;++n)try{$t[n]()}catch(r){t.push(r)}if($t=void 0,t.length)throw t})}finally{wt++}}function N(t,n){if(n){var e,r,i,o=Object.keys(n);for(e=0,r=o.length;e<r;e++)i=o[e],this[i]=n[i]}else this.$attr={};this.$$element=t}function j(t,n,e){xt.innerHTML="<span "+n+">";var r=xt.firstChild.attributes,i=r[0];r.removeNamedItem(i.name),i.value=e,t.attributes.setNamedItem(i)}function R(t,n){try{t.addClass(n)}catch(e){}}function I(t,n,e,r,i){t instanceof qr||(t=qr(t));var o=U(t,n,t,e,r,i);I.$$addScopeClass(t);var a=null;return function(n,e,r){lt(n,"scope"),i&&i.needsNewScope&&(n=n.$parent.$new()),r=r||{};var u=r.parentBoundTranscludeFn,s=r.transcludeControllers,l=r.futureParentElement;u&&u.$$boundTransclude&&(u=u.$$boundTransclude),a||(a=q(l));var c;if(c="html"!==a?qr(ft(a,qr("<div>").append(t).html())):e?ki.clone.call(t):t,s)for(var f in s)c.data("$"+f+"Controller",s[f].instance);return I.$$addScopeInfo(c,n),e&&e(c,n),o&&o(n,c,c,u),c}}function q(t){var n=t&&t[0];return n&&"foreignobject"!==D(n)&&Yr.call(n).match(/SVG/)?"svg":"html"}function U(t,n,e,r,i,o){function a(t,e,r,i){var o,a,u,s,l,c,f,h,v;if(p){var g=e.length;for(v=new Array(g),l=0;l<d.length;l+=3)f=d[l],v[f]=e[f]}else v=e;for(l=0,c=d.length;l<c;)u=v[d[l++]],o=d[l++],a=d[l++],o?(o.scope?(s=t.$new(),I.$$addScopeInfo(qr(u),s)):s=t,h=o.transcludeOnThisElement?W(t,o.transclude,i):!o.templateOnThisElement&&i?i:!i&&n?W(t,n):null,o(a,s,u,r,h)):a&&a(t,u.childNodes,void 0,i)}for(var u,s,l,c,f,h,p,d=[],v=0;v<t.length;v++)u=new N,s=H(t[v],[],u,0===v?r:void 0,i),l=s.length?K(s,t[v],u,n,e,null,[],[],o):null,l&&l.scope&&I.$$addScopeClass(u.$$element),f=l&&l.terminal||!(c=t[v].childNodes)||!c.length?null:U(c,l?(l.transcludeOnThisElement||!l.templateOnThisElement)&&l.transclude:n),(l||f)&&(d.push(v,l,f),h=!0,p=p||l),o=null;return h?a:null}function W(t,n,e){function r(r,i,o,a,u){return r||(r=t.$new(!1,u),r.$$transcluded=!0),n(r,i,{parentBoundTranscludeFn:e,transcludeControllers:o,futureParentElement:a})}var i=r.$$slots=dt();for(var o in n.$$slots)n.$$slots[o]?i[o]=W(t,n.$$slots[o],e):i[o]=null;return r}function H(t,n,e,r,i){var o,a,u=t.nodeType,s=e.$attr;switch(u){case si:et(n,yn(D(t)),"E",r,i);for(var l,c,f,h,p,d,v=t.attributes,g=0,m=v&&v.length;g<m;g++){var y=!1,w=!1;l=v[g],c=l.name,p=l.value,h=yn(c),(d=kt.test(h))&&(c=c.replace(Zi,"").substr(8).replace(/_(.)/g,function(t,n){return n.toUpperCase()}));var C=h.match(At);C&&rt(C[1])&&(y=c,w=c.substr(0,c.length-5)+"end",c=c.substr(0,c.length-6)),f=yn(c.toLowerCase()),s[f]=c,!d&&e.hasOwnProperty(f)||(e[f]=p,Ht(t,f)&&(e[f]=!0)),pt(t,n,p,f,d),et(n,f,"A",r,i,y,w)}if(a=t.className,$(a)&&(a=a.animVal),x(a)&&""!==a)for(;o=b.exec(a);)f=yn(o[2]),et(n,f,"C",r,i)&&(e[f]=ti(o[3])),a=a.substr(o.index+o[0].length);break;case ci:if(11===Vr)for(;t.parentNode&&t.nextSibling&&t.nextSibling.nodeType===ci;)t.nodeValue=t.nodeValue+t.nextSibling.nodeValue,
+t.parentNode.removeChild(t.nextSibling);ct(n,t.nodeValue);break;case fi:Y(t,n,e,r,i)}return n.sort(at),n}function Y(t,n,e,r,i){try{var o=g.exec(t.nodeValue);if(o){var a=yn(o[1]);et(n,a,"M",r,i)&&(e[a]=ti(o[2]))}}catch(u){}}function G(t,n,e){var r=[],i=0;if(n&&t.hasAttribute&&t.hasAttribute(n)){do{if(!t)throw Yi("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",n,e);t.nodeType===si&&(t.hasAttribute(n)&&i++,t.hasAttribute(e)&&i--),r.push(t),t=t.nextSibling}while(i>0)}else r.push(t);return qr(r)}function Z(t,n,e){return function(r,i,o,a,u){return i=G(i[0],n,e),t(r,i,o,a,u)}}function J(t,n,e,r,i,o){var a;return t?I(n,e,r,i,o):function(){return a||(a=I(n,e,r,i,o),n=e=o=null),a.apply(this,arguments)}}function K(t,n,e,o,a,u,s,c,f){function h(t,n,e,r){t&&(e&&(t=Z(t,e,r)),t.require=d.require,t.directiveName=v,(M===d||d.$$isolateScope)&&(t=gt(t,{isolateScope:!0})),s.push(t)),n&&(e&&(n=Z(n,e,r)),n.require=d.require,n.directiveName=v,(M===d||d.$$isolateScope)&&(n=gt(n,{isolateScope:!0})),c.push(n))}function p(t,o,a,u,f){function h(t,n,e,r){var i;if(k(t)||(r=e,e=n,n=t,t=void 0),O&&(i=b),e||(e=O?A.parent():A),!r)return f(t,n,i,e,F);var o=f.$$slots[r];if(o)return o(t,n,i,e,F);if(m(o))throw Yi("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',r,X(A))}var p,d,v,g,y,b,x,A,E,P;n===a?(E=e,A=e.$$element):(A=qr(a),E=new N(A,e)),y=o,M?g=o.$new(!0):w&&(y=o.$parent),f&&(x=h,x.$$boundTransclude=f,x.isSlotFilled=function(t){return!!f.$$slots[t]}),C&&(b=tt(A,E,x,C,g,o,M)),M&&(I.$$addScopeInfo(A,g,!0,!(_&&(_===M||_===M.$$originalDirective))),I.$$addScopeClass(A,!0),g.$$isolateBindings=M.$$isolateBindings,P=yt(o,E,g,g.$$isolateBindings,M),P.removeWatches&&g.$on("$destroy",P.removeWatches));for(var T in b){var L=C[T],j=b[T],R=L.$$bindings.bindToController;j.identifier&&R?j.bindingInfo=yt(y,E,j.instance,R,L):j.bindingInfo={};var D=j();D!==j.instance&&(j.instance=D,A.data("$"+L.name+"Controller",D),j.bindingInfo.removeWatches&&j.bindingInfo.removeWatches(),j.bindingInfo=yt(y,E,j.instance,R,L))}for(r(C,function(t,n){var e=t.require;t.bindToController&&!Kr(e)&&$(e)&&l(b[n].instance,Q(n,e,A,b))}),r(b,function(t){var n=t.instance;if(S(n.$onChanges))try{n.$onChanges(t.bindingInfo.initialChanges)}catch(e){i(e)}if(S(n.$onInit))try{n.$onInit()}catch(e){i(e)}S(n.$doCheck)&&(y.$watch(function(){n.$doCheck()}),n.$doCheck()),S(n.$onDestroy)&&y.$on("$destroy",function(){n.$onDestroy()})}),p=0,d=s.length;p<d;p++)v=s[p],mt(v,v.isolateScope?g:o,A,E,v.require&&Q(v.directiveName,v.require,A,b),x);var F=o;for(M&&(M.template||null===M.templateUrl)&&(F=g),t&&t(F,a.childNodes,void 0,f),p=c.length-1;p>=0;p--)v=c[p],mt(v,v.isolateScope?g:o,A,E,v.require&&Q(v.directiveName,v.require,A,b),x);r(b,function(t){var n=t.instance;S(n.$postLink)&&n.$postLink()})}f=f||{};for(var d,v,g,y,b,x=-Number.MAX_VALUE,w=f.newScopeDirective,C=f.controllerDirectives,M=f.newIsolateScopeDirective,_=f.templateDirective,A=f.nonTlbTranscludeDirective,E=!1,P=!1,O=f.hasElementTranscludeDirective,T=e.$$element=qr(n),L=u,j=o,R=!1,F=!1,V=0,q=t.length;V<q;V++){d=t[V];var U=d.$$start,W=d.$$end;if(U&&(T=G(n,U,W)),g=void 0,x>d.priority)break;if((b=d.scope)&&(d.templateUrl||($(b)?(st("new/isolated scope",M||w,d,T),M=d):st("new/isolated scope",M,d,T)),w=w||d),v=d.name,!R&&(d.replace&&(d.templateUrl||d.template)||d.transclude&&!d.$$tlb)){for(var Y,K=V+1;Y=t[K++];)if(Y.transclude&&!Y.$$tlb||Y.replace&&(Y.templateUrl||Y.template)){F=!0;break}R=!0}if(!d.templateUrl&&d.controller&&(b=d.controller,C=C||dt(),st("'"+v+"' controller",C[v],d,T),C[v]=d),b=d.transclude)if(E=!0,d.$$tlb||(st("transclusion",A,d,T),A=d),"element"===b)O=!0,x=d.priority,g=T,T=e.$$element=qr(I.$$createComment(v,e[v])),n=T[0],vt(a,z(g),n),g[0].$$parentNode=g[0].parentNode,j=J(F,g,o,x,L&&L.name,{nonTlbTranscludeDirective:A});else{var et=dt();if(g=qr(Ot(n)).contents(),$(b)){g=[];var rt=dt(),at=dt();r(b,function(t,n){var e="?"===t.charAt(0);t=e?t.substring(1):t,rt[t]=n,et[n]=null,at[n]=e}),r(T.contents(),function(t){var n=rt[yn(D(t))];n?(at[n]=!0,et[n]=et[n]||[],et[n].push(t)):g.push(t)}),r(at,function(t,n){if(!t)throw Yi("reqslot","Required transclusion slot `{0}` was not filled.",n)});for(var ut in et)et[ut]&&(et[ut]=J(F,et[ut],o))}T.empty(),j=J(F,g,o,void 0,void 0,{needsNewScope:d.$$isolateScope||d.$$newScope}),j.$$slots=et}if(d.template)if(P=!0,st("template",_,d,T),_=d,b=S(d.template)?d.template(T,e):d.template,b=_t(b),d.replace){if(L=d,g=Ct(b)?[]:bn(ft(d.templateNamespace,ti(b))),n=g[0],1!==g.length||n.nodeType!==si)throw Yi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",v,"");vt(a,T,n);var lt={$attr:{}},ct=H(n,[],lt),ht=t.splice(V+1,t.length-(V+1));(M||w)&&nt(ct,M,w),t=t.concat(ct).concat(ht),it(e,lt),q=t.length}else T.html(b);if(d.templateUrl)P=!0,st("template",_,d,T),_=d,d.replace&&(L=d),p=ot(t.splice(V,t.length-V),T,e,a,E&&j,s,c,{controllerDirectives:C,newScopeDirective:w!==d&&w,newIsolateScopeDirective:M,templateDirective:_,nonTlbTranscludeDirective:A}),q=t.length;else if(d.compile)try{y=d.compile(T,e,j);var pt=d.$$originalDirective||d;S(y)?h(null,B(pt,y),U,W):y&&h(B(pt,y.pre),B(pt,y.post),U,W)}catch($t){i($t,X(T))}d.terminal&&(p.terminal=!0,x=Math.max(x,d.priority))}return p.scope=w&&w.scope===!0,p.transcludeOnThisElement=E,p.templateOnThisElement=P,p.transclude=j,f.hasElementTranscludeDirective=O,p}function Q(t,n,e,i){var o;if(x(n)){var a=n.match(C),u=n.substring(a[0].length),s=a[1]||a[3],l="?"===a[2];if("^^"===s?e=e.parent():(o=i&&i[u],o=o&&o.instance),!o){var c="$"+u+"Controller";o=s?e.inheritedData(c):e.data(c)}if(!o&&!l)throw Yi("ctreq","Controller '{0}', required by directive '{1}', can't be found!",u,t)}else if(Kr(n)){o=[];for(var f=0,h=n.length;f<h;f++)o[f]=Q(t,n[f],e,i)}else $(n)&&(o={},r(n,function(n,r){o[r]=Q(t,n,e,i)}));return o||null}function tt(t,n,e,r,i,o,a){var u=dt();for(var l in r){var c=r[l],f={$scope:c===a||c.$$isolateScope?i:o,$element:t,$attrs:n,$transclude:e},h=c.controller;"@"===h&&(h=n[c.name]);var p=s(h,f,!0,c.controllerAs);u[c.name]=p,t.data("$"+c.name+"Controller",p.instance)}return u}function nt(t,n,e){for(var r=0,i=t.length;r<i;r++)t[r]=h(t[r],{$$isolateScope:n,$$newScope:e})}function et(t,e,r,o,u,s,l){if(e===u)return null;var p=null;if(c.hasOwnProperty(e))for(var d,v=n.get(e+f),g=0,y=v.length;g<y;g++)try{if(d=v[g],(m(o)||o>d.priority)&&d.restrict.indexOf(r)!==-1){if(s&&(d=h(d,{$$start:s,$$end:l})),!d.$$bindings){var b=d.$$bindings=a(d,d.name);$(b.isolateScope)&&(d.$$isolateBindings=b.isolateScope)}t.push(d),p=d}}catch(x){i(x)}return p}function rt(t){if(c.hasOwnProperty(t))for(var e,r=n.get(t+f),i=0,o=r.length;i<o;i++)if(e=r[i],e.multiElement)return!0;return!1}function it(t,n){var e=n.$attr,i=t.$attr;t.$$element;r(t,function(r,i){"$"!==i.charAt(0)&&(n[i]&&n[i]!==r&&(r.length?r+=("style"===i?";":" ")+n[i]:r=n[i]),t.$set(i,r,!0,e[i]))}),r(n,function(n,r){t.hasOwnProperty(r)||"$"===r.charAt(0)||(t[r]=n,"class"!==r&&"style"!==r&&(i[r]=e[r]))})}function ot(t,n,e,i,a,u,s,l){var c,f,d=[],v=n[0],g=t.shift(),m=h(g,{templateUrl:null,transclude:null,replace:null,$$originalDirective:g}),y=S(g.templateUrl)?g.templateUrl(n,e):g.templateUrl,b=g.templateNamespace;return n.empty(),o(y).then(function(o){var h,p,x,w;if(o=_t(o),g.replace){if(x=Ct(o)?[]:bn(ft(b,ti(o))),h=x[0],1!==x.length||h.nodeType!==si)throw Yi("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g.name,y);p={$attr:{}},vt(i,n,h);var C=H(h,[],p);$(g.scope)&&nt(C,!0),t=C.concat(t),it(e,p)}else h=v,n.html(o);for(t.unshift(m),c=K(t,h,e,a,n,g,u,s,l),r(i,function(t,e){t===h&&(i[e]=n[0])}),f=U(n[0].childNodes,a);d.length;){var S=d.shift(),M=d.shift(),_=d.shift(),k=d.shift(),A=n[0];if(!S.$$destroyed){if(M!==v){var E=M.className;l.hasElementTranscludeDirective&&g.replace||(A=Ot(h)),vt(_,qr(M),A),R(qr(A),E)}w=c.transcludeOnThisElement?W(S,c.transclude,k):k,c(f,S,A,i,w)}}d=null})["catch"](p),function(t,n,e,r,i){var o=i;n.$$destroyed||(d?d.push(n,e,r,o):(c.transcludeOnThisElement&&(o=W(n,c.transclude,i)),c(f,n,e,r,o)))}}function at(t,n){var e=n.priority-t.priority;return 0!==e?e:t.name!==n.name?t.name<n.name?-1:1:t.index-n.index}function st(t,n,e,r){function i(t){return t?" (module: "+t+")":""}if(n)throw Yi("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",n.name,i(n.$$moduleName),e.name,i(e.$$moduleName),t,X(r))}function ct(t,n){var r=e(n,!0);r&&t.push({priority:0,compile:function(t){var n=t.parent(),e=!!n.length;return e&&I.$$addBindingClass(n),function(t,n){var i=n.parent();e||I.$$addBindingClass(i),I.$$addBindingInfo(i,r.expressions),t.$watch(r,function(t){n[0].nodeValue=t})}}})}function ft(n,e){switch(n=Rr(n||"html")){case"svg":case"math":var r=t.document.createElement("div");return r.innerHTML="<"+n+">"+e+"</"+n+">",r.childNodes[0].childNodes;default:return e}}function ht(t,n){if("srcdoc"===n)return _.HTML;var e=D(t);return"xlinkHref"===n||"form"===e&&"action"===n||"link"===e&&"href"===n||"img"!==e&&("src"===n||"ngSrc"===n)?_.RESOURCE_URL:void 0}function pt(t,n,r,i,o){var a=ht(t,i);o=w[i]||o;var u=e(r,!0,a,o);if(u){if("multiple"===i&&"select"===D(t))throw Yi("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",X(t));if(M.test(i))throw Yi("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");n.push({priority:100,compile:function(){return{pre:function(t,n,s){var l=s.$$observers||(s.$$observers=dt()),c=s[i];c!==r&&(u=c&&e(c,!0,a,o),r=c),u&&(s[i]=u(t),(l[i]||(l[i]=[])).$$inter=!0,(s.$$observers&&s.$$observers[i].$$scope||t).$watch(u,function(t,n){"class"===i&&t!==n?s.$updateClass(t,n):s.$set(i,t)}))}}}})}}function vt(n,e,r){var i,o,a=e[0],u=e.length,s=a.parentNode;if(n)for(i=0,o=n.length;i<o;i++)if(n[i]===a){n[i++]=r;for(var l=i,c=l+u-1,f=n.length;l<f;l++,c++)c<f?n[l]=n[c]:delete n[l];n.length-=u-1,n.context===a&&(n.context=r);break}s&&s.replaceChild(r,a);var h=t.document.createDocumentFragment();for(i=0;i<u;i++)h.appendChild(e[i]);for(qr.hasData(a)&&(qr.data(r,qr.data(a)),qr(a).off("$destroy")),qr.cleanData(h.querySelectorAll("*")),i=1;i<u;i++)delete e[i];e[0]=r,e.length=1}function gt(t,n){return l(function(){return t.apply(null,arguments)},t,n)}function mt(t,n,e,r,o,a){try{t(n,e,r,o,a)}catch(u){i(u,X(e))}}function yt(t,n,i,o,a){function s(n,e,r){S(i.$onChanges)&&e!==r&&($t||(t.$$postDigest(L),$t=[]),c||(c={},$t.push(l)),c[n]&&(r=c[n].previousValue),c[n]=new mn(r,e))}function l(){i.$onChanges(c),c=void 0}var c,f=[],h={};return r(o,function(r,o){var l,c,d,v,g,m=r.attrName,y=r.optional,$=r.mode;switch($){case"@":y||jr.call(n,m)||(i[o]=n[m]=void 0),n.$observe(m,function(t){if(x(t)||O(t)){var n=i[o];s(o,t,n),i[o]=t}}),n.$$observers[m].$$scope=t,l=n[m],x(l)?i[o]=e(l)(t):O(l)&&(i[o]=l),h[o]=new mn(Gi,i[o]);break;case"=":if(!jr.call(n,m)){if(y)break;n[m]=void 0}if(y&&!n[m])break;c=u(n[m]),v=c.literal?V:function(t,n){return t===n||t!==t&&n!==n},d=c.assign||function(){throw l=i[o]=c(t),Yi("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",n[m],m,a.name)},l=i[o]=c(t);var b=function(n){return v(n,i[o])||(v(n,l)?d(t,n=i[o]):i[o]=n),l=n};b.$stateful=!0,g=r.collection?t.$watchCollection(n[m],b):t.$watch(u(n[m],b),null,c.literal),f.push(g);break;case"<":if(!jr.call(n,m)){if(y)break;n[m]=void 0}if(y&&!n[m])break;c=u(n[m]);var w=i[o]=c(t);h[o]=new mn(Gi,i[o]),g=t.$watch(c,function(t,n){if(n===t){if(n===w)return;n=w}s(o,t,n),i[o]=t},c.literal),f.push(g);break;case"&":if(c=n.hasOwnProperty(m)?u(n[m]):p,c===p&&y)break;i[o]=function(n){return c(t,n)}}}),{initialChanges:h,removeWatches:f.length&&function(){for(var t=0,n=f.length;t<n;++t)f[t]()}}}var $t,bt=/^\w/,xt=t.document.createElement("div"),wt=E;N.prototype={$normalize:yn,$addClass:function(t){t&&t.length>0&&P.addClass(this.$$element,t)},$removeClass:function(t){t&&t.length>0&&P.removeClass(this.$$element,t)},$updateClass:function(t,n){var e=$n(t,n);e&&e.length&&P.addClass(this.$$element,e);var r=$n(n,t);r&&r.length&&P.removeClass(this.$$element,r)},$set:function(t,n,e,o){var a,u=this.$$element[0],s=Ht(u,t),l=Yt(t),c=t;if(s?(this.$$element.prop(t,n),o=s):l&&(this[l]=n,c=l),this[t]=n,o?this.$attr[t]=o:(o=this.$attr[t],o||(this.$attr[t]=o=ut(t,"-"))),a=D(this.$$element),"a"===a&&("href"===t||"xlinkHref"===t)||"img"===a&&"src"===t)this[t]=n=T(n,"src"===t);else if("img"===a&&"srcset"===t&&y(n)){for(var f="",h=ti(n),p=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,d=/\s/.test(h)?p:/(,)/,v=h.split(d),g=Math.floor(v.length/2),$=0;$<g;$++){var b=2*$;f+=T(ti(v[b]),!0),f+=" "+ti(v[b+1])}var x=ti(v[2*$]).split(/\s/);f+=T(ti(x[0]),!0),2===x.length&&(f+=" "+ti(x[1])),this[t]=n=f}e!==!1&&(null===n||m(n)?this.$$element.removeAttr(o):bt.test(o)?this.$$element.attr(o,n):j(this.$$element[0],o,n));var w=this.$$observers;w&&r(w[c],function(t){try{t(n)}catch(e){i(e)}})},$observe:function(t,n){var e=this,r=e.$$observers||(e.$$observers=dt()),i=r[t]||(r[t]=[]);return i.push(n),v.$evalAsync(function(){i.$$inter||!e.hasOwnProperty(t)||m(e[t])||n(e[t])}),function(){F(i,n)}}};var St=e.startSymbol(),Mt=e.endSymbol(),_t="{{"===St&&"}}"===Mt?d:function(t){return t.replace(/\{\{/g,St).replace(/}}/g,Mt)},kt=/^ngAttr[A-Z]/,At=/^(.+)Start$/;return I.$$addBindingInfo=A?function(t,n){var e=t.data("$binding")||[];Kr(n)?e=e.concat(n):e.push(n),t.data("$binding",e)}:p,I.$$addBindingClass=A?function(t){R(t,"ng-binding")}:p,I.$$addScopeInfo=A?function(t,n,e,r){var i=e?r?"$isolateScopeNoTemplate":"$isolateScope":"$scope";t.data(i,n)}:p,I.$$addScopeClass=A?function(t,n){R(t,n?"ng-isolate-scope":"ng-scope")}:p,I.$$createComment=function(n,e){var r="";return A&&(r=" "+(n||"")+": ",e&&(r+=e+" ")),t.document.createComment(r)},I}]}function mn(t,n){this.previousValue=t,this.currentValue=n}function yn(t){return wt(t.replace(Zi,""))}function $n(t,n){var e="",r=t.split(/\s+/),i=n.split(/\s+/);t:for(var o=0;o<r.length;o++){for(var a=r[o],u=0;u<i.length;u++)if(a===i[u])continue t;e+=(e.length>0?" ":"")+a}return e}function bn(t){t=qr(t);var n=t.length;if(n<=1)return t;for(;n--;){var e=t[n];e.nodeType===fi&&Wr.call(t,n,1)}return t}function xn(t,n){if(n&&x(n))return n;if(x(t)){var e=Ji.exec(t);if(e)return e[3]}}function wn(){var t={},e=!1;this.has=function(n){return t.hasOwnProperty(n)},this.register=function(n,e){ft(n,"controller"),$(n)?l(t,n):t[n]=e},this.allowGlobals=function(){e=!0},this.$get=["$injector","$window",function(r,i){function o(t,e,r,i){if(!t||!$(t.$scope))throw n("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",i,e);t.$scope[e]=r}return function(n,a,u,s){var c,f,h,p;if(u=u===!0,s&&x(s)&&(p=s),x(n)){if(f=n.match(Ji),!f)throw Xi("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",n);h=f[1],p=p||f[3],n=t.hasOwnProperty(h)?t[h]:ht(a.$scope,h,!0)||(e?ht(i,h,!0):void 0),ct(n,h,!0)}if(u){var d=(Kr(n)?n[n.length-1]:n).prototype;c=Object.create(d||null),p&&o(a,p,c,h||n.name);var v;return v=l(function(){var t=r.invoke(n,c,a,h);return t!==c&&($(t)||S(t))&&(c=t,p&&o(a,p,c,h||n.name)),c},{instance:c,identifier:p})}return c=r.instantiate(n,a,h),p&&o(a,p,c,h||n.name),c}}]}function Cn(){this.$get=["$window",function(t){return qr(t.document)}]}function Sn(){this.$get=["$document","$rootScope",function(t,n){function e(){i=r.hidden}var r=t[0],i=r&&r.hidden;return t.on("visibilitychange",e),n.$on("$destroy",function(){t.off("visibilitychange",e)}),function(){return i}}]}function Mn(){this.$get=["$log",function(t){return function(n,e){t.error.apply(t,arguments)}}]}function _n(t){return $(t)?C(t)?t.toISOString():W(t):t}function kn(){this.$get=function(){return function(t){if(!t)return"";var n=[];return i(t,function(t,e){null===t||m(t)||(Kr(t)?r(t,function(t){n.push(nt(e)+"="+nt(_n(t)))}):n.push(nt(e)+"="+nt(_n(t))))}),n.join("&")}}}function An(){this.$get=function(){return function(t){function n(t,o,a){null===t||m(t)||(Kr(t)?r(t,function(t,e){n(t,o+"["+($(t)?e:"")+"]")}):$(t)&&!C(t)?i(t,function(t,e){n(t,o+(a?"":"[")+e+(a?"":"]"))}):e.push(nt(o)+"="+nt(_n(t))))}if(!t)return"";var e=[];return n(t,"",!0),e.join("&")}}}function En(t,n){if(x(t)){var e=t.replace(ro,"").trim();if(e){var r=n("Content-Type");(r&&0===r.indexOf(Qi)||Pn(e))&&(t=H(e))}}return t}function Pn(t){var n=t.match(no);return n&&eo[n[0]].test(t)}function On(t){function n(t,n){t&&(i[t]=i[t]?i[t]+", "+n:n)}var e,i=dt();return x(t)?r(t.split("\n"),function(t){e=t.indexOf(":"),n(Rr(ti(t.substr(0,e))),ti(t.substr(e+1)))}):$(t)&&r(t,function(t,e){n(Rr(e),ti(t))}),i}function Tn(t){var n;return function(e){if(n||(n=On(t)),e){var r=n[Rr(e)];return void 0===r&&(r=null),r}return n}}function Ln(t,n,e,i){return S(i)?i(t,n,e):(r(i,function(r){t=r(t,n,e)}),t)}function Nn(t){return 200<=t&&t<300}function jn(){var t=this.defaults={transformResponse:[En],transformRequest:[function(t){return!$(t)||A(t)||P(t)||E(t)?t:W(t)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:mt(to),put:mt(to),patch:mt(to)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},e=!1;this.useApplyAsync=function(t){return y(t)?(e=!!t,this):e};var i=!0;this.useLegacyPromiseExtensions=function(t){return y(t)?(i=!!t,this):i};var o=this.interceptors=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(a,u,s,c,f,h,d){function v(e){function o(t,n){for(var e=0,r=n.length;e<r;){var i=n[e++],o=n[e++];t=t.then(i,o)}return n.length=0,t}function u(){a.$$completeOutstandingRequest(p)}function s(t,n){var e,i={};return r(t,function(t,r){S(t)?(e=t(n),null!=e&&(i[r]=e)):i[r]=t}),i}function c(n){var e,r,i,o=t.headers,a=l({},n.headers);o=l({},o.common,o[Rr(n.method)]);t:for(e in o){r=Rr(e);for(i in a)if(Rr(i)===r)continue t;a[e]=o[e]}return s(a,mt(n))}function f(n){var e=n.headers,i=Ln(n.data,Tn(e),void 0,n.transformRequest);return m(i)&&r(e,function(t,n){"content-type"===Rr(n)&&delete e[n]}),m(n.withCredentials)&&!m(t.withCredentials)&&(n.withCredentials=t.withCredentials),w(n,i).then(v,v)}function v(t){var n=l({},t);return n.data=Ln(t.data,t.headers,t.status,g.transformResponse),Nn(t.status)?n:h.reject(n)}if(!$(e))throw n("$http")("badreq","Http request configuration must be an object. Received: {0}",e);if(!x(e.url))throw n("$http")("badreq","Http request configuration url must be a string. Received: {0}",e.url);var g=l({method:"get",transformRequest:t.transformRequest,transformResponse:t.transformResponse,paramSerializer:t.paramSerializer},e);g.headers=c(e),g.method=Dr(g.method),g.paramSerializer=x(g.paramSerializer)?d.get(g.paramSerializer):g.paramSerializer,a.$$incOutstandingRequestCount();var y=[],b=[],C=h.when(g);return r(_,function(t){(t.request||t.requestError)&&y.unshift(t.request,t.requestError),(t.response||t.responseError)&&b.push(t.response,t.responseError)}),C=o(C,y),C=C.then(f),C=o(C,b),C=C["finally"](u),i?(C.success=function(t){return ct(t,"fn"),C.then(function(n){t(n.data,n.status,n.headers,g)}),C},C.error=function(t){return ct(t,"fn"),C.then(null,function(n){t(n.data,n.status,n.headers,g)}),C}):(C.success=oo("success"),C.error=oo("error")),C}function g(t){r(arguments,function(t){v[t]=function(n,e){return v(l({},e||{},{method:t,url:n}))}})}function b(t){r(arguments,function(t){v[t]=function(n,e,r){return v(l({},r||{},{method:t,url:n,data:e}))}})}function w(n,i){function o(t){if(t){var n={};return r(t,function(t,r){n[r]=function(n){function r(){t(n)}e?f.$applyAsync(r):f.$$phase?r():f.$apply(r)}}),n}}function a(t,n,r,i){function o(){l(n,t,r,i)}d&&(Nn(t)?d.put(S,[t,n,On(r),i]):d.remove(S)),e?f.$applyAsync(o):(o(),f.$$phase||f.$apply())}function l(t,e,r,i){e=e>=-1?e:0,(Nn(e)?b.resolve:b.reject)({data:t,status:e,headers:Tn(r),config:n,statusText:i})}function c(t){l(t.data,t.status,mt(t.headers()),t.statusText)}function p(){var t=v.pendingRequests.indexOf(n);t!==-1&&v.pendingRequests.splice(t,1)}var d,g,b=h.defer(),x=b.promise,w=n.headers,S=C(n.url,n.paramSerializer(n.params));if(v.pendingRequests.push(n),x.then(p,p),!n.cache&&!t.cache||n.cache===!1||"GET"!==n.method&&"JSONP"!==n.method||(d=$(n.cache)?n.cache:$(t.cache)?t.cache:M),d&&(g=d.get(S),y(g)?T(g)?g.then(c,c):Kr(g)?l(g[1],g[0],mt(g[2]),g[3]):l(g,200,{},"OK"):d.put(S,x)),m(g)){var _=De(n.url)?s()[n.xsrfCookieName||t.xsrfCookieName]:void 0;_&&(w[n.xsrfHeaderName||t.xsrfHeaderName]=_),u(n.method,S,i,a,w,n.timeout,n.withCredentials,n.responseType,o(n.eventHandlers),o(n.uploadEventHandlers))}return x}function C(t,n){return n.length>0&&(t+=(t.indexOf("?")===-1?"?":"&")+n),t}var M=c("$http");t.paramSerializer=x(t.paramSerializer)?d.get(t.paramSerializer):t.paramSerializer;var _=[];return r(o,function(t){_.unshift(x(t)?d.get(t):d.invoke(t))}),v.pendingRequests=[],g("get","delete","head","jsonp"),b("post","put","patch"),v.defaults=t,v}]}function Rn(){this.$get=function(){return function(){return new t.XMLHttpRequest}}}function Dn(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function(t,n,e,r){return Fn(t,r,t.defer,n,e[0])}]}function Fn(t,n,e,i,o){function a(t,n,e){t=t.replace("JSON_CALLBACK",n);var r=o.createElement("script"),a=null;return r.type="text/javascript",r.src=t,r.async=!0,a=function(t){r.removeEventListener("load",a),r.removeEventListener("error",a),o.body.removeChild(r),r=null;var u=-1,s="unknown";t&&("load"!==t.type||i.wasCalled(n)||(t={type:"error"}),s=t.type,u="error"===t.type?404:200),e&&e(u,s)},r.addEventListener("load",a),r.addEventListener("error",a),o.body.appendChild(r),a}return function(o,u,s,l,c,f,h,p,d,v){function g(){x&&x(),w&&w.abort()}function $(t,n,r,i,o){y(M)&&e.cancel(M),x=w=null,t(n,r,i,o)}if(u=u||t.url(),"jsonp"===Rr(o))var b=i.createCallback(u),x=a(u,b,function(t,n){var e=200===t&&i.getResponse(b);$(l,t,e,"",n),i.removeCallback(b)});else{var w=n(o,u);w.open(o,u,!0),r(c,function(t,n){y(t)&&w.setRequestHeader(n,t)}),w.onload=function(){var t=w.statusText||"",n="response"in w?w.response:w.responseText,e=1223===w.status?204:w.status;0===e&&(e=n?200:"file"===Re(u).protocol?404:0),$(l,e,n,w.getAllResponseHeaders(),t)};var C=function(){$(l,-1,null,null,"")};if(w.onerror=C,w.onabort=C,r(d,function(t,n){w.addEventListener(n,t)}),r(v,function(t,n){w.upload.addEventListener(n,t)}),h&&(w.withCredentials=!0),p)try{w.responseType=p}catch(S){if("json"!==p)throw S}w.send(m(s)?null:s)}if(f>0)var M=e(g,f);else T(f)&&f.then(g)}}function In(){var t="{{",n="}}";this.startSymbol=function(n){return n?(t=n,this):t},this.endSymbol=function(t){return t?(n=t,this):n},this.$get=["$parse","$exceptionHandler","$sce",function(e,r,i){function o(t){return"\\\\\\"+t}function a(e){return e.replace(h,t).replace(p,n)}function u(t,n,e,r){var i;return i=t.$watch(function(t){return i(),r(t)},n,e)}function s(o,s,h,p){function d(t){try{return t=O(t),p&&!y(t)?t:vt(t)}catch(n){r(ao.interr(o,n))}}if(!o.length||o.indexOf(t)===-1){var g;if(!s){var $=a(o);g=v($),g.exp=o,g.expressions=[],g.$$watchDelegate=u}return g}p=!!p;for(var b,x,w,C=0,M=[],_=[],k=o.length,A=[],E=[];C<k;){if((b=o.indexOf(t,C))===-1||(x=o.indexOf(n,b+c))===-1){C!==k&&A.push(a(o.substring(C)));break}C!==b&&A.push(a(o.substring(C,b))),w=o.substring(b+c,x),M.push(w),_.push(e(w,d)),C=x+f,E.push(A.length),A.push("")}if(h&&A.length>1&&ao.throwNoconcat(o),!s||M.length){var P=function(t){for(var n=0,e=M.length;n<e;n++){if(p&&m(t[n]))return;A[E[n]]=t[n]}return A.join("")},O=function(t){return h?i.getTrusted(h,t):i.valueOf(t)};return l(function(t){var n=0,e=M.length,i=new Array(e);try{for(;n<e;n++)i[n]=_[n](t);return P(i)}catch(a){r(ao.interr(o,a))}},{exp:o,expressions:M,$$watchDelegate:function(t,n){var e;return t.$watchGroup(_,function(r,i){var o=P(r);S(n)&&n.call(this,o,r!==i?e:o,t),e=o})}})}}var c=t.length,f=n.length,h=new RegExp(t.replace(/./g,o),"g"),p=new RegExp(n.replace(/./g,o),"g");return s.startSymbol=function(){return t},s.endSymbol=function(){return n},s}]}function Vn(){this.$get=["$rootScope","$window","$q","$$q","$browser",function(t,n,e,r,i){function o(o,u,s,l){function c(){f?o.apply(null,h):o(v)}var f=arguments.length>4,h=f?z(arguments,4):[],p=n.setInterval,d=n.clearInterval,v=0,g=y(l)&&!l,m=(g?r:e).defer(),$=m.promise;return s=y(s)?s:0,$.$$intervalId=p(function(){g?i.defer(c):t.$evalAsync(c),m.notify(v++),s>0&&v>=s&&(m.resolve(v),d($.$$intervalId),delete a[$.$$intervalId]),g||t.$apply()},u),a[$.$$intervalId]=m,$}var a={};return o.cancel=function(t){return!!(t&&t.$$intervalId in a)&&(a[t.$$intervalId].promise["catch"](p),a[t.$$intervalId].reject("canceled"),n.clearInterval(t.$$intervalId),delete a[t.$$intervalId],!0)},o}]}function qn(t){for(var n=t.split("/"),e=n.length;e--;)n[e]=tt(n[e]);return n.join("/")}function zn(t,n){var e=Re(t);n.$$protocol=e.protocol,n.$$host=e.hostname,n.$$port=f(e.port)||lo[e.protocol]||null}function Bn(t,n){var e="/"!==t.charAt(0);e&&(t="/"+t);var r=Re(t);n.$$path=decodeURIComponent(e&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),n.$$search=K(r.search),n.$$hash=decodeURIComponent(r.hash),n.$$path&&"/"!==n.$$path.charAt(0)&&(n.$$path="/"+n.$$path)}function Un(t,n){return 0===t.lastIndexOf(n,0)}function Wn(t,n){if(Un(n,t))return n.substr(t.length)}function Hn(t){var n=t.indexOf("#");return n===-1?t:t.substr(0,n)}function Yn(t){return t.replace(/(#.+)|#$/,"$1")}function Gn(t){return t.substr(0,Hn(t).lastIndexOf("/")+1)}function Zn(t){return t.substring(0,t.indexOf("/",t.indexOf("//")+2))}function Xn(t,n,e){this.$$html5=!0,e=e||"",zn(t,this),this.$$parse=function(t){var e=Wn(n,t);if(!x(e))throw co("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,n);Bn(e,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var t=Q(this.$$search),e=this.$$hash?"#"+tt(this.$$hash):"";this.$$url=qn(this.$$path)+(t?"?"+t:"")+e,this.$$absUrl=n+this.$$url.substr(1)},this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a,u;return y(o=Wn(t,r))?(a=o,u=y(o=Wn(e,o))?n+(Wn("/",o)||o):t+a):y(o=Wn(n,r))?u=n+o:n===r+"/"&&(u=n),u&&this.$$parse(u),!!u}}function Jn(t,n,e){zn(t,this),this.$$parse=function(r){function i(t,n,e){var r,i=/^\/[A-Z]:(\/.*)/;return Un(n,e)&&(n=n.replace(e,"")),i.exec(n)?t:(r=i.exec(t),r?r[1]:t)}var o,a=Wn(t,r)||Wn(n,r);m(a)||"#"!==a.charAt(0)?this.$$html5?o=a:(o="",m(a)&&(t=r,this.replace())):(o=Wn(e,a),m(o)&&(o=a)),Bn(o,this),this.$$path=i(this.$$path,o,t),this.$$compose()},this.$$compose=function(){var n=Q(this.$$search),r=this.$$hash?"#"+tt(this.$$hash):"";this.$$url=qn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+(this.$$url?e+this.$$url:"")},this.$$parseLinkUrl=function(n,e){return Hn(t)===Hn(n)&&(this.$$parse(n),!0)}}function Kn(t,n,e){this.$$html5=!0,Jn.apply(this,arguments),this.$$parseLinkUrl=function(r,i){if(i&&"#"===i[0])return this.hash(i.slice(1)),!0;var o,a;return t===Hn(r)?o=r:(a=Wn(n,r))?o=t+e+a:n===r+"/"&&(o=n),o&&this.$$parse(o),!!o},this.$$compose=function(){var n=Q(this.$$search),r=this.$$hash?"#"+tt(this.$$hash):"";this.$$url=qn(this.$$path)+(n?"?"+n:"")+r,this.$$absUrl=t+e+this.$$url}}function Qn(t){return function(){return this[t]}}function te(t,n){return function(e){return m(e)?this[t]:(this[t]=n(e),this.$$compose(),this)}}function ne(){var t="!",n={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(n){return y(n)?(t=n,this):t},this.html5Mode=function(t){return O(t)?(n.enabled=t,this):$(t)?(O(t.enabled)&&(n.enabled=t.enabled),O(t.requireBase)&&(n.requireBase=t.requireBase),O(t.rewriteLinks)&&(n.rewriteLinks=t.rewriteLinks),this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(e,r,i,o,a){function u(t,n,e){var i=l.url(),o=l.$$state;try{r.url(t,n,e),l.$$state=r.state()}catch(a){throw l.url(i),l.$$state=o,a}}function s(t,n){e.$broadcast("$locationChangeSuccess",l.absUrl(),t,l.$$state,n)}var l,c,f,h=r.baseHref(),p=r.url();if(n.enabled){if(!h&&n.requireBase)throw co("nobase","$location in HTML5 mode requires a <base> tag to be present!");f=Zn(p)+(h||"/"),c=i.history?Xn:Kn}else f=Hn(p),c=Jn;var d=Gn(f);l=new c(f,d,"#"+t),l.$$parseLinkUrl(p,p),l.$$state=r.state();var v=/^\s*(javascript|mailto):/i;o.on("click",function(t){if(n.rewriteLinks&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey&&2!==t.which&&2!==t.button){for(var i=qr(t.target);"a"!==D(i[0]);)if(i[0]===o[0]||!(i=i.parent())[0])return;var u=i.prop("href"),s=i.attr("href")||i.attr("xlink:href");$(u)&&"[object SVGAnimatedString]"===u.toString()&&(u=Re(u.animVal).href),v.test(u)||!u||i.attr("target")||t.isDefaultPrevented()||l.$$parseLinkUrl(u,s)&&(t.preventDefault(),l.absUrl()!==r.url()&&(e.$apply(),a.angular["ff-684208-preventDefault"]=!0))}}),Yn(l.absUrl())!==Yn(p)&&r.url(l.absUrl(),!0);var g=!0;return r.onUrlChange(function(t,n){return Un(t,d)?(e.$evalAsync(function(){var r,i=l.absUrl(),o=l.$$state;t=Yn(t),l.$$parse(t),l.$$state=n,r=e.$broadcast("$locationChangeStart",t,i,n,o).defaultPrevented,l.absUrl()===t&&(r?(l.$$parse(i),l.$$state=o,u(i,!1,o)):(g=!1,s(i,o)))}),void(e.$$phase||e.$digest())):void(a.location.href=t)}),e.$watch(function(){var t=Yn(r.url()),n=Yn(l.absUrl()),o=r.state(),a=l.$$replace,c=t!==n||l.$$html5&&i.history&&o!==l.$$state;(g||c)&&(g=!1,e.$evalAsync(function(){var n=l.absUrl(),r=e.$broadcast("$locationChangeStart",n,t,l.$$state,o).defaultPrevented;l.absUrl()===n&&(r?(l.$$parse(t),l.$$state=o):(c&&u(n,a,o===l.$$state?null:l.$$state),s(t,o)))})),l.$$replace=!1}),l}]}function ee(){var t=!0,n=this;this.debugEnabled=function(n){return y(n)?(t=n,this):t},this.$get=["$window",function(e){function i(t){return t instanceof Error&&(t.stack?t=t.message&&t.stack.indexOf(t.message)===-1?"Error: "+t.message+"\n"+t.stack:t.stack:t.sourceURL&&(t=t.message+"\n"+t.sourceURL+":"+t.line)),t}function o(t){var n=e.console||{},o=n[t]||n.log||p,a=!1;try{a=!!o.apply}catch(u){}return a?function(){var t=[];return r(arguments,function(n){t.push(i(n))}),o.apply(n,t)}:function(t,n){o(t,null==n?"":n)}}return{log:o("log"),info:o("info"),warn:o("warn"),error:o("error"),debug:function(){var e=o("debug");return function(){t&&e.apply(n,arguments)}}()}}]}function re(t,n){if("__defineGetter__"===t||"__defineSetter__"===t||"__lookupGetter__"===t||"__lookupSetter__"===t||"__proto__"===t)throw ho("isecfld","Attempting to access a disallowed field in Angular expressions! Expression: {0}",n);return t}function ie(t){return t+""}function oe(t,n){if(t){if(t.constructor===t)throw ho("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t.window===t)throw ho("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",n);if(t.children&&(t.nodeName||t.prop&&t.attr&&t.find))throw ho("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",n);if(t===Object)throw ho("isecobj","Referencing Object in Angular expressions is disallowed! Expression: {0}",n)}return t}function ae(t,n){if(t){if(t.constructor===t)throw ho("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",n);if(t===po||t===vo||t===go)throw ho("isecff","Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}",n)}}function ue(t,n){if(t){var e=(!1).constructor,r=(0).constructor,i="".constructor,o={}.constructor,a=[].constructor,u=Function.constructor;if(t===e||t===r||t===i||t===o||t===a||t===u||t===e.prototype||t===r.prototype||t===i.prototype||t===o.prototype||t===a.prototype||t===u.prototype)throw ho("isecaf","Assigning to a constructor or its prototype is disallowed! Expression: {0}",n)}}function se(t,n){return"undefined"!=typeof t?t:n}function le(t,n){return"undefined"==typeof t?n:"undefined"==typeof n?t:t+n}function ce(t,n){var e=t(n);return!e.$stateful}function fe(t,n){var e,i,o;switch(t.type){case bo.Program:e=!0,r(t.body,function(t){fe(t.expression,n),e=e&&t.expression.constant}),t.constant=e;break;case bo.Literal:t.constant=!0,t.toWatch=[];break;case bo.UnaryExpression:fe(t.argument,n),t.constant=t.argument.constant,t.toWatch=t.argument.toWatch;break;case bo.BinaryExpression:
+fe(t.left,n),fe(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.left.toWatch.concat(t.right.toWatch);break;case bo.LogicalExpression:fe(t.left,n),fe(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=t.constant?[]:[t];break;case bo.ConditionalExpression:fe(t.test,n),fe(t.alternate,n),fe(t.consequent,n),t.constant=t.test.constant&&t.alternate.constant&&t.consequent.constant,t.toWatch=t.constant?[]:[t];break;case bo.Identifier:t.constant=!1,t.toWatch=[t];break;case bo.MemberExpression:fe(t.object,n),t.computed&&fe(t.property,n),t.constant=t.object.constant&&(!t.computed||t.property.constant),t.toWatch=[t];break;case bo.CallExpression:o=!!t.filter&&ce(n,t.callee.name),e=o,i=[],r(t.arguments,function(t){fe(t,n),e=e&&t.constant,t.constant||i.push.apply(i,t.toWatch)}),t.constant=e,t.toWatch=o?i:[t];break;case bo.AssignmentExpression:fe(t.left,n),fe(t.right,n),t.constant=t.left.constant&&t.right.constant,t.toWatch=[t];break;case bo.ArrayExpression:e=!0,i=[],r(t.elements,function(t){fe(t,n),e=e&&t.constant,t.constant||i.push.apply(i,t.toWatch)}),t.constant=e,t.toWatch=i;break;case bo.ObjectExpression:e=!0,i=[],r(t.properties,function(t){fe(t.value,n),e=e&&t.value.constant&&!t.computed,t.value.constant||i.push.apply(i,t.value.toWatch)}),t.constant=e,t.toWatch=i;break;case bo.ThisExpression:t.constant=!1,t.toWatch=[];break;case bo.LocalsExpression:t.constant=!1,t.toWatch=[]}}function he(t){if(1===t.length){var n=t[0].expression,e=n.toWatch;return 1!==e.length?e:e[0]!==n?e:void 0}}function pe(t){return t.type===bo.Identifier||t.type===bo.MemberExpression}function de(t){if(1===t.body.length&&pe(t.body[0].expression))return{type:bo.AssignmentExpression,left:t.body[0].expression,right:{type:bo.NGValueParameter},operator:"="}}function ve(t){return 0===t.body.length||1===t.body.length&&(t.body[0].expression.type===bo.Literal||t.body[0].expression.type===bo.ArrayExpression||t.body[0].expression.type===bo.ObjectExpression)}function ge(t){return t.constant}function me(t,n){this.astBuilder=t,this.$filter=n}function ye(t,n){this.astBuilder=t,this.$filter=n}function $e(t){return"constructor"===t}function be(t){return S(t.valueOf)?t.valueOf():wo.call(t)}function xe(){var t,n,e=dt(),i=dt(),o={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(t,n){o[t]=n},this.setIdentifierFns=function(e,r){return t=e,n=r,this},this.$get=["$filter",function(a){function u(t,n,r){var o,u,l;switch(r=r||b,typeof t){case"string":t=t.trim(),l=t;var g=r?i:e;if(o=g[l],!o){":"===t.charAt(0)&&":"===t.charAt(1)&&(u=!0,t=t.substring(2));var y=r?$:m,x=new $o(y),w=new xo(x,a,y);o=w.parse(t),o.constant?o.$$watchDelegate=d:u?o.$$watchDelegate=o.literal?h:f:o.inputs&&(o.$$watchDelegate=c),r&&(o=s(o)),g[l]=o}return v(o,n);case"function":return v(t,n);default:return v(p,n)}}function s(t){function n(n,e,r,i){var o=b;b=!0;try{return t(n,e,r,i)}finally{b=o}}if(!t)return t;n.$$watchDelegate=t.$$watchDelegate,n.assign=s(t.assign),n.constant=t.constant,n.literal=t.literal;for(var e=0;t.inputs&&e<t.inputs.length;++e)t.inputs[e]=s(t.inputs[e]);return n.inputs=t.inputs,n}function l(t,n){return null==t||null==n?t===n:("object"!=typeof t||(t=be(t),"object"!=typeof t))&&(t===n||t!==t&&n!==n)}function c(t,n,e,r,i){var o,a=r.inputs;if(1===a.length){var u=l;return a=a[0],t.$watch(function(t){var n=a(t);return l(n,u)||(o=r(t,void 0,void 0,[n]),u=n&&be(n)),o},n,e,i)}for(var s=[],c=[],f=0,h=a.length;f<h;f++)s[f]=l,c[f]=null;return t.$watch(function(t){for(var n=!1,e=0,i=a.length;e<i;e++){var u=a[e](t);(n||(n=!l(u,s[e])))&&(c[e]=u,s[e]=u&&be(u))}return n&&(o=r(t,void 0,void 0,c)),o},n,e,i)}function f(t,n,e,r,i){function o(t){return r(t)}function a(t,e,r){s=t,S(n)&&n(t,e,r),y(t)&&r.$$postDigest(function(){y(s)&&u()})}var u,s;return u=r.inputs?c(t,a,e,r,i):t.$watch(o,a,e)}function h(t,n,e,i){function o(t){var n=!0;return r(t,function(t){y(t)||(n=!1)}),n}var a,u;return a=t.$watch(function(t){return i(t)},function(t,e,r){u=t,S(n)&&n(t,e,r),o(t)&&r.$$postDigest(function(){o(u)&&a()})},e)}function d(t,n,e,r){var i;return i=t.$watch(function(t){return i(),r(t)},n,e)}function v(t,n){if(!n)return t;var e=t.$$watchDelegate,r=!1,i=e!==h&&e!==f,o=i?function(e,i,o,a){var u=r&&a?a[0]:t(e,i,o,a);return n(u,e,i)}:function(e,r,i,o){var a=t(e,r,i,o),u=n(a,e,r);return y(a)?u:a};return r=!t.inputs,t.$$watchDelegate&&t.$$watchDelegate!==c?(o.$$watchDelegate=t.$$watchDelegate,o.inputs=t.inputs):n.$stateful||(o.$$watchDelegate=c,o.inputs=t.inputs?t.inputs:[t]),o}var g=ei().noUnsafeEval,m={csp:g,expensiveChecks:!1,literals:I(o),isIdentifierStart:S(t)&&t,isIdentifierContinue:S(n)&&n},$={csp:g,expensiveChecks:!0,literals:I(o),isIdentifierStart:S(t)&&t,isIdentifierContinue:S(n)&&n},b=!1;return u.$$runningExpensiveChecks=function(){return b},u}]}function we(){var t=!0;this.$get=["$rootScope","$exceptionHandler",function(n,e){return Se(function(t){n.$evalAsync(t)},e,t)}],this.errorOnUnhandledRejections=function(n){return y(n)?(t=n,this):t}}function Ce(){var t=!0;this.$get=["$browser","$exceptionHandler",function(n,e){return Se(function(t){n.defer(t)},e,t)}],this.errorOnUnhandledRejections=function(n){return y(n)?(t=n,this):t}}function Se(t,e,i){function o(){this.$$state={status:0}}function a(t,n){return function(e){n.call(t,e)}}function u(n){var r,o,a;a=n.pending,n.processScheduled=!1,n.pending=void 0;try{for(var u=0,s=a.length;u<s;++u){n.pur=!0,o=a[u][0],r=a[u][n.status];try{S(r)?o.resolve(r(n.value)):1===n.status?o.resolve(n.value):o.reject(n.value)}catch(l){o.reject(l),e(l)}}}finally{--y,i&&0===y&&t(c())}}function s(){for(;!y&&b.length;){var t=b.shift();if(!t.pur){t.pur=!0;var n="Possibly unhandled rejection: "+$t(t.value);e(n)}}}function c(){return function(){s()}}function f(t){return function(){u(t)}}function h(n){!i||n.pending||2!==n.status||n.pur||(0===y&&0===b.length&&t(c()),b.push(n)),!n.processScheduled&&n.pending&&(n.processScheduled=!0,++y,t(f(n)))}function p(){this.promise=new o}function d(t){var n=new p,e=0,i=Kr(t)?[]:{};return r(t,function(t,r){e++,_(t).then(function(t){i.hasOwnProperty(r)||(i[r]=t,--e||n.resolve(i))},function(t){i.hasOwnProperty(r)||n.reject(t)})}),0===e&&n.resolve(i),n.promise}function v(t){var n=x();return r(t,function(t){_(t).then(n.resolve,n.reject)}),n.promise}var g=n("$q",TypeError),y=0,b=[],x=function(){var t=new p;return t.resolve=a(t,t.resolve),t.reject=a(t,t.reject),t.notify=a(t,t.notify),t};l(o.prototype,{then:function(t,n,e){if(m(t)&&m(n)&&m(e))return this;var r=new p;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([r,t,n,e]),this.$$state.status>0&&h(this.$$state),r.promise},"catch":function(t){return this.then(null,t)},"finally":function(t,n){return this.then(function(n){return M(n,!0,t)},function(n){return M(n,!1,t)},n)}}),l(p.prototype,{resolve:function(t){this.promise.$$state.status||(t===this.promise?this.$$reject(g("qcycle","Expected promise to be resolved with value other than itself '{0}'",t)):this.$$resolve(t))},$$resolve:function(t){function n(t){u||(u=!0,o.$$resolve(t))}function r(t){u||(u=!0,o.$$reject(t))}var i,o=this,u=!1;try{($(t)||S(t))&&(i=t&&t.then),S(i)?(this.promise.$$state.status=-1,i.call(t,n,r,a(this,this.notify))):(this.promise.$$state.value=t,this.promise.$$state.status=1,h(this.promise.$$state))}catch(s){r(s),e(s)}},reject:function(t){this.promise.$$state.status||this.$$reject(t)},$$reject:function(t){this.promise.$$state.value=t,this.promise.$$state.status=2,h(this.promise.$$state)},notify:function(n){var r=this.promise.$$state.pending;this.promise.$$state.status<=0&&r&&r.length&&t(function(){for(var t,i,o=0,a=r.length;o<a;o++){i=r[o][0],t=r[o][3];try{i.notify(S(t)?t(n):n)}catch(u){e(u)}}})}});var w=function(t){var n=new p;return n.reject(t),n.promise},C=function(t,n){var e=new p;return n?e.resolve(t):e.reject(t),e.promise},M=function(t,n,e){var r=null;try{S(e)&&(r=e())}catch(i){return C(i,!1)}return T(r)?r.then(function(){return C(t,n)},function(t){return C(t,!1)}):C(t,n)},_=function(t,n,e,r){var i=new p;return i.resolve(t),i.promise.then(n,e,r)},k=_,A=function(t){function n(t){r.resolve(t)}function e(t){r.reject(t)}if(!S(t))throw g("norslvr","Expected resolverFn, got '{0}'",t);var r=new p;return t(n,e),r.promise};return A.prototype=o.prototype,A.defer=x,A.reject=w,A.when=_,A.resolve=k,A.all=d,A.race=v,A}function Me(){this.$get=["$window","$timeout",function(t,n){var e=t.requestAnimationFrame||t.webkitRequestAnimationFrame,r=t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.webkitCancelRequestAnimationFrame,i=!!e,o=i?function(t){var n=e(t);return function(){r(n)}}:function(t){var e=n(t,16.66,!1);return function(){n.cancel(e)}};return o.supported=i,o}]}function _e(){function t(t){function n(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=a(),this.$$ChildScope=null}return n.prototype=t,n}var i=10,o=n("$rootScope"),u=null,s=null;this.digestTtl=function(t){return arguments.length&&(i=t),i},this.$get=["$exceptionHandler","$parse","$browser",function(n,l,c){function f(t){t.currentScope.$$destroyed=!0}function h(t){9===Vr&&(t.$$childHead&&h(t.$$childHead),t.$$nextSibling&&h(t.$$nextSibling)),t.$parent=t.$$nextSibling=t.$$prevSibling=t.$$childHead=t.$$childTail=t.$root=t.$$watchers=null}function d(){this.$id=a(),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 v(t){if(M.$$phase)throw o("inprog","{0} already in progress",M.$$phase);M.$$phase=t}function g(){M.$$phase=null}function y(t,n){do t.$$watchersCount+=n;while(t=t.$parent)}function b(t,n,e){do t.$$listenerCount[e]-=n,0===t.$$listenerCount[e]&&delete t.$$listenerCount[e];while(t=t.$parent)}function x(){}function w(){for(;A.length;)try{A.shift()()}catch(t){n(t)}s=null}function C(){null===s&&(s=c.defer(function(){M.$apply(w)}))}d.prototype={constructor:d,$new:function(n,e){var r;return e=e||this,n?(r=new d,r.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=t(this)),r=new this.$$ChildScope),r.$parent=e,r.$$prevSibling=e.$$childTail,e.$$childHead?(e.$$childTail.$$nextSibling=r,e.$$childTail=r):e.$$childHead=e.$$childTail=r,(n||e!==this)&&r.$on("$destroy",f),r},$watch:function(t,n,e,r){var i=l(t);if(i.$$watchDelegate)return i.$$watchDelegate(this,n,e,i,t);var o=this,a=o.$$watchers,s={fn:n,last:x,get:i,exp:r||t,eq:!!e};return u=null,S(n)||(s.fn=p),a||(a=o.$$watchers=[]),a.unshift(s),y(this,1),function(){F(a,s)>=0&&y(o,-1),u=null}},$watchGroup:function(t,n){function e(){s=!1,l?(l=!1,n(o,o,u)):n(o,i,u)}var i=new Array(t.length),o=new Array(t.length),a=[],u=this,s=!1,l=!0;if(!t.length){var c=!0;return u.$evalAsync(function(){c&&n(o,o,u)}),function(){c=!1}}return 1===t.length?this.$watch(t[0],function(t,e,r){o[0]=t,i[0]=e,n(o,t===e?o:i,r)}):(r(t,function(t,n){var r=u.$watch(t,function(t,r){o[n]=t,i[n]=r,s||(s=!0,u.$evalAsync(e))});a.push(r)}),function(){for(;a.length;)a.shift()()})},$watchCollection:function(t,n){function r(t){o=t;var n,r,i,u,s;if(!m(o)){if($(o))if(e(o)){a!==p&&(a=p,g=a.length=0,f++),n=o.length,g!==n&&(f++,a.length=g=n);for(var l=0;l<n;l++)s=a[l],u=o[l],i=s!==s&&u!==u,i||s===u||(f++,a[l]=u)}else{a!==d&&(a=d={},g=0,f++),n=0;for(r in o)jr.call(o,r)&&(n++,u=o[r],s=a[r],r in a?(i=s!==s&&u!==u,i||s===u||(f++,a[r]=u)):(g++,a[r]=u,f++));if(g>n){f++;for(r in a)jr.call(o,r)||(g--,delete a[r])}}else a!==o&&(a=o,f++);return f}}function i(){if(v?(v=!1,n(o,o,s)):n(o,u,s),c)if($(o))if(e(o)){u=new Array(o.length);for(var t=0;t<o.length;t++)u[t]=o[t]}else{u={};for(var r in o)jr.call(o,r)&&(u[r]=o[r])}else u=o}r.$stateful=!0;var o,a,u,s=this,c=n.length>1,f=0,h=l(t,r),p=[],d={},v=!0,g=0;return this.$watch(h,i)},$digest:function(){var t,e,r,a,l,f,h,p,d,m,y,$,b=i,C=this,A=[];v("$digest"),c.$$checkUrlChange(),this===M&&null!==s&&(c.defer.cancel(s),w()),u=null;do{p=!1,m=C;for(var P=0;P<_.length;P++){try{$=_[P],$.scope.$eval($.expression,$.locals)}catch(O){n(O)}u=null}_.length=0;t:do{if(f=m.$$watchers)for(h=f.length;h--;)try{if(t=f[h])if(l=t.get,(e=l(m))===(r=t.last)||(t.eq?V(e,r):"number"==typeof e&&"number"==typeof r&&isNaN(e)&&isNaN(r))){if(t===u){p=!1;break t}}else p=!0,u=t,t.last=t.eq?I(e,null):e,a=t.fn,a(e,r===x?e:r,m),b<5&&(y=4-b,A[y]||(A[y]=[]),A[y].push({msg:S(t.exp)?"fn: "+(t.exp.name||t.exp.toString()):t.exp,newVal:e,oldVal:r}))}catch(O){n(O)}if(!(d=m.$$watchersCount&&m.$$childHead||m!==C&&m.$$nextSibling))for(;m!==C&&!(d=m.$$nextSibling);)m=m.$parent}while(m=d);if((p||_.length)&&!b--)throw g(),o("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",i,A)}while(p||_.length);for(g();E<k.length;)try{k[E++]()}catch(O){n(O)}k.length=E=0},$destroy:function(){if(!this.$$destroyed){var t=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===M&&c.$$applicationDestroyed(),y(this,-this.$$watchersCount);for(var n in this.$$listenerCount)b(this,this.$$listenerCount[n],n);t&&t.$$childHead===this&&(t.$$childHead=this.$$nextSibling),t&&t.$$childTail===this&&(t.$$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,h(this)}},$eval:function(t,n){return l(t)(this,n)},$evalAsync:function(t,n){M.$$phase||_.length||c.defer(function(){_.length&&M.$digest()}),_.push({scope:this,expression:l(t),locals:n})},$$postDigest:function(t){k.push(t)},$apply:function(t){try{v("$apply");try{return this.$eval(t)}finally{g()}}catch(e){n(e)}finally{try{M.$digest()}catch(e){throw n(e),e}}},$applyAsync:function(t){function n(){e.$eval(t)}var e=this;t&&A.push(n),t=l(t),C()},$on:function(t,n){var e=this.$$listeners[t];e||(this.$$listeners[t]=e=[]),e.push(n);var r=this;do r.$$listenerCount[t]||(r.$$listenerCount[t]=0),r.$$listenerCount[t]++;while(r=r.$parent);var i=this;return function(){var r=e.indexOf(n);r!==-1&&(e[r]=null,b(i,1,t))}},$emit:function(t,e){var r,i,o,a=[],u=this,s=!1,l={name:t,targetScope:u,stopPropagation:function(){s=!0},preventDefault:function(){l.defaultPrevented=!0},defaultPrevented:!1},c=q([l],arguments,1);do{for(r=u.$$listeners[t]||a,l.currentScope=u,i=0,o=r.length;i<o;i++)if(r[i])try{r[i].apply(null,c)}catch(f){n(f)}else r.splice(i,1),i--,o--;if(s)return l.currentScope=null,l;u=u.$parent}while(u);return l.currentScope=null,l},$broadcast:function(t,e){var r=this,i=r,o=r,a={name:t,targetScope:r,preventDefault:function(){a.defaultPrevented=!0},defaultPrevented:!1};if(!r.$$listenerCount[t])return a;for(var u,s,l,c=q([a],arguments,1);i=o;){for(a.currentScope=i,u=i.$$listeners[t]||[],s=0,l=u.length;s<l;s++)if(u[s])try{u[s].apply(null,c)}catch(f){n(f)}else u.splice(s,1),s--,l--;if(!(o=i.$$listenerCount[t]&&i.$$childHead||i!==r&&i.$$nextSibling))for(;i!==r&&!(o=i.$$nextSibling);)i=i.$parent}return a.currentScope=null,a}};var M=new d,_=M.$$asyncQueue=[],k=M.$$postDigestQueue=[],A=M.$$applyAsyncQueue=[],E=0;return M}]}function ke(){var t=/^\s*(https?|ftp|mailto|tel|file):/,n=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(n){return y(n)?(t=n,this):t},this.imgSrcSanitizationWhitelist=function(t){return y(t)?(n=t,this):n},this.$get=function(){return function(e,r){var i,o=r?n:t;return i=Re(e).href,""===i||i.match(o)?e:"unsafe:"+i}}}function Ae(t){if("self"===t)return t;if(x(t)){if(t.indexOf("***")>-1)throw Co("iwcard","Illegal sequence *** in string matcher. String: {0}",t);return t=ni(t).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+t+"$")}if(M(t))return new RegExp("^"+t.source+"$");throw Co("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Ee(t){var n=[];return y(t)&&r(t,function(t){n.push(Ae(t))}),n}function Pe(){this.SCE_CONTEXTS=So;var t=["self"],n=[];this.resourceUrlWhitelist=function(n){return arguments.length&&(t=Ee(n)),t},this.resourceUrlBlacklist=function(t){return arguments.length&&(n=Ee(t)),n},this.$get=["$injector",function(e){function r(t,n){return"self"===t?De(n):!!t.exec(n.href)}function i(e){var i,o,a=Re(e.toString()),u=!1;for(i=0,o=t.length;i<o;i++)if(r(t[i],a)){u=!0;break}if(u)for(i=0,o=n.length;i<o;i++)if(r(n[i],a)){u=!1;break}return u}function o(t){var n=function(t){this.$$unwrapTrustedValue=function(){return t}};return t&&(n.prototype=new t),n.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},n.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},n}function a(t,n){var e=f.hasOwnProperty(t)?f[t]:null;if(!e)throw Co("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",t,n);if(null===n||m(n)||""===n)return n;if("string"!=typeof n)throw Co("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",t);return new e(n)}function u(t){return t instanceof c?t.$$unwrapTrustedValue():t}function s(t,n){if(null===n||m(n)||""===n)return n;var e=f.hasOwnProperty(t)?f[t]:null;if(e&&n instanceof e)return n.$$unwrapTrustedValue();if(t===So.RESOURCE_URL){if(i(n))return n;throw Co("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",n.toString())}if(t===So.HTML)return l(n);throw Co("unsafe","Attempting to use an unsafe value in a safe context.")}var l=function(t){throw Co("unsafe","Attempting to use an unsafe value in a safe context.")};e.has("$sanitize")&&(l=e.get("$sanitize"));var c=o(),f={};return f[So.HTML]=o(c),f[So.CSS]=o(c),f[So.URL]=o(c),f[So.JS]=o(c),f[So.RESOURCE_URL]=o(f[So.URL]),{trustAs:a,getTrusted:s,valueOf:u}}]}function Oe(){var t=!0;this.enabled=function(n){return arguments.length&&(t=!!n),t},this.$get=["$parse","$sceDelegate",function(n,e){if(t&&Vr<8)throw Co("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var i=mt(So);i.isEnabled=function(){return t},i.trustAs=e.trustAs,i.getTrusted=e.getTrusted,i.valueOf=e.valueOf,t||(i.trustAs=i.getTrusted=function(t,n){return n},i.valueOf=d),i.parseAs=function(t,e){var r=n(e);return r.literal&&r.constant?r:n(e,function(n){return i.getTrusted(t,n)})};var o=i.parseAs,a=i.getTrusted,u=i.trustAs;return r(So,function(t,n){var e=Rr(n);i[wt("parse_as_"+e)]=function(n){return o(t,n)},i[wt("get_trusted_"+e)]=function(n){return a(t,n)},i[wt("trust_as_"+e)]=function(n){return u(t,n)}}),i}]}function Te(){this.$get=["$window","$document",function(t,n){var e,r,i={},o=t.chrome&&t.chrome.app&&t.chrome.app.runtime,a=!o&&t.history&&t.history.pushState,u=f((/android (\d+)/.exec(Rr((t.navigator||{}).userAgent))||[])[1]),s=/Boxee/i.test((t.navigator||{}).userAgent),l=n[0]||{},c=/^(Moz|webkit|ms)(?=[A-Z])/,h=l.body&&l.body.style,p=!1,d=!1;if(h){for(var v in h)if(r=c.exec(v)){e=r[0],e=e[0].toUpperCase()+e.substr(1);break}e||(e="WebkitOpacity"in h&&"webkit"),p=!!("transition"in h||e+"Transition"in h),d=!!("animation"in h||e+"Animation"in h),!u||p&&d||(p=x(h.webkitTransition),d=x(h.webkitAnimation))}return{history:!(!a||u<4||s),hasEvent:function(t){if("input"===t&&Vr<=11)return!1;if(m(i[t])){var n=l.createElement("div");i[t]="on"+t in n}return i[t]},csp:ei(),vendorPrefix:e,transitions:p,animations:d,android:u}}]}function Le(){var t;this.httpOptions=function(n){return n?(t=n,this):t},this.$get=["$templateCache","$http","$q","$sce",function(n,e,r,i){function o(a,u){function s(t){if(!u)throw Mo("tpload","Failed to load template: {0} (HTTP status: {1} {2})",a,t.status,t.statusText);return r.reject(t)}o.totalPendingRequests++,x(a)&&!m(n.get(a))||(a=i.getTrustedResourceUrl(a));var c=e.defaults&&e.defaults.transformResponse;return Kr(c)?c=c.filter(function(t){return t!==En}):c===En&&(c=null),e.get(a,l({cache:n,transformResponse:c},t))["finally"](function(){o.totalPendingRequests--}).then(function(t){return n.put(a,t.data),t.data},s)}return o.totalPendingRequests=0,o}]}function Ne(){this.$get=["$rootScope","$browser","$location",function(t,n,e){var i={};return i.findBindings=function(t,n,e){var i=t.getElementsByClassName("ng-binding"),o=[];return r(i,function(t){var i=Xr.element(t).data("$binding");i&&r(i,function(r){if(e){var i=new RegExp("(^|\\s)"+ni(n)+"(\\s|\\||$)");i.test(r)&&o.push(t)}else r.indexOf(n)!==-1&&o.push(t)})}),o},i.findModels=function(t,n,e){for(var r=["ng-","data-ng-","ng\\:"],i=0;i<r.length;++i){var o=e?"=":"*=",a="["+r[i]+"model"+o+'"'+n+'"]',u=t.querySelectorAll(a);if(u.length)return u}},i.getLocation=function(){return e.url()},i.setLocation=function(n){n!==e.url()&&(e.url(n),t.$digest())},i.whenStable=function(t){n.notifyWhenNoOutstandingRequests(t)},i}]}function je(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(t,n,e,r,i){function o(o,u,s){S(o)||(s=u,u=o,o=p);var l,c=z(arguments,3),f=y(s)&&!s,h=(f?r:e).defer(),d=h.promise;return l=n.defer(function(){try{h.resolve(o.apply(null,c))}catch(n){h.reject(n),i(n)}finally{delete a[d.$$timeoutId]}f||t.$apply()},u),d.$$timeoutId=l,a[l]=h,d}var a={};return o.cancel=function(t){return!!(t&&t.$$timeoutId in a)&&(a[t.$$timeoutId].promise["catch"](p),a[t.$$timeoutId].reject("canceled"),delete a[t.$$timeoutId],n.defer.cancel(t.$$timeoutId))},o}]}function Re(t){var n=t;return Vr&&(_o.setAttribute("href",n),n=_o.href),_o.setAttribute("href",n),{href:_o.href,protocol:_o.protocol?_o.protocol.replace(/:$/,""):"",host:_o.host,search:_o.search?_o.search.replace(/^\?/,""):"",hash:_o.hash?_o.hash.replace(/^#/,""):"",hostname:_o.hostname,port:_o.port,pathname:"/"===_o.pathname.charAt(0)?_o.pathname:"/"+_o.pathname}}function De(t){var n=x(t)?Re(t):t;return n.protocol===ko.protocol&&n.host===ko.host}function Fe(){this.$get=v(t)}function Ie(t){function n(t){try{return decodeURIComponent(t)}catch(n){return t}}var e=t[0]||{},r={},i="";return function(){var t,o,a,u,s,l=e.cookie||"";if(l!==i)for(i=l,t=i.split("; "),r={},a=0;a<t.length;a++)o=t[a],u=o.indexOf("="),u>0&&(s=n(o.substring(0,u)),m(r[s])&&(r[s]=n(o.substring(u+1))));return r}}function Ve(){this.$get=Ie}function qe(t){function n(i,o){if($(i)){var a={};return r(i,function(t,e){a[e]=n(e,t)}),a}return t.factory(i+e,o)}var e="Filter";this.register=n,this.$get=["$injector",function(t){return function(n){return t.get(n+e)}}],n("currency",He),n("date",ur),n("filter",ze),n("json",sr),n("limitTo",lr),n("lowercase",No),n("number",Ye),n("orderBy",fr),n("uppercase",jo)}function ze(){return function(t,r,i,o){if(!e(t)){if(null==t)return t;throw n("filter")("notarray","Expected array but received: {0}",t)}o=o||"$";var a,u,s=We(r);switch(s){case"function":a=r;break;case"boolean":case"null":case"number":case"string":u=!0;case"object":a=Be(r,i,o,u);break;default:return t}return Array.prototype.filter.call(t,a)}}function Be(t,n,e,r){var i,o=$(t)&&e in t;return n===!0?n=V:S(n)||(n=function(t,n){return!m(t)&&(null===t||null===n?t===n:!($(n)||$(t)&&!g(t))&&(t=Rr(""+t),n=Rr(""+n),t.indexOf(n)!==-1))}),i=function(i){return o&&!$(i)?Ue(i,t[e],n,e,!1):Ue(i,t,n,e,r)}}function Ue(t,n,e,r,i,o){var a=We(t),u=We(n);if("string"===u&&"!"===n.charAt(0))return!Ue(t,n.substring(1),e,r,i);if(Kr(t))return t.some(function(t){return Ue(t,n,e,r,i)});switch(a){case"object":var s;if(i){for(s in t)if("$"!==s.charAt(0)&&Ue(t[s],n,e,r,!0))return!0;return!o&&Ue(t,n,e,r,!1)}if("object"===u){for(s in n){var l=n[s];if(!S(l)&&!m(l)){var c=s===r,f=c?t:t[s];if(!Ue(f,l,e,r,c,c))return!1}}return!0}return e(t,n);case"function":return!1;default:return e(t,n)}}function We(t){return null===t?"null":typeof t}function He(t){var n=t.NUMBER_FORMATS;return function(t,e,r){return m(e)&&(e=n.CURRENCY_SYM),m(r)&&(r=n.PATTERNS[1].maxFrac),null==t?t:Xe(t,n.PATTERNS[1],n.GROUP_SEP,n.DECIMAL_SEP,r).replace(/\u00A4/g,e)}}function Ye(t){var n=t.NUMBER_FORMATS;return function(t,e){return null==t?t:Xe(t,n.PATTERNS[0],n.GROUP_SEP,n.DECIMAL_SEP,e)}}function Ge(t){var n,e,r,i,o,a=0;for((e=t.indexOf(Eo))>-1&&(t=t.replace(Eo,"")),(r=t.search(/e/i))>0?(e<0&&(e=r),e+=+t.slice(r+1),t=t.substring(0,r)):e<0&&(e=t.length),r=0;t.charAt(r)===Po;r++);if(r===(o=t.length))n=[0],e=1;else{for(o--;t.charAt(o)===Po;)o--;for(e-=r,n=[],i=0;r<=o;r++,i++)n[i]=+t.charAt(r)}return e>Ao&&(n=n.splice(0,Ao-1),a=e-1,e=1),{d:n,e:a,i:e}}function Ze(t,n,e,r){var i=t.d,o=i.length-t.i;n=m(n)?Math.min(Math.max(e,o),r):+n;var a=n+t.i,u=i[a];if(a>0){i.splice(Math.max(t.i,a));for(var s=a;s<i.length;s++)i[s]=0}else{o=Math.max(0,o),t.i=1,i.length=Math.max(1,a=n+1),i[0]=0;for(var l=1;l<a;l++)i[l]=0}if(u>=5)if(a-1<0){for(var c=0;c>a;c--)i.unshift(0),t.i++;i.unshift(1),t.i++}else i[a-1]++;for(;o<Math.max(0,n);o++)i.push(0);var f=i.reduceRight(function(t,n,e,r){return n+=t,r[e]=n%10,Math.floor(n/10)},0);f&&(i.unshift(f),t.i++)}function Xe(t,n,e,r,i){if(!x(t)&&!w(t)||isNaN(t))return"";var o,a=!isFinite(t),u=!1,s=Math.abs(t)+"",l="";if(a)l="∞";else{o=Ge(s),Ze(o,i,n.minFrac,n.maxFrac);var c=o.d,f=o.i,h=o.e,p=[];for(u=c.reduce(function(t,n){return t&&!n},!0);f<0;)c.unshift(0),f++;f>0?p=c.splice(f,c.length):(p=c,c=[0]);var d=[];for(c.length>=n.lgSize&&d.unshift(c.splice(-n.lgSize,c.length).join(""));c.length>n.gSize;)d.unshift(c.splice(-n.gSize,c.length).join(""));c.length&&d.unshift(c.join("")),l=d.join(e),p.length&&(l+=r+p.join("")),h&&(l+="e+"+h)}return t<0&&!u?n.negPre+l+n.negSuf:n.posPre+l+n.posSuf}function Je(t,n,e,r){var i="";for((t<0||r&&t<=0)&&(r?t=-t+1:(t=-t,i="-")),t=""+t;t.length<n;)t=Po+t;return e&&(t=t.substr(t.length-n)),i+t}function Ke(t,n,e,r,i){return e=e||0,function(o){var a=o["get"+t]();return(e>0||a>-e)&&(a+=e),0===a&&e===-12&&(a=12),Je(a,n,r,i)}}function Qe(t,n,e){return function(r,i){var o=r["get"+t](),a=(e?"STANDALONE":"")+(n?"SHORT":""),u=Dr(a+t);return i[u][o]}}function tr(t,n,e){var r=-1*e,i=r>=0?"+":"";return i+=Je(Math[r>0?"floor":"ceil"](r/60),2)+Je(Math.abs(r%60),2)}function nr(t){var n=new Date(t,0,1).getDay();return new Date(t,0,(n<=4?5:12)-n)}function er(t){return new Date(t.getFullYear(),t.getMonth(),t.getDate()+(4-t.getDay()))}function rr(t){return function(n){var e=nr(n.getFullYear()),r=er(n),i=+r-+e,o=1+Math.round(i/6048e5);return Je(o,t)}}function ir(t,n){return t.getHours()<12?n.AMPMS[0]:n.AMPMS[1]}function or(t,n){return t.getFullYear()<=0?n.ERAS[0]:n.ERAS[1]}function ar(t,n){return t.getFullYear()<=0?n.ERANAMES[0]:n.ERANAMES[1]}function ur(t){function n(t){var n;if(n=t.match(e)){var r=new Date(0),i=0,o=0,a=n[8]?r.setUTCFullYear:r.setFullYear,u=n[8]?r.setUTCHours:r.setHours;n[9]&&(i=f(n[9]+n[10]),o=f(n[9]+n[11])),a.call(r,f(n[1]),f(n[2])-1,f(n[3]));var s=f(n[4]||0)-i,l=f(n[5]||0)-o,c=f(n[6]||0),h=Math.round(1e3*parseFloat("0."+(n[7]||0)));return u.call(r,s,l,c,h),r}return t}var e=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(e,i,o){var a,u,s="",l=[];if(i=i||"mediumDate",i=t.DATETIME_FORMATS[i]||i,x(e)&&(e=Lo.test(e)?f(e):n(e)),w(e)&&(e=new Date(e)),!C(e)||!isFinite(e.getTime()))return e;for(;i;)u=To.exec(i),u?(l=q(l,u,1),i=l.pop()):(l.push(i),i=null);var c=e.getTimezoneOffset();return o&&(c=Y(o,c),e=Z(e,o,!0)),r(l,function(n){a=Oo[n],s+=a?a(e,t.DATETIME_FORMATS,c):"''"===n?"'":n.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function sr(){return function(t,n){return m(n)&&(n=2),W(t,n)}}function lr(){return function(t,n,r){return n=Math.abs(Number(n))===1/0?Number(n):f(n),isNaN(n)?t:(w(t)&&(t=t.toString()),e(t)?(r=!r||isNaN(r)?0:f(r),r=r<0?Math.max(0,t.length+r):r,n>=0?cr(t,r,r+n):0===r?cr(t,n,t.length):cr(t,Math.max(0,r+n),r)):t)}}function cr(t,n,e){return x(t)?t.slice(n,e):Ur.call(t,n,e)}function fr(t){function r(n){return n.map(function(n){var e=1,r=d;if(S(n))r=n;else if(x(n)&&("+"!==n.charAt(0)&&"-"!==n.charAt(0)||(e="-"===n.charAt(0)?-1:1,n=n.substring(1)),""!==n&&(r=t(n),r.constant))){var i=r();r=function(t){return t[i]}}return{get:r,descending:e}})}function i(t){switch(typeof t){case"number":case"boolean":case"string":return!0;default:return!1}}function o(t){return S(t.valueOf)&&(t=t.valueOf(),i(t))?t:g(t)&&(t=t.toString(),i(t))?t:t}function a(t,n){var e=typeof t;return null===t?(e="string",t="null"):"object"===e&&(t=o(t)),{value:t,type:e,index:n}}function u(t,n){var e=0,r=t.type,i=n.type;if(r===i){var o=t.value,a=n.value;"string"===r?(o=o.toLowerCase(),a=a.toLowerCase()):"object"===r&&($(o)&&(o=t.index),$(a)&&(a=n.index)),o!==a&&(e=o<a?-1:1)}else e=r<i?-1:1;return e}return function(t,i,o,s){function l(t,n){return{value:t,tieBreaker:{value:n,type:"number",index:n},predicateValues:f.map(function(e){return a(e.get(t),n)})}}function c(t,n){for(var e=0,r=f.length;e<r;e++){var i=p(t.predicateValues[e],n.predicateValues[e]);if(i)return i*f[e].descending*h}return p(t.tieBreaker,n.tieBreaker)*h}if(null==t)return t;if(!e(t))throw n("orderBy")("notarray","Expected array but received: {0}",t);Kr(i)||(i=[i]),0===i.length&&(i=["+"]);var f=r(i),h=o?-1:1,p=S(s)?s:u,d=Array.prototype.map.call(t,l);return d.sort(c),t=d.map(function(t){return t.value})}}function hr(t){return S(t)&&(t={link:t}),t.restrict=t.restrict||"AC",v(t)}function pr(t,n){t.$name=n}function dr(t,n,e,i,o){var a=this,u=[];a.$error={},a.$$success={},a.$pending=void 0,a.$name=o(n.name||n.ngForm||"")(e),a.$dirty=!1,a.$pristine=!0,a.$valid=!0,a.$invalid=!1,a.$submitted=!1,a.$$parentForm=Fo,a.$rollbackViewValue=function(){r(u,function(t){t.$rollbackViewValue()})},a.$commitViewValue=function(){r(u,function(t){t.$commitViewValue()})},a.$addControl=function(t){ft(t.$name,"input"),u.push(t),t.$name&&(a[t.$name]=t),t.$$parentForm=a},a.$$renameControl=function(t,n){var e=t.$name;a[e]===t&&delete a[e],a[n]=t,t.$name=n},a.$removeControl=function(t){t.$name&&a[t.$name]===t&&delete a[t.$name],r(a.$pending,function(n,e){a.$setValidity(e,null,t)}),r(a.$error,function(n,e){a.$setValidity(e,null,t)}),r(a.$$success,function(n,e){a.$setValidity(e,null,t)}),F(u,t),t.$$parentForm=Fo},Or({ctrl:this,$element:t,set:function(t,n,e){var r=t[n];if(r){var i=r.indexOf(e);i===-1&&r.push(e)}else t[n]=[e]},unset:function(t,n,e){var r=t[n];r&&(F(r,e),0===r.length&&delete t[n])},$animate:i}),a.$setDirty=function(){i.removeClass(t,wa),i.addClass(t,Ca),a.$dirty=!0,a.$pristine=!1,a.$$parentForm.$setDirty()},a.$setPristine=function(){i.setClass(t,wa,Ca+" "+Io),a.$dirty=!1,a.$pristine=!0,a.$submitted=!1,r(u,function(t){t.$setPristine()})},a.$setUntouched=function(){r(u,function(t){t.$setUntouched()})},a.$setSubmitted=function(){i.addClass(t,Io),a.$submitted=!0,a.$$parentForm.$setSubmitted()}}function vr(t){t.$formatters.push(function(n){return t.$isEmpty(n)?n:n.toString()})}function gr(t,n,e,r,i,o){mr(t,n,e,r,i,o),vr(r)}function mr(t,n,e,r,i,o){var a=Rr(n[0].type);if(!i.android){var u=!1;n.on("compositionstart",function(){u=!0}),n.on("compositionend",function(){u=!1,l()})}var s,l=function(t){if(s&&(o.defer.cancel(s),s=null),!u){var i=n.val(),l=t&&t.type;"password"===a||e.ngTrim&&"false"===e.ngTrim||(i=ti(i)),(r.$viewValue!==i||""===i&&r.$$hasNativeValidators)&&r.$setViewValue(i,l)}};if(i.hasEvent("input"))n.on("input",l);else{var c=function(t,n,e){s||(s=o.defer(function(){s=null,n&&n.value===e||l(t)}))};n.on("keydown",function(t){var n=t.keyCode;91===n||15<n&&n<19||37<=n&&n<=40||c(t,this,this.value)}),i.hasEvent("paste")&&n.on("paste cut",c)}n.on("change",l),Qo[a]&&r.$$hasNativeValidators&&a===e.type&&n.on(Ko,function(t){if(!s){var n=this[Nr],e=n.badInput,r=n.typeMismatch;s=o.defer(function(){s=null,n.badInput===e&&n.typeMismatch===r||l(t)})}}),r.$render=function(){var t=r.$isEmpty(r.$viewValue)?"":r.$viewValue;n.val()!==t&&n.val(t)}}function yr(t,n){if(C(t))return t;if(x(t)){Zo.lastIndex=0;var e=Zo.exec(t);if(e){var r=+e[1],i=+e[2],o=0,a=0,u=0,s=0,l=nr(r),c=7*(i-1);return n&&(o=n.getHours(),a=n.getMinutes(),u=n.getSeconds(),s=n.getMilliseconds()),
+new Date(r,0,l.getDate()+c,o,a,u,s)}}return NaN}function $r(t,n){return function(e,i){var o,a;if(C(e))return e;if(x(e)){if('"'===e.charAt(0)&&'"'===e.charAt(e.length-1)&&(e=e.substring(1,e.length-1)),Bo.test(e))return new Date(e);if(t.lastIndex=0,o=t.exec(e))return o.shift(),a=i?{yyyy:i.getFullYear(),MM:i.getMonth()+1,dd:i.getDate(),HH:i.getHours(),mm:i.getMinutes(),ss:i.getSeconds(),sss:i.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},r(o,function(t,e){e<n.length&&(a[n[e]]=+t)}),new Date(a.yyyy,a.MM-1,a.dd,a.HH,a.mm,a.ss||0,1e3*a.sss||0)}return NaN}}function br(t,n,e,r){return function(i,o,a,u,s,l,c){function f(t){return t&&!(t.getTime&&t.getTime()!==t.getTime())}function h(t){return y(t)&&!C(t)?e(t)||void 0:t}xr(i,o,a,u),mr(i,o,a,u,s,l);var p,d=u&&u.$options&&u.$options.timezone;if(u.$$parserName=t,u.$parsers.push(function(t){if(u.$isEmpty(t))return null;if(n.test(t)){var r=e(t,p);return d&&(r=Z(r,d)),r}}),u.$formatters.push(function(t){if(t&&!C(t))throw Ea("datefmt","Expected `{0}` to be a date",t);return f(t)?(p=t,p&&d&&(p=Z(p,d,!0)),c("date")(t,r,d)):(p=null,"")}),y(a.min)||a.ngMin){var v;u.$validators.min=function(t){return!f(t)||m(v)||e(t)>=v},a.$observe("min",function(t){v=h(t),u.$validate()})}if(y(a.max)||a.ngMax){var g;u.$validators.max=function(t){return!f(t)||m(g)||e(t)<=g},a.$observe("max",function(t){g=h(t),u.$validate()})}}}function xr(t,n,e,r){var i=n[0],o=r.$$hasNativeValidators=$(i.validity);o&&r.$parsers.push(function(t){var e=n.prop(Nr)||{};return e.badInput||e.typeMismatch?void 0:t})}function wr(t){t.$$parserName="number",t.$parsers.push(function(n){return t.$isEmpty(n)?null:Ho.test(n)?parseFloat(n):void 0}),t.$formatters.push(function(n){if(!t.$isEmpty(n)){if(!w(n))throw Ea("numfmt","Expected `{0}` to be a number",n);n=n.toString()}return n})}function Cr(t,n,e,r,i,o){if(xr(t,n,e,r),wr(r),mr(t,n,e,r,i,o),y(e.min)||e.ngMin){var a;r.$validators.min=function(t){return r.$isEmpty(t)||m(a)||t>=a},e.$observe("min",function(t){y(t)&&!w(t)&&(t=parseFloat(t)),a=w(t)&&!isNaN(t)?t:void 0,r.$validate()})}if(y(e.max)||e.ngMax){var u;r.$validators.max=function(t){return r.$isEmpty(t)||m(u)||t<=u},e.$observe("max",function(t){y(t)&&!w(t)&&(t=parseFloat(t)),u=w(t)&&!isNaN(t)?t:void 0,r.$validate()})}}function Sr(t,n,e,r,i,o){function a(t){if(y(t)&&!w(t)&&(t=parseFloat(t)),s=w(t)&&!isNaN(t)?t:void 0,!w(r.$modelValue)||!isNaN(r.$modelValue))if(c&&"min"===p){var e=n.val();s>e&&(n.val(s),e=s),r.$setViewValue(e)}else r.$validate()}function u(t){if(y(t)&&!w(t)&&(t=parseFloat(t)),l=w(t)&&!isNaN(t)?t:void 0,!w(r.$modelValue)||!isNaN(r.$modelValue))if(c&&"max"===d){var e=n.val();l<e&&(n.val(l),e=s),r.$setViewValue(e)}else r.$validate()}xr(t,n,e,r),wr(r),mr(t,n,e,r,i,o);var s=0,l=100,c=r.$$hasNativeValidators&&"range"===n[0].type,f=n[0].validity,h=r.$render;r.$render=c&&y(f.rangeUnderflow)&&y(f.rangeOverflow)?function(){h(),r.$setViewValue(n.val())}:h;var p=y(e.ngMin)?"ngMin":!!y(e.min)&&"min";p&&(r.$validators.min=y(e.min)&&c?function(t){return!0}:function(t,n){return r.$isEmpty(n)||m(s)||n>=s},a(e.min),e.$observe("min",a));var d=y(e.max)?"max":!!e.ngMax&&"ngMax";d&&(r.$validators.max=y(e.max)&&c?function(){return!0}:function(t,n){return r.$isEmpty(n)||m(l)||n<=l},u(e.max),e.$observe("max",u))}function Mr(t,n,e,r,i,o){mr(t,n,e,r,i,o),vr(r),r.$$parserName="url",r.$validators.url=function(t,n){var e=t||n;return r.$isEmpty(e)||Uo.test(e)}}function _r(t,n,e,r,i,o){mr(t,n,e,r,i,o),vr(r),r.$$parserName="email",r.$validators.email=function(t,n){var e=t||n;return r.$isEmpty(e)||Wo.test(e)}}function kr(t,n,e,r){var i=!e.ngTrim||"false"!==ti(e.ngTrim);m(e.name)&&n.attr("name",a());var o=function(t){var o;n[0].checked&&(o=e.value,i&&(o=ti(o)),r.$setViewValue(o,t&&t.type))};n.on("click",o),r.$render=function(){var t=e.value;i&&(t=ti(t)),n[0].checked=t==r.$viewValue},e.$observe("value",r.$render)}function Ar(t,n,e,r,i){var o;if(y(r)){if(o=t(r),!o.constant)throw Ea("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",e,r);return o(n)}return i}function Er(t,n,e,r,i,o,a,u){var s=Ar(u,t,"ngTrueValue",e.ngTrueValue,!0),l=Ar(u,t,"ngFalseValue",e.ngFalseValue,!1),c=function(t){r.$setViewValue(n[0].checked,t&&t.type)};n.on("click",c),r.$render=function(){n[0].checked=r.$viewValue},r.$isEmpty=function(t){return t===!1},r.$formatters.push(function(t){return V(t,s)}),r.$parsers.push(function(t){return t?s:l})}function Pr(t,n){return t="ngClass"+t,["$animate",function(e){function i(t,n){var e=[];t:for(var r=0;r<t.length;r++){for(var i=t[r],o=0;o<n.length;o++)if(i===n[o])continue t;e.push(i)}return e}function o(t){var n=[];return Kr(t)?(r(t,function(t){n=n.concat(o(t))}),n):x(t)?t.split(" "):$(t)?(r(t,function(t,e){t&&(n=n.concat(e.split(" ")))}),n):t}return{restrict:"AC",link:function(a,u,s){function l(t){var n=f(t,1);s.$addClass(n)}function c(t){var n=f(t,-1);s.$removeClass(n)}function f(t,n){var e=u.data("$classCounts")||dt(),i=[];return r(t,function(t){(n>0||e[t])&&(e[t]=(e[t]||0)+n,e[t]===+(n>0)&&i.push(t))}),u.data("$classCounts",e),i.join(" ")}function h(t,n){var r=i(n,t),o=i(t,n);r=f(r,1),o=f(o,-1),r&&r.length&&e.addClass(u,r),o&&o.length&&e.removeClass(u,o)}function p(t){if(n===!0||(1&a.$index)===n){var e=o(t||[]);if(d){if(!V(t,d)){var r=o(d);h(r,e)}}else l(e)}d=Kr(t)?t.map(function(t){return mt(t)}):mt(t)}var d;a.$watch(s[t],p,!0),s.$observe("class",function(n){p(a.$eval(s[t]))}),"ngClass"!==t&&a.$watch("$index",function(e,r){var i=1&e;if(i!==(1&r)){var u=o(a.$eval(s[t]));i===n?l(u):c(u)}})}}}]}function Or(t){function n(t,n,u){m(n)?e("$pending",t,u):r("$pending",t,u),O(n)?n?(c(a.$error,t,u),l(a.$$success,t,u)):(l(a.$error,t,u),c(a.$$success,t,u)):(c(a.$error,t,u),c(a.$$success,t,u)),a.$pending?(i(_a,!0),a.$valid=a.$invalid=void 0,o("",null)):(i(_a,!1),a.$valid=Tr(a.$error),a.$invalid=!a.$valid,o("",a.$valid));var s;s=a.$pending&&a.$pending[t]?void 0:!a.$error[t]&&(!!a.$$success[t]||null),o(t,s),a.$$parentForm.$setValidity(t,s,a)}function e(t,n,e){a[t]||(a[t]={}),l(a[t],n,e)}function r(t,n,e){a[t]&&c(a[t],n,e),Tr(a[t])&&(a[t]=void 0)}function i(t,n){n&&!s[t]?(f.addClass(u,t),s[t]=!0):!n&&s[t]&&(f.removeClass(u,t),s[t]=!1)}function o(t,n){t=t?"-"+ut(t,"-"):"",i(ba+t,n===!0),i(xa+t,n===!1)}var a=t.ctrl,u=t.$element,s={},l=t.set,c=t.unset,f=t.$animate;s[xa]=!(s[ba]=u.hasClass(ba)),a.$setValidity=n}function Tr(t){if(t)for(var n in t)if(t.hasOwnProperty(n))return!1;return!0}var Lr=/^\/(.+)\/([a-z]*)$/,Nr="validity",jr=Object.prototype.hasOwnProperty,Rr=function(t){return x(t)?t.toLowerCase():t},Dr=function(t){return x(t)?t.toUpperCase():t},Fr=function(t){return x(t)?t.replace(/[A-Z]/g,function(t){return String.fromCharCode(32|t.charCodeAt(0))}):t},Ir=function(t){return x(t)?t.replace(/[a-z]/g,function(t){return String.fromCharCode(t.charCodeAt(0)&-33)}):t};"i"!=="I".toLowerCase()&&(Rr=Fr,Dr=Ir);var Vr,qr,zr,Br,Ur=[].slice,Wr=[].splice,Hr=[].push,Yr=Object.prototype.toString,Gr=Object.getPrototypeOf,Zr=n("ng"),Xr=t.angular||(t.angular={}),Jr=0;Vr=t.document.documentMode,p.$inject=[],d.$inject=[];var Kr=Array.isArray,Qr=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/,ti=function(t){return x(t)?t.trim():t},ni=function(t){return t.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},ei=function(){function n(){try{return new Function(""),!1}catch(t){return!0}}if(!y(ei.rules)){var e=t.document.querySelector("[ng-csp]")||t.document.querySelector("[data-ng-csp]");if(e){var r=e.getAttribute("ng-csp")||e.getAttribute("data-ng-csp");ei.rules={noUnsafeEval:!r||r.indexOf("no-unsafe-eval")!==-1,noInlineStyle:!r||r.indexOf("no-inline-style")!==-1}}else ei.rules={noUnsafeEval:n(),noInlineStyle:!1}}return ei.rules},ri=function(){if(y(ri.name_))return ri.name_;var n,e,r,i,o=oi.length;for(e=0;e<o;++e)if(r=oi[e],n=t.document.querySelector("["+r.replace(":","\\:")+"jq]")){i=n.getAttribute(r+"jq");break}return ri.name_=i},ii=/:/g,oi=["ng-","data-ng-","ng:","x-ng-"],ai=/[A-Z]/g,ui=!1,si=1,li=2,ci=3,fi=8,hi=9,pi=11,di={full:"1.5.9-build.4970+sha.1660ddd",major:1,minor:5,dot:9,codeName:"snapshot"};Pt.expando="ng339";var vi=Pt.cache={},gi=1;Pt._data=function(t){return this.cache[t[this.expando]]||{}};var mi=/([\:\-\_]+(.))/g,yi=/^moz([A-Z])/,$i={mouseleave:"mouseout",mouseenter:"mouseover"},bi=n("jqLite"),xi=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,wi=/<|&#?\w+;/,Ci=/<([\w:-]+)/,Si=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Mi={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Mi.optgroup=Mi.option,Mi.tbody=Mi.tfoot=Mi.colgroup=Mi.caption=Mi.thead,Mi.th=Mi.td;var _i=t.Node.prototype.contains||function(t){return!!(16&this.compareDocumentPosition(t))},ki=Pt.prototype={ready:function(n){function e(){r||(r=!0,n())}var r=!1;"complete"===t.document.readyState?t.setTimeout(e):(this.on("DOMContentLoaded",e),Pt(t).on("load",e))},toString:function(){var t=[];return r(this,function(n){t.push(""+n)}),"["+t.join(", ")+"]"},eq:function(t){return qr(t>=0?this[t]:this[this.length+t])},length:0,push:Hr,sort:[].sort,splice:[].splice},Ai={};r("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(t){Ai[Rr(t)]=t});var Ei={};r("input,select,option,textarea,button,form,details".split(","),function(t){Ei[t]=!0});var Pi={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};r({data:Rt,removeData:Nt,hasData:Mt,cleanData:_t},function(t,n){Pt[n]=t}),r({data:Rt,inheritedData:zt,scope:function(t){return qr.data(t,"$scope")||zt(t.parentNode||t,["$isolateScope","$scope"])},isolateScope:function(t){return qr.data(t,"$isolateScope")||qr.data(t,"$isolateScopeNoTemplate")},controller:qt,injector:function(t){return zt(t,"$injector")},removeAttr:function(t,n){t.removeAttribute(n)},hasClass:Dt,css:function(t,n,e){return n=wt(n),y(e)?void(t.style[n]=e):t.style[n]},attr:function(t,n,e){var r=t.nodeType;if(r!==ci&&r!==li&&r!==fi){var i=Rr(n);if(Ai[i]){if(!y(e))return t[n]||(t.attributes.getNamedItem(n)||p).specified?i:void 0;e?(t[n]=!0,t.setAttribute(n,i)):(t[n]=!1,t.removeAttribute(i))}else if(y(e))t.setAttribute(n,e);else if(t.getAttribute){var o=t.getAttribute(n,2);return null===o?void 0:o}}},prop:function(t,n,e){return y(e)?void(t[n]=e):t[n]},text:function(){function t(t,n){if(m(n)){var e=t.nodeType;return e===si||e===ci?t.textContent:""}t.textContent=n}return t.$dv="",t}(),val:function(t,n){if(m(n)){if(t.multiple&&"select"===D(t)){var e=[];return r(t.options,function(t){t.selected&&e.push(t.value||t.text)}),0===e.length?null:e}return t.value}t.value=n},html:function(t,n){return m(n)?t.innerHTML:(Tt(t,!0),void(t.innerHTML=n))},empty:Bt},function(t,n){Pt.prototype[n]=function(n,e){var r,i,o=this.length;if(t!==Bt&&m(2===t.length&&t!==Dt&&t!==qt?n:e)){if($(n)){for(r=0;r<o;r++)if(t===Rt)t(this[r],n);else for(i in n)t(this[r],i,n[i]);return this}for(var a=t.$dv,u=m(a)?Math.min(o,1):o,s=0;s<u;s++){var l=t(this[s],n,e);a=a?a+l:l}return a}for(r=0;r<o;r++)t(this[r],n,e);return this}}),r({removeData:Nt,on:function(t,n,e,r){if(y(r))throw bi("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(St(t)){var i=jt(t,!0),o=i.events,a=i.handle;a||(a=i.handle=Gt(t,o));for(var u=n.indexOf(" ")>=0?n.split(" "):[n],s=u.length,l=function(n,r,i){var u=o[n];u||(u=o[n]=[],u.specialHandlerWrapper=r,"$destroy"===n||i||t.addEventListener(n,a)),u.push(e)};s--;)n=u[s],$i[n]?(l($i[n],Xt),l(n,void 0,!0)):l(n)}},off:Lt,one:function(t,n,e){t=qr(t),t.on(n,function r(){t.off(n,e),t.off(n,r)}),t.on(n,e)},replaceWith:function(t,n){var e,i=t.parentNode;Tt(t),r(new Pt(n),function(n){e?i.insertBefore(n,e.nextSibling):i.replaceChild(n,t),e=n})},children:function(t){var n=[];return r(t.childNodes,function(t){t.nodeType===si&&n.push(t)}),n},contents:function(t){return t.contentDocument||t.childNodes||[]},append:function(t,n){var e=t.nodeType;if(e===si||e===pi){n=new Pt(n);for(var r=0,i=n.length;r<i;r++){var o=n[r];t.appendChild(o)}}},prepend:function(t,n){if(t.nodeType===si){var e=t.firstChild;r(new Pt(n),function(n){t.insertBefore(n,e)})}},wrap:function(t,n){Et(t,qr(n).eq(0).clone()[0])},remove:Ut,detach:function(t){Ut(t,!0)},after:function(t,n){var e=t,r=t.parentNode;n=new Pt(n);for(var i=0,o=n.length;i<o;i++){var a=n[i];r.insertBefore(a,e.nextSibling),e=a}},addClass:It,removeClass:Ft,toggleClass:function(t,n,e){n&&r(n.split(" "),function(n){var r=e;m(r)&&(r=!Dt(t,n)),(r?It:Ft)(t,n)})},parent:function(t){var n=t.parentNode;return n&&n.nodeType!==pi?n:null},next:function(t){return t.nextElementSibling},find:function(t,n){return t.getElementsByTagName?t.getElementsByTagName(n):[]},clone:Ot,triggerHandler:function(t,n,e){var i,o,a,u=n.type||n,s=jt(t),c=s&&s.events,f=c&&c[u];f&&(i={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:u,target:t},n.type&&(i=l(i,n)),o=mt(f),a=e?[i].concat(e):[i],r(o,function(n){i.isImmediatePropagationStopped()||n.apply(t,a)}))}},function(t,n){Pt.prototype[n]=function(n,e,r){for(var i,o=0,a=this.length;o<a;o++)m(i)?(i=t(this[o],n,e,r),y(i)&&(i=qr(i))):Vt(i,t(this[o],n,e,r));return y(i)?i:this},Pt.prototype.bind=Pt.prototype.on,Pt.prototype.unbind=Pt.prototype.off}),Qt.prototype={put:function(t,n){this[Kt(t,this.nextUid)]=n},get:function(t){return this[Kt(t,this.nextUid)]},remove:function(t){var n=this[t=Kt(t,this.nextUid)];return delete this[t],n}};var Oi=[function(){this.$get=[function(){return Qt}]}],Ti=/^([^\(]+?)=>/,Li=/^[^\(]*\(\s*([^\)]*)\)/m,Ni=/,/,ji=/^\s*(_?)(\S+?)\1\s*$/,Ri=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Di=n("$injector");on.$$annotate=rn;var Fi=n("$animate"),Ii=1,Vi="ng-animate",qi=function(){this.$get=p},zi=function(){var t=new Qt,n=[];this.$get=["$$AnimateRunner","$rootScope",function(e,i){function o(t,n,e){var i=!1;return n&&(n=x(n)?n.split(" "):Kr(n)?n:[],r(n,function(n){n&&(i=!0,t[n]=e)})),i}function a(){r(n,function(n){var e=t.get(n);if(e){var i=ln(n.attr("class")),o="",a="";r(e,function(t,n){var e=!!i[n];t!==e&&(t?o+=(o.length?" ":"")+n:a+=(a.length?" ":"")+n)}),r(n,function(t){o&&It(t,o),a&&Ft(t,a)}),t.remove(n)}}),n.length=0}function u(e,r,u){var s=t.get(e)||{},l=o(s,r,!0),c=o(s,u,!1);(l||c)&&(t.put(e,s),n.push(e),1===n.length&&i.$$postDigest(a))}return{enabled:p,on:p,off:p,pin:p,push:function(t,n,r,i){i&&i(),r=r||{},r.from&&t.css(r.from),r.to&&t.css(r.to),(r.addClass||r.removeClass)&&u(t,r.addClass,r.removeClass);var o=new e;return o.complete(),o}}}]},Bi=["$provide",function(t){var n=this;this.$$registeredAnimations=Object.create(null),this.register=function(e,r){if(e&&"."!==e.charAt(0))throw Fi("notcsel","Expecting class selector starting with '.' got '{0}'.",e);var i=e+"-animation";n.$$registeredAnimations[e.substr(1)]=i,t.factory(i,r)},this.classNameFilter=function(t){if(1===arguments.length&&(this.$$classNameFilter=t instanceof RegExp?t:null,this.$$classNameFilter)){var n=new RegExp("(\\s+|\\/)"+Vi+"(\\s+|\\/)");if(n.test(this.$$classNameFilter.toString()))throw Fi("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',Vi)}return this.$$classNameFilter},this.$get=["$$animateQueue",function(t){function n(t,n,e){if(e){var r=sn(e);!r||r.parentNode||r.previousElementSibling||(e=null)}e?e.after(t):n.prepend(t)}return{on:t.on,off:t.off,pin:t.pin,enabled:t.enabled,cancel:function(t){t.end&&t.end()},enter:function(e,r,i,o){return r=r&&qr(r),i=i&&qr(i),r=r||i.parent(),n(e,r,i),t.push(e,"enter",cn(o))},move:function(e,r,i,o){return r=r&&qr(r),i=i&&qr(i),r=r||i.parent(),n(e,r,i),t.push(e,"move",cn(o))},leave:function(n,e){return t.push(n,"leave",cn(e),function(){n.remove()})},addClass:function(n,e,r){return r=cn(r),r.addClass=un(r.addclass,e),t.push(n,"addClass",r)},removeClass:function(n,e,r){return r=cn(r),r.removeClass=un(r.removeClass,e),t.push(n,"removeClass",r)},setClass:function(n,e,r,i){return i=cn(i),i.addClass=un(i.addClass,e),i.removeClass=un(i.removeClass,r),t.push(n,"setClass",i)},animate:function(n,e,r,i,o){return o=cn(o),o.from=o.from?l(o.from,e):e,o.to=o.to?l(o.to,r):r,i=i||"ng-inline-animate",o.tempClasses=un(o.tempClasses,i),t.push(n,"animate",o)}}}]}],Ui=function(){this.$get=["$$rAF",function(t){function n(n){e.push(n),e.length>1||t(function(){for(var t=0;t<e.length;t++)e[t]();e=[]})}var e=[];return function(){var t=!1;return n(function(){t=!0}),function(e){t?e():n(e)}}}]},Wi=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function(t,n,e,i,o){function a(t){this.setHost(t);var n=e(),r=function(t){o(t,0,!1)};this._doneCallbacks=[],this._tick=function(t){i()?r(t):n(t)},this._state=0}var u=0,s=1,l=2;return a.chain=function(t,n){function e(){return r===t.length?void n(!0):void t[r](function(t){return t===!1?void n(!1):(r++,void e())})}var r=0;e()},a.all=function(t,n){function e(e){o=o&&e,++i===t.length&&n(o)}var i=0,o=!0;r(t,function(t){t.done(e)})},a.prototype={setHost:function(t){this.host=t||{}},done:function(t){this._state===l?t():this._doneCallbacks.push(t)},progress:p,getPromise:function(){if(!this.promise){var n=this;this.promise=t(function(t,e){n.done(function(n){n===!1?e():t()})})}return this.promise},then:function(t,n){return this.getPromise().then(t,n)},"catch":function(t){return this.getPromise()["catch"](t)},"finally":function(t){return this.getPromise()["finally"](t)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(t){var n=this;n._state===u&&(n._state=s,n._tick(function(){n._resolve(t)}))},_resolve:function(t){this._state!==l&&(r(this._doneCallbacks,function(n){n(t)}),this._doneCallbacks.length=0,this._state=l)}},a}]},Hi=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function(t,n,e){return function(n,r){function i(){return t(function(){o(),u||s.complete(),u=!0}),s}function o(){a.addClass&&(n.addClass(a.addClass),a.addClass=null),a.removeClass&&(n.removeClass(a.removeClass),a.removeClass=null),a.to&&(n.css(a.to),a.to=null)}var a=r||{};a.$$prepared||(a=I(a)),a.cleanupStyles&&(a.from=a.to=null),a.from&&(n.css(a.from),a.from=null);var u,s=new e;return{start:i,end:i}}}]},Yi=n("$compile"),Gi=new vn;gn.$inject=["$provide","$$sanitizeUriProvider"],mn.prototype.isFirstChange=function(){return this.previousValue===Gi};var Zi=/^((?:x|data)[\:\-_])/i,Xi=n("$controller"),Ji=/^(\S+)(\s+as\s+([\w$]+))?$/,Ki=function(){this.$get=["$document",function(t){return function(n){return n?!n.nodeType&&n instanceof qr&&(n=n[0]):n=t[0].body,n.offsetWidth+1}}]},Qi="application/json",to={"Content-Type":Qi+";charset=utf-8"},no=/^\[|^\{(?!\{)/,eo={"[":/]$/,"{":/}$/},ro=/^\)\]\}',?\n/,io=n("$http"),oo=function(t){return function(){throw io("legacy","The method `{0}` on the promise returned from `$http` has been disabled.",t)}},ao=Xr.$interpolateMinErr=n("$interpolate");ao.throwNoconcat=function(t){throw ao("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",t)},ao.interr=function(t,n){return ao("interr","Can't interpolate: {0}\n{1}",t,n.toString())};var uo=function(){this.$get=["$window",function(t){function n(t){var n=function(t){n.data=t,n.called=!0};return n.id=t,n}var e=t.angular.callbacks,r={};return{createCallback:function(t){var i="_"+(e.$$counter++).toString(36),o="angular.callbacks."+i,a=n(i);return r[o]=e[i]=a,o},wasCalled:function(t){return r[t].called},getResponse:function(t){return r[t].data},removeCallback:function(t){var n=r[t];delete e[n.id],delete r[t]}}}]},so=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,lo={http:80,https:443,ftp:21},co=n("$location"),fo={$$absUrl:"",$$html5:!1,$$replace:!1,absUrl:Qn("$$absUrl"),url:function(t){if(m(t))return this.$$url;var n=so.exec(t);return(n[1]||""===t)&&this.path(decodeURIComponent(n[1])),(n[2]||n[1]||""===t)&&this.search(n[3]||""),this.hash(n[5]||""),this},protocol:Qn("$$protocol"),host:Qn("$$host"),port:Qn("$$port"),path:te("$$path",function(t){return t=null!==t?t.toString():"","/"===t.charAt(0)?t:"/"+t}),search:function(t,n){switch(arguments.length){case 0:return this.$$search;case 1:if(x(t)||w(t))t=t.toString(),this.$$search=K(t);else{if(!$(t))throw co("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");t=I(t,{}),r(t,function(n,e){null==n&&delete t[e]}),this.$$search=t}break;default:m(n)||null===n?delete this.$$search[t]:this.$$search[t]=n}return this.$$compose(),this},hash:te("$$hash",function(t){return null!==t?t.toString():""}),replace:function(){return this.$$replace=!0,this}};r([Kn,Jn,Xn],function(t){t.prototype=Object.create(fo),t.prototype.state=function(n){if(!arguments.length)return this.$$state;if(t!==Xn||!this.$$html5)throw co("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=m(n)?null:n,this}});var ho=n("$parse"),po=Function.prototype.call,vo=Function.prototype.apply,go=Function.prototype.bind,mo=dt();r("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(t){mo[t]=!0});var yo={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},$o=function(t){this.options=t};$o.prototype={constructor:$o,lex:function(t){for(this.text=t,this.index=0,this.tokens=[];this.index<this.text.length;){var n=this.text.charAt(this.index);if('"'===n||"'"===n)this.readString(n);else if(this.isNumber(n)||"."===n&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(n,"(){}[].,;:?"))this.tokens.push({index:this.index,text:n}),this.index++;else if(this.isWhitespace(n))this.index++;else{var e=n+this.peek(),r=e+this.peek(2),i=mo[n],o=mo[e],a=mo[r];if(i||o||a){var u=a?r:o?e:n;this.tokens.push({index:this.index,text:u,operator:!0}),this.index+=u.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(t,n){return n.indexOf(t)!==-1},peek:function(t){var n=t||1;return this.index+n<this.text.length&&this.text.charAt(this.index+n)},isNumber:function(t){return"0"<=t&&t<="9"&&"string"==typeof t},isWhitespace:function(t){return" "===t||"\r"===t||"\t"===t||"\n"===t||"\x0B"===t||" "===t},isIdentifierStart:function(t){return this.options.isIdentifierStart?this.options.isIdentifierStart(t,this.codePointAt(t)):this.isValidIdentifierStart(t)},isValidIdentifierStart:function(t){return"a"<=t&&t<="z"||"A"<=t&&t<="Z"||"_"===t||"$"===t},isIdentifierContinue:function(t){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(t,this.codePointAt(t)):this.isValidIdentifierContinue(t)},isValidIdentifierContinue:function(t,n){return this.isValidIdentifierStart(t,n)||this.isNumber(t)},codePointAt:function(t){return 1===t.length?t.charCodeAt(0):(t.charCodeAt(0)<<10)+t.charCodeAt(1)-56613888},peekMultichar:function(){var t=this.text.charAt(this.index),n=this.peek();if(!n)return t;var e=t.charCodeAt(0),r=n.charCodeAt(0);return e>=55296&&e<=56319&&r>=56320&&r<=57343?t+n:t},isExpOperator:function(t){return"-"===t||"+"===t||this.isNumber(t)},throwError:function(t,n,e){e=e||this.index;var r=y(n)?"s "+n+"-"+this.index+" ["+this.text.substring(n,e)+"]":" "+e;throw ho("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",t,r,this.text)},readNumber:function(){for(var t="",n=this.index;this.index<this.text.length;){var e=Rr(this.text.charAt(this.index));if("."===e||this.isNumber(e))t+=e;else{var r=this.peek();if("e"===e&&this.isExpOperator(r))t+=e;else if(this.isExpOperator(e)&&r&&this.isNumber(r)&&"e"===t.charAt(t.length-1))t+=e;else{if(!this.isExpOperator(e)||r&&this.isNumber(r)||"e"!==t.charAt(t.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:n,text:t,constant:!0,value:Number(t)})},readIdent:function(){var t=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var n=this.peekMultichar();if(!this.isIdentifierContinue(n))break;this.index+=n.length}this.tokens.push({index:t,text:this.text.slice(t,this.index),identifier:!0})},readString:function(t){var n=this.index;this.index++;for(var e="",r=t,i=!1;this.index<this.text.length;){var o=this.text.charAt(this.index);if(r+=o,i){if("u"===o){var a=this.text.substring(this.index+1,this.index+5);a.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+a+"]"),this.index+=4,e+=String.fromCharCode(parseInt(a,16))}else{var u=yo[o];e+=u||o}i=!1}else if("\\"===o)i=!0;else{if(o===t)return this.index++,void this.tokens.push({index:n,text:r,constant:!0,value:e});e+=o}this.index++}this.throwError("Unterminated quote",n)}};var bo=function(t,n){this.lexer=t,this.options=n};bo.Program="Program",bo.ExpressionStatement="ExpressionStatement",bo.AssignmentExpression="AssignmentExpression",bo.ConditionalExpression="ConditionalExpression",bo.LogicalExpression="LogicalExpression",bo.BinaryExpression="BinaryExpression",bo.UnaryExpression="UnaryExpression",bo.CallExpression="CallExpression",bo.MemberExpression="MemberExpression",bo.Identifier="Identifier",bo.Literal="Literal",bo.ArrayExpression="ArrayExpression",bo.Property="Property",bo.ObjectExpression="ObjectExpression",bo.ThisExpression="ThisExpression",bo.LocalsExpression="LocalsExpression",bo.NGValueParameter="NGValueParameter",bo.prototype={ast:function(t){this.text=t,this.tokens=this.lexer.lex(t);var n=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),n},program:function(){for(var t=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&t.push(this.expressionStatement()),!this.expect(";"))return{type:bo.Program,body:t}},expressionStatement:function(){return{type:bo.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var t=this.expression();this.expect("|");)t=this.filter(t);return t},expression:function(){return this.assignment()},assignment:function(){var t=this.ternary();return this.expect("=")&&(t={type:bo.AssignmentExpression,left:t,right:this.assignment(),operator:"="}),t},ternary:function(){var t,n,e=this.logicalOR();return this.expect("?")&&(t=this.expression(),this.consume(":"))?(n=this.expression(),{type:bo.ConditionalExpression,test:e,alternate:t,consequent:n}):e},logicalOR:function(){for(var t=this.logicalAND();this.expect("||");)t={type:bo.LogicalExpression,operator:"||",left:t,right:this.logicalAND()};return t},logicalAND:function(){for(var t=this.equality();this.expect("&&");)t={type:bo.LogicalExpression,operator:"&&",left:t,right:this.equality()};return t},equality:function(){for(var t,n=this.relational();t=this.expect("==","!=","===","!==");)n={type:bo.BinaryExpression,operator:t.text,left:n,right:this.relational()};return n},relational:function(){for(var t,n=this.additive();t=this.expect("<",">","<=",">=");)n={type:bo.BinaryExpression,operator:t.text,left:n,right:this.additive()};return n},additive:function(){for(var t,n=this.multiplicative();t=this.expect("+","-");)n={type:bo.BinaryExpression,operator:t.text,left:n,right:this.multiplicative()};return n},multiplicative:function(){for(var t,n=this.unary();t=this.expect("*","/","%");)n={type:bo.BinaryExpression,operator:t.text,left:n,right:this.unary()};return n},unary:function(){var t;return(t=this.expect("+","-","!"))?{type:bo.UnaryExpression,operator:t.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var t;this.expect("(")?(t=this.filterChain(),this.consume(")")):this.expect("[")?t=this.arrayDeclaration():this.expect("{")?t=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?t=I(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?t={type:bo.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?t=this.identifier():this.peek().constant?t=this.constant():this.throwError("not a primary expression",this.peek());for(var n;n=this.expect("(","[",".");)"("===n.text?(t={type:bo.CallExpression,callee:t,arguments:this.parseArguments()},this.consume(")")):"["===n.text?(t={type:bo.MemberExpression,object:t,property:this.expression(),computed:!0},this.consume("]")):"."===n.text?t={type:bo.MemberExpression,object:t,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return t},filter:function(t){for(var n=[t],e={type:bo.CallExpression,callee:this.identifier(),arguments:n,filter:!0};this.expect(":");)n.push(this.expression());return e},parseArguments:function(){var t=[];if(")"!==this.peekToken().text)do t.push(this.filterChain());while(this.expect(","));return t},identifier:function(){var t=this.consume();return t.identifier||this.throwError("is not a valid identifier",t),{type:bo.Identifier,name:t.text}},constant:function(){return{type:bo.Literal,value:this.consume().value}},arrayDeclaration:function(){var t=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;t.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:bo.ArrayExpression,elements:t}},object:function(){var t,n=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;t={type:bo.Property,kind:"init"},this.peek().constant?(t.key=this.constant(),t.computed=!1,this.consume(":"),t.value=this.expression()):this.peek().identifier?(t.key=this.identifier(),t.computed=!1,this.peek(":")?(this.consume(":"),t.value=this.expression()):t.value=t.key):this.peek("[")?(this.consume("["),t.key=this.expression(),this.consume("]"),t.computed=!0,this.consume(":"),t.value=this.expression()):this.throwError("invalid key",this.peek()),n.push(t)}while(this.expect(","));return this.consume("}"),{type:bo.ObjectExpression,properties:n}},throwError:function(t,n){throw ho("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",n.text,t,n.index+1,this.text,this.text.substring(n.index))},consume:function(t){if(0===this.tokens.length)throw ho("ueoe","Unexpected end of expression: {0}",this.text);var n=this.expect(t);return n||this.throwError("is unexpected, expecting ["+t+"]",this.peek()),n},peekToken:function(){if(0===this.tokens.length)throw ho("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(t,n,e,r){return this.peekAhead(0,t,n,e,r)},peekAhead:function(t,n,e,r,i){if(this.tokens.length>t){var o=this.tokens[t],a=o.text;if(a===n||a===e||a===r||a===i||!n&&!e&&!r&&!i)return o}return!1},expect:function(t,n,e,r){var i=this.peek(t,n,e,r);return!!i&&(this.tokens.shift(),i)},selfReferential:{"this":{type:bo.ThisExpression},$locals:{type:bo.LocalsExpression}}},me.prototype={compile:function(t,n){var e=this,i=this.astBuilder.ast(t);this.state={nextId:0,filters:{},expensiveChecks:n,fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},fe(i,e.$filter);var o,a="";if(this.stage="assign",o=de(i)){this.state.computing="assign";var u=this.nextId();this.recurse(o,u),this.return_(u),a="fn.assign="+this.generateFunction("assign","s,v,l")}var s=he(i.body);e.stage="inputs",r(s,function(t,n){var r="fn"+n;e.state[r]={vars:[],body:[],own:{}},e.state.computing=r;var i=e.nextId();e.recurse(t,i),e.return_(i),e.state.inputs.push(r),t.watchId=n}),this.state.computing="fn",this.stage="main",this.recurse(i);var l='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+a+this.watchFns()+"return fn;",c=new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","getStringValue","ensureSafeAssignContext","ifDefined","plus","text",l)(this.$filter,re,oe,ae,ie,ue,se,le,t);
+return this.state=this.stage=void 0,c.literal=ve(i),c.constant=ge(i),c},USE:"use",STRICT:"strict",watchFns:function(){var t=[],n=this.state.inputs,e=this;return r(n,function(n){t.push("var "+n+"="+e.generateFunction(n,"s"))}),n.length&&t.push("fn.inputs=["+n.join(",")+"];"),t.join("")},generateFunction:function(t,n){return"function("+n+"){"+this.varsPrefix(t)+this.body(t)+"};"},filterPrefix:function(){var t=[],n=this;return r(this.state.filters,function(e,r){t.push(e+"=$filter("+n.escape(r)+")")}),t.length?"var "+t.join(",")+";":""},varsPrefix:function(t){return this.state[t].vars.length?"var "+this.state[t].vars.join(",")+";":""},body:function(t){return this.state[t].body.join("")},recurse:function(t,n,e,i,o,a){var u,s,l,c,f,h=this;if(i=i||p,!a&&y(t.watchId))return n=n||this.nextId(),void this.if_("i",this.lazyAssign(n,this.computedMember("i",t.watchId)),this.lazyRecurse(t,n,e,i,o,!0));switch(t.type){case bo.Program:r(t.body,function(n,e){h.recurse(n.expression,void 0,void 0,function(t){s=t}),e!==t.body.length-1?h.current().body.push(s,";"):h.return_(s)});break;case bo.Literal:c=this.escape(t.value),this.assign(n,c),i(n||c);break;case bo.UnaryExpression:this.recurse(t.argument,void 0,void 0,function(t){s=t}),c=t.operator+"("+this.ifDefined(s,0)+")",this.assign(n,c),i(c);break;case bo.BinaryExpression:this.recurse(t.left,void 0,void 0,function(t){u=t}),this.recurse(t.right,void 0,void 0,function(t){s=t}),c="+"===t.operator?this.plus(u,s):"-"===t.operator?this.ifDefined(u,0)+t.operator+this.ifDefined(s,0):"("+u+")"+t.operator+"("+s+")",this.assign(n,c),i(c);break;case bo.LogicalExpression:n=n||this.nextId(),h.recurse(t.left,n),h.if_("&&"===t.operator?n:h.not(n),h.lazyRecurse(t.right,n)),i(n);break;case bo.ConditionalExpression:n=n||this.nextId(),h.recurse(t.test,n),h.if_(n,h.lazyRecurse(t.alternate,n),h.lazyRecurse(t.consequent,n)),i(n);break;case bo.Identifier:n=n||this.nextId(),e&&(e.context="inputs"===h.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",t.name)+"?l:s"),e.computed=!1,e.name=t.name),re(t.name),h.if_("inputs"===h.stage||h.not(h.getHasOwnProperty("l",t.name)),function(){h.if_("inputs"===h.stage||"s",function(){o&&1!==o&&h.if_(h.not(h.nonComputedMember("s",t.name)),h.lazyAssign(h.nonComputedMember("s",t.name),"{}")),h.assign(n,h.nonComputedMember("s",t.name))})},n&&h.lazyAssign(n,h.nonComputedMember("l",t.name))),(h.state.expensiveChecks||$e(t.name))&&h.addEnsureSafeObject(n),i(n);break;case bo.MemberExpression:u=e&&(e.context=this.nextId())||this.nextId(),n=n||this.nextId(),h.recurse(t.object,u,void 0,function(){h.if_(h.notNull(u),function(){o&&1!==o&&h.addEnsureSafeAssignContext(u),t.computed?(s=h.nextId(),h.recurse(t.property,s),h.getStringValue(s),h.addEnsureSafeMemberName(s),o&&1!==o&&h.if_(h.not(h.computedMember(u,s)),h.lazyAssign(h.computedMember(u,s),"{}")),c=h.ensureSafeObject(h.computedMember(u,s)),h.assign(n,c),e&&(e.computed=!0,e.name=s)):(re(t.property.name),o&&1!==o&&h.if_(h.not(h.nonComputedMember(u,t.property.name)),h.lazyAssign(h.nonComputedMember(u,t.property.name),"{}")),c=h.nonComputedMember(u,t.property.name),(h.state.expensiveChecks||$e(t.property.name))&&(c=h.ensureSafeObject(c)),h.assign(n,c),e&&(e.computed=!1,e.name=t.property.name))},function(){h.assign(n,"undefined")}),i(n)},!!o);break;case bo.CallExpression:n=n||this.nextId(),t.filter?(s=h.filter(t.callee.name),l=[],r(t.arguments,function(t){var n=h.nextId();h.recurse(t,n),l.push(n)}),c=s+"("+l.join(",")+")",h.assign(n,c),i(n)):(s=h.nextId(),u={},l=[],h.recurse(t.callee,s,u,function(){h.if_(h.notNull(s),function(){h.addEnsureSafeFunction(s),r(t.arguments,function(n){h.recurse(n,t.constant?void 0:h.nextId(),void 0,function(t){l.push(h.ensureSafeObject(t))})}),u.name?(h.state.expensiveChecks||h.addEnsureSafeObject(u.context),c=h.member(u.context,u.name,u.computed)+"("+l.join(",")+")"):c=s+"("+l.join(",")+")",c=h.ensureSafeObject(c),h.assign(n,c)},function(){h.assign(n,"undefined")}),i(n)}));break;case bo.AssignmentExpression:if(s=this.nextId(),u={},!pe(t.left))throw ho("lval","Trying to assign a value to a non l-value");this.recurse(t.left,void 0,u,function(){h.if_(h.notNull(u.context),function(){h.recurse(t.right,s),h.addEnsureSafeObject(h.member(u.context,u.name,u.computed)),h.addEnsureSafeAssignContext(u.context),c=h.member(u.context,u.name,u.computed)+t.operator+s,h.assign(n,c),i(n||c)})},1);break;case bo.ArrayExpression:l=[],r(t.elements,function(n){h.recurse(n,t.constant?void 0:h.nextId(),void 0,function(t){l.push(t)})}),c="["+l.join(",")+"]",this.assign(n,c),i(n||c);break;case bo.ObjectExpression:l=[],f=!1,r(t.properties,function(t){t.computed&&(f=!0)}),f?(n=n||this.nextId(),this.assign(n,"{}"),r(t.properties,function(t){t.computed?(u=h.nextId(),h.recurse(t.key,u)):u=t.key.type===bo.Identifier?t.key.name:""+t.key.value,s=h.nextId(),h.recurse(t.value,s),h.assign(h.member(n,u,t.computed),s)})):(r(t.properties,function(n){h.recurse(n.value,t.constant?void 0:h.nextId(),void 0,function(t){l.push(h.escape(n.key.type===bo.Identifier?n.key.name:""+n.key.value)+":"+t)})}),c="{"+l.join(",")+"}",this.assign(n,c)),i(n||c);break;case bo.ThisExpression:this.assign(n,"s"),i(n||"s");break;case bo.LocalsExpression:this.assign(n,"l"),i(n||"l");break;case bo.NGValueParameter:this.assign(n,"v"),i(n||"v")}},getHasOwnProperty:function(t,n){var e=t+"."+n,r=this.current().own;return r.hasOwnProperty(e)||(r[e]=this.nextId(!1,t+"&&("+this.escape(n)+" in "+t+")")),r[e]},assign:function(t,n){if(t)return this.current().body.push(t,"=",n,";"),t},filter:function(t){return this.state.filters.hasOwnProperty(t)||(this.state.filters[t]=this.nextId(!0)),this.state.filters[t]},ifDefined:function(t,n){return"ifDefined("+t+","+this.escape(n)+")"},plus:function(t,n){return"plus("+t+","+n+")"},return_:function(t){this.current().body.push("return ",t,";")},if_:function(t,n,e){if(t===!0)n();else{var r=this.current().body;r.push("if(",t,"){"),n(),r.push("}"),e&&(r.push("else{"),e(),r.push("}"))}},not:function(t){return"!("+t+")"},notNull:function(t){return t+"!=null"},nonComputedMember:function(t,n){var e=/^[$_a-zA-Z][$_a-zA-Z0-9]*$/,r=/[^$_a-zA-Z0-9]/g;return e.test(n)?t+"."+n:t+'["'+n.replace(r,this.stringEscapeFn)+'"]'},computedMember:function(t,n){return t+"["+n+"]"},member:function(t,n,e){return e?this.computedMember(t,n):this.nonComputedMember(t,n)},addEnsureSafeObject:function(t){this.current().body.push(this.ensureSafeObject(t),";")},addEnsureSafeMemberName:function(t){this.current().body.push(this.ensureSafeMemberName(t),";")},addEnsureSafeFunction:function(t){this.current().body.push(this.ensureSafeFunction(t),";")},addEnsureSafeAssignContext:function(t){this.current().body.push(this.ensureSafeAssignContext(t),";")},ensureSafeObject:function(t){return"ensureSafeObject("+t+",text)"},ensureSafeMemberName:function(t){return"ensureSafeMemberName("+t+",text)"},ensureSafeFunction:function(t){return"ensureSafeFunction("+t+",text)"},getStringValue:function(t){this.assign(t,"getStringValue("+t+")")},ensureSafeAssignContext:function(t){return"ensureSafeAssignContext("+t+",text)"},lazyRecurse:function(t,n,e,r,i,o){var a=this;return function(){a.recurse(t,n,e,r,i,o)}},lazyAssign:function(t,n){var e=this;return function(){e.assign(t,n)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(t){return"\\u"+("0000"+t.charCodeAt(0).toString(16)).slice(-4)},escape:function(t){if(x(t))return"'"+t.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(w(t))return t.toString();if(t===!0)return"true";if(t===!1)return"false";if(null===t)return"null";if("undefined"==typeof t)return"undefined";throw ho("esc","IMPOSSIBLE")},nextId:function(t,n){var e="v"+this.state.nextId++;return t||this.current().vars.push(e+(n?"="+n:"")),e},current:function(){return this.state[this.state.computing]}},ye.prototype={compile:function(t,n){var e=this,i=this.astBuilder.ast(t);this.expression=t,this.expensiveChecks=n,fe(i,e.$filter);var o,a;(o=de(i))&&(a=this.recurse(o));var u,s=he(i.body);s&&(u=[],r(s,function(t,n){var r=e.recurse(t);t.input=r,u.push(r),t.watchId=n}));var l=[];r(i.body,function(t){l.push(e.recurse(t.expression))});var c=0===i.body.length?p:1===i.body.length?l[0]:function(t,n){var e;return r(l,function(r){e=r(t,n)}),e};return a&&(c.assign=function(t,n,e){return a(t,e,n)}),u&&(c.inputs=u),c.literal=ve(i),c.constant=ge(i),c},recurse:function(t,n,e){var i,o,a,u=this;if(t.input)return this.inputs(t.input,t.watchId);switch(t.type){case bo.Literal:return this.value(t.value,n);case bo.UnaryExpression:return o=this.recurse(t.argument),this["unary"+t.operator](o,n);case bo.BinaryExpression:return i=this.recurse(t.left),o=this.recurse(t.right),this["binary"+t.operator](i,o,n);case bo.LogicalExpression:return i=this.recurse(t.left),o=this.recurse(t.right),this["binary"+t.operator](i,o,n);case bo.ConditionalExpression:return this["ternary?:"](this.recurse(t.test),this.recurse(t.alternate),this.recurse(t.consequent),n);case bo.Identifier:return re(t.name,u.expression),u.identifier(t.name,u.expensiveChecks||$e(t.name),n,e,u.expression);case bo.MemberExpression:return i=this.recurse(t.object,!1,!!e),t.computed||(re(t.property.name,u.expression),o=t.property.name),t.computed&&(o=this.recurse(t.property)),t.computed?this.computedMember(i,o,n,e,u.expression):this.nonComputedMember(i,o,u.expensiveChecks,n,e,u.expression);case bo.CallExpression:return a=[],r(t.arguments,function(t){a.push(u.recurse(t))}),t.filter&&(o=this.$filter(t.callee.name)),t.filter||(o=this.recurse(t.callee,!0)),t.filter?function(t,e,r,i){for(var u=[],s=0;s<a.length;++s)u.push(a[s](t,e,r,i));var l=o.apply(void 0,u,i);return n?{context:void 0,name:void 0,value:l}:l}:function(t,e,r,i){var s,l=o(t,e,r,i);if(null!=l.value){oe(l.context,u.expression),ae(l.value,u.expression);for(var c=[],f=0;f<a.length;++f)c.push(oe(a[f](t,e,r,i),u.expression));s=oe(l.value.apply(l.context,c),u.expression)}return n?{value:s}:s};case bo.AssignmentExpression:return i=this.recurse(t.left,!0,1),o=this.recurse(t.right),function(t,e,r,a){var s=i(t,e,r,a),l=o(t,e,r,a);return oe(s.value,u.expression),ue(s.context),s.context[s.name]=l,n?{value:l}:l};case bo.ArrayExpression:return a=[],r(t.elements,function(t){a.push(u.recurse(t))}),function(t,e,r,i){for(var o=[],u=0;u<a.length;++u)o.push(a[u](t,e,r,i));return n?{value:o}:o};case bo.ObjectExpression:return a=[],r(t.properties,function(t){t.computed?a.push({key:u.recurse(t.key),computed:!0,value:u.recurse(t.value)}):a.push({key:t.key.type===bo.Identifier?t.key.name:""+t.key.value,computed:!1,value:u.recurse(t.value)})}),function(t,e,r,i){for(var o={},u=0;u<a.length;++u)a[u].computed?o[a[u].key(t,e,r,i)]=a[u].value(t,e,r,i):o[a[u].key]=a[u].value(t,e,r,i);return n?{value:o}:o};case bo.ThisExpression:return function(t){return n?{value:t}:t};case bo.LocalsExpression:return function(t,e){return n?{value:e}:e};case bo.NGValueParameter:return function(t,e,r){return n?{value:r}:r}}},"unary+":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=y(a)?+a:0,n?{value:a}:a}},"unary-":function(t,n){return function(e,r,i,o){var a=t(e,r,i,o);return a=y(a)?-a:-0,n?{value:a}:a}},"unary!":function(t,n){return function(e,r,i,o){var a=!t(e,r,i,o);return n?{value:a}:a}},"binary+":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=le(u,s);return e?{value:l}:l}},"binary-":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a),s=n(r,i,o,a),l=(y(u)?u:0)-(y(s)?s:0);return e?{value:l}:l}},"binary*":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)*n(r,i,o,a);return e?{value:u}:u}},"binary/":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)/n(r,i,o,a);return e?{value:u}:u}},"binary%":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)%n(r,i,o,a);return e?{value:u}:u}},"binary===":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)===n(r,i,o,a);return e?{value:u}:u}},"binary!==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!==n(r,i,o,a);return e?{value:u}:u}},"binary==":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)==n(r,i,o,a);return e?{value:u}:u}},"binary!=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)!=n(r,i,o,a);return e?{value:u}:u}},"binary<":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<n(r,i,o,a);return e?{value:u}:u}},"binary>":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>n(r,i,o,a);return e?{value:u}:u}},"binary<=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)<=n(r,i,o,a);return e?{value:u}:u}},"binary>=":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)>=n(r,i,o,a);return e?{value:u}:u}},"binary&&":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)&&n(r,i,o,a);return e?{value:u}:u}},"binary||":function(t,n,e){return function(r,i,o,a){var u=t(r,i,o,a)||n(r,i,o,a);return e?{value:u}:u}},"ternary?:":function(t,n,e,r){return function(i,o,a,u){var s=t(i,o,a,u)?n(i,o,a,u):e(i,o,a,u);return r?{value:s}:s}},value:function(t,n){return function(){return n?{context:void 0,name:void 0,value:t}:t}},identifier:function(t,n,e,r,i){return function(o,a,u,s){var l=a&&t in a?a:o;r&&1!==r&&l&&!l[t]&&(l[t]={});var c=l?l[t]:void 0;return n&&oe(c,i),e?{context:l,name:t,value:c}:c}},computedMember:function(t,n,e,r,i){return function(o,a,u,s){var l,c,f=t(o,a,u,s);return null!=f&&(l=n(o,a,u,s),l=ie(l),re(l,i),r&&1!==r&&(ue(f),f&&!f[l]&&(f[l]={})),c=f[l],oe(c,i)),e?{context:f,name:l,value:c}:c}},nonComputedMember:function(t,n,e,r,i,o){return function(a,u,s,l){var c=t(a,u,s,l);i&&1!==i&&(ue(c),c&&!c[n]&&(c[n]={}));var f=null!=c?c[n]:void 0;return(e||$e(n))&&oe(f,o),r?{context:c,name:n,value:f}:f}},inputs:function(t,n){return function(e,r,i,o){return o?o[n]:t(e,r,i)}}};var xo=function(t,n,e){this.lexer=t,this.$filter=n,this.options=e,this.ast=new bo(t,e),this.astCompiler=e.csp?new ye(this.ast,n):new me(this.ast,n)};xo.prototype={constructor:xo,parse:function(t){return this.astCompiler.compile(t,this.options.expensiveChecks)}};var wo=Object.prototype.valueOf,Co=n("$sce"),So={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},Mo=n("$compile"),_o=t.document.createElement("a"),ko=Re(t.location.href);Ie.$inject=["$document"],qe.$inject=["$provide"];var Ao=22,Eo=".",Po="0";He.$inject=["$locale"],Ye.$inject=["$locale"];var Oo={yyyy:Ke("FullYear",4,0,!1,!0),yy:Ke("FullYear",2,0,!0,!0),y:Ke("FullYear",1,0,!1,!0),MMMM:Qe("Month"),MMM:Qe("Month",!0),MM:Ke("Month",2,1),M:Ke("Month",1,1),LLLL:Qe("Month",!1,!0),dd:Ke("Date",2),d:Ke("Date",1),HH:Ke("Hours",2),H:Ke("Hours",1),hh:Ke("Hours",2,-12),h:Ke("Hours",1,-12),mm:Ke("Minutes",2),m:Ke("Minutes",1),ss:Ke("Seconds",2),s:Ke("Seconds",1),sss:Ke("Milliseconds",3),EEEE:Qe("Day"),EEE:Qe("Day",!0),a:ir,Z:tr,ww:rr(2),w:rr(1),G:or,GG:or,GGG:or,GGGG:ar},To=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,Lo=/^\-?\d+$/;ur.$inject=["$locale"];var No=v(Rr),jo=v(Dr);fr.$inject=["$parse"];var Ro=v({restrict:"E",compile:function(t,n){if(!n.href&&!n.xlinkHref)return function(t,n){if("a"===n[0].nodeName.toLowerCase()){var e="[object SVGAnimatedString]"===Yr.call(n.prop("href"))?"xlink:href":"href";n.on("click",function(t){n.attr(e)||t.preventDefault()})}}}}),Do={};r(Ai,function(t,n){function e(t,e,i){t.$watch(i[r],function(t){i.$set(n,!!t)})}if("multiple"!==t){var r=yn("ng-"+n),i=e;"checked"===t&&(i=function(t,n,i){i.ngModel!==i[r]&&e(t,n,i)}),Do[r]=function(){return{restrict:"A",priority:100,link:i}}}}),r(Pi,function(t,n){Do[n]=function(){return{priority:100,link:function(t,e,r){if("ngPattern"===n&&"/"===r.ngPattern.charAt(0)){var i=r.ngPattern.match(Lr);if(i)return void r.$set("ngPattern",new RegExp(i[1],i[2]))}t.$watch(r[n],function(t){r.$set(n,t)})}}}}),r(["src","srcset","href"],function(t){var n=yn("ng-"+t);Do[n]=function(){return{priority:99,link:function(e,r,i){var o=t,a=t;"href"===t&&"[object SVGAnimatedString]"===Yr.call(r.prop("href"))&&(a="xlinkHref",i.$attr[a]="xlink:href",o=null),i.$observe(n,function(n){return n?(i.$set(a,n),void(Vr&&o&&r.prop(o,i[a]))):void("href"===t&&i.$set(a,null))})}}}});var Fo={$addControl:p,$$renameControl:pr,$removeControl:p,$setValidity:p,$setDirty:p,$setPristine:p,$setSubmitted:p},Io="ng-submitted";dr.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Vo=function(t){return["$timeout","$parse",function(n,e){function r(t){return""===t?e('this[""]').assign:e(t).assign||p}var i={name:"form",restrict:t?"EAC":"E",require:["form","^^?form"],controller:dr,compile:function(e,i){e.addClass(wa).addClass(ba);var o=i.name?"name":!(!t||!i.ngForm)&&"ngForm";return{pre:function(t,e,i,a){var u=a[0];if(!("action"in i)){var s=function(n){t.$apply(function(){u.$commitViewValue(),u.$setSubmitted()}),n.preventDefault()};e[0].addEventListener("submit",s),e.on("$destroy",function(){n(function(){e[0].removeEventListener("submit",s)},0,!1)})}var c=a[1]||u.$$parentForm;c.$addControl(u);var f=o?r(u.$name):p;o&&(f(t,u),i.$observe(o,function(n){u.$name!==n&&(f(t,void 0),u.$$parentForm.$$renameControl(u,n),(f=r(u.$name))(t,u))})),e.on("$destroy",function(){u.$$parentForm.$removeControl(u),f(t,void 0),l(u,Fo)})}}}};return i}]},qo=Vo(),zo=Vo(!0),Bo=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,Uo=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,Wo=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,Ho=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Yo=/^(\d{4,})-(\d{2})-(\d{2})$/,Go=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Zo=/^(\d{4,})-W(\d\d)$/,Xo=/^(\d{4,})-(\d\d)$/,Jo=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Ko="keydown wheel mousedown",Qo=dt();r("date,datetime-local,month,time,week".split(","),function(t){Qo[t]=!0});var ta={text:gr,date:br("date",Yo,$r(Yo,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":br("datetimelocal",Go,$r(Go,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:br("time",Jo,$r(Jo,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:br("week",Zo,yr,"yyyy-Www"),month:br("month",Xo,$r(Xo,["yyyy","MM"]),"yyyy-MM"),number:Cr,url:Mr,email:_r,radio:kr,range:Sr,checkbox:Er,hidden:p,button:p,submit:p,reset:p,file:p},na=["$browser","$sniffer","$filter","$parse",function(t,n,e,r){return{restrict:"E",require:["?ngModel"],link:{pre:function(i,o,a,u){u[0]&&(ta[Rr(a.type)]||ta.text)(i,o,a,u[0],n,t,e,r)}}}}],ea=/^(true|false|\d+)$/,ra=function(){return{restrict:"A",priority:100,compile:function(t,n){return ea.test(n.ngValue)?function(t,n,e){e.$set("value",t.$eval(e.ngValue))}:function(t,n,e){t.$watch(e.ngValue,function(t){e.$set("value",t)})}}}},ia=["$compile",function(t){return{restrict:"AC",compile:function(n){return t.$$addBindingClass(n),function(n,e,r){t.$$addBindingInfo(e,r.ngBind),e=e[0],n.$watch(r.ngBind,function(t){e.textContent=vt(t)})}}}}],oa=["$interpolate","$compile",function(t,n){return{compile:function(e){return n.$$addBindingClass(e),function(e,r,i){var o=t(r.attr(i.$attr.ngBindTemplate));n.$$addBindingInfo(r,o.expressions),r=r[0],i.$observe("ngBindTemplate",function(t){r.textContent=m(t)?"":t})}}}}],aa=["$sce","$parse","$compile",function(t,n,e){return{restrict:"A",compile:function(r,i){var o=n(i.ngBindHtml),a=n(i.ngBindHtml,function(n){return t.valueOf(n)});return e.$$addBindingClass(r),function(n,r,i){e.$$addBindingInfo(r,i.ngBindHtml),n.$watch(a,function(){var e=o(n);r.html(t.getTrustedHtml(e)||"")})}}}}],ua=v({restrict:"A",require:"ngModel",link:function(t,n,e,r){r.$viewChangeListeners.push(function(){t.$eval(e.ngChange)})}}),sa=Pr("",!0),la=Pr("Odd",0),ca=Pr("Even",1),fa=hr({compile:function(t,n){n.$set("ngCloak",void 0),t.removeClass("ng-cloak")}}),ha=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],pa={},da={blur:!0,focus:!0};r("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(t){var n=yn("ng-"+t);pa[n]=["$parse","$rootScope",function(e,r){return{restrict:"A",compile:function(i,o){var a=e(o[n],null,!0);return function(n,e){e.on(t,function(e){var i=function(){a(n,{$event:e})};da[t]&&r.$$phase?n.$evalAsync(i):n.$apply(i)})}}}}]});var va=["$animate","$compile",function(t,n){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(e,r,i,o,a){var u,s,l;e.$watch(i.ngIf,function(e){e?s||a(function(e,o){s=o,e[e.length++]=n.$$createComment("end ngIf",i.ngIf),u={clone:e},t.enter(e,r.parent(),r)}):(l&&(l.remove(),l=null),s&&(s.$destroy(),s=null),u&&(l=pt(u.clone),t.leave(l).then(function(){l=null}),u=null))})}}}],ga=["$templateRequest","$anchorScroll","$animate",function(t,n,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Xr.noop,compile:function(r,i){var o=i.ngInclude||i.src,a=i.onload||"",u=i.autoscroll;return function(r,i,s,l,c){var f,h,p,d=0,v=function(){h&&(h.remove(),h=null),f&&(f.$destroy(),f=null),p&&(e.leave(p).then(function(){h=null}),h=p,p=null)};r.$watch(o,function(o){var s=function(){!y(u)||u&&!r.$eval(u)||n()},h=++d;o?(t(o,!0).then(function(t){if(!r.$$destroyed&&h===d){var n=r.$new();l.template=t;var u=c(n,function(t){v(),e.enter(t,null,i).then(s)});f=n,p=u,f.$emit("$includeContentLoaded",o),r.$eval(a)}},function(){r.$$destroyed||h===d&&(v(),r.$emit("$includeContentError",o))}),r.$emit("$includeContentRequested",o)):(v(),l.template=null)})}}}}],ma=["$compile",function(n){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(e,r,i,o){return Yr.call(r[0]).match(/SVG/)?(r.empty(),void n(kt(o.template,t.document).childNodes)(e,function(t){r.append(t)},{futureParentElement:r})):(r.html(o.template),void n(r.contents())(e))}}}],ya=hr({priority:450,compile:function(){return{pre:function(t,n,e){t.$eval(e.ngInit)}}}}),$a=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(t,n,e,i){var o=e.ngList||", ",a="false"!==e.ngTrim,u=a?ti(o):o,s=function(t){if(!m(t)){var n=[];return t&&r(t.split(u),function(t){t&&n.push(a?ti(t):t)}),n}};i.$parsers.push(s),i.$formatters.push(function(t){if(Kr(t))return t.join(o)}),i.$isEmpty=function(t){return!t||!t.length}}}},ba="ng-valid",xa="ng-invalid",wa="ng-pristine",Ca="ng-dirty",Sa="ng-untouched",Ma="ng-touched",_a="ng-pending",ka="ng-empty",Aa="ng-not-empty",Ea=n("ngModel"),Pa=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(t,n,e,i,o,a,u,s,l,c){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,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=void 0,this.$name=c(e.name||"",!1)(t),this.$$parentForm=Fo;var f,h=o(e.ngModel),d=h.assign,v=h,g=d,$=null,b=this;this.$$setOptions=function(t){if(b.$options=t,t&&t.getterSetter){var n=o(e.ngModel+"()"),r=o(e.ngModel+"($$$p)");v=function(t){var e=h(t);return S(e)&&(e=n(t)),e},g=function(t,n){S(h(t))?r(t,{$$$p:n}):d(t,n)}}else if(!h.assign)throw Ea("nonassign","Expression '{0}' is non-assignable. Element: {1}",e.ngModel,X(i))},this.$render=p,this.$isEmpty=function(t){return m(t)||""===t||null===t||t!==t},this.$$updateEmptyClasses=function(t){b.$isEmpty(t)?(a.removeClass(i,Aa),a.addClass(i,ka)):(a.removeClass(i,ka),a.addClass(i,Aa))};var x=0;Or({ctrl:this,$element:i,set:function(t,n){t[n]=!0},unset:function(t,n){delete t[n]},$animate:a}),this.$setPristine=function(){b.$dirty=!1,b.$pristine=!0,a.removeClass(i,Ca),a.addClass(i,wa)},this.$setDirty=function(){b.$dirty=!0,b.$pristine=!1,a.removeClass(i,wa),a.addClass(i,Ca),b.$$parentForm.$setDirty()},this.$setUntouched=function(){b.$touched=!1,b.$untouched=!0,a.setClass(i,Sa,Ma)},this.$setTouched=function(){b.$touched=!0,b.$untouched=!1,a.setClass(i,Ma,Sa)},this.$rollbackViewValue=function(){u.cancel($),b.$viewValue=b.$$lastCommittedViewValue,b.$render()},this.$validate=function(){if(!w(b.$modelValue)||!isNaN(b.$modelValue)){var t=b.$$lastCommittedViewValue,n=b.$$rawModelValue,e=b.$valid,r=b.$modelValue,i=b.$options&&b.$options.allowInvalid;b.$$runValidators(n,t,function(t){i||e===t||(b.$modelValue=t?n:void 0,b.$modelValue!==r&&b.$$writeModelToScope())})}},this.$$runValidators=function(t,n,e){function i(){var t=b.$$parserName||"parse";return m(f)?(u(t,null),!0):(f||(r(b.$validators,function(t,n){u(n,null)}),r(b.$asyncValidators,function(t,n){u(n,null)})),u(t,f),f)}function o(){var e=!0;return r(b.$validators,function(r,i){var o=r(t,n);e=e&&o,u(i,o)}),!!e||(r(b.$asyncValidators,function(t,n){u(n,null)}),!1)}function a(){var e=[],i=!0;r(b.$asyncValidators,function(r,o){var a=r(t,n);if(!T(a))throw Ea("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",a);u(o,void 0),e.push(a.then(function(){u(o,!0)},function(){i=!1,u(o,!1)}))}),e.length?l.all(e).then(function(){s(i)},p):s(!0)}function u(t,n){c===x&&b.$setValidity(t,n)}function s(t){c===x&&e(t)}x++;var c=x;return i()&&o()?void a():void s(!1)},this.$commitViewValue=function(){var t=b.$viewValue;u.cancel($),(b.$$lastCommittedViewValue!==t||""===t&&b.$$hasNativeValidators)&&(b.$$updateEmptyClasses(t),b.$$lastCommittedViewValue=t,b.$pristine&&this.$setDirty(),this.$$parseAndValidate())},this.$$parseAndValidate=function(){function n(){b.$modelValue!==o&&b.$$writeModelToScope()}var e=b.$$lastCommittedViewValue,r=e;if(f=!m(r)||void 0)for(var i=0;i<b.$parsers.length;i++)if(r=b.$parsers[i](r),m(r)){f=!1;break}w(b.$modelValue)&&isNaN(b.$modelValue)&&(b.$modelValue=v(t));var o=b.$modelValue,a=b.$options&&b.$options.allowInvalid;b.$$rawModelValue=r,a&&(b.$modelValue=r,n()),b.$$runValidators(r,b.$$lastCommittedViewValue,function(t){a||(b.$modelValue=t?r:void 0,n())})},this.$$writeModelToScope=function(){g(t,b.$modelValue),r(b.$viewChangeListeners,function(t){try{t()}catch(e){n(e)}})},this.$setViewValue=function(t,n){b.$viewValue=t,b.$options&&!b.$options.updateOnDefault||b.$$debounceViewValueCommit(n)},this.$$debounceViewValueCommit=function(n){var e,r=0,i=b.$options;i&&y(i.debounce)&&(e=i.debounce,w(e)?r=e:w(e[n])?r=e[n]:w(e["default"])&&(r=e["default"])),u.cancel($),r?$=u(function(){b.$commitViewValue()},r):s.$$phase?b.$commitViewValue():t.$apply(function(){b.$commitViewValue()})},t.$watch(function(){var n=v(t);if(n!==b.$modelValue&&(b.$modelValue===b.$modelValue||n===n)){b.$modelValue=b.$$rawModelValue=n,f=void 0;for(var e=b.$formatters,r=e.length,i=n;r--;)i=e[r](i);b.$viewValue!==i&&(b.$$updateEmptyClasses(i),b.$viewValue=b.$$lastCommittedViewValue=i,b.$render(),b.$$runValidators(b.$modelValue,b.$viewValue,p))}return n})}],Oa=["$rootScope",function(t){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:Pa,priority:1,compile:function(n){return n.addClass(wa).addClass(Sa).addClass(ba),{pre:function(t,n,e,r){var i=r[0],o=r[1]||i.$$parentForm;i.$$setOptions(r[2]&&r[2].$options),o.$addControl(i),e.$observe("name",function(t){i.$name!==t&&i.$$parentForm.$$renameControl(i,t)}),t.$on("$destroy",function(){i.$$parentForm.$removeControl(i)})},post:function(n,e,r,i){var o=i[0];o.$options&&o.$options.updateOn&&e.on(o.$options.updateOn,function(t){o.$$debounceViewValueCommit(t&&t.type)}),e.on("blur",function(){o.$touched||(t.$$phase?n.$evalAsync(o.$setTouched):n.$apply(o.$setTouched))})}}}}}],Ta=/(\s+|^)default(\s+|$)/,La=function(){return{restrict:"A",controller:["$scope","$attrs",function(t,n){var e=this;this.$options=I(t.$eval(n.ngModelOptions)),y(this.$options.updateOn)?(this.$options.updateOnDefault=!1,this.$options.updateOn=ti(this.$options.updateOn.replace(Ta,function(){return e.$options.updateOnDefault=!0," "}))):this.$options.updateOnDefault=!0}]}},Na=hr({terminal:!0,priority:1e3}),ja=n("ngOptions"),Ra=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\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]+?))?$/,Da=["$compile","$document","$parse",function(n,i,o){function a(t,n,r){function i(t,n,e,r,i){this.selectValue=t,this.viewValue=n,this.label=e,this.group=r,this.disabled=i}function a(t){var n;if(!l&&e(t))n=t;else{n=[];for(var r in t)t.hasOwnProperty(r)&&"$"!==r.charAt(0)&&n.push(r)}return n}var u=t.match(Ra);if(!u)throw ja("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",t,X(n));var s=u[5]||u[7],l=u[6],c=/ as /.test(u[0])&&u[1],f=u[9],h=o(u[2]?u[1]:s),p=c&&o(c),d=p||h,v=f&&o(f),g=f?function(t,n){return v(r,n)}:function(t){return Kt(t)},m=function(t,n){return g(t,C(t,n))},y=o(u[2]||u[1]),$=o(u[3]||""),b=o(u[4]||""),x=o(u[8]),w={},C=l?function(t,n){return w[l]=n,w[s]=t,w}:function(t){return w[s]=t,w};return{trackBy:f,getTrackByValue:m,getWatchables:o(x,function(t){var n=[];t=t||[];for(var e=a(t),i=e.length,o=0;o<i;o++){var s=t===e?o:e[o],l=t[s],c=C(l,s),f=g(l,c);if(n.push(f),u[2]||u[1]){var h=y(r,c);n.push(h)}if(u[4]){var p=b(r,c);n.push(p)}}return n}),getOptions:function(){for(var t=[],n={},e=x(r)||[],o=a(e),u=o.length,s=0;s<u;s++){var l=e===o?s:o[s],c=e[l],h=C(c,l),p=d(r,h),v=g(p,h),w=y(r,h),S=$(r,h),M=b(r,h),_=new i(v,p,w,S,M);t.push(_),n[v]=_}return{items:t,selectValueMap:n,getOptionFromViewValue:function(t){return n[m(t)]},getViewValueFromOption:function(t){return f?Xr.copy(t.viewValue):t.viewValue}}}}}function u(t,e,o,u){function c(t,n){var e=s.cloneNode(!1);n.appendChild(e),f(t,e)}function f(t,n){t.element=n,n.disabled=t.disabled,t.label!==n.label&&(n.label=t.label,n.textContent=t.label),t.value!==n.value&&(n.value=t.selectValue)}function h(){var t=C&&d.readValue();if(C)for(var n=C.items.length-1;n>=0;n--){var r=C.items[n];Ut(y(r.group)?r.element.parentNode:r.element)}C=S.getOptions();var i={};if(x&&e.prepend(p),C.items.forEach(function(t){var n;y(t.group)?(n=i[t.group],n||(n=l.cloneNode(!1),M.appendChild(n),n.label=null===t.group?"null":t.group,i[t.group]=n),c(t,n)):c(t,M)}),e[0].appendChild(M),v.$render(),!v.$isEmpty(t)){var o=d.readValue(),a=S.trackBy||g;(a?V(t,o):t===o)||(v.$setViewValue(o),v.$render())}}for(var p,d=u[0],v=u[1],g=o.multiple,m=0,$=e.children(),b=$.length;m<b;m++)if(""===$[m].value){p=$.eq(m);break}var x=!!p,w=qr(s.cloneNode(!1));w.val("?");var C,S=a(o.ngOptions,e,t),M=i[0].createDocumentFragment(),_=function(){x||e.prepend(p),e.val(""),p.prop("selected",!0),p.attr("selected",!0)},k=function(){x?p.removeAttr("selected"):p.remove()},A=function(){e.prepend(w),e.val("?"),w.prop("selected",!0),w.attr("selected",!0)},E=function(){w.remove()};g?(v.$isEmpty=function(t){return!t||0===t.length},d.writeValue=function(t){C.items.forEach(function(t){t.element.selected=!1}),t&&t.forEach(function(t){var n=C.getOptionFromViewValue(t);n&&(n.element.selected=!0)})},d.readValue=function(){var t=e.val()||[],n=[];return r(t,function(t){var e=C.selectValueMap[t];e&&!e.disabled&&n.push(C.getViewValueFromOption(e))}),n},S.trackBy&&t.$watchCollection(function(){if(Kr(v.$viewValue))return v.$viewValue.map(function(t){return S.getTrackByValue(t)})},function(){v.$render()})):(d.writeValue=function(t){var n=C.selectValueMap[e.val()],r=C.getOptionFromViewValue(t);n&&n.element.removeAttribute("selected"),r?(e[0].value!==r.selectValue&&(E(),k(),e[0].value=r.selectValue,r.element.selected=!0),r.element.setAttribute("selected","selected")):null===t||x?(E(),_()):(k(),A())},d.readValue=function(){var t=C.selectValueMap[e.val()];return t&&!t.disabled?(k(),E(),C.getViewValueFromOption(t)):null},S.trackBy&&t.$watch(function(){return S.getTrackByValue(v.$viewValue)},function(){v.$render()})),x?(p.remove(),n(p)(t),p.removeClass("ng-scope")):p=qr(s.cloneNode(!1)),e.empty(),h(),t.$watchCollection(S.getWatchables,h)}var s=t.document.createElement("option"),l=t.document.createElement("optgroup");
+return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(t,n,e,r){r[0].registerOption=p},post:u}}}],Fa=["$locale","$interpolate","$log",function(t,n,e){var i=/{}/g,o=/^when(Minus)?(.+)$/;return{link:function(a,u,s){function l(t){u.text(t||"")}var c,f=s.count,h=s.$attr.when&&u.attr(s.$attr.when),d=s.offset||0,v=a.$eval(h)||{},g={},y=n.startSymbol(),$=n.endSymbol(),b=y+f+"-"+d+$,x=Xr.noop;r(s,function(t,n){var e=o.exec(n);if(e){var r=(e[1]?"-":"")+Rr(e[2]);v[r]=u.attr(s.$attr[n])}}),r(v,function(t,e){g[e]=n(t.replace(i,b))}),a.$watch(f,function(n){var r=parseFloat(n),i=isNaN(r);if(i||r in v||(r=t.pluralCat(r-d)),r!==c&&!(i&&w(c)&&isNaN(c))){x();var o=g[r];m(o)?(null!=n&&e.debug("ngPluralize: no rule defined for '"+r+"' in "+h),x=p,l()):x=a.$watch(o,l),c=r}})}}}],Ia=["$parse","$animate","$compile",function(t,i,o){var a="$$NG_REMOVED",u=n("ngRepeat"),s=function(t,n,e,r,i,o,a){t[e]=r,i&&(t[i]=o),t.$index=n,t.$first=0===n,t.$last=n===a-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&n))},l=function(t){return t.clone[0]},c=function(t){return t.clone[t.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function(n,f){var h=f.ngRepeat,p=o.$$createComment("end ngRepeat",h),d=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!d)throw u("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",h);var v=d[1],g=d[2],m=d[3],y=d[4];if(d=v.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/),!d)throw u("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",v);var $=d[3]||d[1],b=d[2];if(m&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(m)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(m)))throw u("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",m);var x,w,C,S,M={$id:Kt};return y?x=t(y):(C=function(t,n){return Kt(n)},S=function(t){return t}),function(t,n,o,f,d){x&&(w=function(n,e,r){return b&&(M[b]=n),M[$]=e,M.$index=r,x(t,M)});var v=dt();t.$watchCollection(g,function(o){var f,g,y,x,M,_,k,A,E,P,O,T,L=n[0],N=dt();if(m&&(t[m]=o),e(o))E=o,A=w||C;else{A=w||S,E=[];for(var j in o)jr.call(o,j)&&"$"!==j.charAt(0)&&E.push(j)}for(x=E.length,O=new Array(x),f=0;f<x;f++)if(M=o===E?f:E[f],_=o[M],k=A(M,_,f),v[k])P=v[k],delete v[k],N[k]=P,O[f]=P;else{if(N[k])throw r(O,function(t){t&&t.scope&&(v[t.id]=t)}),u("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",h,k,_);O[f]={id:k,scope:void 0,clone:void 0},N[k]=!0}for(var R in v){if(P=v[R],T=pt(P.clone),i.leave(T),T[0].parentNode)for(f=0,g=T.length;f<g;f++)T[f][a]=!0;P.scope.$destroy()}for(f=0;f<x;f++)if(M=o===E?f:E[f],_=o[M],P=O[f],P.scope){y=L;do y=y.nextSibling;while(y&&y[a]);l(P)!==y&&i.move(pt(P.clone),null,L),L=c(P),s(P.scope,f,$,_,b,M,x)}else d(function(t,n){P.scope=n;var e=p.cloneNode(!1);t[t.length++]=e,i.enter(t,null,L),L=e,P.clone=t,N[P.id]=P,s(P.scope,f,$,_,b,M,x)});v=N})}}}}],Va="ng-hide",qa="ng-hide-animate",za=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngShow,function(n){t[n?"removeClass":"addClass"](e,Va,{tempClasses:qa})})}}}],Ba=["$animate",function(t){return{restrict:"A",multiElement:!0,link:function(n,e,r){n.$watch(r.ngHide,function(n){t[n?"addClass":"removeClass"](e,Va,{tempClasses:qa})})}}}],Ua=hr(function(t,n,e){t.$watch(e.ngStyle,function(t,e){e&&t!==e&&r(e,function(t,e){n.css(e,"")}),t&&n.css(t)},!0)}),Wa=["$animate","$compile",function(t,n){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(e,i,o,a){var u=o.ngSwitch||o.on,s=[],l=[],c=[],f=[],h=function(t,n){return function(){t.splice(n,1)}};e.$watch(u,function(e){var i,o;for(i=0,o=c.length;i<o;++i)t.cancel(c[i]);for(c.length=0,i=0,o=f.length;i<o;++i){var u=pt(l[i].clone);f[i].$destroy();var p=c[i]=t.leave(u);p.then(h(c,i))}l.length=0,f.length=0,(s=a.cases["!"+e]||a.cases["?"])&&r(s,function(e){e.transclude(function(r,i){f.push(i);var o=e.element;r[r.length++]=n.$$createComment("end ngSwitchWhen");var a={clone:r};l.push(a),t.enter(r,o.parent(),o)})})})}}}],Ha=hr({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["!"+e.ngSwitchWhen]=r.cases["!"+e.ngSwitchWhen]||[],r.cases["!"+e.ngSwitchWhen].push({transclude:i,element:n})}}),Ya=hr({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(t,n,e,r,i){r.cases["?"]=r.cases["?"]||[],r.cases["?"].push({transclude:i,element:n})}}),Ga=n("ngTransclude"),Za=["$compile",function(t){return{restrict:"EAC",terminal:!0,compile:function(n){var e=t(n.contents());return n.empty(),function(t,n,r,i,o){function a(t,e){t.length?n.append(t):(u(),e.$destroy())}function u(){e(t,function(t){n.append(t)})}if(!o)throw Ga("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",X(n));r.ngTransclude===r.$attr.ngTransclude&&(r.ngTransclude="");var s=r.ngTransclude||r.ngTranscludeSlot;o(a,null,s),s&&!o.isSlotFilled(s)&&u()}}}}],Xa=["$templateCache",function(t){return{restrict:"E",terminal:!0,compile:function(n,e){if("text/ng-template"===e.type){var r=e.id,i=n[0].text;t.put(r,i)}}}}],Ja={$setViewValue:p,$render:p},Ka=["$element","$scope",function(n,e){function r(){u||(u=!0,e.$$postDigest(function(){u=!1,o.ngModelCtrl.$render()}))}function i(t){s||(s=!0,e.$$postDigest(function(){s=!1,o.ngModelCtrl.$setViewValue(o.readValue()),t&&o.ngModelCtrl.$render()}))}var o=this,a=new Qt;o.selectValueMap={},o.ngModelCtrl=Ja,o.multiple=!1,o.unknownOption=qr(t.document.createElement("option")),o.renderUnknownOption=function(t){var e="? "+Kt(t)+" ?";o.unknownOption.val(e),n.prepend(o.unknownOption),n.val(e)},o.updateUnknownOption=function(t){var e="? "+Kt(t)+" ?";o.unknownOption.val(e),n.val(e)},e.$on("$destroy",function(){o.renderUnknownOption=p}),o.removeUnknownOption=function(){o.unknownOption.parent()&&o.unknownOption.remove()},o.readValue=function(){var t=n.val(),e=t in o.selectValueMap?o.selectValueMap[t]:t;return o.hasOption(e)?e:null},o.writeValue=function(t){if(o.hasOption(t)){o.removeUnknownOption();var e=Kt(t);n.val(e in o.selectValueMap?e:t),""===t&&o.emptyOption.prop("selected",!0)}else null==t&&o.emptyOption?(o.removeUnknownOption(),n.val("")):o.unknownOption.parent().length?o.updateUnknownOption(t):o.renderUnknownOption(t)},o.addOption=function(t,n){if(n[0].nodeType!==fi){ft(t,'"option value"'),""===t&&(o.emptyOption=n);var e=a.get(t)||0;a.put(t,e+1),r()}},o.removeOption=function(t){var n=a.get(t);n&&(1===n?(a.remove(t),""===t&&(o.emptyOption=void 0)):a.put(t,n-1))},o.hasOption=function(t){return!!a.get(t)};var u=!1,s=!1;o.registerOption=function(t,n,e,r,a){if(e.$attr.ngValue){var u,s=NaN;e.$observe("value",function(t){var e,r=n.prop("selected");y(s)&&(o.removeOption(u),delete o.selectValueMap[s],e=!0),s=Kt(t),u=t,o.selectValueMap[s]=t,o.addOption(t,n),n.attr("value",s),e&&r&&i()})}else r?e.$observe("value",function(t){var e,r,a=(o.readValue(),n.prop("selected"));y(u)&&(o.removeOption(u),e=!0,r=u),u=t,o.addOption(t,n),e&&a&&i()}):a?t.$watch(a,function(t,r){e.$set("value",t);var a=n.prop("selected");r!==t&&o.removeOption(r),o.addOption(t,n),r&&a&&i()}):o.addOption(e.value,n);var l;e.$observe("disabled",function(t){("true"===t||t&&n.prop("selected"))&&(o.multiple?i(!0):(o.ngModelCtrl.$setViewValue(null),o.ngModelCtrl.$render()),l=t)}),n.on("$destroy",function(){var t=o.readValue(),n=e.value;o.removeOption(n),o.ngModelCtrl.$render(),(o.multiple&&t&&t.indexOf(n)!==-1||t===n)&&i(!0)})}}],Qa=function(){function t(t,n,e,i){var o=i[0],a=i[1];if(!a)return void(o.registerOption=p);if(o.ngModelCtrl=a,n.on("change",function(){o.removeUnknownOption(),t.$apply(function(){a.$setViewValue(o.readValue())})}),e.multiple){o.multiple=!0,o.readValue=function(){var t=[];return r(n.find("option"),function(n){if(n.selected&&!n.disabled){var e=n.value;t.push(e in o.selectValueMap?o.selectValueMap[e]:e)}}),t},o.writeValue=function(t){var e=new Qt(t);r(n.find("option"),function(t){t.selected=y(e.get(t.value))||y(e.get(o.selectValueMap[t.value]))})};var u,s=NaN;t.$watch(function(){s!==a.$viewValue||V(u,a.$viewValue)||(u=mt(a.$viewValue),a.$render()),s=a.$viewValue}),a.$isEmpty=function(t){return!t||0===t.length}}}function n(t,n,e,r){var i=r[1];if(i){var o=r[0];i.$render=function(){o.writeValue(i.$viewValue)}}}return{restrict:"E",require:["select","?ngModel"],controller:Ka,priority:1,link:{pre:t,post:n}}},tu=["$interpolate",function(t){return{restrict:"E",priority:100,compile:function(n,e){var r,i;return y(e.ngValue)||(y(e.value)?r=t(e.value,!0):(i=t(n.text(),!0),i||e.$set("value",n.text()))),function(t,n,e){var o="$selectController",a=n.parent(),u=a.data(o)||a.parent().data(o);u&&u.registerOption(t,n,e,r,i)}}}}],nu=v({restrict:"E",terminal:!1}),eu=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){r&&(e.required=!0,r.$validators.required=function(t,n){return!e.required||!r.$isEmpty(n)},e.$observe("required",function(){r.$validate()}))}}},ru=function(){return{restrict:"A",require:"?ngModel",link:function(t,e,r,i){if(i){var o,a=r.ngPattern||r.pattern;r.$observe("pattern",function(t){if(x(t)&&t.length>0&&(t=new RegExp("^"+t+"$")),t&&!t.test)throw n("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",a,t,X(e));o=t||void 0,i.$validate()}),i.$validators.pattern=function(t,n){return i.$isEmpty(n)||m(o)||o.test(n)}}}}},iu=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=-1;e.$observe("maxlength",function(t){var n=f(t);i=isNaN(n)?-1:n,r.$validate()}),r.$validators.maxlength=function(t,n){return i<0||r.$isEmpty(n)||n.length<=i}}}}},ou=function(){return{restrict:"A",require:"?ngModel",link:function(t,n,e,r){if(r){var i=0;e.$observe("minlength",function(t){i=f(t)||0,r.$validate()}),r.$validators.minlength=function(t,n){return r.$isEmpty(n)||n.length>=i}}}}};return t.angular.bootstrap?void(t.console&&console.log("WARNING: Tried to load angular more than once.")):(st(),bt(Xr),Xr.module("ngLocale",[],["$provide",function(t){function n(t){t+="";var n=t.indexOf(".");return n==-1?0:t.length-n-1}function e(t,e){var r=e;void 0===r&&(r=Math.min(n(t),3));var i=Math.pow(10,r),o=(t*i|0)%i;return{v:r,f:o}}var r={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};t.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(t,n){var i=0|t,o=e(t,n);return 1==i&&0==o.v?r.ONE:r.OTHER}})}]),void qr(t.document).ready(function(){rt(t.document,it)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>'),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(t,n,e){"use strict";function r(t,n){return I(new(I(function(){},{prototype:t})),n)}function i(t){return F(arguments,function(n){n!==t&&F(n,function(n,e){t.hasOwnProperty(e)||(t[e]=n)})}),t}function o(t,n){var e=[];for(var r in t.path){if(t.path[r]!==n.path[r])break;e.push(t.path[r])}return e}function a(t){if(Object.keys)return Object.keys(t);var n=[];return F(t,function(t,e){n.push(e)}),n}function u(t,n){if(Array.prototype.indexOf)return t.indexOf(n,Number(arguments[2])||0);var e=t.length>>>0,r=Number(arguments[2])||0;for(r=r<0?Math.ceil(r):Math.floor(r),r<0&&(r+=e);r<e;r++)if(r in t&&t[r]===n)return r;return-1}function s(t,n,e,r){var i,s=o(e,r),l={},c=[];for(var f in s)if(s[f].params&&(i=a(s[f].params),i.length))for(var h in i)u(c,i[h])>=0||(c.push(i[h]),l[i[h]]=t[i[h]]);return I({},l,n)}function l(t,n,e){if(!e){e=[];for(var r in t)e.push(r)}for(var i=0;i<e.length;i++){var o=e[i];if(t[o]!=n[o])return!1}return!0}function c(t,n){var e={};return F(t,function(t){e[t]=n[t]}),e}function f(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));return F(e,function(e){e in t&&(n[e]=t[e])}),n}function h(t){var n={},e=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var r in t)u(e,r)==-1&&(n[r]=t[r]);return n}function p(t,n){var e=D(t),r=e?[]:{};return F(t,function(t,i){n(t,i)&&(r[e?r.length:i]=t)}),r}function d(t,n){var e=D(t)?[]:{};return F(t,function(t,r){e[r]=n(t,r)}),e}function v(t,n){var r=1,o=2,s={},l=[],c=s,f=I(t.when(s),{$$promises:s,$$values:s});this.study=function(s){function p(t,e){if(y[e]!==o){if(m.push(e),y[e]===r)throw m.splice(0,u(m,e)),new Error("Cyclic dependency: "+m.join(" -> "));if(y[e]=r,j(t))g.push(e,[function(){return n.get(t)}],l);else{var i=n.annotate(t);F(i,function(t){t!==e&&s.hasOwnProperty(t)&&p(s[t],t)}),g.push(e,t,i)}m.pop(),y[e]=o}}function d(t){return R(t)&&t.then&&t.$$promises}if(!R(s))throw new Error("'invocables' must be an object");var v=a(s||{}),g=[],m=[],y={};return F(s,p),s=m=y=null,function(r,o,a){function u(){--b||(x||i($,o.$$values),m.$$values=$,m.$$promises=m.$$promises||!0,delete m.$$inheritedValues,p.resolve($))}function s(t){m.$$failure=t,p.reject(t)}function l(e,i,o){function l(t){f.reject(t),s(t)}function c(){if(!L(m.$$failure))try{f.resolve(n.invoke(i,a,$)),f.promise.then(function(t){$[e]=t,u()},l)}catch(t){l(t)}}var f=t.defer(),h=0;F(o,function(t){y.hasOwnProperty(t)&&!r.hasOwnProperty(t)&&(h++,y[t].then(function(n){$[t]=n,--h||c()},l))}),h||c(),y[e]=f.promise}if(d(r)&&a===e&&(a=o,o=r,r=null),r){if(!R(r))throw new Error("'locals' must be an object")}else r=c;if(o){if(!d(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else o=f;var p=t.defer(),m=p.promise,y=m.$$promises={},$=I({},r),b=1+g.length/3,x=!1;if(L(o.$$failure))return s(o.$$failure),m;o.$$inheritedValues&&i($,h(o.$$inheritedValues,v)),I(y,o.$$promises),o.$$values?(x=i($,h(o.$$values,v)),m.$$inheritedValues=h(o.$$values,v),u()):(o.$$inheritedValues&&(m.$$inheritedValues=h(o.$$inheritedValues,v)),o.then(u,s));for(var w=0,C=g.length;w<C;w+=3)r.hasOwnProperty(g[w])?u():l(g[w],g[w+1],g[w+2]);return m}},this.resolve=function(t,n,e,r){return this.study(t)(n,e,r)}}function g(t,n,e){this.fromConfig=function(t,n,e){return L(t.template)?this.fromString(t.template,n):L(t.templateUrl)?this.fromUrl(t.templateUrl,n):L(t.templateProvider)?this.fromProvider(t.templateProvider,n,e):null},this.fromString=function(t,n){return N(t)?t(n):t},this.fromUrl=function(e,r){return N(e)&&(e=e(r)),null==e?null:t.get(e,{cache:n,headers:{Accept:"text/html"}}).then(function(t){return t.data})},this.fromProvider=function(t,n,r){return e.invoke(t,null,r||{params:n})}}function m(t,n,i){function o(n,e,r,i){if(g.push(n),d[n])return d[n];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(n))throw new Error("Invalid parameter name '"+n+"' in pattern '"+t+"'");if(v[n])throw new Error("Duplicate parameter name '"+n+"' in pattern '"+t+"'");return v[n]=new q.Param(n,e,r,i),v[n]}function a(t,n,e,r){var i=["",""],o=t.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!n)return o;switch(e){case!1:i=["(",")"+(r?"?":"")];break;case!0:i=["?(",")?"];break;default:i=["("+e+"|",")?"]}return o+i[0]+n+i[1]}function u(i,o){var a,u,s,l,c;return a=i[2]||i[3],c=n.params[a],s=t.substring(h,i.index),u=o?i[4]:i[4]||("*"==i[1]?".*":null),l=q.type(u||"string")||r(q.type("string"),{pattern:new RegExp(u,n.caseInsensitive?"i":e)}),{id:a,regexp:u,segment:s,type:l,cfg:c}}n=I({params:{}},R(n)?n:{});var s,l=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,c=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,f="^",h=0,p=this.segments=[],d=i?i.params:{},v=this.params=i?i.params.$$new():new q.ParamSet,g=[];this.source=t;for(var m,y,$;(s=l.exec(t))&&(m=u(s,!1),!(m.segment.indexOf("?")>=0));)y=o(m.id,m.type,m.cfg,"path"),f+=a(m.segment,y.type.pattern.source,y.squash,y.isOptional),p.push(m.segment),h=l.lastIndex;$=t.substring(h);var b=$.indexOf("?");if(b>=0){var x=this.sourceSearch=$.substring(b);if($=$.substring(0,b),this.sourcePath=t.substring(0,h+b),x.length>0)for(h=0;s=c.exec(x);)m=u(s,!0),y=o(m.id,m.type,m.cfg,"search"),h=l.lastIndex}else this.sourcePath=t,this.sourceSearch="";f+=a($)+(n.strict===!1?"/?":"")+"$",p.push($),this.regexp=new RegExp(f,n.caseInsensitive?"i":e),this.prefix=p[0],this.$$paramNames=g}function y(t){I(this,t)}function $(){function t(t){return null!=t?t.toString().replace(/\//g,"%2F"):t}function i(t){return null!=t?t.toString().replace(/%2F/g,"/"):t}function o(){return{strict:v,caseInsensitive:h}}function s(t){return N(t)||D(t)&&N(t[t.length-1])}function l(){for(;w.length;){var t=w.shift();if(t.pattern)throw new Error("You cannot override a type's .pattern at runtime.");n.extend(b[t.name],f.invoke(t.def))}}function c(t){I(this,t||{})}q=this;var f,h=!1,v=!0,g=!1,b={},x=!0,w=[],C={string:{encode:t,decode:i,is:function(t){return null==t||!L(t)||"string"==typeof t},pattern:/[^\/]*/},"int":{encode:t,decode:function(t){return parseInt(t,10)},is:function(t){return L(t)&&this.decode(t.toString())===t},pattern:/\d+/},bool:{encode:function(t){return t?1:0},decode:function(t){return 0!==parseInt(t,10)},is:function(t){return t===!0||t===!1},pattern:/0|1/},date:{encode:function(t){return this.is(t)?[t.getFullYear(),("0"+(t.getMonth()+1)).slice(-2),("0"+t.getDate()).slice(-2)].join("-"):e},decode:function(t){if(this.is(t))return t;var n=this.capture.exec(t);return n?new Date(n[1],n[2]-1,n[3]):e},is:function(t){return t instanceof Date&&!isNaN(t.valueOf())},equals:function(t,n){return this.is(t)&&this.is(n)&&t.toISOString()===n.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:n.toJson,decode:n.fromJson,is:n.isObject,equals:n.equals,pattern:/[^\/]*/},any:{encode:n.identity,decode:n.identity,equals:n.equals,pattern:/.*/}};$.$$getDefaultValue=function(t){if(!s(t.value))return t.value;if(!f)throw new Error("Injectable functions cannot be called at configuration time");return f.invoke(t.value)},this.caseInsensitive=function(t){return L(t)&&(h=t),h},this.strictMode=function(t){return L(t)&&(v=t),v},this.defaultSquashPolicy=function(t){if(!L(t))return g;if(t!==!0&&t!==!1&&!j(t))throw new Error("Invalid squash policy: "+t+". Valid policies: false, true, arbitrary-string");return g=t,t},this.compile=function(t,n){return new m(t,I(o(),n))},this.isMatcher=function(t){if(!R(t))return!1;var n=!0;return F(m.prototype,function(e,r){N(e)&&(n=n&&L(t[r])&&N(t[r]))}),n},this.type=function(t,n,e){if(!L(n))return b[t];if(b.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return b[t]=new y(I({name:t},n)),e&&(w.push({name:t,def:e}),x||l()),this},F(C,function(t,n){b[n]=new y(I({name:n},t))}),b=r(b,{}),this.$get=["$injector",function(t){return f=t,x=!1,l(),F(C,function(t,n){b[n]||(b[n]=new y(t))}),this}],this.Param=function(t,n,r,i){function o(t){var n=R(t)?a(t):[],e=u(n,"value")===-1&&u(n,"type")===-1&&u(n,"squash")===-1&&u(n,"array")===-1;return e&&(t={value:t}),t.$$fn=s(t.value)?t.value:function(){return t.value},t}function l(n,e,r){if(n.type&&e)throw new Error("Param '"+t+"' has two type configurations.");return e?e:n.type?n.type instanceof y?n.type:new y(n.type):"config"===r?b.any:b.string}function c(){var n={array:"search"===i&&"auto"},e=t.match(/\[\]$/)?{array:!0}:{};return I(n,e,r).array}function h(t,n){var e=t.squash;if(!n||e===!1)return!1;if(!L(e)||null==e)return g;if(e===!0||j(e))return e;throw new Error("Invalid squash policy: '"+e+"'. Valid policies: false, true, or arbitrary string")}function v(t,n,r,i){var o,a,s=[{from:"",to:r||n?e:""},{from:null,to:r||n?e:""}];return o=D(t.replace)?t.replace:[],j(i)&&o.push({from:i,to:e}),a=d(o,function(t){return t.from}),p(s,function(t){return u(a,t.from)===-1}).concat(o)}function m(){if(!f)throw new Error("Injectable functions cannot be called at configuration time");var t=f.invoke(r.$$fn);if(null!==t&&t!==e&&!w.type.is(t))throw new Error("Default value ("+t+") for parameter '"+w.id+"' is not an instance of Type ("+w.type.name+")");return t}function $(t){function n(t){return function(n){return n.from===t}}function e(t){var e=d(p(w.replace,n(t)),function(t){return t.to});return e.length?e[0]:t}return t=e(t),L(t)?w.type.$normalize(t):m()}function x(){return"{Param:"+t+" "+n+" squash: '"+M+"' optional: "+S+"}"}var w=this;r=o(r),n=l(r,n,i);var C=c();n=C?n.$asArray(C,"search"===i):n,"string"!==n.name||C||"path"!==i||r.value!==e||(r.value="");var S=r.value!==e,M=h(r,S),_=v(r,C,S,M);I(this,{id:t,type:n,location:i,array:C,squash:M,replace:_,isOptional:S,value:$,dynamic:e,config:r,toString:x})},c.prototype={$$new:function(){return r(this,I(new c,{$$parent:this}))},$$keys:function(){for(var t=[],n=[],e=this,r=a(c.prototype);e;)n.push(e),e=e.$$parent;return n.reverse(),F(n,function(n){F(a(n),function(n){u(t,n)===-1&&u(r,n)===-1&&t.push(n)})}),t},$$values:function(t){var n={},e=this;return F(e.$$keys(),function(r){n[r]=e[r].value(t&&t[r])}),n},$$equals:function(t,n){var e=!0,r=this;return F(r.$$keys(),function(i){var o=t&&t[i],a=n&&n[i];r[i].type.equals(o,a)||(e=!1)}),e},$$validates:function(t){var r,i,o,a,u,s=this.$$keys();for(r=0;r<s.length&&(i=this[s[r]],o=t[s[r]],o!==e&&null!==o||!i.isOptional);r++){if(a=i.type.$normalize(o),!i.type.is(a))return!1;if(u=i.type.encode(a),n.isString(u)&&!i.type.pattern.exec(u))return!1}return!0},$$parent:e},this.ParamSet=c}function b(t,r){function i(t){var n=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(t.source);return null!=n?n[1].replace(/\\(.)/g,"$1"):""}function o(t,n){return t.replace(/\$(\$|\d{1,2})/,function(t,e){return n["$"===e?0:Number(e)]})}function a(t,n,e){if(!e)return!1;var r=t.invoke(n,n,{$match:e});return!L(r)||r}function u(r,i,o,a){function u(t,n,e){return"/"===v?t:n?v.slice(0,-1)+t:e?v.slice(1)+t:t}function h(t){function n(t){var n=t(o,r);return!!n&&(j(n)&&r.replace().url(n),!0)}if(!t||!t.defaultPrevented){d&&r.url()===d;d=e;var i,a=l.length;for(i=0;i<a;i++)if(n(l[i]))return;c&&n(c)}}function p(){return s=s||i.$on("$locationChangeSuccess",h)}var d,v=a.baseHref(),g=r.url();return f||p(),{sync:function(){h()},listen:function(){return p()},update:function(t){return t?void(g=r.url()):void(r.url()!==g&&(r.url(g),r.replace()))},push:function(t,n,i){var o=t.format(n||{});null!==o&&n&&n["#"]&&(o+="#"+n["#"]),r.url(o),d=i&&i.$$avoidResync?r.url():e,i&&i.replace&&r.replace()},href:function(e,i,o){if(!e.validates(i))return null;var a=t.html5Mode();n.isObject(a)&&(a=a.enabled);var s=e.format(i);if(o=o||{},a||null===s||(s="#"+t.hashPrefix()+s),null!==s&&i&&i["#"]&&(s+="#"+i["#"]),s=u(s,a,o.absolute),!o.absolute||!s)return s;var l=!a&&s?"/":"",c=r.port();return c=80===c||443===c?"":":"+c,[r.protocol(),"://",r.host(),c,l,s].join("")}}}var s,l=[],c=null,f=!1;this.rule=function(t){if(!N(t))throw new Error("'rule' must be a function");return l.push(t),this},this.otherwise=function(t){if(j(t)){var n=t;t=function(){return n}}else if(!N(t))throw new Error("'rule' must be a function");return c=t,this},this.when=function(t,n){var e,u=j(n);if(j(t)&&(t=r.compile(t)),!u&&!N(n)&&!D(n))throw new Error("invalid 'handler' in when()");var s={matcher:function(t,n){return u&&(e=r.compile(n),n=["$match",function(t){return e.format(t)}]),I(function(e,r){return a(e,n,t.exec(r.path(),r.search()))},{prefix:j(t.prefix)?t.prefix:""})},regex:function(t,n){if(t.global||t.sticky)throw new Error("when() RegExp must not be global or sticky");return u&&(e=n,n=["$match",function(t){return o(e,t)}]),I(function(e,r){return a(e,n,t.exec(r.path()))},{prefix:i(t)})}},l={matcher:r.isMatcher(t),regex:t instanceof RegExp};for(var c in l)if(l[c])return this.rule(s[c](t,n));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(t){t===e&&(t=!0),f=t},this.$get=u,u.$inject=["$location","$rootScope","$injector","$browser"]}function x(t,i){function o(t){return 0===t.indexOf(".")||0===t.indexOf("^")}function h(t,n){if(!t)return e;var r=j(t),i=r?t:t.name,a=o(i);if(a){if(!n)throw new Error("No reference point given for path '"+i+"'");n=h(n);for(var u=i.split("."),s=0,l=u.length,c=n;s<l;s++)if(""!==u[s]||0!==s){if("^"!==u[s])break;if(!c.parent)throw new Error("Path '"+i+"' not valid for state '"+n.name+"'");c=c.parent}else c=n;u=u.slice(s).join("."),i=c.name+(c.name&&u?".":"")+u}var f=M[i];return!f||!r&&(r||f!==t&&f.self!==t)?e:f}function p(t,n){_[t]||(_[t]=[]),_[t].push(n)}function v(t){for(var n=_[t]||[];n.length;)g(n.shift())}function g(n){n=r(n,{self:n,resolve:n.resolve||{},toString:function(){return this.name}});var e=n.name;if(!j(e)||e.indexOf("@")>=0)throw new Error("State must have a valid name");if(M.hasOwnProperty(e))throw new Error("State '"+e+"'' is already defined");var i=e.indexOf(".")!==-1?e.substring(0,e.lastIndexOf(".")):j(n.parent)?n.parent:R(n.parent)&&j(n.parent.name)?n.parent.name:"";if(i&&!M[i])return p(i,n.self);for(var o in A)N(A[o])&&(n[o]=A[o](n,A.$delegates[o]));return M[e]=n,!n[k]&&n.url&&t.when(n.url,["$match","$stateParams",function(t,e){S.$current.navigable==n&&l(t,e)||S.transitionTo(n,t,{inherit:!0,location:!1})}]),v(e),n}function m(t){return t.indexOf("*")>-1}function y(t){for(var n=t.split("."),e=S.$current.name.split("."),r=0,i=n.length;r<i;r++)"*"===n[r]&&(e[r]="*");return"**"===n[0]&&(e=e.slice(u(e,n[1])),e.unshift("**")),"**"===n[n.length-1]&&(e.splice(u(e,n[n.length-2])+1,Number.MAX_VALUE),e.push("**")),n.length==e.length&&e.join("")===n.join("")}function $(t,n){return j(t)&&!L(n)?A[t]:N(n)&&j(t)?(A[t]&&!A.$delegates[t]&&(A.$delegates[t]=A[t]),A[t]=n,this):this}function b(t,n){return R(t)?n=t:n.name=t,g(n),this}function x(t,i,o,u,f,p,v,g,$){function b(n,e,r,o){var a=t.$broadcast("$stateNotFound",n,e,r);if(a.defaultPrevented)return v.update(),E;if(!a.retry)return null;if(o.$retry)return v.update(),P;var u=S.transition=i.when(a.retry);return u.then(function(){return u!==S.transition?_:(n.options.$retry=!0,S.transitionTo(n.to,n.toParams,n.options))},function(){return E}),v.update(),u}function x(t,e,r,a,s,l){function h(){var e=[];return F(t.views,function(r,i){var a=r.resolve&&r.resolve!==t.resolve?r.resolve:{};a.$template=[function(){return o.load(i,{view:r,locals:s.globals,params:p,notify:l.notify})||""}],e.push(f.resolve(a,s.globals,s.resolve,t).then(function(e){if(N(r.controllerProvider)||D(r.controllerProvider)){var o=n.extend({},a,s.globals);e.$$controller=u.invoke(r.controllerProvider,null,o)}else e.$$controller=r.controller;e.$$state=t,e.$$controllerAs=r.controllerAs,s[i]=e}))}),i.all(e).then(function(){return s.globals})}var p=r?e:c(t.params.$$keys(),e),d={$stateParams:p};s.resolve=f.resolve(t.resolve,d,s.resolve,t);var v=[s.resolve.then(function(t){s.globals=t})];return a&&v.push(a),i.all(v).then(h).then(function(t){return s})}var _=i.reject(new Error("transition superseded")),A=i.reject(new Error("transition prevented")),E=i.reject(new Error("transition aborted")),P=i.reject(new Error("transition failed"));return C.locals={resolve:null,globals:{$stateParams:{}}},S={params:{},current:C.self,$current:C,transition:null},S.reload=function(t){return S.transitionTo(S.current,p,{reload:t||!0,inherit:!1,notify:!0})},S.go=function(t,n,e){return S.transitionTo(t,n,I({inherit:!0,relative:S.$current},e))},S.transitionTo=function(n,e,o){e=e||{},o=I({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},o||{});var a,l=S.$current,f=S.params,d=l.path,g=h(n,o.relative),m=e["#"];if(!L(g)){var y={to:n,toParams:e,options:o},$=b(y,l.self,f,o);if($)return $;if(n=y.to,e=y.toParams,o=y.options,g=h(n,o.relative),!L(g)){if(!o.relative)throw new Error("No such state '"+n+"'");throw new Error("Could not resolve '"+n+"' from state '"+o.relative+"'")}}if(g[k])throw new Error("Cannot transition to abstract state '"+n+"'");if(o.inherit&&(e=s(p,e||{},S.$current,g)),!g.params.$$validates(e))return P;e=g.params.$$values(e),n=g;var M=n.path,E=0,O=M[E],T=C.locals,N=[];if(o.reload){if(j(o.reload)||R(o.reload)){if(R(o.reload)&&!o.reload.name)throw new Error("Invalid reload state object");var D=o.reload===!0?d[0]:h(o.reload);if(o.reload&&!D)throw new Error("No such reload state '"+(j(o.reload)?o.reload:o.reload.name)+"'");for(;O&&O===d[E]&&O!==D;)T=N[E]=O.locals,E++,O=M[E]}}else for(;O&&O===d[E]&&O.ownParams.$$equals(e,f);)T=N[E]=O.locals,E++,O=M[E];if(w(n,e,l,f,T,o))return m&&(e["#"]=m),S.params=e,V(S.params,p),o.location&&n.navigable&&n.navigable.url&&(v.push(n.navigable.url,e,{$$avoidResync:!0,replace:"replace"===o.location}),v.update(!0)),S.transition=null,i.when(S.current);if(e=c(n.params.$$keys(),e||{}),o.notify&&t.$broadcast("$stateChangeStart",n.self,e,l.self,f).defaultPrevented)return t.$broadcast("$stateChangeCancel",n.self,e,l.self,f),v.update(),A;for(var F=i.when(T),q=E;q<M.length;q++,O=M[q])T=N[q]=r(T),F=x(O,e,O===n,F,T,o);var z=S.transition=F.then(function(){var r,i,a;if(S.transition!==z)return _;for(r=d.length-1;r>=E;r--)a=d[r],a.self.onExit&&u.invoke(a.self.onExit,a.self,a.locals.globals),a.locals=null;for(r=E;r<M.length;r++)i=M[r],i.locals=N[r],i.self.onEnter&&u.invoke(i.self.onEnter,i.self,i.locals.globals);return m&&(e["#"]=m),S.transition!==z?_:(S.$current=n,S.current=n.self,S.params=e,V(S.params,p),S.transition=null,o.location&&n.navigable&&v.push(n.navigable.url,n.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===o.location}),o.notify&&t.$broadcast("$stateChangeSuccess",n.self,e,l.self,f),v.update(!0),S.current)},function(r){return S.transition!==z?_:(S.transition=null,a=t.$broadcast("$stateChangeError",n.self,e,l.self,f,r),a.defaultPrevented||v.update(),i.reject(r))});return z},S.is=function(t,n,r){r=I({relative:S.$current},r||{});var i=h(t,r.relative);return L(i)?S.$current===i&&(!n||l(i.params.$$values(n),p)):e},S.includes=function(t,n,r){if(r=I({relative:S.$current},r||{}),j(t)&&m(t)){if(!y(t))return!1;t=S.$current.name}var i=h(t,r.relative);return L(i)?!!L(S.$current.includes[i.name])&&(!n||l(i.params.$$values(n),p,a(n))):e},S.href=function(t,n,r){r=I({lossy:!0,inherit:!0,absolute:!1,relative:S.$current},r||{});var i=h(t,r.relative);if(!L(i))return null;r.inherit&&(n=s(p,n||{},S.$current,i));var o=i&&r.lossy?i.navigable:i;return o&&o.url!==e&&null!==o.url?v.href(o.url,c(i.params.$$keys().concat("#"),n||{}),{absolute:r.absolute}):null},S.get=function(t,n){if(0===arguments.length)return d(a(M),function(t){return M[t].self});var e=h(t,n||S.$current);return e&&e.self?e.self:null},S}function w(t,n,e,r,i,o){function a(t,n,e){function r(n){return"search"!=t.params[n].location}var i=t.params.$$keys().filter(r),o=f.apply({},[t.params].concat(i)),a=new q.ParamSet(o);return a.$$equals(n,e);
+}if(!o.reload&&t===e&&(i===e.locals||t.self.reloadOnSearch===!1&&a(e,r,n)))return!0}var C,S,M={},_={},k="abstract",A={parent:function(t){if(L(t.parent)&&t.parent)return h(t.parent);var n=/^(.+)\.[^.]+$/.exec(t.name);return n?h(n[1]):C},data:function(t){return t.parent&&t.parent.data&&(t.data=t.self.data=I({},t.parent.data,t.data)),t.data},url:function(t){var n=t.url,e={params:t.params||{}};if(j(n))return"^"==n.charAt(0)?i.compile(n.substring(1),e):(t.parent.navigable||C).url.concat(n,e);if(!n||i.isMatcher(n))return n;throw new Error("Invalid url '"+n+"' in state '"+t+"'")},navigable:function(t){return t.url?t:t.parent?t.parent.navigable:null},ownParams:function(t){var n=t.url&&t.url.params||new q.ParamSet;return F(t.params||{},function(t,e){n[e]||(n[e]=new q.Param(e,null,t,"config"))}),n},params:function(t){return t.parent&&t.parent.params?I(t.parent.params.$$new(),t.ownParams):new q.ParamSet},views:function(t){var n={};return F(L(t.views)?t.views:{"":t},function(e,r){r.indexOf("@")<0&&(r+="@"+t.parent.name),n[r]=e}),n},path:function(t){return t.parent?t.parent.path.concat(t):[]},includes:function(t){var n=t.parent?I({},t.parent.includes):{};return n[t.name]=!0,n},$delegates:{}};C=g({name:"",url:"^",views:null,"abstract":!0}),C.navigable=null,this.decorator=$,this.state=b,this.$get=x,x.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function w(){function t(t,n){return{load:function(e,r){var i,o={template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}};return r=I(o,r),r.view&&(i=n.fromConfig(r.view,r.params,r.locals)),i&&r.notify&&t.$broadcast("$viewContentLoading",r),i}}}this.$get=t,t.$inject=["$rootScope","$templateFactory"]}function C(){var t=!1;this.useAnchorScroll=function(){t=!0},this.$get=["$anchorScroll","$timeout",function(n,e){return t?n:function(t){return e(function(){t[0].scrollIntoView()},0,!1)}}]}function S(t,e,r,i){function o(){return e.has?function(t){return e.has(t)?e.get(t):null}:function(t){try{return e.get(t)}catch(n){return null}}}function a(t,n){var e=function(){return{enter:function(t,n,e){n.after(t),e()},leave:function(t,n){t.remove(),n()}}};if(l)return{enter:function(t,n,e){var r=l.enter(t,null,n,e);r&&r.then&&r.then(e)},leave:function(t,n){var e=l.leave(t,n);e&&e.then&&e.then(n)}};if(s){var r=s&&s(n,t);return{enter:function(t,n,e){r.enter(t,null,n),e()},leave:function(t,n){r.leave(t),n()}}}return e()}var u=o(),s=u("$animator"),l=u("$animate"),c={restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(e,o,u){return function(e,o,s){function l(){f&&(f.remove(),f=null),p&&(p.$destroy(),p=null),h&&(m.leave(h,function(){f=null}),f=h,h=null)}function c(a){var c,f=_(e,s,o,i),y=f&&t.$current&&t.$current.locals[f];if(a||y!==d){c=e.$new(),d=t.$current.locals[f];var $=u(c,function(t){m.enter(t,o,function(){p&&p.$emit("$viewContentAnimationEnded"),(n.isDefined(g)&&!g||e.$eval(g))&&r(t)}),l()});h=$,p=c,p.$emit("$viewContentLoaded"),p.$eval(v)}}var f,h,p,d,v=s.onload||"",g=s.autoscroll,m=a(s,e);e.$on("$stateChangeSuccess",function(){c(!1)}),e.$on("$viewContentLoading",function(){c(!1)}),c(!0)}}};return c}function M(t,n,e,r){return{restrict:"ECA",priority:-400,compile:function(i){var o=i.html();return function(i,a,u){var s=e.$current,l=_(i,u,a,r),c=s&&s.locals[l];if(c){a.data("$uiView",{name:l,state:c.$$state}),a.html(c.$template?c.$template:o);var f=t(a.contents());if(c.$$controller){c.$scope=i,c.$element=a;var h=n(c.$$controller,c);c.$$controllerAs&&(i[c.$$controllerAs]=h),a.data("$ngControllerController",h),a.children().data("$ngControllerController",h)}f(i)}}}}}function _(t,n,e,r){var i=r(n.uiView||n.name||"")(t),o=e.inheritedData("$uiView");return i.indexOf("@")>=0?i:i+"@"+(o?o.state.name:"")}function k(t,n){var e,r=t.match(/^\s*({[^}]*})\s*$/);if(r&&(t=n+"("+r[1]+")"),e=t.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!e||4!==e.length)throw new Error("Invalid state ref '"+t+"'");return{state:e[1],paramExpr:e[3]||null}}function A(t){var n=t.parent().inheritedData("$uiView");if(n&&n.state&&n.state.name)return n.state}function E(t,e){var r=["location","inherit","reload","absolute"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(i,o,a,u){var s=k(a.uiSref,t.current.name),l=null,c=A(o)||t.$current,f="[object SVGAnimatedString]"===Object.prototype.toString.call(o.prop("href"))?"xlink:href":"href",h=null,p="A"===o.prop("tagName").toUpperCase(),d="FORM"===o[0].nodeName,v=d?"action":f,g=!0,m={relative:c,inherit:!0},y=i.$eval(a.uiSrefOpts)||{};n.forEach(r,function(t){t in y&&(m[t]=y[t])});var $=function(e){if(e&&(l=n.copy(e)),g){h=t.href(s.state,l,m);var r=u[1]||u[0];return r&&r.$$addStateInfo(s.state,l),null===h?(g=!1,!1):void a.$set(v,h)}};s.paramExpr&&(i.$watch(s.paramExpr,function(t,n){t!==l&&$(t)},!0),l=n.copy(i.$eval(s.paramExpr))),$(),d||o.bind("click",function(n){var r=n.which||n.button;if(!(r>1||n.ctrlKey||n.metaKey||n.shiftKey||o.attr("target"))){var i=e(function(){t.go(s.state,l,m)});n.preventDefault();var a=p&&!h?1:0;n.preventDefault=function(){a--<=0&&e.cancel(i)}}})}}}function P(t,n,e){return{restrict:"A",controller:["$scope","$element","$attrs",function(n,r,i){function o(){a()?r.addClass(s):r.removeClass(s)}function a(){for(var t=0;t<l.length;t++)if(u(l[t].state,l[t].params))return!0;return!1}function u(n,e){return"undefined"!=typeof i.uiSrefActiveEq?t.is(n.name,e):t.includes(n.name,e)}var s,l=[];s=e(i.uiSrefActiveEq||i.uiSrefActive||"",!1)(n),this.$$addStateInfo=function(n,e){var i=t.get(n,A(r));l.push({state:i||{name:n},params:e}),o()},n.$on("$stateChangeSuccess",o)}]}}function O(t){var n=function(n){return t.is(n)};return n.$stateful=!0,n}function T(t){var n=function(n){return t.includes(n)};return n.$stateful=!0,n}var L=n.isDefined,N=n.isFunction,j=n.isString,R=n.isObject,D=n.isArray,F=n.forEach,I=n.extend,V=n.copy;n.module("ui.router.util",["ng"]),n.module("ui.router.router",["ui.router.util"]),n.module("ui.router.state",["ui.router.router","ui.router.util"]),n.module("ui.router",["ui.router.state"]),n.module("ui.router.compat",["ui.router"]),v.$inject=["$q","$injector"],n.module("ui.router.util").service("$resolve",v),g.$inject=["$http","$templateCache","$injector"],n.module("ui.router.util").service("$templateFactory",g);var q;m.prototype.concat=function(t,n){var e={caseInsensitive:q.caseInsensitive(),strict:q.strictMode(),squash:q.defaultSquashPolicy()};return new m(this.sourcePath+t+this.sourceSearch,I(e,n),this)},m.prototype.toString=function(){return this.source},m.prototype.exec=function(t,n){function e(t){function n(t){return t.split("").reverse().join("")}function e(t){return t.replace(/\\-/g,"-")}var r=n(t).split(/-(?!\\)/),i=d(r,n);return d(i,e).reverse()}var r=this.regexp.exec(t);if(!r)return null;n=n||{};var i,o,a,u=this.parameters(),s=u.length,l=this.segments.length-1,c={};if(l!==r.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;i<l;i++){a=u[i];var f=this.params[a],h=r[i+1];for(o=0;o<f.replace;o++)f.replace[o].from===h&&(h=f.replace[o].to);h&&f.array===!0&&(h=e(h)),c[a]=f.value(h)}for(;i<s;i++)a=u[i],c[a]=this.params[a].value(n[a]);return c},m.prototype.parameters=function(t){return L(t)?this.params[t]||null:this.$$paramNames},m.prototype.validates=function(t){return this.params.$$validates(t)},m.prototype.format=function(t){function n(t){return encodeURIComponent(t).replace(/-/g,function(t){return"%5C%"+t.charCodeAt(0).toString(16).toUpperCase()})}t=t||{};var e=this.segments,r=this.parameters(),i=this.params;if(!this.validates(t))return null;var o,a=!1,u=e.length-1,s=r.length,l=e[0];for(o=0;o<s;o++){var c=o<u,f=r[o],h=i[f],p=h.value(t[f]),v=h.isOptional&&h.type.equals(h.value(),p),g=!!v&&h.squash,m=h.type.encode(p);if(c){var y=e[o+1];if(g===!1)null!=m&&(l+=D(m)?d(m,n).join("-"):encodeURIComponent(m)),l+=y;else if(g===!0){var $=l.match(/\/$/)?/\/?(.*)/:/(.*)/;l+=y.match($)[1]}else j(g)&&(l+=g+y)}else{if(null==m||v&&g!==!1)continue;D(m)||(m=[m]),m=d(m,encodeURIComponent).join("&"+f+"="),l+=(a?"&":"?")+(f+"="+m),a=!0}}return l},y.prototype.is=function(t,n){return!0},y.prototype.encode=function(t,n){return t},y.prototype.decode=function(t,n){return t},y.prototype.equals=function(t,n){return t==n},y.prototype.$subPattern=function(){var t=this.pattern.toString();return t.substr(1,t.length-2)},y.prototype.pattern=/.*/,y.prototype.toString=function(){return"{Type:"+this.name+"}"},y.prototype.$normalize=function(t){return this.is(t)?t:this.decode(t)},y.prototype.$asArray=function(t,n){function r(t,n){function r(t,n){return function(){return t[n].apply(t,arguments)}}function i(t){return D(t)?t:L(t)?[t]:[]}function o(t){switch(t.length){case 0:return e;case 1:return"auto"===n?t[0]:t;default:return t}}function a(t){return!t}function u(t,n){return function(e){e=i(e);var r=d(e,t);return n===!0?0===p(r,a).length:o(r)}}function s(t){return function(n,e){var r=i(n),o=i(e);if(r.length!==o.length)return!1;for(var a=0;a<r.length;a++)if(!t(r[a],o[a]))return!1;return!0}}this.encode=u(r(t,"encode")),this.decode=u(r(t,"decode")),this.is=u(r(t,"is"),!0),this.equals=s(r(t,"equals")),this.pattern=t.pattern,this.$normalize=u(r(t,"$normalize")),this.name=t.name,this.$arrayMode=n}if(!t)return this;if("auto"===t&&!n)throw new Error("'auto' array mode is for query parameters only");return new r(this,t)},n.module("ui.router.util").provider("$urlMatcherFactory",$),n.module("ui.router.util").run(["$urlMatcherFactory",function(t){}]),b.$inject=["$locationProvider","$urlMatcherFactoryProvider"],n.module("ui.router.router").provider("$urlRouter",b),x.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],n.module("ui.router.state").value("$stateParams",{}).provider("$state",x),w.$inject=[],n.module("ui.router.state").provider("$view",w),n.module("ui.router.state").provider("$uiViewScroll",C),S.$inject=["$state","$injector","$uiViewScroll","$interpolate"],M.$inject=["$compile","$controller","$state","$interpolate"],n.module("ui.router.state").directive("uiView",S),n.module("ui.router.state").directive("uiView",M),E.$inject=["$state","$timeout"],P.$inject=["$state","$stateParams","$interpolate"],n.module("ui.router.state").directive("uiSref",E).directive("uiSrefActive",P).directive("uiSrefActiveEq",P),O.$inject=["$state"],T.$inject=["$state"],n.module("ui.router.state").filter("isState",O).filter("includedByState",T)}(window,window.angular),function(t,n){"use strict";function e(t){return null!=t&&""!==t&&"hasOwnProperty"!==t&&a.test("."+t)}function r(t,r){if(!e(r))throw o("badmember",'Dotted member path "@{0}" is invalid.',r);for(var i=r.split("."),a=0,u=i.length;a<u&&n.isDefined(t);a++){var s=i[a];t=null!==t?t[s]:void 0}return t}function i(t,e){e=e||{},n.forEach(e,function(t,n){delete e[n]});for(var r in t)!t.hasOwnProperty(r)||"$"===r.charAt(0)&&"$"===r.charAt(1)||(e[r]=t[r]);return e}var o=n.$$minErr("$resource"),a=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;n.module("ngResource",["ng"]).provider("$resource",function(){var t=/^https?:\/\/[^\/]*/,e=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$log","$q","$timeout",function(a,u,s,l){function c(t,n){this.template=t,this.defaults=d({},e.defaults,n),this.urlParams={}}function f(t,m,y,$){function b(t,n){var e={};return n=d({},m,n),p(n,function(n,i){g(n)&&(n=n(t)),e[i]=n&&n.charAt&&"@"===n.charAt(0)?r(t,n.substr(1)):n}),e}function x(t){return t.resource}function w(t){i(t||{},this)}var C=new c(t,$);return y=d({},e.defaults.actions,y),w.prototype.toJSON=function(){var t=d({},this);return delete t.$promise,delete t.$resolved,t},p(y,function(t,r){var c=/^(POST|PUT|PATCH)$/i.test(t.method),f=t.timeout,m=n.isDefined(t.cancellable)?t.cancellable:$&&n.isDefined($.cancellable)?$.cancellable:e.defaults.cancellable;f&&!n.isNumber(f)&&(u.debug("ngResource:\n Only numeric values are allowed as `timeout`.\n Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete t.timeout,f=null),w[r]=function(e,u,y,$){function S(t){F["catch"](h),E.resolve(t)}var M,_,k,A={};switch(arguments.length){case 4:k=$,_=y;case 3:case 2:if(!g(u)){A=e,M=u,_=y;break}if(g(e)){_=e,k=u;break}_=u,k=y;case 1:g(e)?_=e:c?M=e:A=e;break;case 0:break;default:throw o("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var E,P,O=this instanceof w,T=O?M:t.isArray?[]:new w(M),L={},N=t.interceptor&&t.interceptor.response||x,j=t.interceptor&&t.interceptor.responseError||void 0,R=!!k,D=!!j;p(t,function(t,n){switch(n){default:L[n]=v(t);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!O&&m&&(E=s.defer(),L.timeout=E.promise,f&&(P=l(E.resolve,f))),c&&(L.data=M),C.setUrlParams(L,d({},b(M,t.params||{}),A),t.url);var F=a(L).then(function(e){var a=e.data;if(a){if(n.isArray(a)!==!!t.isArray)throw o("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",r,t.isArray?"array":"object",n.isArray(a)?"array":"object",L.method,L.url);if(t.isArray)T.length=0,p(a,function(t){"object"==typeof t?T.push(new w(t)):T.push(t)});else{var u=T.$promise;i(a,T),T.$promise=u}}return e.resource=T,e});return F=F["finally"](function(){T.$resolved=!0,!O&&m&&(T.$cancelRequest=n.noop,l.cancel(P),E=P=L.timeout=null)}),F=F.then(function(t){var n=N(t);return(_||h)(n,t.headers),n},R||D?function(t){return R&&k(t),D?j(t):s.reject(t)}:void 0),R&&!D&&F["catch"](h),O?F:(T.$promise=F,T.$resolved=!1,m&&(T.$cancelRequest=S),T)},w.prototype["$"+r]=function(t,n,e){g(t)&&(e=n,n=t,t={});var i=w[r].call(this,t,this,n,e);return i.$promise||i}}),w.bind=function(n){return f(t,d({},m,n),y)},w}var h=n.noop,p=n.forEach,d=n.extend,v=n.copy,g=n.isFunction,m=n.$$encodeUriQuery,y=n.$$encodeUriSegment;return c.prototype={setUrlParams:function(e,r,i){var a,u,s=this,l=i||s.template,c="",f=s.urlParams=Object.create(null);p(l.split(/\W/),function(t){if("hasOwnProperty"===t)throw o("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(t)&&t&&new RegExp("(^|[^\\\\]):"+t+"(\\W|$)").test(l)&&(f[t]={isQueryParamValue:new RegExp("\\?.*=:"+t+"(?:\\W|$)").test(l)})}),l=l.replace(/\\:/g,":"),l=l.replace(t,function(t){return c=t,""}),r=r||{},p(s.urlParams,function(t,e){a=r.hasOwnProperty(e)?r[e]:s.defaults[e],n.isDefined(a)&&null!==a?(u=t.isQueryParamValue?m(a,!0):y(a),l=l.replace(new RegExp(":"+e+"(\\W|$)","g"),function(t,n){return u+n})):l=l.replace(new RegExp("(/?):"+e+"(\\W|$)","g"),function(t,n,e){return"/"===e.charAt(0)?e:n+e})}),s.defaults.stripTrailingSlashes&&(l=l.replace(/\/+$/,"")||"/"),l=l.replace(/\/\.(?=\w+($|\?))/,"."),e.url=c+l.replace(/\/\\\./,"/."),p(r,function(t,n){s.urlParams[n]||(e.params=e.params||{},e.params[n]=t)})}},f}]})}(window,window.angular),function(t,n){"use strict";function e(t,e,r){function i(t,r,i){var a,u;i=i||{},u=i.expires,a=n.isDefined(i.path)?i.path:o,n.isUndefined(r)&&(u="Thu, 01 Jan 1970 00:00:00 GMT",r=""),n.isString(u)&&(u=new Date(u));var s=encodeURIComponent(t)+"="+encodeURIComponent(r);s+=a?";path="+a:"",s+=i.domain?";domain="+i.domain:"",s+=u?";expires="+u.toUTCString():"",s+=i.secure?";secure":"";var l=s.length+1;return l>4096&&e.warn("Cookie '"+t+"' possibly not set or overflowed because it was too large ("+l+" > 4096 bytes)!"),s}var o=r.baseHref(),a=t[0];return function(t,n,e){a.cookie=i(t,n,e)}}n.module("ngCookies",["ng"]).provider("$cookies",[function(){function t(t){return t?n.extend({},e,t):e}var e=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function(e,r){return{get:function(t){return e()[t]},getObject:function(t){var e=this.get(t);return e?n.fromJson(e):e},getAll:function(){return e()},put:function(n,e,i){r(n,e,t(i))},putObject:function(t,e,r){this.put(t,n.toJson(e),r)},remove:function(n,e){r(n,void 0,t(e))}}}]}]),n.module("ngCookies").factory("$cookieStore",["$cookies",function(t){return{get:function(n){return t.getObject(n)},put:function(n,e){t.putObject(n,e)},remove:function(n){t.remove(n)}}}]),e.$inject=["$document","$log","$browser"],n.module("ngCookies").provider("$$cookieWriter",function(){this.$get=e})}(window,window.angular),function(t,n){"use strict";function e(t,n,e){if(!t)throw vt("areq","Argument '{0}' is {1}",n||"?",e||"required");return t}function r(t,n){return t||n?t?n?(Z(t)&&(t=t.join(" ")),Z(n)&&(n=n.join(" ")),t+" "+n):t:n:""}function i(t){var n={};return t&&(t.to||t.from)&&(n.to=t.to,n.from=t.from),n}function o(t,n,e){var r="";return t=Z(t)?t:t&&tt(t)&&t.length?t.split(/\s+/):[],G(t,function(t,i){t&&t.length>0&&(r+=i>0?" ":"",r+=e?n+t:t+n)}),r}function a(t,n){var e=t.indexOf(n);n>=0&&t.splice(e,1)}function u(t){if(t instanceof et)switch(t.length){case 0:return t;case 1:if(t[0].nodeType===D)return t;break;default:return et(s(t))}if(t.nodeType===D)return et(t)}function s(t){if(!t[0])return t;for(var n=0;n<t.length;n++){var e=t[n];if(e.nodeType==D)return e}}function l(t,n,e){G(n,function(n){t.addClass(n,e)})}function c(t,n,e){G(n,function(n){t.removeClass(n,e)})}function f(t){return function(n,e){e.addClass&&(l(t,n,e.addClass),e.addClass=null),e.removeClass&&(c(t,n,e.removeClass),e.removeClass=null)}}function h(t){if(t=t||{},!t.$$prepared){var n=t.domOperation||rt;t.domOperation=function(){t.$$domOperationFired=!0,n(),n=rt},t.$$prepared=!0}return t}function p(t,n){d(t,n),v(t,n)}function d(t,n){n.from&&(t.css(n.from),n.from=null)}function v(t,n){n.to&&(t.css(n.to),n.to=null)}function g(t,n,e){var r=n.options||{},i=e.options||{},o=(r.addClass||"")+" "+(i.addClass||""),a=(r.removeClass||"")+" "+(i.removeClass||""),u=m(t.attr("class"),o,a);i.preparationClasses&&(r.preparationClasses=S(i.preparationClasses,r.preparationClasses),delete i.preparationClasses);var s=r.domOperation!==rt?r.domOperation:null;return Y(r,i),s&&(r.domOperation=s),u.addClass?r.addClass=u.addClass:r.addClass=null,u.removeClass?r.removeClass=u.removeClass:r.removeClass=null,n.addClass=r.addClass,n.removeClass=r.removeClass,r}function m(t,n,e){function r(t){tt(t)&&(t=t.split(" "));var n={};return G(t,function(t){t.length&&(n[t]=!0)}),n}var i=1,o=-1,a={};t=r(t),n=r(n),G(n,function(t,n){a[n]=i}),e=r(e),G(e,function(t,n){a[n]=a[n]===i?null:o});var u={addClass:"",removeClass:""};return G(a,function(n,e){var r,a;n===i?(r="addClass",a=!t[e]||t[e+I]):n===o&&(r="removeClass",a=t[e]||t[e+F]),a&&(u[r].length&&(u[r]+=" "),u[r]+=e)}),u}function y(t){return t instanceof et?t[0]:t}function $(t,n,e){var r="";n&&(r=o(n,V,!0)),e.addClass&&(r=S(r,o(e.addClass,F))),e.removeClass&&(r=S(r,o(e.removeClass,I))),r.length&&(e.preparationClasses=r,t.addClass(r))}function b(t,n){n.preparationClasses&&(t.removeClass(n.preparationClasses),n.preparationClasses=null),n.activeClasses&&(t.removeClass(n.activeClasses),n.activeClasses=null)}function x(t,n){var e=n?"-"+n+"s":"";return C(t,[pt,e]),[pt,e]}function w(t,n){var e=n?"paused":"",r=j+lt;return C(t,[r,e]),[r,e]}function C(t,n){var e=n[0],r=n[1];t.style[e]=r}function S(t,n){return t?n?t+" "+n:t:n}function M(t){return[ht,t+"s"]}function _(t,n){var e=n?ft:pt;return[e,t+"s"]}function k(t,n,e){var r=Object.create(null),i=t.getComputedStyle(n)||{};return G(e,function(t,n){var e=i[t];if(e){var o=e.charAt(0);("-"===o||"+"===o||o>=0)&&(e=A(e)),0===e&&(e=null),r[n]=e}}),r}function A(t){var n=0,e=t.split(/\s*,\s*/);return G(e,function(t){"s"===t.charAt(t.length-1)&&(t=t.substring(0,t.length-1)),t=parseFloat(t)||0,n=n?Math.max(t,n):t}),n}function E(t){return 0===t||null!=t}function P(t,n){var e=L,r=t+"s";return n?e+=it:r+=" linear all",[e,r]}function O(){var t=Object.create(null);return{flush:function(){t=Object.create(null)},count:function(n){var e=t[n];return e?e.total:0},get:function(n){var e=t[n];return e&&e.value},put:function(n,e){t[n]?t[n].total++:t[n]={total:1,value:e}}}}function T(t,n,e){G(e,function(e){t[e]=X(t[e])?t[e]:n.style.getPropertyValue(e)})}var L,N,j,R,D=1,F="-add",I="-remove",V="ng-",q="-active",z="-prepare",B="ng-animate",U="$$ngAnimateChildren",W="";void 0===t.ontransitionend&&void 0!==t.onwebkittransitionend?(W="-webkit-",L="WebkitTransition",N="webkitTransitionEnd transitionend"):(L="transition",N="transitionend"),void 0===t.onanimationend&&void 0!==t.onwebkitanimationend?(W="-webkit-",j="WebkitAnimation",R="webkitAnimationEnd animationend"):(j="animation",R="animationend");var H,Y,G,Z,X,J,K,Q,tt,nt,et,rt,it="Duration",ot="Property",at="Delay",ut="TimingFunction",st="IterationCount",lt="PlayState",ct=9999,ft=j+at,ht=j+it,pt=L+at,dt=L+it,vt=n.$$minErr("ng"),gt=["$$rAF",function(t){function n(t){r=r.concat(t),e()}function e(){if(r.length){for(var n=r.shift(),o=0;o<n.length;o++)n[o]();i||t(function(){i||e()})}}var r,i;return r=n.queue=[],n.waitUntilQuiet=function(n){i&&i(),i=t(function(){i=null,n(),e()})},n}],mt=["$interpolate",function(t){return{link:function(n,e,r){function i(t){t="on"===t||"true"===t,e.data(U,t)}var o=r.ngAnimateChildren;tt(o)&&0===o.length?e.data(U,!0):(i(t(o)(n)),r.$observe("ngAnimateChildren",i))}}}],yt="$$animateCss",$t=1e3,bt=3,xt=1.5,wt={transitionDuration:dt,transitionDelay:pt,transitionProperty:L+ot,animationDuration:ht,animationDelay:ft,animationIterationCount:j+st},Ct={transitionDuration:dt,transitionDelay:pt,animationDuration:ht,animationDelay:ft},St=["$animateProvider",function(t){var n=O(),e=O();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function(t,r,u,s,l,c,g,m){function $(t,n){var e="$$ngAnimateParentKey",r=t.parentNode,i=r[e]||(r[e]=++z);return i+"-"+t.getAttribute("class")+"-"+n}function b(e,r,i,o){var a=n.get(i);return a||(a=k(t,e,o),"infinite"===a.animationIterationCount&&(a.animationIterationCount=1)),n.put(i,a),a}function S(i,a,u,s){var l;if(n.count(u)>0&&(l=e.get(u),!l)){var c=o(a,"-stagger");r.addClass(i,c),l=k(t,i,s),l.animationDuration=Math.max(l.animationDuration,0),l.transitionDuration=Math.max(l.transitionDuration,0),r.removeClass(i,c),e.put(u,l)}return l||{}}function A(t){B.push(t),g.waitUntilQuiet(function(){n.flush(),e.flush();for(var t=l(),r=0;r<B.length;r++)B[r](t);B.length=0})}function O(t,n,e){var r=b(t,n,e,wt),i=r.animationDelay,o=r.transitionDelay;return r.maxDelay=i&&o?Math.max(i,o):i||o,r.maxDuration=Math.max(r.animationDuration*r.animationIterationCount,r.transitionDuration),r}var D=f(r),z=0,B=[];return function(t,e){function l(){g()}function f(){g(!0)}function g(n){if(!(X||K&&J)){X=!0,J=!1,U.$$skipPreparationClasses||r.removeClass(t,wt),r.removeClass(t,Mt),w(Y,!1),x(Y,!1),G(lt,function(t){Y.style[t[0]]=""}),D(t,U),p(t,U),Object.keys(W).length&&G(W,function(t,n){t?Y.style.setProperty(n,t):Y.style.removeProperty(n)}),U.onDone&&U.onDone(),pt&&pt.length&&t.off(pt.join(" "),z);var e=t.data(yt);e&&(s.cancel(e[0].timer),t.removeData(yt)),Q&&Q.complete(!n)}}function b(t){It.blockTransition&&x(Y,t),It.blockKeyframeAnimation&&w(Y,!!t)}function k(){return Q=new u({end:l,cancel:f}),A(rt),g(),{$$willAnimate:!1,start:function(){return Q},end:l}}function z(t){t.stopPropagation();var n=t.originalEvent||t,e=n.$manualTimeStamp||Date.now(),r=parseFloat(n.elapsedTime.toFixed(bt));Math.max(e-st,0)>=et&&r>=it&&(K=!0,g())}function B(){function n(){if(!X){if(b(!1),G(lt,function(t){var n=t[0],e=t[1];Y.style[n]=e}),D(t,U),r.addClass(t,Mt),It.recalculateTimingStyles){if(St=Y.getAttribute("class")+" "+wt,At=$(Y,St),Dt=O(Y,St,At),Ft=Dt.maxDelay,nt=Math.max(Ft,0),it=Dt.maxDuration,0===it)return void g();It.hasTransitions=Dt.transitionDuration>0,It.hasAnimations=Dt.animationDuration>0}if(It.applyAnimationDelay&&(Ft="boolean"!=typeof U.delay&&E(U.delay)?parseFloat(U.delay):Ft,nt=Math.max(Ft,0),Dt.animationDelay=Ft,Vt=_(Ft,!0),lt.push(Vt),Y.style[Vt[0]]=Vt[1]),et=nt*$t,at=it*$t,U.easing){var n,i=U.easing;It.hasTransitions&&(n=L+ut,lt.push([n,i]),Y.style[n]=i),It.hasAnimations&&(n=j+ut,lt.push([n,i]),Y.style[n]=i)}Dt.transitionDuration&&pt.push(N),Dt.animationDuration&&pt.push(R),st=Date.now();var o=et+xt*at,a=st+o,u=t.data(yt)||[],l=!0;if(u.length){var c=u[0];l=a>c.expectedEndTime,l?s.cancel(c.timer):u.push(g)}if(l){var f=s(e,o,!1);u[0]={timer:f,expectedEndTime:a},u.push(g),t.data(yt,u)}pt.length&&t.on(pt.join(" "),z),U.to&&(U.cleanupStyles&&T(W,Y,Object.keys(U.to)),v(t,U))}}function e(){var n=t.data(yt);if(n){for(var e=1;e<n.length;e++)n[e]();t.removeData(yt)}}if(!X){if(!Y.parentNode)return void g();var i=function(t){if(K)J&&t&&(J=!1,g());else if(J=!t,Dt.animationDuration){var n=w(Y,J);J?lt.push(n):a(lt,n)}},o=jt>0&&(Dt.transitionDuration&&0===Et.transitionDuration||Dt.animationDuration&&0===Et.animationDuration)&&Math.max(Et.animationDelay,Et.transitionDelay);o?s(n,Math.floor(o*jt*$t),!1):n(),tt.resume=function(){i(!0)},tt.pause=function(){i(!1)}}}var U=e||{};U.$$prepared||(U=h(H(U)));var W={},Y=y(t);if(!Y||!Y.parentNode||!m.enabled())return k();var X,J,K,Q,tt,nt,et,it,at,st,lt=[],ft=t.attr("class"),ht=i(U),pt=[];if(0===U.duration||!c.animations&&!c.transitions)return k();var dt=U.event&&Z(U.event)?U.event.join(" "):U.event,vt=dt&&U.structural,gt="",mt="";vt?gt=o(dt,V,!0):dt&&(gt=dt),U.addClass&&(mt+=o(U.addClass,F)),U.removeClass&&(mt.length&&(mt+=" "),mt+=o(U.removeClass,I)),U.applyClassesEarly&&mt.length&&D(t,U);var wt=[gt,mt].join(" ").trim(),St=ft+" "+wt,Mt=o(wt,q),_t=ht.to&&Object.keys(ht.to).length>0,kt=(U.keyframeStyle||"").length>0;if(!kt&&!_t&&!wt)return k();var At,Et;if(U.stagger>0){var Pt=parseFloat(U.stagger);Et={transitionDelay:Pt,animationDelay:Pt,transitionDuration:0,animationDuration:0}}else At=$(Y,St),Et=S(Y,wt,At,Ct);U.$$skipPreparationClasses||r.addClass(t,wt);var Ot;if(U.transitionStyle){var Tt=[L,U.transitionStyle];C(Y,Tt),lt.push(Tt)}if(U.duration>=0){Ot=Y.style[L].length>0;var Lt=P(U.duration,Ot);C(Y,Lt),lt.push(Lt)}if(U.keyframeStyle){var Nt=[j,U.keyframeStyle];C(Y,Nt),lt.push(Nt)}var jt=Et?U.staggerIndex>=0?U.staggerIndex:n.count(At):0,Rt=0===jt;Rt&&!U.skipBlocking&&x(Y,ct);var Dt=O(Y,St,At),Ft=Dt.maxDelay;nt=Math.max(Ft,0),it=Dt.maxDuration;var It={};if(It.hasTransitions=Dt.transitionDuration>0,It.hasAnimations=Dt.animationDuration>0,It.hasTransitionAll=It.hasTransitions&&"all"===Dt.transitionProperty,It.applyTransitionDuration=_t&&(It.hasTransitions&&!It.hasTransitionAll||It.hasAnimations&&!It.hasTransitions),It.applyAnimationDuration=U.duration&&It.hasAnimations,It.applyTransitionDelay=E(U.delay)&&(It.applyTransitionDuration||It.hasTransitions),It.applyAnimationDelay=E(U.delay)&&It.hasAnimations,It.recalculateTimingStyles=mt.length>0,(It.applyTransitionDuration||It.applyAnimationDuration)&&(it=U.duration?parseFloat(U.duration):it,It.applyTransitionDuration&&(It.hasTransitions=!0,Dt.transitionDuration=it,Ot=Y.style[L+ot].length>0,lt.push(P(it,Ot))),It.applyAnimationDuration&&(It.hasAnimations=!0,Dt.animationDuration=it,lt.push(M(it)))),0===it&&!It.recalculateTimingStyles)return k();if(null!=U.delay){var Vt;"boolean"!=typeof U.delay&&(Vt=parseFloat(U.delay),nt=Math.max(Vt,0)),It.applyTransitionDelay&<.push(_(Vt)),It.applyAnimationDelay&<.push(_(Vt,!0))}return null==U.duration&&Dt.transitionDuration>0&&(It.recalculateTimingStyles=It.recalculateTimingStyles||Rt),et=nt*$t,at=it*$t,U.skipBlocking||(It.blockTransition=Dt.transitionDuration>0,It.blockKeyframeAnimation=Dt.animationDuration>0&&Et.animationDelay>0&&0===Et.animationDuration),U.from&&(U.cleanupStyles&&T(W,Y,Object.keys(U.from)),d(t,U)),It.blockTransition||It.blockKeyframeAnimation?b(it):U.skipBlocking||x(Y,!1),{$$willAnimate:!0,end:l,start:function(){if(!X)return tt={end:l,cancel:f,resume:null,pause:null},Q=new u(tt),A(B),Q}}}}]}],Mt=["$$animationProvider",function(t){function n(t){return t.parentNode&&11===t.parentNode.nodeType}t.drivers.push("$$animateCssDriver");var e="ng-animate-shim",r="ng-anchor",i="ng-anchor-out",o="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function(t,a,u,s,l,c,h){function p(t){return t.replace(/\bng-\S+\b/g,"")}function d(t,n){return tt(t)&&(t=t.split(" ")),tt(n)&&(n=n.split(" ")),t.filter(function(t){return n.indexOf(t)===-1}).join(" ")}function v(n,a,s){function l(t){var n={},e=y(t).getBoundingClientRect();return G(["width","height","top","left"],function(t){var r=e[t];switch(t){case"top":r+=$.scrollTop;break;case"left":r+=$.scrollLeft}n[t]=Math.floor(r)+"px"}),n}function c(){var n=t(g,{addClass:i,delay:!0,from:l(a)});return n.$$willAnimate?n:null}function f(t){return t.attr("class")||""}function h(){var n=p(f(s)),e=d(n,m),r=d(m,n),a=t(g,{to:l(s),addClass:o+" "+e,removeClass:i+" "+r,delay:!0});return a.$$willAnimate?a:null}function v(){g.remove(),a.removeClass(e),s.removeClass(e)}var g=et(y(a).cloneNode(!0)),m=p(f(g));a.addClass(e),s.addClass(e),g.addClass(r),x.append(g);var b,w=c();if(!w&&(b=h(),!b))return v();var C=w||b;return{start:function(){function t(){e&&e.end()}var n,e=C.start();return e.done(function(){return e=null,!b&&(b=h())?(e=b.start(),e.done(function(){e=null,v(),n.complete()}),e):(v(),void n.complete())}),n=new u({end:t,cancel:t})}}}function g(t,n,e,r){var i=m(t,rt),o=m(n,rt),a=[];if(G(r,function(t){var n=t.out,r=t["in"],i=v(e,n,r);i&&a.push(i)}),i||o||0!==a.length)return{start:function(){function t(){G(n,function(t){t.end()})}var n=[];i&&n.push(i.start()),o&&n.push(o.start()),G(a,function(t){n.push(t.start())});var e=new u({end:t,cancel:t});return u.all(n,function(t){e.complete(t)}),e}}}function m(n){var e=n.element,r=n.options||{};n.structural&&(r.event=n.event,r.structural=!0,r.applyClassesEarly=!0,"leave"===n.event&&(r.onDone=r.domOperation)),r.preparationClasses&&(r.event=S(r.event,r.preparationClasses));var i=t(e,r);return i.$$willAnimate?i:null}if(!l.animations&&!l.transitions)return rt;var $=h[0].body,b=y(s),x=et(n(b)||$.contains(b)?b:$);f(c);return function(t){return t.from&&t.to?g(t.from,t.to,t.classes,t.anchors):m(t)}}]}],_t=["$animateProvider",function(t){this.$get=["$injector","$$AnimateRunner","$$jqLite",function(n,e,r){function i(e){e=Z(e)?e:e.split(" ");for(var r=[],i={},o=0;o<e.length;o++){var a=e[o],u=t.$$registeredAnimations[a];u&&!i[a]&&(r.push(n.get(u)),i[a]=!0)}return r}var o=f(r);return function(t,n,r,a){function u(){a.domOperation(),o(t,a)}function s(){d=!0,u(),p(t,a)}function l(t,n,r,i,o){var a;switch(r){case"animate":a=[n,i.from,i.to,o];break;case"setClass":a=[n,m,y,o];break;case"addClass":a=[n,m,o];break;case"removeClass":a=[n,y,o];break;default:a=[n,o]}a.push(i);var u=t.apply(t,a);if(u)if(K(u.start)&&(u=u.start()),u instanceof e)u.done(o);else if(K(u))return u;return rt}function c(t,n,r,i,o){var a=[];return G(i,function(i){var u=i[o];u&&a.push(function(){var i,o,a=!1,s=function(t){a||(a=!0,(o||rt)(t),i.complete(!t))};return i=new e({end:function(){s()},cancel:function(){s(!0)}}),o=l(u,t,n,r,function(t){var n=t===!1;s(n)}),i})}),a}function f(t,n,r,i,o){var a=c(t,n,r,i,o);if(0===a.length){var u,s;"beforeSetClass"===o?(u=c(t,"removeClass",r,i,"beforeRemoveClass"),s=c(t,"addClass",r,i,"beforeAddClass")):"setClass"===o&&(u=c(t,"removeClass",r,i,"removeClass"),s=c(t,"addClass",r,i,"addClass")),u&&(a=a.concat(u)),s&&(a=a.concat(s))}if(0!==a.length)return function(t){var n=[];return a.length&&G(a,function(t){n.push(t())}),n.length?e.all(n,t):t(),function(t){G(n,function(n){t?n.cancel():n.end()})}}}var d=!1;3===arguments.length&&Q(r)&&(a=r,r=null),a=h(a),r||(r=t.attr("class")||"",a.addClass&&(r+=" "+a.addClass),a.removeClass&&(r+=" "+a.removeClass));var v,g,m=a.addClass,y=a.removeClass,$=i(r);if($.length){var b,x;"leave"===n?(x="leave",b="afterLeave"):(x="before"+n.charAt(0).toUpperCase()+n.substr(1),b=n),"enter"!==n&&"move"!==n&&(v=f(t,n,a,$,x)),g=f(t,n,a,$,b)}if(v||g){var w;return{$$willAnimate:!0,end:function(){return w?w.end():(s(),w=new e,w.complete(!0)),w},start:function(){function t(t){s(t),w.complete(t)}function n(n){d||((r||rt)(n),t(n))}if(w)return w;w=new e;var r,i=[];
+return v&&i.push(function(t){r=v(t)}),i.length?i.push(function(t){u(),t(!0)}):u(),g&&i.push(function(t){r=g(t)}),w.setHost({end:function(){n()},cancel:function(){n(!0)}}),e.chain(i,t),w}}}}}]}],kt=["$$animationProvider",function(t){t.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function(t,n){function e(n){var e=n.element,r=n.event,i=n.options,o=n.classes;return t(e,r,o,i)}return function(t){if(t.from&&t.to){var r=e(t.from),i=e(t.to);if(!r&&!i)return;return{start:function(){function t(){return function(){G(o,function(t){t.end()})}}function e(t){a.complete(t)}var o=[];r&&o.push(r.start()),i&&o.push(i.start()),n.all(o,e);var a=new n({end:t(),cancel:t()});return a}}}return e(t)}}]}],At="data-ng-animate",Et="$ngAnimatePin",Pt=["$animateProvider",function(n){function r(t){if(!t)return null;var n=t.split(d),e=Object.create(null);return G(n,function(t){e[t]=!0}),e}function i(t,n){if(t&&n){var e=r(n);return t.split(d).some(function(t){return e[t]})}}function o(t,n,e,r){return v[t].some(function(t){return t(n,e,r)})}function a(t,n){var e=(t.addClass||"").length>0,r=(t.removeClass||"").length>0;return n?e&&r:e||r}var l=1,c=2,d=" ",v=this.rules={skip:[],cancel:[],join:[]};v.join.push(function(t,n,e){return!n.structural&&a(n)}),v.skip.push(function(t,n,e){return!n.structural&&!a(n)}),v.skip.push(function(t,n,e){return"leave"===e.event&&n.structural}),v.skip.push(function(t,n,e){return e.structural&&e.state===c&&!n.structural}),v.cancel.push(function(t,n,e){return e.structural&&n.structural}),v.cancel.push(function(t,n,e){return e.state===c&&n.structural}),v.cancel.push(function(t,n,e){if(e.structural)return!1;var r=n.addClass,o=n.removeClass,a=e.addClass,u=e.removeClass;return!(nt(r)&&nt(o)||nt(a)&&nt(u))&&(i(r,u)||i(o,a))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$HashMap","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow","$$isDocumentHidden",function(r,i,d,v,m,x,w,C,S,M,_){function k(){var t=!1;return function(n){t?n():i.$$postDigest(function(){t=!0,n()})}}function A(t,n){return g(t,n,{})}function E(t,n,e){var r=y(n),i=y(t),o=[],a=B[e];return a&&G(a,function(t){it.call(t.node,r)?o.push(t.callback):"leave"===e&&it.call(t.node,i)&&o.push(t.callback)}),o}function P(t,n,e){var r=s(n);return t.filter(function(t){var n=t.node===r&&(!e||t.callback===e);return!n})}function O(t,n){"close"!==t||n[0].parentNode||ot.off(n)}function T(t,n,e){function s(n,e,i,o){S(function(){var n=E(v,t,e);n.length?r(function(){G(n,function(n){n(t,i,o)}),O(i,t)}):O(i,t)}),n.progress(e,i,o)}function f(n){b(t,m),rt(t,m),p(t,m),m.domOperation(),C.complete(!n)}var d,v,m=H(e);t=u(t),t&&(d=y(t),v=t.parent()),m=h(m);var C=new w,S=k();if(Z(m.addClass)&&(m.addClass=m.addClass.join(" ")),m.addClass&&!tt(m.addClass)&&(m.addClass=null),Z(m.removeClass)&&(m.removeClass=m.removeClass.join(" ")),m.removeClass&&!tt(m.removeClass)&&(m.removeClass=null),m.from&&!Q(m.from)&&(m.from=null),m.to&&!Q(m.to)&&(m.to=null),!d)return f(),C;var M=[d.getAttribute("class"),m.addClass,m.removeClass].join(" ");if(!K(M))return f(),C;var P=["enter","move","leave"].indexOf(n)>=0,T=_(),j=!q||T||V.get(d),D=!j&&I.get(d)||{},z=!!D.state;if(j||z&&D.state===l||(j=!R(t,v,n)),j)return T&&s(C,n,"start"),f(),T&&s(C,n,"close"),C;P&&L(t);var B={structural:P,element:t,event:n,addClass:m.addClass,removeClass:m.removeClass,close:f,options:m,runner:C};if(z){var U=o("skip",t,B,D);if(U)return D.state===c?(f(),C):(g(t,D,B),D.runner);var W=o("cancel",t,B,D);if(W)if(D.state===c)D.runner.end();else{if(!D.structural)return g(t,D,B),D.runner;D.close()}else{var Y=o("join",t,B,D);if(Y){if(D.state!==c)return $(t,P?n:null,m),n=B.event=D.event,m=g(t,D,B),D.runner;A(t,B)}}}else A(t,B);var X=B.structural;if(X||(X="animate"===B.event&&Object.keys(B.options.to||{}).length>0||a(B)),!X)return f(),N(t),C;var J=(D.counter||0)+1;return B.counter=J,F(t,l,B),i.$$postDigest(function(){var e=I.get(d),r=!e;e=e||{};var i=t.parent()||[],o=i.length>0&&("animate"===e.event||e.structural||a(e));if(r||e.counter!==J||!o)return r&&(rt(t,m),p(t,m)),(r||P&&e.event!==n)&&(m.domOperation(),C.end()),void(o||N(t));n=!e.structural&&a(e,!0)?"setClass":e.event,F(t,c);var u=x(t,n,e.options);C.setHost(u),s(C,n,"start",{}),u.done(function(e){f(!e);var r=I.get(d);r&&r.counter===J&&N(y(t)),s(C,n,"close",{})})}),C}function L(t){var n=y(t),e=n.querySelectorAll("["+At+"]");G(e,function(t){var n=parseInt(t.getAttribute(At)),e=I.get(t);if(e)switch(n){case c:e.runner.end();case l:I.remove(t)}})}function N(t){var n=y(t);n.removeAttribute(At),I.remove(n)}function j(t,n){return y(t)===y(n)}function R(t,n,e){var r,i=et(v[0].body),o=j(t,i)||"HTML"===t[0].nodeName,a=j(t,d),u=!1,s=V.get(y(t)),l=et.data(t[0],Et);for(l&&(n=l),n=y(n);n&&(a||(a=j(n,d)),n.nodeType===D);){var c=I.get(n)||{};if(!u){var f=V.get(n);if(f===!0&&s!==!1){s=!0;break}f===!1&&(s=!1),u=c.structural}if(nt(r)||r===!0){var h=et.data(n,U);X(h)&&(r=h)}if(u&&r===!1)break;if(o||(o=j(n,i)),o&&a)break;n=a||!(l=et.data(n,Et))?n.parentNode:y(l)}var p=(!u||r)&&s!==!0;return p&&a&&o}function F(t,n,e){e=e||{},e.state=n;var r=y(t);r.setAttribute(At,n);var i=I.get(r),o=i?Y(i,e):e;I.put(r,o)}var I=new m,V=new m,q=null,z=i.$watch(function(){return 0===C.totalPendingRequests},function(t){t&&(z(),i.$$postDigest(function(){i.$$postDigest(function(){null===q&&(q=!0)})}))}),B=Object.create(null),W=n.classNameFilter(),K=W?function(t){return W.test(t)}:function(){return!0},rt=f(S),it=t.Node.prototype.contains||function(t){return this===t||!!(16&this.compareDocumentPosition(t))},ot={on:function(t,n,e){var r=s(n);B[t]=B[t]||[],B[t].push({node:r,callback:e}),et(n).on("$destroy",function(){var i=I.get(r);i||ot.off(t,n,e)})},off:function(t,n,e){if(1!==arguments.length||tt(arguments[0])){var r=B[t];r&&(B[t]=1===arguments.length?null:P(r,n,e))}else{n=arguments[0];for(var i in B)B[i]=P(B[i],n)}},pin:function(t,n){e(J(t),"element","not an element"),e(J(n),"parentElement","not an element"),t.data(Et,n)},push:function(t,n,e,r){return e=e||{},e.domOperation=r,T(t,n,e)},enabled:function(t,n){var e=arguments.length;if(0===e)n=!!q;else{var r=J(t);if(r){var i=y(t);1===e?n=!V.get(i):V.put(i,!n)}else n=q=!!t}return n}};return ot}]}],Ot=["$animateProvider",function(t){function n(t,n){t.data(u,n)}function e(t){t.removeData(u)}function i(t){return t.data(u)}var o="ng-animate-ref",a=this.drivers=[],u="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$HashMap","$$rAFScheduler",function(t,u,s,l,c,d){function v(t){function n(t){if(t.processed)return t;t.processed=!0;var e=t.domNode,r=e.parentNode;o.put(e,t);for(var a;r;){if(a=o.get(r)){a.processed||(a=n(a));break}r=r.parentNode}return(a||i).children.push(t),t}function e(t){var n,e=[],r=[];for(n=0;n<t.children.length;n++)r.push(t.children[n]);var i=r.length,o=0,a=[];for(n=0;n<r.length;n++){var u=r[n];i<=0&&(i=o,o=0,e.push(a),a=[]),a.push(u.fn),u.children.forEach(function(t){o++,r.push(t)}),i--}return a.length&&e.push(a),e}var r,i={children:[]},o=new c;for(r=0;r<t.length;r++){var a=t[r];o.put(a.domNode,t[r]={domNode:a.domNode,fn:a.fn,children:[]})}for(r=0;r<t.length;r++)n(t[r]);return e(i)}var g=[],m=f(t);return function(c,f,$){function b(t){var n="["+o+"]",e=t.hasAttribute(o)?[t]:t.querySelectorAll(n),r=[];return G(e,function(t){var n=t.getAttribute(o);n&&n.length&&r.push(t)}),r}function x(t){var n=[],e={};G(t,function(t,r){var i=t.element,a=y(i),u=t.event,s=["enter","move"].indexOf(u)>=0,l=t.structural?b(a):[];if(l.length){var c=s?"to":"from";G(l,function(t){var n=t.getAttribute(o);e[n]=e[n]||{},e[n][c]={animationID:r,element:et(t)}})}else n.push(t)});var r={},i={};return G(e,function(e,o){var a=e.from,u=e.to;if(!a||!u){var s=a?a.animationID:u.animationID,l=s.toString();return void(r[l]||(r[l]=!0,n.push(t[s])))}var c=t[a.animationID],f=t[u.animationID],h=a.animationID.toString();if(!i[h]){var p=i[h]={structural:!0,beforeStart:function(){c.beforeStart(),f.beforeStart()},close:function(){c.close(),f.close()},classes:w(c.classes,f.classes),from:c,to:f,anchors:[]};p.classes.length?n.push(p):(n.push(c),n.push(f))}i[h].anchors.push({out:a.element,"in":u.element})}),n}function w(t,n){t=t.split(" "),n=n.split(" ");for(var e=[],r=0;r<t.length;r++){var i=t[r];if("ng-"!==i.substring(0,3))for(var o=0;o<n.length;o++)if(i===n[o]){e.push(i);break}}return e.join(" ")}function C(t){for(var n=a.length-1;n>=0;n--){var e=a[n],r=s.get(e),i=r(t);if(i)return i}}function S(){c.addClass(B),O&&t.addClass(c,O),T&&(t.removeClass(c,T),T=null)}function M(t,n){function e(t){var e=i(t);e&&e.setHost(n)}t.from&&t.to?(e(t.from.element),e(t.to.element)):e(t.element)}function _(){var t=i(c);!t||"leave"===f&&$.$$domOperationFired||t.end()}function k(n){c.off("$destroy",_),e(c),m(c,$),p(c,$),$.domOperation(),O&&t.removeClass(c,O),c.removeClass(B),E.complete(!n)}$=h($);var A=["enter","move","leave"].indexOf(f)>=0,E=new l({end:function(){k()},cancel:function(){k(!0)}});if(!a.length)return k(),E;n(c,E);var P=r(c.attr("class"),r($.addClass,$.removeClass)),O=$.tempClasses;O&&(P+=" "+O,$.tempClasses=null);var T;return A&&(T="ng-"+f+z,t.addClass(c,T)),g.push({element:c,classes:P,event:f,structural:A,options:$,beforeStart:S,close:k}),c.on("$destroy",_),g.length>1?E:(u.$$postDigest(function(){var t=[];G(g,function(n){i(n.element)?t.push(n):n.close()}),g.length=0;var n=x(t),e=[];G(n,function(t){e.push({domNode:y(t.from?t.from.element:t.element),fn:function(){t.beforeStart();var n,e=t.close,r=t.anchors?t.from.element||t.to.element:t.element;if(i(r)){var o=C(t);o&&(n=o.start)}if(n){var a=n();a.done(function(t){e(!t)}),M(t,a)}else e()}})}),d(v(e))}),E)}}]}],Tt=["$animate","$rootScope",function(t,n){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(n,e,r,i,o){var a,u;n.$watchCollection(r.ngAnimateSwap||r["for"],function(r){a&&t.leave(a),u&&(u.$destroy(),u=null),(r||0===r)&&(u=n.$new(),o(u,function(n){a=n,t.enter(n,null,e)}))})}}}];n.module("ngAnimate",[],function(){rt=n.noop,H=n.copy,Y=n.extend,et=n.element,G=n.forEach,Z=n.isArray,tt=n.isString,Q=n.isObject,nt=n.isUndefined,X=n.isDefined,K=n.isFunction,J=n.isElement}).directive("ngAnimateSwap",Tt).directive("ngAnimateChildren",mt).factory("$$rAFScheduler",gt).provider("$$animateQueue",Pt).provider("$$animation",Ot).provider("$animateCss",St).provider("$$animateCssDriver",Mt).provider("$$animateJs",_t).provider("$$animateJsDriver",kt)}(window,window.angular),function(){function t(t,n){return t.set(n[0],n[1]),t}function n(t,n){return t.add(n),t}function e(t,n,e){var r=e.length;switch(r){case 0:return t.call(n);case 1:return t.call(n,e[0]);case 2:return t.call(n,e[0],e[1]);case 3:return t.call(n,e[0],e[1],e[2])}return t.apply(n,e)}function r(t,n,e,r){for(var i=-1,o=t.length;++i<o;){var a=t[i];n(r,a,e(a),t)}return r}function i(t,n){for(var e=-1,r=t.length,i=-1,o=n.length,a=Array(r+o);++e<r;)a[e]=t[e];for(;++i<o;)a[e++]=n[i];return a}function o(t,n){for(var e=-1,r=t.length;++e<r&&n(t[e],e,t)!==!1;);return t}function a(t,n){for(var e=t.length;e--&&n(t[e],e,t)!==!1;);return t}function u(t,n){for(var e=-1,r=t.length;++e<r;)if(!n(t[e],e,t))return!1;return!0}function s(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];n(a,e,t)&&(o[i++]=a)}return o}function l(t,n){return!!t.length&&y(t,n,0)>-1}function c(t,n,e){for(var r=-1,i=t.length;++r<i;)if(e(n,t[r]))return!0;return!1}function f(t,n){for(var e=-1,r=t.length,i=Array(r);++e<r;)i[e]=n(t[e],e,t);return i}function h(t,n){for(var e=-1,r=n.length,i=t.length;++e<r;)t[i+e]=n[e];return t}function p(t,n,e,r){var i=-1,o=t.length;for(r&&o&&(e=t[++i]);++i<o;)e=n(e,t[i],i,t);return e}function d(t,n,e,r){var i=t.length;for(r&&i&&(e=t[--i]);i--;)e=n(e,t[i],i,t);return e}function v(t,n){for(var e=-1,r=t.length;++e<r;)if(n(t[e],e,t))return!0;return!1}function g(t,n,e,r){var i;return e(t,function(t,e,o){if(n(t,e,o))return i=r?e:t,!1}),i}function m(t,n,e){for(var r=t.length,i=e?r:-1;e?i--:++i<r;)if(n(t[i],i,t))return i;return-1}function y(t,n,e){if(n!==n)return j(t,e);for(var r=e-1,i=t.length;++r<i;)if(t[r]===n)return r;return-1}function $(t,n,e,r){for(var i=e-1,o=t.length;++i<o;)if(r(t[i],n))return i;return-1}function b(t,n){var e=t?t.length:0;return e?C(t,n)/e:$t}function x(t,n,e,r,i){return i(t,function(t,i,o){e=r?(r=!1,t):n(e,t,i,o)}),e}function w(t,n){var e=t.length;for(t.sort(n);e--;)t[e]=t[e].value;return t}function C(t,n){for(var e,r=-1,i=t.length;++r<i;){var o=n(t[r]);o!==W&&(e=e===W?o:e+o)}return e}function S(t,n){for(var e=-1,r=Array(t);++e<t;)r[e]=n(e);return r}function M(t,n){return f(n,function(n){return[n,t[n]]})}function _(t){return function(n){return t(n)}}function k(t,n){return f(n,function(n){return t[n]})}function A(t,n){for(var e=-1,r=t.length;++e<r&&y(n,t[e],0)>-1;);return e}function E(t,n){for(var e=t.length;e--&&y(n,t[e],0)>-1;);return e}function P(t){return t&&t.Object===Object?t:null}function O(t,n){for(var e=t.length,r=0;e--;)t[e]===n&&r++;return r}function T(t){return we[t]}function L(t){return Ce[t]}function N(t){return"\\"+_e[t]}function j(t,n,e){for(var r=t.length,i=n+(e?0:-1);e?i--:++i<r;){var o=t[i];if(o!==o)return i}return-1}function R(t){var n=!1;if(null!=t&&"function"!=typeof t.toString)try{n=!!(t+"")}catch(e){}return n}function D(t){for(var n,e=[];!(n=t.next()).done;)e.push(n.value);return e}function F(t){var n=-1,e=Array(t.size);return t.forEach(function(t,r){e[++n]=[r,t]}),e}function I(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e];a!==n&&a!==X||(t[e]=X,o[i++]=e)}return o}function V(t){var n=-1,e=Array(t.size);return t.forEach(function(t){e[++n]=t}),e}function q(t){if(!t||!ge.test(t))return t.length;for(var n=de.lastIndex=0;de.test(t);)n++;return n}function z(t){return t.match(de)}function B(t){return Se[t]}function U(P){function En(t){if(lu(t)&&!tf(t)&&!(t instanceof Tn)){if(t instanceof On)return t;if(dl.call(t,"__wrapped__"))return no(t)}return new On(t)}function Pn(){}function On(t,n){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!n,this.__index__=0,this.__values__=W}function Tn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=bt,this.__views__=[]}function Ln(){var t=new Tn(this.__wrapped__);return t.__actions__=Xr(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=Xr(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=Xr(this.__views__),t}function Nn(){if(this.__filtered__){var t=new Tn(this);t.__dir__=-1,t.__filtered__=!0}else t=this.clone(),t.__dir__*=-1;return t}function jn(){var t=this.__wrapped__.value(),n=this.__dir__,e=tf(t),r=n<0,i=e?t.length:0,o=Li(0,i,this.__views__),a=o.start,u=o.end,s=u-a,l=r?u:a-1,c=this.__iteratees__,f=c.length,h=0,p=Il(s,this.__takeCount__);if(!e||i<Y||i==s&&p==s)return Or(t,this.__actions__);var d=[];t:for(;s--&&h<p;){l+=n;for(var v=-1,g=t[l];++v<f;){var m=c[v],y=m.iteratee,$=m.type,b=y(g);if($==dt)g=b;else if(!b){if($==pt)continue t;break t}}d[h++]=g}return d}function Rn(){}function Dn(t,n){return In(t,n)&&delete t[n]}function Fn(t,n){if(Xl){var e=t[n];return e===Z?W:e}return dl.call(t,n)?t[n]:W}function In(t,n){return Xl?t[n]!==W:dl.call(t,n)}function Vn(t,n,e){t[n]=Xl&&e===W?Z:e}function qn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function zn(){this.__data__={hash:new Rn,map:Hl?new Hl:[],string:new Rn}}function Bn(t){var n=this.__data__;return Ui(t)?Dn("string"==typeof t?n.string:n.hash,t):Hl?n.map["delete"](t):ee(n.map,t)}function Un(t){var n=this.__data__;return Ui(t)?Fn("string"==typeof t?n.string:n.hash,t):Hl?n.map.get(t):re(n.map,t)}function Wn(t){var n=this.__data__;return Ui(t)?In("string"==typeof t?n.string:n.hash,t):Hl?n.map.has(t):ie(n.map,t)}function Hn(t,n){var e=this.__data__;return Ui(t)?Vn("string"==typeof t?e.string:e.hash,t,n):Hl?e.map.set(t,n):ae(e.map,t,n),this}function Yn(t){var n=-1,e=t?t.length:0;for(this.__data__=new qn;++n<e;)this.push(t[n])}function Gn(t,n){var e=t.__data__;if(Ui(n)){var r=e.__data__,i="string"==typeof n?r.string:r.hash;return i[n]===Z}return e.has(n)}function Zn(t){var n=this.__data__;if(Ui(t)){var e=n.__data__,r="string"==typeof t?e.string:e.hash;r[t]=Z}else n.set(t,Z)}function Xn(t){var n=-1,e=t?t.length:0;for(this.clear();++n<e;){var r=t[n];this.set(r[0],r[1])}}function Jn(){this.__data__={array:[],map:null}}function Kn(t){var n=this.__data__,e=n.array;return e?ee(e,t):n.map["delete"](t)}function Qn(t){var n=this.__data__,e=n.array;return e?re(e,t):n.map.get(t)}function te(t){var n=this.__data__,e=n.array;return e?ie(e,t):n.map.has(t)}function ne(t,n){var e=this.__data__,r=e.array;r&&(r.length<Y-1?ae(r,t,n):(e.array=null,e.map=new qn(r)));var i=e.map;return i&&i.set(t,n),this}function ee(t,n){var e=oe(t,n);if(e<0)return!1;var r=t.length-1;return e==r?t.pop():Ol.call(t,e,1),!0}function re(t,n){var e=oe(t,n);return e<0?W:t[e][1]}function ie(t,n){return oe(t,n)>-1}function oe(t,n){for(var e=t.length;e--;)if(Ha(t[e][0],n))return e;return-1}function ae(t,n,e){var r=oe(t,n);r<0?t.push([n,e]):t[r][1]=e}function ue(t,n,e,r){return t===W||Ha(t,fl[e])&&!dl.call(r,e)?n:t}function se(t,n,e){(e===W||Ha(t[n],e))&&("number"!=typeof n||e!==W||n in t)||(t[n]=e)}function le(t,n,e){var r=t[n];dl.call(t,n)&&Ha(r,e)&&(e!==W||n in t)||(t[n]=e)}function ce(t,n,e,r){return sc(t,function(t,i,o){n(r,t,e(t),o)}),r}function fe(t,n){return t&&Jr(n,Yu(n),t)}function de(t,n){for(var e=-1,r=null==t,i=n.length,o=Array(i);++e<i;)o[e]=r?W:Uu(t,n[e]);return o}function we(t,n,e){return t===t&&(e!==W&&(t=t<=e?t:e),n!==W&&(t=t>=n?t:n)),t}function Ce(t,n,e,r,i,a,u){var s;if(r&&(s=a?r(t,i,a,u):r(t)),s!==W)return s;if(!su(t))return t;var l=tf(t);if(l){if(s=ji(t),!n)return Xr(t,s)}else{var c=Ti(t),f=c==At||c==Et;if(nf(t))return Fr(t,n);if(c==Tt||c==Ct||f&&!a){if(R(t))return a?t:{};if(s=Ri(f?{}:t),!n)return Kr(t,fe(s,t))}else{if(!xe[c])return a?t:{};s=Di(t,c,Ce,n)}}u||(u=new Xn);var h=u.get(t);if(h)return h;if(u.set(t,s),!l)var p=e?Ci(t):Yu(t);return o(p||t,function(i,o){p&&(o=i,i=t[o]),le(s,o,Ce(i,n,e,r,o,t,u))}),s}function Se(t){var n=Yu(t),e=n.length;return function(r){if(null==r)return!e;for(var i=e;i--;){var o=n[i],a=t[o],u=r[o];if(u===W&&!(o in Object(r))||!a(u))return!1}return!0}}function Me(t){return su(t)?Al(t):{}}function _e(t,n,e){if("function"!=typeof t)throw new ll(G);return Pl(function(){t.apply(W,e)},n)}function Ee(t,n,e,r){var i=-1,o=l,a=!0,u=t.length,s=[],h=n.length;if(!u)return s;e&&(n=f(n,_(e))),r?(o=c,a=!1):n.length>=Y&&(o=Gn,a=!1,n=new Yn(n));t:for(;++i<u;){var p=t[i],d=e?e(p):p;if(p=r||0!==p?p:0,a&&d===d){for(var v=h;v--;)if(n[v]===d)continue t;s.push(p)}else o(n,d,r)||s.push(p)}return s}function Pe(t,n){var e=!0;return sc(t,function(t,r,i){return e=!!n(t,r,i)}),e}function Te(t,n,e){for(var r=-1,i=t.length;++r<i;){var o=t[r],a=n(o);if(null!=a&&(u===W?a===a&&!Cu(a):e(a,u)))var u=a,s=o}return s}function Le(t,n,e,r){var i=t.length;for(e=Eu(e),e<0&&(e=-e>i?0:i+e),r=r===W||r>i?i:Eu(r),r<0&&(r+=i),r=e>r?0:Pu(r);e<r;)t[e++]=n;return t}function Ne(t,n){var e=[];return sc(t,function(t,r,i){n(t,r,i)&&e.push(t)}),e}function je(t,n,e,r,i){var o=-1,a=t.length;for(e||(e=Ii),i||(i=[]);++o<a;){var u=t[o];n>0&&e(u)?n>1?je(u,n-1,e,r,i):h(i,u):r||(i[i.length]=u)}return i}function Fe(t,n){return t&&cc(t,n,Yu)}function Ie(t,n){return t&&fc(t,n,Yu)}function Ve(t,n){return s(n,function(n){return ou(t[n])})}function qe(t,n){n=Bi(n,t)?[n]:Rr(n);for(var e=0,r=n.length;null!=t&&e<r;)t=t[Qi(n[e++])];return e&&e==r?t:W}function ze(t,n,e){var r=n(t);return tf(t)?r:h(r,e(t))}function Be(t,n){return t>n}function Ue(t,n){return dl.call(t,n)||"object"==typeof t&&n in t&&null===Pi(t)}function We(t,n){return n in Object(t)}function He(t,n,e){return t>=Il(n,e)&&t<Fl(n,e)}function Ye(t,n,e){for(var r=e?c:l,i=t[0].length,o=t.length,a=o,u=Array(o),s=1/0,h=[];a--;){var p=t[a];a&&n&&(p=f(p,_(n))),s=Il(p.length,s),u[a]=!e&&(n||i>=120&&p.length>=120)?new Yn(a&&p):W}p=t[0];var d=-1,v=u[0];t:for(;++d<i&&h.length<s;){var g=p[d],m=n?n(g):g;if(g=e||0!==g?g:0,!(v?Gn(v,m):r(h,m,e))){for(a=o;--a;){var y=u[a];if(!(y?Gn(y,m):r(t[a],m,e)))continue t}v&&v.push(m),h.push(g)}}return h}function Ge(t,n,e,r){return Fe(t,function(t,i,o){n(r,e(t),i,o)}),r}function Ze(t,n,r){Bi(n,t)||(n=Rr(n),t=Ji(t,n),n=xo(n));var i=null==t?t:t[Qi(n)];return null==i?W:e(i,t,r)}function Xe(t,n,e,r,i){return t===n||(null==t||null==n||!su(t)&&!lu(n)?t!==t&&n!==n:Je(t,n,Xe,e,r,i))}function Je(t,n,e,r,i,o){var a=tf(t),u=tf(n),s=St,l=St;a||(s=Ti(t),s=s==Ct?Tt:s),u||(l=Ti(n),l=l==Ct?Tt:l);var c=s==Tt&&!R(t),f=l==Tt&&!R(n),h=s==l;if(h&&!c)return o||(o=new Xn),a||Su(t)?bi(t,n,e,r,i,o):xi(t,n,s,e,r,i,o);if(!(i&st)){var p=c&&dl.call(t,"__wrapped__"),d=f&&dl.call(n,"__wrapped__");if(p||d){var v=p?t.value():t,g=d?n.value():n;return o||(o=new Xn),e(v,g,r,i,o)}}return!!h&&(o||(o=new Xn),wi(t,n,e,r,i,o))}function Ke(t,n,e,r){var i=e.length,o=i,a=!r;if(null==t)return!o;for(t=Object(t);i--;){var u=e[i];if(a&&u[2]?u[1]!==t[u[0]]:!(u[0]in t))return!1}for(;++i<o;){u=e[i];var s=u[0],l=t[s],c=u[1];if(a&&u[2]){if(l===W&&!(s in t))return!1}else{var f=new Xn;if(r)var h=r(l,c,s,t,n,f);if(!(h===W?Xe(c,l,r,ut|st,f):h))return!1}}return!0}function Qe(t){return"function"==typeof t?t:null==t?Fs:"object"==typeof t?tf(t)?or(t[0],t[1]):ir(t):Hs(t)}function tr(t){return Dl(Object(t))}function nr(t){t=null==t?t:Object(t);var n=[];for(var e in t)n.push(e);return n}function er(t,n){return t<n}function rr(t,n){var e=-1,r=Za(t)?Array(t.length):[];return sc(t,function(t,i,o){r[++e]=n(t,i,o)}),r}function ir(t){var n=ki(t);return 1==n.length&&n[0][2]?Gi(n[0][0],n[0][1]):function(e){return e===t||Ke(e,t,n)}}function or(t,n){return Bi(t)&&Yi(n)?Gi(Qi(t),n):function(e){var r=Uu(e,t);return r===W&&r===n?Hu(e,t):Xe(n,r,W,ut|st)}}function ar(t,n,e,r,i){if(t!==n){if(!tf(n)&&!Su(n))var a=Gu(n);o(a||n,function(o,u){if(a&&(u=o,o=n[u]),su(o))i||(i=new Xn),ur(t,n,u,e,ar,r,i);else{var s=r?r(t[u],o,u+"",t,n,i):W;s===W&&(s=o),se(t,u,s)}})}}function ur(t,n,e,r,i,o,a){var u=t[e],s=n[e],l=a.get(s);if(l)return void se(t,e,l);var c=o?o(u,s,e+"",t,n,a):W,f=c===W;f&&(c=s,tf(s)||Su(s)?tf(u)?c=u:Xa(u)?c=Xr(u):(f=!1,c=Ce(s,!0)):yu(s)||Ya(s)?Ya(u)?c=Tu(u):!su(u)||r&&ou(u)?(f=!1,c=Ce(s,!0)):c=u:f=!1),a.set(s,c),f&&i(c,s,r,o,a),a["delete"](s),se(t,e,c)}function sr(t,n){var e=t.length;if(e)return n+=n<0?e:0,qi(n,e)?t[n]:W}function lr(t,n,e){var r=-1;n=f(n.length?n:[Fs],_(_i()));var i=rr(t,function(t,e,i){var o=f(n,function(n){return n(t)});return{criteria:o,index:++r,value:t}});return w(i,function(t,n){return Yr(t,n,e)})}function cr(t,n){return t=Object(t),p(n,function(n,e){return e in t&&(n[e]=t[e]),n},{})}function fr(t,n){for(var e=-1,r=Si(t),i=r.length,o={};++e<i;){var a=r[e],u=t[a];n(u,a)&&(o[a]=u)}return o}function hr(t){return function(n){return null==n?W:n[t]}}function pr(t){return function(n){return qe(n,t)}}function dr(t,n,e,r){var i=r?$:y,o=-1,a=n.length,u=t;for(e&&(u=f(t,_(e)));++o<a;)for(var s=0,l=n[o],c=e?e(l):l;(s=i(u,c,s,r))>-1;)u!==t&&Ol.call(u,s,1),Ol.call(t,s,1);return t}function vr(t,n){for(var e=t?n.length:0,r=e-1;e--;){var i=n[e];if(e==r||i!==o){var o=i;if(qi(i))Ol.call(t,i,1);else if(Bi(i,t))delete t[Qi(i)];else{var a=Rr(i),u=Ji(t,a);null!=u&&delete u[Qi(xo(a))]}}}return t}function gr(t,n){return t+Ll(ql()*(n-t+1))}function mr(t,n,e,r){for(var i=-1,o=Fl(Tl((n-t)/(e||1)),0),a=Array(o);o--;)a[r?o:++i]=t,t+=e;return a}function yr(t,n){var e="";if(!t||n<1||n>mt)return e;do n%2&&(e+=t),n=Ll(n/2),n&&(t+=t);while(n);return e}function $r(t,n,e,r){n=Bi(n,t)?[n]:Rr(n);for(var i=-1,o=n.length,a=o-1,u=t;null!=u&&++i<o;){var s=Qi(n[i]);if(su(u)){var l=e;if(i!=a){var c=u[s];l=r?r(c,s,u):W,l===W&&(l=null==c?qi(n[i+1])?[]:{}:c)}le(u,s,l)}u=u[s]}return t}function br(t,n,e){var r=-1,i=t.length;n<0&&(n=-n>i?0:i+n),e=e>i?i:e,e<0&&(e+=i),i=n>e?0:e-n>>>0,n>>>=0;for(var o=Array(i);++r<i;)o[r]=t[r+n];return o}function xr(t,n){var e;return sc(t,function(t,r,i){return e=n(t,r,i),!e}),!!e}function wr(t,n,e){var r=0,i=t?t.length:r;if("number"==typeof n&&n===n&&i<=wt){for(;r<i;){var o=r+i>>>1,a=t[o];null!==a&&!Cu(a)&&(e?a<=n:a<n)?r=o+1:i=o}return i}return Cr(t,n,Fs,e)}function Cr(t,n,e,r){n=e(n);for(var i=0,o=t?t.length:0,a=n!==n,u=null===n,s=Cu(n),l=n===W;i<o;){var c=Ll((i+o)/2),f=e(t[c]),h=f!==W,p=null===f,d=f===f,v=Cu(f);if(a)var g=r||d;else g=l?d&&(r||h):u?d&&h&&(r||!p):s?d&&h&&!p&&(r||!v):!p&&!v&&(r?f<=n:f<n);g?i=c+1:o=c}return Il(o,xt)}function Sr(t,n){for(var e=-1,r=t.length,i=0,o=[];++e<r;){var a=t[e],u=n?n(a):a;if(!e||!Ha(u,s)){var s=u;o[i++]=0===a?0:a}}return o}function Mr(t){return"number"==typeof t?t:Cu(t)?$t:+t}function _r(t){if("string"==typeof t)return t;if(Cu(t))return uc?uc.call(t):"";var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function kr(t,n,e){var r=-1,i=l,o=t.length,a=!0,u=[],s=u;if(e)a=!1,i=c;else if(o>=Y){var f=n?null:pc(t);if(f)return V(f);a=!1,i=Gn,s=new Yn}else s=n?[]:u;t:for(;++r<o;){var h=t[r],p=n?n(h):h;if(h=e||0!==h?h:0,a&&p===p){for(var d=s.length;d--;)if(s[d]===p)continue t;n&&s.push(p),u.push(h)}else i(s,p,e)||(s!==u&&s.push(p),u.push(h))}return u}function Ar(t,n){n=Bi(n,t)?[n]:Rr(n),t=Ji(t,n);var e=Qi(xo(n));return!(null!=t&&Ue(t,e))||delete t[e]}function Er(t,n,e,r){return $r(t,n,e(qe(t,n)),r)}function Pr(t,n,e,r){for(var i=t.length,o=r?i:-1;(r?o--:++o<i)&&n(t[o],o,t););return e?br(t,r?0:o,r?o+1:i):br(t,r?o+1:0,r?i:o)}function Or(t,n){var e=t;return e instanceof Tn&&(e=e.value()),p(n,function(t,n){return n.func.apply(n.thisArg,h([t],n.args))},e)}function Tr(t,n,e){for(var r=-1,i=t.length;++r<i;)var o=o?h(Ee(o,t[r],n,e),Ee(t[r],o,n,e)):t[r];return o&&o.length?kr(o,n,e):[]}function Lr(t,n,e){for(var r=-1,i=t.length,o=n.length,a={};++r<i;){var u=r<o?n[r]:W;e(a,t[r],u)}return a}function Nr(t){return Xa(t)?t:[]}function jr(t){return"function"==typeof t?t:Fs}function Rr(t){return tf(t)?t:yc(t)}function Dr(t,n,e){var r=t.length;return e=e===W?r:e,!n&&e>=r?t:br(t,n,e)}function Fr(t,n){if(n)return t.slice();var e=new t.constructor(t.length);return t.copy(e),e}function Ir(t){var n=new t.constructor(t.byteLength);return new Cl(n).set(new Cl(t)),n}function Vr(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.byteLength)}function qr(n,e,r){var i=e?r(F(n),!0):F(n);return p(i,t,new n.constructor)}function zr(t){var n=new t.constructor(t.source,$n.exec(t));return n.lastIndex=t.lastIndex,n}function Br(t,e,r){var i=e?r(V(t),!0):V(t);return p(i,n,new t.constructor)}function Ur(t){return ac?Object(ac.call(t)):{}}function Wr(t,n){var e=n?Ir(t.buffer):t.buffer;return new t.constructor(e,t.byteOffset,t.length)}function Hr(t,n){if(t!==n){var e=t!==W,r=null===t,i=t===t,o=Cu(t),a=n!==W,u=null===n,s=n===n,l=Cu(n);if(!u&&!l&&!o&&t>n||o&&a&&s&&!u&&!l||r&&a&&s||!e&&s||!i)return 1;if(!r&&!o&&!l&&t<n||l&&e&&i&&!r&&!o||u&&e&&i||!a&&i||!s)return-1}return 0}function Yr(t,n,e){for(var r=-1,i=t.criteria,o=n.criteria,a=i.length,u=e.length;++r<a;){var s=Hr(i[r],o[r]);if(s){if(r>=u)return s;var l=e[r];return s*("desc"==l?-1:1)}}return t.index-n.index}function Gr(t,n,e,r){for(var i=-1,o=t.length,a=e.length,u=-1,s=n.length,l=Fl(o-a,0),c=Array(s+l),f=!r;++u<s;)c[u]=n[u];for(;++i<a;)(f||i<o)&&(c[e[i]]=t[i]);for(;l--;)c[u++]=t[i++];return c}function Zr(t,n,e,r){for(var i=-1,o=t.length,a=-1,u=e.length,s=-1,l=n.length,c=Fl(o-u,0),f=Array(c+l),h=!r;++i<c;)f[i]=t[i];for(var p=i;++s<l;)f[p+s]=n[s];for(;++a<u;)(h||i<o)&&(f[p+e[a]]=t[i++]);return f}function Xr(t,n){var e=-1,r=t.length;for(n||(n=Array(r));++e<r;)n[e]=t[e];return n}function Jr(t,n,e,r){e||(e={});for(var i=-1,o=n.length;++i<o;){var a=n[i],u=r?r(e[a],t[a],a,e,t):t[a];le(e,a,u)}return e}function Kr(t,n){return Jr(t,Oi(t),n)}function Qr(t,n){return function(e,i){var o=tf(e)?r:ce,a=n?n():{};return o(e,t,_i(i),a)}}function ti(t){return Ra(function(n,e){var r=-1,i=e.length,o=i>1?e[i-1]:W,a=i>2?e[2]:W;for(o="function"==typeof o?(i--,o):W,a&&zi(e[0],e[1],a)&&(o=i<3?W:o,i=1),n=Object(n);++r<i;){var u=e[r];u&&t(n,u,r,o)}return n})}function ni(t,n){return function(e,r){if(null==e)return e;if(!Za(e))return t(e,r);for(var i=e.length,o=n?i:-1,a=Object(e);(n?o--:++o<i)&&r(a[o],o,a)!==!1;);return e}}function ei(t){return function(n,e,r){for(var i=-1,o=Object(n),a=r(n),u=a.length;u--;){var s=a[t?u:++i];if(e(o[s],s,o)===!1)break}return n}}function ri(t,n,e){function r(){var n=this&&this!==Re&&this instanceof r?o:t;return n.apply(i?e:this,arguments)}var i=n&J,o=ai(t);return r}function ii(t){return function(n){n=Nu(n);var e=ge.test(n)?z(n):W,r=e?e[0]:n.charAt(0),i=e?Dr(e,1).join(""):n.slice(1);return r[t]()+i}}function oi(t){return function(n){return p(Ns(ds(n).replace(he,"")),t,"")}}function ai(t){return function(){var n=arguments;switch(n.length){case 0:return new t;case 1:return new t(n[0]);case 2:return new t(n[0],n[1]);case 3:return new t(n[0],n[1],n[2]);case 4:return new t(n[0],n[1],n[2],n[3]);case 5:return new t(n[0],n[1],n[2],n[3],n[4]);case 6:return new t(n[0],n[1],n[2],n[3],n[4],n[5]);case 7:return new t(n[0],n[1],n[2],n[3],n[4],n[5],n[6])}var e=Me(t.prototype),r=t.apply(e,n);return su(r)?r:e}}function ui(t,n,r){function i(){for(var a=arguments.length,u=Array(a),s=a,l=Ei(i);s--;)u[s]=arguments[s];var c=a<3&&u[0]!==l&&u[a-1]!==l?[]:I(u,l);if(a-=c.length,a<r)return mi(t,n,li,i.placeholder,W,u,c,W,W,r-a);var f=this&&this!==Re&&this instanceof i?o:t;return e(f,this,u)}var o=ai(t);return i}function si(t){return Ra(function(n){n=je(n,1);var e=n.length,r=e,i=On.prototype.thru;for(t&&n.reverse();r--;){var o=n[r];if("function"!=typeof o)throw new ll(G);if(i&&!a&&"wrapper"==Mi(o))var a=new On([],(!0))}for(r=a?r:e;++r<e;){o=n[r];var u=Mi(o),s="wrapper"==u?dc(o):W;a=s&&Wi(s[0])&&s[1]==(it|tt|et|ot)&&!s[4].length&&1==s[9]?a[Mi(s[0])].apply(a,s[3]):1==o.length&&Wi(o)?a[u]():a.thru(o)}return function(){var t=arguments,r=t[0];if(a&&1==t.length&&tf(r)&&r.length>=Y)return a.plant(r).value();for(var i=0,o=e?n[i].apply(this,t):r;++i<e;)o=n[i].call(this,o);return o}})}function li(t,n,e,r,i,o,a,u,s,l){function c(){for(var m=arguments.length,y=m,$=Array(m);y--;)$[y]=arguments[y];if(d)var b=Ei(c),x=O($,b);if(r&&($=Gr($,r,i,d)),o&&($=Zr($,o,a,d)),m-=x,d&&m<l){var w=I($,b);return mi(t,n,li,c.placeholder,e,$,w,u,s,l-m)}var C=h?e:this,S=p?C[t]:t;return m=$.length,u?$=Ki($,u):v&&m>1&&$.reverse(),f&&s<m&&($.length=s),this&&this!==Re&&this instanceof c&&(S=g||ai(S)),S.apply(C,$)}var f=n&it,h=n&J,p=n&K,d=n&(tt|nt),v=n&at,g=p?W:ai(t);return c}function ci(t,n){return function(e,r){return Ge(e,t,n(r),{})}}function fi(t){return function(n,e){var r;if(n===W&&e===W)return 0;if(n!==W&&(r=n),e!==W){if(r===W)return e;"string"==typeof n||"string"==typeof e?(n=_r(n),e=_r(e)):(n=Mr(n),e=Mr(e)),r=t(n,e)}return r}}function hi(t){return Ra(function(n){return n=1==n.length&&tf(n[0])?f(n[0],_(_i())):f(je(n,1,Vi),_(_i())),Ra(function(r){var i=this;return t(n,function(t){return e(t,i,r)})})})}function pi(t,n){n=n===W?" ":_r(n);var e=n.length;if(e<2)return e?yr(n,t):n;var r=yr(n,Tl(t/q(n)));return ge.test(n)?Dr(z(r),0,t).join(""):r.slice(0,t)}function di(t,n,r,i){function o(){for(var n=-1,s=arguments.length,l=-1,c=i.length,f=Array(c+s),h=this&&this!==Re&&this instanceof o?u:t;++l<c;)f[l]=i[l];for(;s--;)f[l++]=arguments[++n];return e(h,a?r:this,f)}var a=n&J,u=ai(t);return o}function vi(t){return function(n,e,r){return r&&"number"!=typeof r&&zi(n,e,r)&&(e=r=W),n=Ou(n),n=n===n?n:0,e===W?(e=n,n=0):e=Ou(e)||0,r=r===W?n<e?1:-1:Ou(r)||0,mr(n,e,r,t)}}function gi(t){return function(n,e){return"string"==typeof n&&"string"==typeof e||(n=Ou(n),e=Ou(e)),t(n,e)}}function mi(t,n,e,r,i,o,a,u,s,l){var c=n&tt,f=c?a:W,h=c?W:a,p=c?o:W,d=c?W:o;n|=c?et:rt,n&=~(c?rt:et),n&Q||(n&=~(J|K));var v=[t,n,i,p,f,d,h,u,s,l],g=e.apply(W,v);return Wi(t)&&mc(g,v),g.placeholder=r,g}function yi(t){var n=ul[t];return function(t,e){if(t=Ou(t),e=Eu(e)){var r=(Nu(t)+"e").split("e"),i=n(r[0]+"e"+(+r[1]+e));return r=(Nu(i)+"e").split("e"),+(r[0]+"e"+(+r[1]-e))}return n(t)}}function $i(t,n,e,r,i,o,a,u){var s=n&K;if(!s&&"function"!=typeof t)throw new ll(G);var l=r?r.length:0;if(l||(n&=~(et|rt),r=i=W),a=a===W?a:Fl(Eu(a),0),u=u===W?u:Eu(u),l-=i?i.length:0,n&rt){var c=r,f=i;r=i=W}var h=s?W:dc(t),p=[t,n,e,r,i,c,f,o,a,u];
+if(h&&Zi(p,h),t=p[0],n=p[1],e=p[2],r=p[3],i=p[4],u=p[9]=null==p[9]?s?0:t.length:Fl(p[9]-l,0),!u&&n&(tt|nt)&&(n&=~(tt|nt)),n&&n!=J)d=n==tt||n==nt?ui(t,n,u):n!=et&&n!=(J|et)||i.length?li.apply(W,p):di(t,n,e,r);else var d=ri(t,n,e);var v=h?hc:mc;return v(d,p)}function bi(t,n,e,r,i,o){var a=-1,u=i&st,s=i&ut,l=t.length,c=n.length;if(l!=c&&!(u&&c>l))return!1;var f=o.get(t);if(f)return f==n;var h=!0;for(o.set(t,n);++a<l;){var p=t[a],d=n[a];if(r)var g=u?r(d,p,a,n,t,o):r(p,d,a,t,n,o);if(g!==W){if(g)continue;h=!1;break}if(s){if(!v(n,function(t){return p===t||e(p,t,r,i,o)})){h=!1;break}}else if(p!==d&&!e(p,d,r,i,o)){h=!1;break}}return o["delete"](t),h}function xi(t,n,e,r,i,o,a){switch(e){case qt:if(t.byteLength!=n.byteLength||t.byteOffset!=n.byteOffset)return!1;t=t.buffer,n=n.buffer;case Vt:return!(t.byteLength!=n.byteLength||!r(new Cl(t),new Cl(n)));case Mt:case _t:return+t==+n;case kt:return t.name==n.name&&t.message==n.message;case Ot:return t!=+t?n!=+n:t==+n;case Nt:case Rt:return t==n+"";case Pt:var u=F;case jt:var s=o&st;if(u||(u=V),t.size!=n.size&&!s)return!1;var l=a.get(t);return l?l==n:(o|=ut,a.set(t,n),bi(u(t),u(n),r,i,o,a));case Dt:if(ac)return ac.call(t)==ac.call(n)}return!1}function wi(t,n,e,r,i,o){var a=i&st,u=Yu(t),s=u.length,l=Yu(n),c=l.length;if(s!=c&&!a)return!1;for(var f=s;f--;){var h=u[f];if(!(a?h in n:Ue(n,h)))return!1}var p=o.get(t);if(p)return p==n;var d=!0;o.set(t,n);for(var v=a;++f<s;){h=u[f];var g=t[h],m=n[h];if(r)var y=a?r(m,g,h,n,t,o):r(g,m,h,t,n,o);if(!(y===W?g===m||e(g,m,r,i,o):y)){d=!1;break}v||(v="constructor"==h)}if(d&&!v){var $=t.constructor,b=n.constructor;$!=b&&"constructor"in t&&"constructor"in n&&!("function"==typeof $&&$ instanceof $&&"function"==typeof b&&b instanceof b)&&(d=!1)}return o["delete"](t),d}function Ci(t){return ze(t,Yu,Oi)}function Si(t){return ze(t,Gu,gc)}function Mi(t){for(var n=t.name+"",e=Ql[n],r=dl.call(Ql,n)?e.length:0;r--;){var i=e[r],o=i.func;if(null==o||o==t)return i.name}return n}function _i(){var t=En.iteratee||Is;return t=t===Is?Qe:t,arguments.length?t(arguments[0],arguments[1]):t}function ki(t){for(var n=es(t),e=n.length;e--;)n[e][2]=Yi(n[e][1]);return n}function Ai(t,n){var e=t[n];return du(e)?e:W}function Ei(t){var n=dl.call(En,"placeholder")?En:t;return n.placeholder}function Pi(t){return Nl(Object(t))}function Oi(t){return _l(Object(t))}function Ti(t){return ml.call(t)}function Li(t,n,e){for(var r=-1,i=e.length;++r<i;){var o=e[r],a=o.size;switch(o.type){case"drop":t+=a;break;case"dropRight":n-=a;break;case"take":n=Il(n,t+a);break;case"takeRight":t=Fl(t,n-a)}}return{start:t,end:n}}function Ni(t,n,e){n=Bi(n,t)?[n]:Rr(n);for(var r,i=-1,o=n.length;++i<o;){var a=Qi(n[i]);if(!(r=null!=t&&e(t,a)))break;t=t[a]}if(r)return r;var o=t?t.length:0;return!!o&&uu(o)&&qi(a,o)&&(tf(t)||wu(t)||Ya(t))}function ji(t){var n=t.length,e=t.constructor(n);return n&&"string"==typeof t[0]&&dl.call(t,"index")&&(e.index=t.index,e.input=t.input),e}function Ri(t){return"function"!=typeof t.constructor||Hi(t)?{}:Me(Pi(t))}function Di(t,n,e,r){var i=t.constructor;switch(n){case Vt:return Ir(t);case Mt:case _t:return new i((+t));case qt:return Vr(t,r);case zt:case Bt:case Ut:case Wt:case Ht:case Yt:case Gt:case Zt:case Xt:return Wr(t,r);case Pt:return qr(t,r,e);case Ot:case Rt:return new i(t);case Nt:return zr(t);case jt:return Br(t,r,e);case Dt:return Ur(t)}}function Fi(t){var n=t?t.length:W;return uu(n)&&(tf(t)||wu(t)||Ya(t))?S(n,String):null}function Ii(t){return Xa(t)&&(tf(t)||Ya(t))}function Vi(t){return tf(t)&&!(2==t.length&&!ou(t[0]))}function qi(t,n){return n=null==n?mt:n,!!n&&("number"==typeof t||Mn.test(t))&&t>-1&&t%1==0&&t<n}function zi(t,n,e){if(!su(e))return!1;var r=typeof n;return!!("number"==r?Za(e)&&qi(n,e.length):"string"==r&&n in e)&&Ha(e[n],t)}function Bi(t,n){if(tf(t))return!1;var e=typeof t;return!("number"!=e&&"symbol"!=e&&"boolean"!=e&&null!=t&&!Cu(t))||(ln.test(t)||!sn.test(t)||null!=n&&t in Object(n))}function Ui(t){var n=typeof t;return"string"==n||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==t:null===t}function Wi(t){var n=Mi(t),e=En[n];if("function"!=typeof e||!(n in Tn.prototype))return!1;if(t===e)return!0;var r=dc(e);return!!r&&t===r[0]}function Hi(t){var n=t&&t.constructor,e="function"==typeof n&&n.prototype||fl;return t===e}function Yi(t){return t===t&&!su(t)}function Gi(t,n){return function(e){return null!=e&&(e[t]===n&&(n!==W||t in Object(e)))}}function Zi(t,n){var e=t[1],r=n[1],i=e|r,o=i<(J|K|it),a=r==it&&e==tt||r==it&&e==ot&&t[7].length<=n[8]||r==(it|ot)&&n[7].length<=n[8]&&e==tt;if(!o&&!a)return t;r&J&&(t[2]=n[2],i|=e&J?0:Q);var u=n[3];if(u){var s=t[3];t[3]=s?Gr(s,u,n[4]):u,t[4]=s?I(t[3],X):n[4]}return u=n[5],u&&(s=t[5],t[5]=s?Zr(s,u,n[6]):u,t[6]=s?I(t[5],X):n[6]),u=n[7],u&&(t[7]=u),r&it&&(t[8]=null==t[8]?n[8]:Il(t[8],n[8])),null==t[9]&&(t[9]=n[9]),t[0]=n[0],t[1]=i,t}function Xi(t,n,e,r,i,o){return su(t)&&su(n)&&ar(t,n,W,Xi,o.set(n,t)),t}function Ji(t,n){return 1==n.length?t:qe(t,br(n,0,-1))}function Ki(t,n){for(var e=t.length,r=Il(n.length,e),i=Xr(t);r--;){var o=n[r];t[r]=qi(o,e)?i[o]:W}return t}function Qi(t){if("string"==typeof t||Cu(t))return t;var n=t+"";return"0"==n&&1/t==-gt?"-0":n}function to(t){if(null!=t){try{return pl.call(t)}catch(n){}try{return t+""}catch(n){}}return""}function no(t){if(t instanceof Tn)return t.clone();var n=new On(t.__wrapped__,t.__chain__);return n.__actions__=Xr(t.__actions__),n.__index__=t.__index__,n.__values__=t.__values__,n}function eo(t,n,e){n=(e?zi(t,n,e):n===W)?1:Fl(Eu(n),0);var r=t?t.length:0;if(!r||n<1)return[];for(var i=0,o=0,a=Array(Tl(r/n));i<r;)a[o++]=br(t,i,i+=n);return a}function ro(t){for(var n=-1,e=t?t.length:0,r=0,i=[];++n<e;){var o=t[n];o&&(i[r++]=o)}return i}function io(){var t=arguments.length,n=qa(arguments[0]);if(t<2)return t?Xr(n):[];for(var e=Array(t-1);t--;)e[t-1]=arguments[t];return i(n,je(e,1))}function oo(t,n,e){var r=t?t.length:0;return r?(n=e||n===W?1:Eu(n),br(t,n<0?0:n,r)):[]}function ao(t,n,e){var r=t?t.length:0;return r?(n=e||n===W?1:Eu(n),n=r-n,br(t,0,n<0?0:n)):[]}function uo(t,n){return t&&t.length?Pr(t,_i(n,3),!0,!0):[]}function so(t,n){return t&&t.length?Pr(t,_i(n,3),!0):[]}function lo(t,n,e,r){var i=t?t.length:0;return i?(e&&"number"!=typeof e&&zi(t,n,e)&&(e=0,r=i),Le(t,n,e,r)):[]}function co(t,n){return t&&t.length?m(t,_i(n,3)):-1}function fo(t,n){return t&&t.length?m(t,_i(n,3),!0):-1}function ho(t){var n=t?t.length:0;return n?je(t,1):[]}function po(t){var n=t?t.length:0;return n?je(t,gt):[]}function vo(t,n){var e=t?t.length:0;return e?(n=n===W?1:Eu(n),je(t,n)):[]}function go(t){for(var n=-1,e=t?t.length:0,r={};++n<e;){var i=t[n];r[i[0]]=i[1]}return r}function mo(t){return t&&t.length?t[0]:W}function yo(t,n,e){var r=t?t.length:0;return r?(e=Eu(e),e<0&&(e=Fl(r+e,0)),y(t,n,e)):-1}function $o(t){return ao(t,1)}function bo(t,n){return t?Rl.call(t,n):""}function xo(t){var n=t?t.length:0;return n?t[n-1]:W}function wo(t,n,e){var r=t?t.length:0;if(!r)return-1;var i=r;if(e!==W&&(i=Eu(e),i=(i<0?Fl(r+i,0):Il(i,r-1))+1),n!==n)return j(t,i,!0);for(;i--;)if(t[i]===n)return i;return-1}function Co(t,n){return t&&t.length?sr(t,Eu(n)):W}function So(t,n){return t&&t.length&&n&&n.length?dr(t,n):t}function Mo(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,_i(e)):t}function _o(t,n,e){return t&&t.length&&n&&n.length?dr(t,n,W,e):t}function ko(t,n){var e=[];if(!t||!t.length)return e;var r=-1,i=[],o=t.length;for(n=_i(n,3);++r<o;){var a=t[r];n(a,r,t)&&(e.push(a),i.push(r))}return vr(t,i),e}function Ao(t){return t?Bl.call(t):t}function Eo(t,n,e){var r=t?t.length:0;return r?(e&&"number"!=typeof e&&zi(t,n,e)?(n=0,e=r):(n=null==n?0:Eu(n),e=e===W?r:Eu(e)),br(t,n,e)):[]}function Po(t,n){return wr(t,n)}function Oo(t,n,e){return Cr(t,n,_i(e))}function To(t,n){var e=t?t.length:0;if(e){var r=wr(t,n);if(r<e&&Ha(t[r],n))return r}return-1}function Lo(t,n){return wr(t,n,!0)}function No(t,n,e){return Cr(t,n,_i(e),!0)}function jo(t,n){var e=t?t.length:0;if(e){var r=wr(t,n,!0)-1;if(Ha(t[r],n))return r}return-1}function Ro(t){return t&&t.length?Sr(t):[]}function Do(t,n){return t&&t.length?Sr(t,_i(n)):[]}function Fo(t){return oo(t,1)}function Io(t,n,e){return t&&t.length?(n=e||n===W?1:Eu(n),br(t,0,n<0?0:n)):[]}function Vo(t,n,e){var r=t?t.length:0;return r?(n=e||n===W?1:Eu(n),n=r-n,br(t,n<0?0:n,r)):[]}function qo(t,n){return t&&t.length?Pr(t,_i(n,3),!1,!0):[]}function zo(t,n){return t&&t.length?Pr(t,_i(n,3)):[]}function Bo(t){return t&&t.length?kr(t):[]}function Uo(t,n){return t&&t.length?kr(t,_i(n)):[]}function Wo(t,n){return t&&t.length?kr(t,W,n):[]}function Ho(t){if(!t||!t.length)return[];var n=0;return t=s(t,function(t){if(Xa(t))return n=Fl(t.length,n),!0}),S(n,function(n){return f(t,hr(n))})}function Yo(t,n){if(!t||!t.length)return[];var r=Ho(t);return null==n?r:f(r,function(t){return e(n,W,t)})}function Go(t,n){return Lr(t||[],n||[],le)}function Zo(t,n){return Lr(t||[],n||[],$r)}function Xo(t){var n=En(t);return n.__chain__=!0,n}function Jo(t,n){return n(t),t}function Ko(t,n){return n(t)}function Qo(){return Xo(this)}function ta(){return new On(this.value(),this.__chain__)}function na(){this.__values__===W&&(this.__values__=Au(this.value()));var t=this.__index__>=this.__values__.length,n=t?W:this.__values__[this.__index__++];return{done:t,value:n}}function ea(){return this}function ra(t){for(var n,e=this;e instanceof Pn;){var r=no(e);r.__index__=0,r.__values__=W,n?i.__wrapped__=r:n=r;var i=r;e=e.__wrapped__}return i.__wrapped__=t,n}function ia(){var t=this.__wrapped__;if(t instanceof Tn){var n=t;return this.__actions__.length&&(n=new Tn(this)),n=n.reverse(),n.__actions__.push({func:Ko,args:[Ao],thisArg:W}),new On(n,this.__chain__)}return this.thru(Ao)}function oa(){return Or(this.__wrapped__,this.__actions__)}function aa(t,n,e){var r=tf(t)?u:Pe;return e&&zi(t,n,e)&&(n=W),r(t,_i(n,3))}function ua(t,n){var e=tf(t)?s:Ne;return e(t,_i(n,3))}function sa(t,n){if(n=_i(n,3),tf(t)){var e=m(t,n);return e>-1?t[e]:W}return g(t,n,sc)}function la(t,n){if(n=_i(n,3),tf(t)){var e=m(t,n,!0);return e>-1?t[e]:W}return g(t,n,lc)}function ca(t,n){return je(ga(t,n),1)}function fa(t,n){return je(ga(t,n),gt)}function ha(t,n,e){return e=e===W?1:Eu(e),je(ga(t,n),e)}function pa(t,n){return"function"==typeof n&&tf(t)?o(t,n):sc(t,_i(n))}function da(t,n){return"function"==typeof n&&tf(t)?a(t,n):lc(t,_i(n))}function va(t,n,e,r){t=Za(t)?t:ss(t),e=e&&!r?Eu(e):0;var i=t.length;return e<0&&(e=Fl(i+e,0)),wu(t)?e<=i&&t.indexOf(n,e)>-1:!!i&&y(t,n,e)>-1}function ga(t,n){var e=tf(t)?f:rr;return e(t,_i(n,3))}function ma(t,n,e,r){return null==t?[]:(tf(n)||(n=null==n?[]:[n]),e=r?W:e,tf(e)||(e=null==e?[]:[e]),lr(t,n,e))}function ya(t,n,e){var r=tf(t)?p:x,i=arguments.length<3;return r(t,_i(n,4),e,i,sc)}function $a(t,n,e){var r=tf(t)?d:x,i=arguments.length<3;return r(t,_i(n,4),e,i,lc)}function ba(t,n){var e=tf(t)?s:Ne;return n=_i(n,3),e(t,function(t,e,r){return!n(t,e,r)})}function xa(t){var n=Za(t)?t:ss(t),e=n.length;return e>0?n[gr(0,e-1)]:W}function wa(t,n,e){var r=-1,i=Au(t),o=i.length,a=o-1;for(n=(e?zi(t,n,e):n===W)?1:we(Eu(n),0,o);++r<n;){var u=gr(r,a),s=i[u];i[u]=i[r],i[r]=s}return i.length=n,i}function Ca(t){return wa(t,bt)}function Sa(t){if(null==t)return 0;if(Za(t)){var n=t.length;return n&&wu(t)?q(t):n}if(lu(t)){var e=Ti(t);if(e==Pt||e==jt)return t.size}return Yu(t).length}function Ma(t,n,e){var r=tf(t)?v:xr;return e&&zi(t,n,e)&&(n=W),r(t,_i(n,3))}function _a(t,n){if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){if(--t<1)return n.apply(this,arguments)}}function ka(t,n,e){return n=e?W:n,n=t&&null==n?t.length:n,$i(t,it,W,W,W,W,n)}function Aa(t,n){var e;if("function"!=typeof n)throw new ll(G);return t=Eu(t),function(){return--t>0&&(e=n.apply(this,arguments)),t<=1&&(n=W),e}}function Ea(t,n,e){n=e?W:n;var r=$i(t,tt,W,W,W,W,W,n);return r.placeholder=Ea.placeholder,r}function Pa(t,n,e){n=e?W:n;var r=$i(t,nt,W,W,W,W,W,n);return r.placeholder=Pa.placeholder,r}function Oa(t,n,e){function r(n){var e=h,r=p;return h=p=W,y=n,v=t.apply(r,e)}function i(t){return y=t,g=Pl(u,n),$?r(t):v}function o(t){var e=t-m,r=t-y,i=n-e;return b?Il(i,d-r):i}function a(t){var e=t-m,r=t-y;return!m||e>=n||e<0||b&&r>=d}function u(){var t=Bc();return a(t)?s(t):void(g=Pl(u,o(t)))}function s(t){return Sl(g),g=W,x&&h?r(t):(h=p=W,v)}function l(){g!==W&&Sl(g),m=y=0,h=p=g=W}function c(){return g===W?v:s(Bc())}function f(){var t=Bc(),e=a(t);if(h=arguments,p=this,m=t,e){if(g===W)return i(m);if(b)return Sl(g),g=Pl(u,n),r(m)}return g===W&&(g=Pl(u,n)),v}var h,p,d,v,g,m=0,y=0,$=!1,b=!1,x=!0;if("function"!=typeof t)throw new ll(G);return n=Ou(n)||0,su(e)&&($=!!e.leading,b="maxWait"in e,d=b?Fl(Ou(e.maxWait)||0,n):d,x="trailing"in e?!!e.trailing:x),f.cancel=l,f.flush=c,f}function Ta(t){return $i(t,at)}function La(t,n){if("function"!=typeof t||n&&"function"!=typeof n)throw new ll(G);var e=function(){var r=arguments,i=n?n.apply(this,r):r[0],o=e.cache;if(o.has(i))return o.get(i);var a=t.apply(this,r);return e.cache=o.set(i,a),a};return e.cache=new(La.Cache||qn),e}function Na(t){if("function"!=typeof t)throw new ll(G);return function(){return!t.apply(this,arguments)}}function ja(t){return Aa(2,t)}function Ra(t,n){if("function"!=typeof t)throw new ll(G);return n=Fl(n===W?t.length-1:Eu(n),0),function(){for(var r=arguments,i=-1,o=Fl(r.length-n,0),a=Array(o);++i<o;)a[i]=r[n+i];switch(n){case 0:return t.call(this,a);case 1:return t.call(this,r[0],a);case 2:return t.call(this,r[0],r[1],a)}var u=Array(n+1);for(i=-1;++i<n;)u[i]=r[i];return u[n]=a,e(t,this,u)}}function Da(t,n){if("function"!=typeof t)throw new ll(G);return n=n===W?0:Fl(Eu(n),0),Ra(function(r){var i=r[n],o=Dr(r,0,n);return i&&h(o,i),e(t,this,o)})}function Fa(t,n,e){var r=!0,i=!0;if("function"!=typeof t)throw new ll(G);return su(e)&&(r="leading"in e?!!e.leading:r,i="trailing"in e?!!e.trailing:i),Oa(t,n,{leading:r,maxWait:n,trailing:i})}function Ia(t){return ka(t,1)}function Va(t,n){return n=null==n?Fs:n,Zc(n,t)}function qa(){if(!arguments.length)return[];var t=arguments[0];return tf(t)?t:[t]}function za(t){return Ce(t,!1,!0)}function Ba(t,n){return Ce(t,!1,!0,n)}function Ua(t){return Ce(t,!0,!0)}function Wa(t,n){return Ce(t,!0,!0,n)}function Ha(t,n){return t===n||t!==t&&n!==n}function Ya(t){return Xa(t)&&dl.call(t,"callee")&&(!El.call(t,"callee")||ml.call(t)==Ct)}function Ga(t){return lu(t)&&ml.call(t)==Vt}function Za(t){return null!=t&&uu(vc(t))&&!ou(t)}function Xa(t){return lu(t)&&Za(t)}function Ja(t){return t===!0||t===!1||lu(t)&&ml.call(t)==Mt}function Ka(t){return lu(t)&&ml.call(t)==_t}function Qa(t){return!!t&&1===t.nodeType&&lu(t)&&!yu(t)}function tu(t){if(Za(t)&&(tf(t)||wu(t)||ou(t.splice)||Ya(t)||nf(t)))return!t.length;if(lu(t)){var n=Ti(t);if(n==Pt||n==jt)return!t.size}for(var e in t)if(dl.call(t,e))return!1;return!(Kl&&Yu(t).length)}function nu(t,n){return Xe(t,n)}function eu(t,n,e){e="function"==typeof e?e:W;var r=e?e(t,n):W;return r===W?Xe(t,n,e):!!r}function ru(t){return!!lu(t)&&(ml.call(t)==kt||"string"==typeof t.message&&"string"==typeof t.name)}function iu(t){return"number"==typeof t&&jl(t)}function ou(t){var n=su(t)?ml.call(t):"";return n==At||n==Et}function au(t){return"number"==typeof t&&t==Eu(t)}function uu(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=mt}function su(t){var n=typeof t;return!!t&&("object"==n||"function"==n)}function lu(t){return!!t&&"object"==typeof t}function cu(t){return lu(t)&&Ti(t)==Pt}function fu(t,n){return t===n||Ke(t,n,ki(n))}function hu(t,n,e){return e="function"==typeof e?e:W,Ke(t,n,ki(n),e)}function pu(t){return mu(t)&&t!=+t}function du(t){if(!su(t))return!1;var n=ou(t)||R(t)?$l:Cn;return n.test(to(t))}function vu(t){return null===t}function gu(t){return null==t}function mu(t){return"number"==typeof t||lu(t)&&ml.call(t)==Ot}function yu(t){if(!lu(t)||ml.call(t)!=Tt||R(t))return!1;var n=Pi(t);if(null===n)return!0;var e=dl.call(n,"constructor")&&n.constructor;return"function"==typeof e&&e instanceof e&&pl.call(e)==gl}function $u(t){return su(t)&&ml.call(t)==Nt}function bu(t){return au(t)&&t>=-mt&&t<=mt}function xu(t){return lu(t)&&Ti(t)==jt}function wu(t){return"string"==typeof t||!tf(t)&&lu(t)&&ml.call(t)==Rt}function Cu(t){return"symbol"==typeof t||lu(t)&&ml.call(t)==Dt}function Su(t){return lu(t)&&uu(t.length)&&!!be[ml.call(t)]}function Mu(t){return t===W}function _u(t){return lu(t)&&Ti(t)==Ft}function ku(t){return lu(t)&&ml.call(t)==It}function Au(t){if(!t)return[];if(Za(t))return wu(t)?z(t):Xr(t);if(kl&&t[kl])return D(t[kl]());var n=Ti(t),e=n==Pt?F:n==jt?V:ss;return e(t)}function Eu(t){if(!t)return 0===t?t:0;if(t=Ou(t),t===gt||t===-gt){var n=t<0?-1:1;return n*yt}var e=t%1;return t===t?e?t-e:t:0}function Pu(t){return t?we(Eu(t),0,bt):0}function Ou(t){if("number"==typeof t)return t;if(Cu(t))return $t;if(su(t)){var n=ou(t.valueOf)?t.valueOf():t;t=su(n)?n+"":n}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(pn,"");var e=wn.test(t);return e||Sn.test(t)?Ae(t.slice(2),e?2:8):xn.test(t)?$t:+t}function Tu(t){return Jr(t,Gu(t))}function Lu(t){return we(Eu(t),-mt,mt)}function Nu(t){return null==t?"":_r(t)}function ju(t,n){var e=Me(t);return n?fe(e,n):e}function Ru(t,n){return g(t,_i(n,3),Fe,!0)}function Du(t,n){return g(t,_i(n,3),Ie,!0)}function Fu(t,n){return null==t?t:cc(t,_i(n),Gu)}function Iu(t,n){return null==t?t:fc(t,_i(n),Gu)}function Vu(t,n){return t&&Fe(t,_i(n))}function qu(t,n){return t&&Ie(t,_i(n))}function zu(t){return null==t?[]:Ve(t,Yu(t))}function Bu(t){return null==t?[]:Ve(t,Gu(t))}function Uu(t,n,e){var r=null==t?W:qe(t,n);return r===W?e:r}function Wu(t,n){return null!=t&&Ni(t,n,Ue)}function Hu(t,n){return null!=t&&Ni(t,n,We)}function Yu(t){var n=Hi(t);if(!n&&!Za(t))return tr(t);var e=Fi(t),r=!!e,i=e||[],o=i.length;for(var a in t)!Ue(t,a)||r&&("length"==a||qi(a,o))||n&&"constructor"==a||i.push(a);return i}function Gu(t){for(var n=-1,e=Hi(t),r=nr(t),i=r.length,o=Fi(t),a=!!o,u=o||[],s=u.length;++n<i;){var l=r[n];a&&("length"==l||qi(l,s))||"constructor"==l&&(e||!dl.call(t,l))||u.push(l)}return u}function Zu(t,n){var e={};return n=_i(n,3),Fe(t,function(t,r,i){e[n(t,r,i)]=t}),e}function Xu(t,n){var e={};return n=_i(n,3),Fe(t,function(t,r,i){e[r]=n(t,r,i)}),e}function Ju(t,n){return n=_i(n),fr(t,function(t,e){return!n(t,e)})}function Ku(t,n){return null==t?{}:fr(t,_i(n))}function Qu(t,n,e){n=Bi(n,t)?[n]:Rr(n);var r=-1,i=n.length;for(i||(t=W,i=1);++r<i;){var o=null==t?W:t[Qi(n[r])];o===W&&(r=i,o=e),t=ou(o)?o.call(t):o}return t}function ts(t,n,e){return null==t?t:$r(t,n,e)}function ns(t,n,e,r){return r="function"==typeof r?r:W,null==t?t:$r(t,n,e,r)}function es(t){return M(t,Yu(t))}function rs(t){return M(t,Gu(t))}function is(t,n,e){var r=tf(t)||Su(t);if(n=_i(n,4),null==e)if(r||su(t)){var i=t.constructor;e=r?tf(t)?new i:[]:ou(i)?Me(Pi(t)):{}}else e={};return(r?o:Fe)(t,function(t,r,i){return n(e,t,r,i)}),e}function os(t,n){return null==t||Ar(t,n)}function as(t,n,e){return null==t?t:Er(t,n,jr(e))}function us(t,n,e,r){return r="function"==typeof r?r:W,null==t?t:Er(t,n,jr(e),r)}function ss(t){return t?k(t,Yu(t)):[]}function ls(t){return null==t?[]:k(t,Gu(t))}function cs(t,n,e){return e===W&&(e=n,n=W),e!==W&&(e=Ou(e),e=e===e?e:0),n!==W&&(n=Ou(n),n=n===n?n:0),we(Ou(t),n,e)}function fs(t,n,e){return n=Ou(n)||0,e===W?(e=n,n=0):e=Ou(e)||0,t=Ou(t),He(t,n,e)}function hs(t,n,e){if(e&&"boolean"!=typeof e&&zi(t,n,e)&&(n=e=W),e===W&&("boolean"==typeof n?(e=n,n=W):"boolean"==typeof t&&(e=t,t=W)),t===W&&n===W?(t=0,n=1):(t=Ou(t)||0,n===W?(n=t,t=0):n=Ou(n)||0),t>n){var r=t;t=n,n=r}if(e||t%1||n%1){var i=ql();return Il(t+i*(n-t+ke("1e-"+((i+"").length-1))),n)}return gr(t,n)}function ps(t){return _f(Nu(t).toLowerCase())}function ds(t){return t=Nu(t),t&&t.replace(_n,T).replace(pe,"")}function vs(t,n,e){t=Nu(t),n=_r(n);var r=t.length;return e=e===W?r:we(Eu(e),0,r),e-=n.length,e>=0&&t.indexOf(n,e)==e}function gs(t){return t=Nu(t),t&&rn.test(t)?t.replace(nn,L):t}function ms(t){return t=Nu(t),t&&hn.test(t)?t.replace(fn,"\\$&"):t}function ys(t,n,e){t=Nu(t),n=Eu(n);var r=n?q(t):0;if(!n||r>=n)return t;var i=(n-r)/2;return pi(Ll(i),e)+t+pi(Tl(i),e)}function $s(t,n,e){t=Nu(t),n=Eu(n);var r=n?q(t):0;return n&&r<n?t+pi(n-r,e):t}function bs(t,n,e){t=Nu(t),n=Eu(n);var r=n?q(t):0;return n&&r<n?pi(n-r,e)+t:t}function xs(t,n,e){return e||null==n?n=0:n&&(n=+n),t=Nu(t).replace(pn,""),Vl(t,n||(bn.test(t)?16:10))}function ws(t,n,e){return n=(e?zi(t,n,e):n===W)?1:Eu(n),yr(Nu(t),n)}function Cs(){var t=arguments,n=Nu(t[0]);return t.length<3?n:zl.call(n,t[1],t[2])}function Ss(t,n,e){return e&&"number"!=typeof e&&zi(t,n,e)&&(n=e=W),(e=e===W?bt:e>>>0)?(t=Nu(t),t&&("string"==typeof n||null!=n&&!$u(n))&&(n=_r(n),""==n&&ge.test(t))?Dr(z(t),0,e):Ul.call(t,n,e)):[]}function Ms(t,n,e){return t=Nu(t),e=we(Eu(e),0,t.length),t.lastIndexOf(_r(n),e)==e}function _s(t,n,e){var r=En.templateSettings;e&&zi(t,n,e)&&(n=W),t=Nu(t),n=uf({},n,r,ue);var i,o,a=uf({},n.imports,r.imports,ue),u=Yu(a),s=k(a,u),l=0,c=n.interpolate||kn,f="__p += '",h=sl((n.escape||kn).source+"|"+c.source+"|"+(c===un?yn:kn).source+"|"+(n.evaluate||kn).source+"|$","g"),p="//# sourceURL="+("sourceURL"in n?n.sourceURL:"lodash.templateSources["+ ++$e+"]")+"\n";t.replace(h,function(n,e,r,a,u,s){return r||(r=a),f+=t.slice(l,s).replace(An,N),e&&(i=!0,f+="' +\n__e("+e+") +\n'"),u&&(o=!0,f+="';\n"+u+";\n__p += '"),r&&(f+="' +\n((__t = ("+r+")) == null ? '' : __t) +\n'"),l=s+n.length,n}),f+="';\n";var d=n.variable;d||(f="with (obj) {\n"+f+"\n}\n"),f=(o?f.replace(Jt,""):f).replace(Kt,"$1").replace(Qt,"$1;"),f="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var v=kf(function(){return Function(u,p+"return "+f).apply(W,s)});if(v.source=f,ru(v))throw v;return v}function ks(t){return Nu(t).toLowerCase()}function As(t){return Nu(t).toUpperCase()}function Es(t,n,e){if(t=Nu(t),t&&(e||n===W))return t.replace(pn,"");if(!t||!(n=_r(n)))return t;var r=z(t),i=z(n),o=A(r,i),a=E(r,i)+1;return Dr(r,o,a).join("")}function Ps(t,n,e){if(t=Nu(t),t&&(e||n===W))return t.replace(vn,"");if(!t||!(n=_r(n)))return t;var r=z(t),i=E(r,z(n))+1;return Dr(r,0,i).join("")}function Os(t,n,e){if(t=Nu(t),t&&(e||n===W))return t.replace(dn,"");if(!t||!(n=_r(n)))return t;var r=z(t),i=A(r,z(n));return Dr(r,i).join("")}function Ts(t,n){var e=lt,r=ct;if(su(n)){var i="separator"in n?n.separator:i;e="length"in n?Eu(n.length):e,r="omission"in n?_r(n.omission):r}t=Nu(t);var o=t.length;if(ge.test(t)){var a=z(t);o=a.length}if(e>=o)return t;var u=e-q(r);if(u<1)return r;var s=a?Dr(a,0,u).join(""):t.slice(0,u);if(i===W)return s+r;if(a&&(u+=s.length-u),$u(i)){if(t.slice(u).search(i)){var l,c=s;for(i.global||(i=sl(i.source,Nu($n.exec(i))+"g")),i.lastIndex=0;l=i.exec(c);)var f=l.index;s=s.slice(0,f===W?u:f)}}else if(t.indexOf(_r(i),u)!=u){var h=s.lastIndexOf(i);h>-1&&(s=s.slice(0,h))}return s+r}function Ls(t){return t=Nu(t),t&&en.test(t)?t.replace(tn,B):t}function Ns(t,n,e){return t=Nu(t),n=e?W:n,n===W&&(n=me.test(t)?ve:gn),t.match(n)||[]}function js(t){var n=t?t.length:0,r=_i();return t=n?f(t,function(t){if("function"!=typeof t[1])throw new ll(G);return[r(t[0]),t[1]]}):[],Ra(function(r){for(var i=-1;++i<n;){var o=t[i];if(e(o[0],this,r))return e(o[1],this,r)}})}function Rs(t){return Se(Ce(t,!0))}function Ds(t){return function(){return t}}function Fs(t){return t}function Is(t){return Qe("function"==typeof t?t:Ce(t,!0))}function Vs(t){return ir(Ce(t,!0))}function qs(t,n){return or(t,Ce(n,!0))}function zs(t,n,e){var r=Yu(n),i=Ve(n,r);null!=e||su(n)&&(i.length||!r.length)||(e=n,n=t,t=this,i=Ve(n,Yu(n)));var a=!(su(e)&&"chain"in e&&!e.chain),u=ou(t);return o(i,function(e){var r=n[e];t[e]=r,u&&(t.prototype[e]=function(){var n=this.__chain__;if(a||n){var e=t(this.__wrapped__),i=e.__actions__=Xr(this.__actions__);return i.push({func:r,args:arguments,thisArg:t}),e.__chain__=n,e}return r.apply(t,h([this.value()],arguments))})}),t}function Bs(){return Re._===this&&(Re._=yl),this}function Us(){}function Ws(t){return t=Eu(t),Ra(function(n){return sr(n,t)})}function Hs(t){return Bi(t)?hr(Qi(t)):pr(t)}function Ys(t){return function(n){return null==t?W:qe(t,n)}}function Gs(t,n){if(t=Eu(t),t<1||t>mt)return[];var e=bt,r=Il(t,bt);n=_i(n),t-=bt;for(var i=S(r,n);++e<t;)n(e);return i}function Zs(t){return tf(t)?f(t,Qi):Cu(t)?[t]:Xr(yc(t))}function Xs(t){var n=++vl;return Nu(t)+n}function Js(t){return t&&t.length?Te(t,Fs,Be):W}function Ks(t,n){return t&&t.length?Te(t,_i(n),Be):W}function Qs(t){return b(t,Fs)}function tl(t,n){return b(t,_i(n))}function nl(t){return t&&t.length?Te(t,Fs,er):W}function el(t,n){return t&&t.length?Te(t,_i(n),er):W}function rl(t){return t&&t.length?C(t,Fs):0}function il(t,n){return t&&t.length?C(t,_i(n)):0}P=P?De.defaults({},P,De.pick(Re,ye)):Re;var ol=P.Date,al=P.Error,ul=P.Math,sl=P.RegExp,ll=P.TypeError,cl=P.Array.prototype,fl=P.Object.prototype,hl=P.String.prototype,pl=P.Function.prototype.toString,dl=fl.hasOwnProperty,vl=0,gl=pl.call(Object),ml=fl.toString,yl=Re._,$l=sl("^"+pl.call(dl).replace(fn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),bl=Oe?P.Buffer:W,xl=P.Reflect,wl=P.Symbol,Cl=P.Uint8Array,Sl=P.clearTimeout,Ml=xl?xl.enumerate:W,_l=Object.getOwnPropertySymbols,kl="symbol"==typeof(kl=wl&&wl.iterator)?kl:W,Al=Object.create,El=fl.propertyIsEnumerable,Pl=P.setTimeout,Ol=cl.splice,Tl=ul.ceil,Ll=ul.floor,Nl=Object.getPrototypeOf,jl=P.isFinite,Rl=cl.join,Dl=Object.keys,Fl=ul.max,Il=ul.min,Vl=P.parseInt,ql=ul.random,zl=hl.replace,Bl=cl.reverse,Ul=hl.split,Wl=Ai(P,"DataView"),Hl=Ai(P,"Map"),Yl=Ai(P,"Promise"),Gl=Ai(P,"Set"),Zl=Ai(P,"WeakMap"),Xl=Ai(Object,"create"),Jl=Zl&&new Zl,Kl=!El.call({valueOf:1},"valueOf"),Ql={},tc=to(Wl),nc=to(Hl),ec=to(Yl),rc=to(Gl),ic=to(Zl),oc=wl?wl.prototype:W,ac=oc?oc.valueOf:W,uc=oc?oc.toString:W;En.templateSettings={escape:on,evaluate:an,interpolate:un,variable:"",imports:{_:En}},En.prototype=Pn.prototype,En.prototype.constructor=En,On.prototype=Me(Pn.prototype),On.prototype.constructor=On,Tn.prototype=Me(Pn.prototype),Tn.prototype.constructor=Tn,Rn.prototype=Xl?Xl(null):fl,qn.prototype.clear=zn,qn.prototype["delete"]=Bn,qn.prototype.get=Un,qn.prototype.has=Wn,qn.prototype.set=Hn,Yn.prototype.push=Zn,Xn.prototype.clear=Jn,Xn.prototype["delete"]=Kn,Xn.prototype.get=Qn,Xn.prototype.has=te,Xn.prototype.set=ne;var sc=ni(Fe),lc=ni(Ie,!0),cc=ei(),fc=ei(!0);Ml&&!El.call({valueOf:1},"valueOf")&&(nr=function(t){return D(Ml(t))});var hc=Jl?function(t,n){return Jl.set(t,n),t}:Fs,pc=Gl&&1/V(new Gl([,-0]))[1]==gt?function(t){return new Gl(t)}:Us,dc=Jl?function(t){return Jl.get(t)}:Us,vc=hr("length");_l||(Oi=function(){return[]});var gc=_l?function(t){for(var n=[];t;)h(n,Oi(t)),t=Pi(t);return n}:Oi;(Wl&&Ti(new Wl(new ArrayBuffer(1)))!=qt||Hl&&Ti(new Hl)!=Pt||Yl&&Ti(Yl.resolve())!=Lt||Gl&&Ti(new Gl)!=jt||Zl&&Ti(new Zl)!=Ft)&&(Ti=function(t){var n=ml.call(t),e=n==Tt?t.constructor:W,r=e?to(e):W;if(r)switch(r){case tc:return qt;case nc:return Pt;case ec:return Lt;case rc:return jt;case ic:return Ft}return n});var mc=function(){var t=0,n=0;return function(e,r){var i=Bc(),o=ht-(i-n);if(n=i,o>0){if(++t>=ft)return e}else t=0;return hc(e,r)}}(),yc=La(function(t){var n=[];return Nu(t).replace(cn,function(t,e,r,i){n.push(r?i.replace(mn,"$1"):e||t)}),n}),$c=Ra(function(t,n){return Xa(t)?Ee(t,je(n,1,Xa,!0)):[]}),bc=Ra(function(t,n){var e=xo(n);return Xa(e)&&(e=W),Xa(t)?Ee(t,je(n,1,Xa,!0),_i(e)):[]}),xc=Ra(function(t,n){var e=xo(n);return Xa(e)&&(e=W),Xa(t)?Ee(t,je(n,1,Xa,!0),W,e):[]}),wc=Ra(function(t){var n=f(t,Nr);return n.length&&n[0]===t[0]?Ye(n):[]}),Cc=Ra(function(t){var n=xo(t),e=f(t,Nr);return n===xo(e)?n=W:e.pop(),e.length&&e[0]===t[0]?Ye(e,_i(n)):[]}),Sc=Ra(function(t){var n=xo(t),e=f(t,Nr);return n===xo(e)?n=W:e.pop(),e.length&&e[0]===t[0]?Ye(e,W,n):[]}),Mc=Ra(So),_c=Ra(function(t,n){n=je(n,1);var e=t?t.length:0,r=de(t,n);return vr(t,f(n,function(t){return qi(t,e)?+t:t}).sort(Hr)),r}),kc=Ra(function(t){return kr(je(t,1,Xa,!0))}),Ac=Ra(function(t){var n=xo(t);return Xa(n)&&(n=W),kr(je(t,1,Xa,!0),_i(n))}),Ec=Ra(function(t){var n=xo(t);return Xa(n)&&(n=W),kr(je(t,1,Xa,!0),W,n)}),Pc=Ra(function(t,n){return Xa(t)?Ee(t,n):[]}),Oc=Ra(function(t){return Tr(s(t,Xa))}),Tc=Ra(function(t){var n=xo(t);return Xa(n)&&(n=W),Tr(s(t,Xa),_i(n))}),Lc=Ra(function(t){var n=xo(t);return Xa(n)&&(n=W),Tr(s(t,Xa),W,n)}),Nc=Ra(Ho),jc=Ra(function(t){var n=t.length,e=n>1?t[n-1]:W;return e="function"==typeof e?(t.pop(),e):W,Yo(t,e)}),Rc=Ra(function(t){t=je(t,1);var n=t.length,e=n?t[0]:0,r=this.__wrapped__,i=function(n){return de(n,t)};return!(n>1||this.__actions__.length)&&r instanceof Tn&&qi(e)?(r=r.slice(e,+e+(n?1:0)),r.__actions__.push({func:Ko,args:[i],thisArg:W}),new On(r,this.__chain__).thru(function(t){return n&&!t.length&&t.push(W),t})):this.thru(i)}),Dc=Qr(function(t,n,e){dl.call(t,e)?++t[e]:t[e]=1}),Fc=Qr(function(t,n,e){dl.call(t,e)?t[e].push(n):t[e]=[n]}),Ic=Ra(function(t,n,r){var i=-1,o="function"==typeof n,a=Bi(n),u=Za(t)?Array(t.length):[];return sc(t,function(t){var s=o?n:a&&null!=t?t[n]:W;u[++i]=s?e(s,t,r):Ze(t,n,r)}),u}),Vc=Qr(function(t,n,e){t[e]=n}),qc=Qr(function(t,n,e){t[e?0:1].push(n)},function(){return[[],[]]}),zc=Ra(function(t,n){if(null==t)return[];var e=n.length;return e>1&&zi(t,n[0],n[1])?n=[]:e>2&&zi(n[0],n[1],n[2])&&(n=[n[0]]),n=1==n.length&&tf(n[0])?n[0]:je(n,1,Vi),lr(t,n,[])}),Bc=ol.now,Uc=Ra(function(t,n,e){var r=J;if(e.length){var i=I(e,Ei(Uc));r|=et}return $i(t,r,n,e,i)}),Wc=Ra(function(t,n,e){var r=J|K;if(e.length){var i=I(e,Ei(Wc));r|=et}return $i(n,r,t,e,i)}),Hc=Ra(function(t,n){return _e(t,1,n)}),Yc=Ra(function(t,n,e){return _e(t,Ou(n)||0,e)});La.Cache=qn;var Gc=Ra(function(t,n){n=1==n.length&&tf(n[0])?f(n[0],_(_i())):f(je(n,1,Vi),_(_i()));var r=n.length;return Ra(function(i){for(var o=-1,a=Il(i.length,r);++o<a;)i[o]=n[o].call(this,i[o]);return e(t,this,i)})}),Zc=Ra(function(t,n){var e=I(n,Ei(Zc));return $i(t,et,W,n,e)}),Xc=Ra(function(t,n){var e=I(n,Ei(Xc));return $i(t,rt,W,n,e)}),Jc=Ra(function(t,n){return $i(t,ot,W,W,W,je(n,1))}),Kc=gi(Be),Qc=gi(function(t,n){return t>=n}),tf=Array.isArray,nf=bl?function(t){return t instanceof bl}:Ds(!1),ef=gi(er),rf=gi(function(t,n){return t<=n}),of=ti(function(t,n){if(Kl||Hi(n)||Za(n))return void Jr(n,Yu(n),t);for(var e in n)dl.call(n,e)&&le(t,e,n[e])}),af=ti(function(t,n){if(Kl||Hi(n)||Za(n))return void Jr(n,Gu(n),t);for(var e in n)le(t,e,n[e])}),uf=ti(function(t,n,e,r){Jr(n,Gu(n),t,r)}),sf=ti(function(t,n,e,r){Jr(n,Yu(n),t,r)}),lf=Ra(function(t,n){return de(t,je(n,1))}),cf=Ra(function(t){return t.push(W,ue),e(uf,W,t)}),ff=Ra(function(t){return t.push(W,Xi),e(gf,W,t)}),hf=ci(function(t,n,e){t[n]=e},Ds(Fs)),pf=ci(function(t,n,e){dl.call(t,n)?t[n].push(e):t[n]=[e]},_i),df=Ra(Ze),vf=ti(function(t,n,e){ar(t,n,e)}),gf=ti(function(t,n,e,r){ar(t,n,e,r)}),mf=Ra(function(t,n){return null==t?{}:(n=f(je(n,1),Qi),cr(t,Ee(Si(t),n)))}),yf=Ra(function(t,n){return null==t?{}:cr(t,f(je(n,1),Qi))}),$f=oi(function(t,n,e){return n=n.toLowerCase(),t+(e?ps(n):n)}),bf=oi(function(t,n,e){return t+(e?"-":"")+n.toLowerCase()}),xf=oi(function(t,n,e){return t+(e?" ":"")+n.toLowerCase()}),wf=ii("toLowerCase"),Cf=oi(function(t,n,e){return t+(e?"_":"")+n.toLowerCase()}),Sf=oi(function(t,n,e){return t+(e?" ":"")+_f(n)}),Mf=oi(function(t,n,e){return t+(e?" ":"")+n.toUpperCase()}),_f=ii("toUpperCase"),kf=Ra(function(t,n){try{return e(t,W,n)}catch(r){return ru(r)?r:new al(r)}}),Af=Ra(function(t,n){return o(je(n,1),function(n){n=Qi(n),t[n]=Uc(t[n],t)}),t}),Ef=si(),Pf=si(!0),Of=Ra(function(t,n){return function(e){return Ze(e,t,n)}}),Tf=Ra(function(t,n){return function(e){return Ze(t,e,n)}}),Lf=hi(f),Nf=hi(u),jf=hi(v),Rf=vi(),Df=vi(!0),Ff=fi(function(t,n){return t+n}),If=yi("ceil"),Vf=fi(function(t,n){return t/n}),qf=yi("floor"),zf=fi(function(t,n){return t*n}),Bf=yi("round"),Uf=fi(function(t,n){return t-n});return En.after=_a,En.ary=ka,En.assign=of,En.assignIn=af,En.assignInWith=uf,En.assignWith=sf,En.at=lf,En.before=Aa,En.bind=Uc,En.bindAll=Af,En.bindKey=Wc,En.castArray=qa,En.chain=Xo,En.chunk=eo,En.compact=ro,En.concat=io,En.cond=js,En.conforms=Rs,En.constant=Ds,
+En.countBy=Dc,En.create=ju,En.curry=Ea,En.curryRight=Pa,En.debounce=Oa,En.defaults=cf,En.defaultsDeep=ff,En.defer=Hc,En.delay=Yc,En.difference=$c,En.differenceBy=bc,En.differenceWith=xc,En.drop=oo,En.dropRight=ao,En.dropRightWhile=uo,En.dropWhile=so,En.fill=lo,En.filter=ua,En.flatMap=ca,En.flatMapDeep=fa,En.flatMapDepth=ha,En.flatten=ho,En.flattenDeep=po,En.flattenDepth=vo,En.flip=Ta,En.flow=Ef,En.flowRight=Pf,En.fromPairs=go,En.functions=zu,En.functionsIn=Bu,En.groupBy=Fc,En.initial=$o,En.intersection=wc,En.intersectionBy=Cc,En.intersectionWith=Sc,En.invert=hf,En.invertBy=pf,En.invokeMap=Ic,En.iteratee=Is,En.keyBy=Vc,En.keys=Yu,En.keysIn=Gu,En.map=ga,En.mapKeys=Zu,En.mapValues=Xu,En.matches=Vs,En.matchesProperty=qs,En.memoize=La,En.merge=vf,En.mergeWith=gf,En.method=Of,En.methodOf=Tf,En.mixin=zs,En.negate=Na,En.nthArg=Ws,En.omit=mf,En.omitBy=Ju,En.once=ja,En.orderBy=ma,En.over=Lf,En.overArgs=Gc,En.overEvery=Nf,En.overSome=jf,En.partial=Zc,En.partialRight=Xc,En.partition=qc,En.pick=yf,En.pickBy=Ku,En.property=Hs,En.propertyOf=Ys,En.pull=Mc,En.pullAll=So,En.pullAllBy=Mo,En.pullAllWith=_o,En.pullAt=_c,En.range=Rf,En.rangeRight=Df,En.rearg=Jc,En.reject=ba,En.remove=ko,En.rest=Ra,En.reverse=Ao,En.sampleSize=wa,En.set=ts,En.setWith=ns,En.shuffle=Ca,En.slice=Eo,En.sortBy=zc,En.sortedUniq=Ro,En.sortedUniqBy=Do,En.split=Ss,En.spread=Da,En.tail=Fo,En.take=Io,En.takeRight=Vo,En.takeRightWhile=qo,En.takeWhile=zo,En.tap=Jo,En.throttle=Fa,En.thru=Ko,En.toArray=Au,En.toPairs=es,En.toPairsIn=rs,En.toPath=Zs,En.toPlainObject=Tu,En.transform=is,En.unary=Ia,En.union=kc,En.unionBy=Ac,En.unionWith=Ec,En.uniq=Bo,En.uniqBy=Uo,En.uniqWith=Wo,En.unset=os,En.unzip=Ho,En.unzipWith=Yo,En.update=as,En.updateWith=us,En.values=ss,En.valuesIn=ls,En.without=Pc,En.words=Ns,En.wrap=Va,En.xor=Oc,En.xorBy=Tc,En.xorWith=Lc,En.zip=Nc,En.zipObject=Go,En.zipObjectDeep=Zo,En.zipWith=jc,En.entries=es,En.entriesIn=rs,En.extend=af,En.extendWith=uf,zs(En,En),En.add=Ff,En.attempt=kf,En.camelCase=$f,En.capitalize=ps,En.ceil=If,En.clamp=cs,En.clone=za,En.cloneDeep=Ua,En.cloneDeepWith=Wa,En.cloneWith=Ba,En.deburr=ds,En.divide=Vf,En.endsWith=vs,En.eq=Ha,En.escape=gs,En.escapeRegExp=ms,En.every=aa,En.find=sa,En.findIndex=co,En.findKey=Ru,En.findLast=la,En.findLastIndex=fo,En.findLastKey=Du,En.floor=qf,En.forEach=pa,En.forEachRight=da,En.forIn=Fu,En.forInRight=Iu,En.forOwn=Vu,En.forOwnRight=qu,En.get=Uu,En.gt=Kc,En.gte=Qc,En.has=Wu,En.hasIn=Hu,En.head=mo,En.identity=Fs,En.includes=va,En.indexOf=yo,En.inRange=fs,En.invoke=df,En.isArguments=Ya,En.isArray=tf,En.isArrayBuffer=Ga,En.isArrayLike=Za,En.isArrayLikeObject=Xa,En.isBoolean=Ja,En.isBuffer=nf,En.isDate=Ka,En.isElement=Qa,En.isEmpty=tu,En.isEqual=nu,En.isEqualWith=eu,En.isError=ru,En.isFinite=iu,En.isFunction=ou,En.isInteger=au,En.isLength=uu,En.isMap=cu,En.isMatch=fu,En.isMatchWith=hu,En.isNaN=pu,En.isNative=du,En.isNil=gu,En.isNull=vu,En.isNumber=mu,En.isObject=su,En.isObjectLike=lu,En.isPlainObject=yu,En.isRegExp=$u,En.isSafeInteger=bu,En.isSet=xu,En.isString=wu,En.isSymbol=Cu,En.isTypedArray=Su,En.isUndefined=Mu,En.isWeakMap=_u,En.isWeakSet=ku,En.join=bo,En.kebabCase=bf,En.last=xo,En.lastIndexOf=wo,En.lowerCase=xf,En.lowerFirst=wf,En.lt=ef,En.lte=rf,En.max=Js,En.maxBy=Ks,En.mean=Qs,En.meanBy=tl,En.min=nl,En.minBy=el,En.multiply=zf,En.nth=Co,En.noConflict=Bs,En.noop=Us,En.now=Bc,En.pad=ys,En.padEnd=$s,En.padStart=bs,En.parseInt=xs,En.random=hs,En.reduce=ya,En.reduceRight=$a,En.repeat=ws,En.replace=Cs,En.result=Qu,En.round=Bf,En.runInContext=U,En.sample=xa,En.size=Sa,En.snakeCase=Cf,En.some=Ma,En.sortedIndex=Po,En.sortedIndexBy=Oo,En.sortedIndexOf=To,En.sortedLastIndex=Lo,En.sortedLastIndexBy=No,En.sortedLastIndexOf=jo,En.startCase=Sf,En.startsWith=Ms,En.subtract=Uf,En.sum=rl,En.sumBy=il,En.template=_s,En.times=Gs,En.toInteger=Eu,En.toLength=Pu,En.toLower=ks,En.toNumber=Ou,En.toSafeInteger=Lu,En.toString=Nu,En.toUpper=As,En.trim=Es,En.trimEnd=Ps,En.trimStart=Os,En.truncate=Ts,En.unescape=Ls,En.uniqueId=Xs,En.upperCase=Mf,En.upperFirst=_f,En.each=pa,En.eachRight=da,En.first=mo,zs(En,function(){var t={};return Fe(En,function(n,e){dl.call(En.prototype,e)||(t[e]=n)}),t}(),{chain:!1}),En.VERSION=H,o(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){En[t].placeholder=En}),o(["drop","take"],function(t,n){Tn.prototype[t]=function(e){var r=this.__filtered__;if(r&&!n)return new Tn(this);e=e===W?1:Fl(Eu(e),0);var i=this.clone();return r?i.__takeCount__=Il(e,i.__takeCount__):i.__views__.push({size:Il(e,bt),type:t+(i.__dir__<0?"Right":"")}),i},Tn.prototype[t+"Right"]=function(n){return this.reverse()[t](n).reverse()}}),o(["filter","map","takeWhile"],function(t,n){var e=n+1,r=e==pt||e==vt;Tn.prototype[t]=function(t){var n=this.clone();return n.__iteratees__.push({iteratee:_i(t,3),type:e}),n.__filtered__=n.__filtered__||r,n}}),o(["head","last"],function(t,n){var e="take"+(n?"Right":"");Tn.prototype[t]=function(){return this[e](1).value()[0]}}),o(["initial","tail"],function(t,n){var e="drop"+(n?"":"Right");Tn.prototype[t]=function(){return this.__filtered__?new Tn(this):this[e](1)}}),Tn.prototype.compact=function(){return this.filter(Fs)},Tn.prototype.find=function(t){return this.filter(t).head()},Tn.prototype.findLast=function(t){return this.reverse().find(t)},Tn.prototype.invokeMap=Ra(function(t,n){return"function"==typeof t?new Tn(this):this.map(function(e){return Ze(e,t,n)})}),Tn.prototype.reject=function(t){return t=_i(t,3),this.filter(function(n){return!t(n)})},Tn.prototype.slice=function(t,n){t=Eu(t);var e=this;return e.__filtered__&&(t>0||n<0)?new Tn(e):(t<0?e=e.takeRight(-t):t&&(e=e.drop(t)),n!==W&&(n=Eu(n),e=n<0?e.dropRight(-n):e.take(n-t)),e)},Tn.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},Tn.prototype.toArray=function(){return this.take(bt)},Fe(Tn.prototype,function(t,n){var e=/^(?:filter|find|map|reject)|While$/.test(n),r=/^(?:head|last)$/.test(n),i=En[r?"take"+("last"==n?"Right":""):n],o=r||/^find/.test(n);i&&(En.prototype[n]=function(){var n=this.__wrapped__,a=r?[1]:arguments,u=n instanceof Tn,s=a[0],l=u||tf(n),c=function(t){var n=i.apply(En,h([t],a));return r&&f?n[0]:n};l&&e&&"function"==typeof s&&1!=s.length&&(u=l=!1);var f=this.__chain__,p=!!this.__actions__.length,d=o&&!f,v=u&&!p;if(!o&&l){n=v?n:new Tn(this);var g=t.apply(n,a);return g.__actions__.push({func:Ko,args:[c],thisArg:W}),new On(g,f)}return d&&v?t.apply(this,a):(g=this.thru(c),d?r?g.value()[0]:g.value():g)})}),o(["pop","push","shift","sort","splice","unshift"],function(t){var n=cl[t],e=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",r=/^(?:pop|shift)$/.test(t);En.prototype[t]=function(){var t=arguments;if(r&&!this.__chain__){var i=this.value();return n.apply(tf(i)?i:[],t)}return this[e](function(e){return n.apply(tf(e)?e:[],t)})}}),Fe(Tn.prototype,function(t,n){var e=En[n];if(e){var r=e.name+"",i=Ql[r]||(Ql[r]=[]);i.push({name:n,func:e})}}),Ql[li(W,K).name]=[{name:"wrapper",func:W}],Tn.prototype.clone=Ln,Tn.prototype.reverse=Nn,Tn.prototype.value=jn,En.prototype.at=Rc,En.prototype.chain=Qo,En.prototype.commit=ta,En.prototype.next=na,En.prototype.plant=ra,En.prototype.reverse=ia,En.prototype.toJSON=En.prototype.valueOf=En.prototype.value=oa,kl&&(En.prototype[kl]=ea),En}var W,H="4.11.2",Y=200,G="Expected a function",Z="__lodash_hash_undefined__",X="__lodash_placeholder__",J=1,K=2,Q=4,tt=8,nt=16,et=32,rt=64,it=128,ot=256,at=512,ut=1,st=2,lt=30,ct="...",ft=150,ht=16,pt=1,dt=2,vt=3,gt=1/0,mt=9007199254740991,yt=1.7976931348623157e308,$t=NaN,bt=4294967295,xt=bt-1,wt=bt>>>1,Ct="[object Arguments]",St="[object Array]",Mt="[object Boolean]",_t="[object Date]",kt="[object Error]",At="[object Function]",Et="[object GeneratorFunction]",Pt="[object Map]",Ot="[object Number]",Tt="[object Object]",Lt="[object Promise]",Nt="[object RegExp]",jt="[object Set]",Rt="[object String]",Dt="[object Symbol]",Ft="[object WeakMap]",It="[object WeakSet]",Vt="[object ArrayBuffer]",qt="[object DataView]",zt="[object Float32Array]",Bt="[object Float64Array]",Ut="[object Int8Array]",Wt="[object Int16Array]",Ht="[object Int32Array]",Yt="[object Uint8Array]",Gt="[object Uint8ClampedArray]",Zt="[object Uint16Array]",Xt="[object Uint32Array]",Jt=/\b__p \+= '';/g,Kt=/\b(__p \+=) '' \+/g,Qt=/(__e\(.*?\)|\b__t\)) \+\n'';/g,tn=/&(?:amp|lt|gt|quot|#39|#96);/g,nn=/[&<>"'`]/g,en=RegExp(tn.source),rn=RegExp(nn.source),on=/<%-([\s\S]+?)%>/g,an=/<%([\s\S]+?)%>/g,un=/<%=([\s\S]+?)%>/g,sn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ln=/^\w*$/,cn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]/g,fn=/[\\^$.*+?()[\]{}|]/g,hn=RegExp(fn.source),pn=/^\s+|\s+$/g,dn=/^\s+/,vn=/\s+$/,gn=/[a-zA-Z0-9]+/g,mn=/\\(\\)?/g,yn=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$n=/\w*$/,bn=/^0x/i,xn=/^[-+]0x[0-9a-f]+$/i,wn=/^0b[01]+$/i,Cn=/^\[object .+?Constructor\]$/,Sn=/^0o[0-7]+$/i,Mn=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xde\xdf-\xf6\xf8-\xff]/g,kn=/($^)/,An=/['\n\r\u2028\u2029\\]/g,En="\\ud800-\\udfff",Pn="\\u0300-\\u036f\\ufe20-\\ufe23",On="\\u20d0-\\u20f0",Tn="\\u2700-\\u27bf",Ln="a-z\\xdf-\\xf6\\xf8-\\xff",Nn="\\xac\\xb1\\xd7\\xf7",jn="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Rn="\\u2000-\\u206f",Dn=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fn="A-Z\\xc0-\\xd6\\xd8-\\xde",In="\\ufe0e\\ufe0f",Vn=Nn+jn+Rn+Dn,qn="['’]",zn="["+En+"]",Bn="["+Vn+"]",Un="["+Pn+On+"]",Wn="\\d+",Hn="["+Tn+"]",Yn="["+Ln+"]",Gn="[^"+En+Vn+Wn+Tn+Ln+Fn+"]",Zn="\\ud83c[\\udffb-\\udfff]",Xn="(?:"+Un+"|"+Zn+")",Jn="[^"+En+"]",Kn="(?:\\ud83c[\\udde6-\\uddff]){2}",Qn="[\\ud800-\\udbff][\\udc00-\\udfff]",te="["+Fn+"]",ne="\\u200d",ee="(?:"+Yn+"|"+Gn+")",re="(?:"+te+"|"+Gn+")",ie="(?:"+qn+"(?:d|ll|m|re|s|t|ve))?",oe="(?:"+qn+"(?:D|LL|M|RE|S|T|VE))?",ae=Xn+"?",ue="["+In+"]?",se="(?:"+ne+"(?:"+[Jn,Kn,Qn].join("|")+")"+ue+ae+")*",le=ue+ae+se,ce="(?:"+[Hn,Kn,Qn].join("|")+")"+le,fe="(?:"+[Jn+Un+"?",Un,Kn,Qn,zn].join("|")+")",he=RegExp(qn,"g"),pe=RegExp(Un,"g"),de=RegExp(Zn+"(?="+Zn+")|"+fe+le,"g"),ve=RegExp([te+"?"+Yn+"+"+ie+"(?="+[Bn,te,"$"].join("|")+")",re+"+"+oe+"(?="+[Bn,te+ee,"$"].join("|")+")",te+"?"+ee+"+"+ie,te+"+"+oe,Wn,ce].join("|"),"g"),ge=RegExp("["+ne+En+Pn+On+In+"]"),me=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ye=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","Reflect","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],$e=-1,be={};be[zt]=be[Bt]=be[Ut]=be[Wt]=be[Ht]=be[Yt]=be[Gt]=be[Zt]=be[Xt]=!0,be[Ct]=be[St]=be[Vt]=be[Mt]=be[qt]=be[_t]=be[kt]=be[At]=be[Pt]=be[Ot]=be[Tt]=be[Nt]=be[jt]=be[Rt]=be[Ft]=!1;var xe={};xe[Ct]=xe[St]=xe[Vt]=xe[qt]=xe[Mt]=xe[_t]=xe[zt]=xe[Bt]=xe[Ut]=xe[Wt]=xe[Ht]=xe[Pt]=xe[Ot]=xe[Tt]=xe[Nt]=xe[jt]=xe[Rt]=xe[Dt]=xe[Yt]=xe[Gt]=xe[Zt]=xe[Xt]=!0,xe[kt]=xe[At]=xe[Ft]=!1;var we={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss"},Ce={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},Se={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"},Me={"function":!0,object:!0},_e={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ke=parseFloat,Ae=parseInt,Ee=Me[typeof exports]&&exports&&!exports.nodeType?exports:W,Pe=Me[typeof module]&&module&&!module.nodeType?module:W,Oe=Pe&&Pe.exports===Ee?Ee:W,Te=P(Ee&&Pe&&"object"==typeof global&&global),Le=P(Me[typeof self]&&self),Ne=P(Me[typeof window]&&window),je=P(Me[typeof this]&&this),Re=Te||Ne!==(je&&je.window)&&Ne||Le||je||Function("return this")(),De=U();(Ne||Le||{})._=De,"function"==typeof define&&"object"==typeof define.amd&&define.amd?define(function(){return De}):Ee&&Pe?(Oe&&((Pe.exports=De)._=De),Ee._=De):Re._=De}.call(this),function(){"use strict";var t=this,n=t.Chart,e=function(t){this.canvas=t.canvas,this.ctx=t;var n=function(t,n){return t["offset"+n]?t["offset"+n]:document.defaultView.getComputedStyle(t).getPropertyValue(n)};this.width=n(t.canvas,"Width")||t.canvas.width,this.height=n(t.canvas,"Height")||t.canvas.height;return this.aspectRatio=this.width/this.height,r.retinaScale(this),this};e.defaults={global:{animation:!0,animationSteps:60,animationEasing:"easeOutQuart",showScale:!0,scaleOverride:!1,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:!0,scaleLabel:"<%=value%>",scaleIntegersOnly:!0,scaleBeginAtZero:!1,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:!1,maintainAspectRatio:!0,showTooltips:!0,customTooltips:!1,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= datasetLabel %>: <%= value %>",multiTooltipKeyBackground:"#fff",segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}},e.types={};var r=e.helpers={},i=r.each=function(t,n,e){var r=Array.prototype.slice.call(arguments,3);if(t)if(t.length===+t.length){var i;for(i=0;i<t.length;i++)n.apply(e,[t[i],i].concat(r))}else for(var o in t)n.apply(e,[t[o],o].concat(r))},o=r.clone=function(t){var n={};return i(t,function(e,r){t.hasOwnProperty(r)&&(n[r]=e)}),n},a=r.extend=function(t){return i(Array.prototype.slice.call(arguments,1),function(n){i(n,function(e,r){n.hasOwnProperty(r)&&(t[r]=e)})}),t},u=r.merge=function(t,n){var e=Array.prototype.slice.call(arguments,0);return e.unshift({}),a.apply(null,e)},s=r.indexOf=function(t,n){if(Array.prototype.indexOf)return t.indexOf(n);for(var e=0;e<t.length;e++)if(t[e]===n)return e;return-1},l=(r.where=function(t,n){var e=[];return r.each(t,function(t){n(t)&&e.push(t)}),e},r.findNextWhere=function(t,n,e){e||(e=-1);for(var r=e+1;r<t.length;r++){var i=t[r];if(n(i))return i}},r.findPreviousWhere=function(t,n,e){e||(e=t.length);for(var r=e-1;r>=0;r--){var i=t[r];if(n(i))return i}},r.inherits=function(t){var n=this,e=t&&t.hasOwnProperty("constructor")?t.constructor:function(){return n.apply(this,arguments)},r=function(){this.constructor=e};return r.prototype=n.prototype,e.prototype=new r,e.extend=l,t&&a(e.prototype,t),e.__super__=n.prototype,e}),c=r.noop=function(){},f=r.uid=function(){var t=0;return function(){return"chart-"+t++}}(),h=r.warn=function(t){window.console&&"function"==typeof window.console.warn&&console.warn(t)},p=r.amd="function"==typeof define&&define.amd,d=r.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},v=r.max=function(t){return Math.max.apply(Math,t)},g=r.min=function(t){return Math.min.apply(Math,t)},m=(r.cap=function(t,n,e){if(d(n)){if(t>n)return n}else if(d(e)&&t<e)return e;return t},r.getDecimalPlaces=function(t){if(t%1!==0&&d(t)){var n=t.toString();if(n.indexOf("e-")<0)return n.split(".")[1].length;if(n.indexOf(".")<0)return parseInt(n.split("e-")[1]);var e=n.split(".")[1].split("e-");return e[0].length+parseInt(e[1])}return 0}),y=r.radians=function(t){return t*(Math.PI/180)},$=(r.getAngleFromPoint=function(t,n){var e=n.x-t.x,r=n.y-t.y,i=Math.sqrt(e*e+r*r),o=2*Math.PI+Math.atan2(r,e);return e<0&&r<0&&(o+=2*Math.PI),{angle:o,distance:i}},r.aliasPixel=function(t){return t%2===0?0:.5}),b=(r.splineCurve=function(t,n,e,r){var i=Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2)),o=Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2)),a=r*i/(i+o),u=r*o/(i+o);return{inner:{x:n.x-a*(e.x-t.x),y:n.y-a*(e.y-t.y)},outer:{x:n.x+u*(e.x-t.x),y:n.y+u*(e.y-t.y)}}},r.calculateOrderOfMagnitude=function(t){return Math.floor(Math.log(t)/Math.LN10)}),x=(r.calculateScaleRange=function(t,n,e,r,o){var a=2,u=Math.floor(n/(1.5*e)),s=a>=u,l=[];i(t,function(t){null==t||l.push(t)});var c=g(l),f=v(l);f===c&&(f+=.5,c>=.5&&!r?c-=.5:f+=.5);for(var h=Math.abs(f-c),p=b(h),d=Math.ceil(f/(1*Math.pow(10,p)))*Math.pow(10,p),m=r?0:Math.floor(c/(1*Math.pow(10,p)))*Math.pow(10,p),y=d-m,$=Math.pow(10,p),x=Math.round(y/$);(x>u||2*x<u)&&!s;)if(x>u)$*=2,x=Math.round(y/$),x%1!==0&&(s=!0);else if(o&&p>=0){if($/2%1!==0)break;$/=2,x=Math.round(y/$)}else $/=2,x=Math.round(y/$);return s&&(x=a,$=y/x),{steps:x,stepValue:$,min:m,max:m+x*$}},r.template=function(t,n){function e(t,n){var e=/\W/.test(t)?new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+t.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+"');}return p.join('');"):r[t]=r[t];return n?e(n):e}if(t instanceof Function)return t(n);var r={};return e(t,n)}),w=(r.generateLabels=function(t,n,e,r){var o=new Array(n);return t&&i(o,function(n,i){o[i]=x(t,{value:e+r*(i+1)})}),o},r.easingEffects={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-1*t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1)},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1)},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t/1)-1)},easeInExpo:function(t){return 0===t?1:1*Math.pow(2,10*(t/1-1))},easeOutExpo:function(t){return 1===t?1:1*(-Math.pow(2,-10*t/1)+1)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(-Math.pow(2,-10*--t)+2)},easeInCirc:function(t){return t>=1?t:-1*(Math.sqrt(1-(t/=1)*t)-1)},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),-(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)))},easeOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:1==(t/=1)?1:(e||(e=.3),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),r*Math.pow(2,-10*t)*Math.sin((1*t-n)*(2*Math.PI)/e)+1)},easeInOutElastic:function(t){var n=1.70158,e=0,r=1;return 0===t?0:2==(t/=.5)?1:(e||(e=1*(.3*1.5)),r<Math.abs(1)?(r=1,n=e/4):n=e/(2*Math.PI)*Math.asin(1/r),t<1?-.5*(r*Math.pow(2,10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)):r*Math.pow(2,-10*(t-=1))*Math.sin((1*t-n)*(2*Math.PI)/e)*.5+1)},easeInBack:function(t){var n=1.70158;return 1*(t/=1)*t*((n+1)*t-n)},easeOutBack:function(t){var n=1.70158;return 1*((t=t/1-1)*t*((n+1)*t+n)+1)},easeInOutBack:function(t){var n=1.70158;return(t/=.5)<1?.5*(t*t*(((n*=1.525)+1)*t-n)):.5*((t-=2)*t*(((n*=1.525)+1)*t+n)+2)},easeInBounce:function(t){return 1-w.easeOutBounce(1-t)},easeOutBounce:function(t){return(t/=1)<1/2.75?1*(7.5625*t*t):t<2/2.75?1*(7.5625*(t-=1.5/2.75)*t+.75):t<2.5/2.75?1*(7.5625*(t-=2.25/2.75)*t+.9375):1*(7.5625*(t-=2.625/2.75)*t+.984375)},easeInOutBounce:function(t){return t<.5?.5*w.easeInBounce(2*t):.5*w.easeOutBounce(2*t-1)+.5}}),C=r.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)}}(),S=(r.cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(t){return window.clearTimeout(t,1e3/60)}}(),r.animationLoop=function(t,n,e,r,i,o){var a=0,u=w[e]||w.linear,s=function(){a++;var e=a/n,l=u(e);t.call(o,l,e,a),r.call(o,l,e),a<n?o.animationFrame=C(s):i.apply(o)};C(s)},r.getRelativePosition=function(t){var n,e,r=t.originalEvent||t,i=t.currentTarget||t.srcElement,o=i.getBoundingClientRect();return r.touches?(n=r.touches[0].clientX-o.left,e=r.touches[0].clientY-o.top):(n=r.clientX-o.left,e=r.clientY-o.top),{x:n,y:e}},r.addEvent=function(t,n,e){t.addEventListener?t.addEventListener(n,e):t.attachEvent?t.attachEvent("on"+n,e):t["on"+n]=e}),M=r.removeEvent=function(t,n,e){t.removeEventListener?t.removeEventListener(n,e,!1):t.detachEvent?t.detachEvent("on"+n,e):t["on"+n]=c},_=(r.bindEvents=function(t,n,e){t.events||(t.events={}),i(n,function(n){t.events[n]=function(){e.apply(t,arguments)},S(t.chart.canvas,n,t.events[n])})},r.unbindEvents=function(t,n){i(n,function(n,e){M(t.chart.canvas,e,n)})}),k=r.getMaximumWidth=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-left"))+parseInt(E(n,"padding-right"));return n?n.clientWidth-e:0},A=r.getMaximumHeight=function(t){var n=t.parentNode,e=parseInt(E(n,"padding-bottom"))+parseInt(E(n,"padding-top"));return n?n.clientHeight-e:0},E=r.getStyle=function(t,n){return t.currentStyle?t.currentStyle[n]:document.defaultView.getComputedStyle(t,null).getPropertyValue(n)},P=(r.getMaximumSize=r.getMaximumWidth,r.retinaScale=function(t){var n=t.ctx,e=t.canvas.width,r=t.canvas.height;window.devicePixelRatio&&(n.canvas.style.width=e+"px",n.canvas.style.height=r+"px",n.canvas.height=r*window.devicePixelRatio,n.canvas.width=e*window.devicePixelRatio,n.scale(window.devicePixelRatio,window.devicePixelRatio))}),O=r.clear=function(t){t.ctx.clearRect(0,0,t.width,t.height)},T=r.fontString=function(t,n,e){return n+" "+t+"px "+e},L=r.longestText=function(t,n,e){t.font=n;var r=0;return i(e,function(n){var e=t.measureText(n).width;r=e>r?e:r}),r},N=r.drawRoundedRectangle=function(t,n,e,r,i,o){t.beginPath(),t.moveTo(n+o,e),t.lineTo(n+r-o,e),t.quadraticCurveTo(n+r,e,n+r,e+o),t.lineTo(n+r,e+i-o),t.quadraticCurveTo(n+r,e+i,n+r-o,e+i),t.lineTo(n+o,e+i),t.quadraticCurveTo(n,e+i,n,e+i-o),t.lineTo(n,e+o),t.quadraticCurveTo(n,e,n+o,e),t.closePath()};e.instances={},e.Type=function(t,n,r){this.options=n,this.chart=r,this.id=f(),e.instances[this.id]=this,n.responsive&&this.resize(),this.initialize.call(this,t)},a(e.Type.prototype,{initialize:function(){return this},clear:function(){return O(this.chart),this},stop:function(){return e.animationService.cancelAnimation(this),this},resize:function(t){this.stop();var n=this.chart.canvas,e=k(this.chart.canvas),r=this.options.maintainAspectRatio?e/this.chart.aspectRatio:A(this.chart.canvas);return n.width=this.chart.width=e,n.height=this.chart.height=r,P(this.chart),"function"==typeof t&&t.apply(this,Array.prototype.slice.call(arguments,1)),this},reflow:c,render:function(t){if(t&&this.reflow(),this.options.animation&&!t){var n=new e.Animation;n.numSteps=this.options.animationSteps,n.easing=this.options.animationEasing,n.render=function(t,n){var e=r.easingEffects[n.easing],i=n.currentStep/n.numSteps,o=e(i);t.draw(o,i,n.currentStep)},n.onAnimationProgress=this.options.onAnimationProgress,n.onAnimationComplete=this.options.onAnimationComplete,e.animationService.addAnimation(this,n)}else this.draw(),this.options.onAnimationComplete.call(this);return this},generateLegend:function(){return r.template(this.options.legendTemplate,this)},destroy:function(){this.stop(),this.clear(),_(this,this.events);var t=this.chart.canvas;t.width=this.chart.width,t.height=this.chart.height,t.style.removeProperty?(t.style.removeProperty("width"),t.style.removeProperty("height")):(t.style.removeAttribute("width"),t.style.removeAttribute("height")),delete e.instances[this.id]},showTooltip:function(t,n){"undefined"==typeof this.activeElements&&(this.activeElements=[]);var o=function(t){var n=!1;return t.length!==this.activeElements.length?n=!0:(i(t,function(t,e){t!==this.activeElements[e]&&(n=!0)},this),n)}.call(this,t);if(o||n){if(this.activeElements=t,this.draw(),this.options.customTooltips&&this.options.customTooltips(!1),t.length>0)if(this.datasets&&this.datasets.length>1){for(var a,u,l=this.datasets.length-1;l>=0&&(a=this.datasets[l].points||this.datasets[l].bars||this.datasets[l].segments,u=s(a,t[0]),u===-1);l--);var c=[],f=[],h=function(t){var n,e,i,o,a,s=[],l=[],h=[];return r.each(this.datasets,function(t){n=t.points||t.bars||t.segments,n[u]&&n[u].hasValue()&&s.push(n[u])}),r.each(s,function(t){l.push(t.x),h.push(t.y),c.push(r.template(this.options.multiTooltipTemplate,t)),f.push({fill:t._saved.fillColor||t.fillColor,stroke:t._saved.strokeColor||t.strokeColor})},this),a=g(h),i=v(h),o=g(l),e=v(l),{x:o>this.chart.width/2?o:e,y:(a+i)/2}}.call(this,u);new e.MultiTooltip({x:h.x,y:h.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:c,legendColors:f,legendColorBackground:this.options.multiTooltipKeyBackground,title:x(this.options.tooltipTitleTemplate,t[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw()}else i(t,function(t){var n=t.tooltipPosition();new e.Tooltip({x:Math.round(n.x),y:Math.round(n.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:x(this.options.tooltipTemplate,t),chart:this.chart,custom:this.options.customTooltips}).draw()},this);return this}},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments)}}),e.Type.extend=function(t){var n=this,r=function(){return n.apply(this,arguments)};if(r.prototype=o(n.prototype),a(r.prototype,t),r.extend=e.Type.extend,t.name||n.prototype.name){var i=t.name||n.prototype.name,s=e.defaults[n.prototype.name]?o(e.defaults[n.prototype.name]):{};e.defaults[i]=a(s,t.defaults),e.types[i]=r,e.prototype[i]=function(t,n){var o=u(e.defaults.global,e.defaults[i],n||{});return new r(t,o,this)}}else h("Name not provided for this chart, so it hasn't been registered");return n},e.Element=function(t){a(this,t),this.initialize.apply(this,arguments),this.save()},a(e.Element.prototype,{initialize:function(){},restore:function(t){return t?i(t,function(t){this[t]=this._saved[t]},this):a(this,this._saved),this},save:function(){return this._saved=o(this),delete this._saved._saved,this},update:function(t){return i(t,function(t,n){this._saved[n]=this[n],this[n]=t},this),this},transition:function(t,n){return i(t,function(t,e){this[e]=(t-this._saved[e])*n+this._saved[e]},this),this},tooltipPosition:function(){return{x:this.x,y:this.y}},hasValue:function(){return d(this.value)}}),e.Element.extend=l,e.Point=e.Element.extend({display:!0,inRange:function(t,n){var e=this.hitDetectionRadius+this.radius;return Math.pow(t-this.x,2)+Math.pow(n-this.y,2)<Math.pow(e,2)},draw:function(){if(this.display){var t=this.ctx;t.beginPath(),t.arc(this.x,this.y,this.radius,0,2*Math.PI),t.closePath(),t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.fillStyle=this.fillColor,t.fill(),t.stroke()}}}),e.Arc=e.Element.extend({inRange:function(t,n){var e=r.getAngleFromPoint(this,{x:t,y:n}),i=e.angle%(2*Math.PI),o=(2*Math.PI+this.startAngle)%(2*Math.PI),a=(2*Math.PI+this.endAngle)%(2*Math.PI)||360,u=a<o?i<=a||i>=o:i>=o&&i<=a,s=e.distance>=this.innerRadius&&e.distance<=this.outerRadius;return u&&s},tooltipPosition:function(){var t=this.startAngle+(this.endAngle-this.startAngle)/2,n=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+Math.cos(t)*n,y:this.y+Math.sin(t)*n}},draw:function(t){var n=this.ctx;n.beginPath(),n.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle),n.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,!0),n.closePath(),n.strokeStyle=this.strokeColor,n.lineWidth=this.strokeWidth,n.fillStyle=this.fillColor,n.fill(),n.lineJoin="bevel",this.showStroke&&n.stroke()}}),e.Rectangle=e.Element.extend({draw:function(){var t=this.ctx,n=this.width/2,e=this.x-n,r=this.x+n,i=this.base-(this.base-this.y),o=this.strokeWidth/2;this.showStroke&&(e+=o,r-=o,i+=o),t.beginPath(),t.fillStyle=this.fillColor,t.strokeStyle=this.strokeColor,t.lineWidth=this.strokeWidth,t.moveTo(e,this.base),t.lineTo(e,i),t.lineTo(r,i),t.lineTo(r,this.base),t.fill(),this.showStroke&&t.stroke()},height:function(){return this.base-this.y},inRange:function(t,n){return t>=this.x-this.width/2&&t<=this.x+this.width/2&&n>=this.y&&n<=this.base}}),e.Animation=e.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null}),e.Tooltip=e.Element.extend({draw:function(){var t=this.chart.ctx;t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.xAlign="center",this.yAlign="above";var n=this.caretPadding=2,e=t.measureText(this.text).width+2*this.xPadding,r=this.fontSize+2*this.yPadding,i=r+this.caretHeight+n;this.x+e/2>this.chart.width?this.xAlign="left":this.x-e/2<0&&(this.xAlign="right"),this.y-i<0&&(this.yAlign="below");var o=this.x-e/2,a=this.y-i;if(t.fillStyle=this.fillColor,this.custom)this.custom(this);else{switch(this.yAlign){case"above":t.beginPath(),t.moveTo(this.x,this.y-n),t.lineTo(this.x+this.caretHeight,this.y-(n+this.caretHeight)),t.lineTo(this.x-this.caretHeight,this.y-(n+this.caretHeight)),t.closePath(),t.fill();break;case"below":a=this.y+n+this.caretHeight,t.beginPath(),t.moveTo(this.x,this.y+n),t.lineTo(this.x+this.caretHeight,this.y+n+this.caretHeight),t.lineTo(this.x-this.caretHeight,this.y+n+this.caretHeight),t.closePath(),t.fill()}switch(this.xAlign){case"left":o=this.x-e+(this.cornerRadius+this.caretHeight);break;case"right":o=this.x-(this.cornerRadius+this.caretHeight)}N(t,o,a,e,r,this.cornerRadius),t.fill(),t.fillStyle=this.textColor,t.textAlign="center",t.textBaseline="middle",t.fillText(this.text,o+e/2,a+r/2)}}}),e.MultiTooltip=e.Element.extend({initialize:function(){this.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.titleFont=T(this.titleFontSize,this.titleFontStyle,this.titleFontFamily),this.titleHeight=this.title?1.5*this.titleFontSize:0,this.height=this.labels.length*this.fontSize+(this.labels.length-1)*(this.fontSize/2)+2*this.yPadding+this.titleHeight,
+this.ctx.font=this.titleFont;var t=this.ctx.measureText(this.title).width,n=L(this.ctx,this.font,this.labels)+this.fontSize+3,e=v([n,t]);this.width=e+2*this.xPadding;var r=this.height/2;this.y-r<0?this.y=r:this.y+r>this.chart.height&&(this.y=this.chart.height-r),this.x>this.chart.width/2?this.x-=this.xOffset+this.width:this.x+=this.xOffset},getLineHeight:function(t){var n=this.y-this.height/2+this.yPadding,e=t-1;return 0===t?n+this.titleHeight/3:n+(1.5*this.fontSize*e+this.fontSize/2)+this.titleHeight},draw:function(){if(this.custom)this.custom(this);else{N(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var t=this.ctx;t.fillStyle=this.fillColor,t.fill(),t.closePath(),t.textAlign="left",t.textBaseline="middle",t.fillStyle=this.titleTextColor,t.font=this.titleFont,t.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0)),t.font=this.font,r.each(this.labels,function(n,e){t.fillStyle=this.textColor,t.fillText(n,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(e+1)),t.fillStyle=this.legendColorBackground,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize),t.fillStyle=this.legendColors[e].fill,t.fillRect(this.x+this.xPadding,this.getLineHeight(e+1)-this.fontSize/2,this.fontSize,this.fontSize)},this)}}}),e.Scale=e.Element.extend({initialize:function(){this.fit()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(x(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}));this.yLabelWidth=this.display&&this.showLabels?L(this.ctx,this.font,this.yLabels)+10:0},addXLabel:function(t){this.xLabels.push(t),this.valuesCount++,this.fit()},removeXLabel:function(){this.xLabels.shift(),this.valuesCount--,this.fit()},fit:function(){this.startPoint=this.display?this.fontSize:0,this.endPoint=this.display?this.height-1.5*this.fontSize-5:this.height,this.startPoint+=this.padding,this.endPoint-=this.padding;var t,n=this.endPoint,e=this.endPoint-this.startPoint;for(this.calculateYRange(e),this.buildYLabels(),this.calculateXLabelRotation();e>this.endPoint-this.startPoint;)e=this.endPoint-this.startPoint,t=this.yLabelWidth,this.calculateYRange(e),this.buildYLabels(),t<this.yLabelWidth&&(this.endPoint=n,this.calculateXLabelRotation())},calculateXLabelRotation:function(){this.ctx.font=this.font;var t,n,e=this.ctx.measureText(this.xLabels[0]).width,r=this.ctx.measureText(this.xLabels[this.xLabels.length-1]).width;if(this.xScalePaddingRight=r/2+3,this.xScalePaddingLeft=e/2>this.yLabelWidth?e/2:this.yLabelWidth,this.xLabelRotation=0,this.display){var i,o=L(this.ctx,this.font,this.xLabels);this.xLabelWidth=o;for(var a=Math.floor(this.calculateX(1)-this.calculateX(0))-6;this.xLabelWidth>a&&0===this.xLabelRotation||this.xLabelWidth>a&&this.xLabelRotation<=90&&this.xLabelRotation>0;)i=Math.cos(y(this.xLabelRotation)),t=i*e,n=i*r,t+this.fontSize/2>this.yLabelWidth&&(this.xScalePaddingLeft=t+this.fontSize/2),this.xScalePaddingRight=this.fontSize/2,this.xLabelRotation++,this.xLabelWidth=i*o;this.xLabelRotation>0&&(this.endPoint-=Math.sin(y(this.xLabelRotation))*o+3)}else this.xLabelWidth=0,this.xScalePaddingRight=this.padding,this.xScalePaddingLeft=this.padding},calculateYRange:c,drawingArea:function(){return this.startPoint-this.endPoint},calculateY:function(t){var n=this.drawingArea()/(this.min-this.max);return this.endPoint-n*(t-this.min)},calculateX:function(t){var n=(this.xLabelRotation>0,this.width-(this.xScalePaddingLeft+this.xScalePaddingRight)),e=n/Math.max(this.valuesCount-(this.offsetGridLines?0:1),1),r=e*t+this.xScalePaddingLeft;return this.offsetGridLines&&(r+=e/2),Math.round(r)},update:function(t){r.extend(this,t),this.fit()},draw:function(){var t=this.ctx,n=(this.endPoint-this.startPoint)/this.steps,e=Math.round(this.xScalePaddingLeft);this.display&&(t.fillStyle=this.textColor,t.font=this.font,i(this.yLabels,function(i,o){var a=this.endPoint-n*o,u=Math.round(a),s=this.showHorizontalLines;t.textAlign="right",t.textBaseline="middle",this.showLabels&&t.fillText(i,e-10,a),0!==o||s||(s=!0),s&&t.beginPath(),o>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),u+=r.aliasPixel(t.lineWidth),s&&(t.moveTo(e,u),t.lineTo(this.width,u),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(e-5,u),t.lineTo(e,u),t.stroke(),t.closePath()},this),i(this.xLabels,function(n,e){var r=this.calculateX(e)+$(this.lineWidth),i=this.calculateX(e-(this.offsetGridLines?.5:0))+$(this.lineWidth),o=this.xLabelRotation>0,a=this.showVerticalLines;0!==e||a||(a=!0),a&&t.beginPath(),e>0?(t.lineWidth=this.gridLineWidth,t.strokeStyle=this.gridLineColor):(t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor),a&&(t.moveTo(i,this.endPoint),t.lineTo(i,this.startPoint-3),t.stroke(),t.closePath()),t.lineWidth=this.lineWidth,t.strokeStyle=this.lineColor,t.beginPath(),t.moveTo(i,this.endPoint),t.lineTo(i,this.endPoint+5),t.stroke(),t.closePath(),t.save(),t.translate(r,o?this.endPoint+12:this.endPoint+8),t.rotate(y(this.xLabelRotation)*-1),t.font=this.font,t.textAlign=o?"right":"center",t.textBaseline=o?"middle":"top",t.fillText(n,0,0),t.restore()},this))}}),e.RadialScale=e.Element.extend({initialize:function(){this.size=g([this.height,this.width]),this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2},calculateCenterOffset:function(t){var n=this.drawingArea/(this.max-this.min);return(t-this.min)*n},update:function(){this.lineArc?this.drawingArea=this.display?this.size/2-(this.fontSize/2+this.backdropPaddingY):this.size/2:this.setScaleSize(),this.buildYLabels()},buildYLabels:function(){this.yLabels=[];for(var t=m(this.stepValue),n=0;n<=this.steps;n++)this.yLabels.push(x(this.templateString,{value:(this.min+n*this.stepValue).toFixed(t)}))},getCircumference:function(){return 2*Math.PI/this.valuesCount},setScaleSize:function(){var t,n,e,r,i,o,a,u,s,l,c,f,h=g([this.height/2-this.pointLabelFontSize-5,this.width/2]),p=this.width,v=0;for(this.ctx.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),n=0;n<this.valuesCount;n++)t=this.getPointPosition(n,h),e=this.ctx.measureText(x(this.templateString,{value:this.labels[n]})).width+5,0===n||n===this.valuesCount/2?(r=e/2,t.x+r>p&&(p=t.x+r,i=n),t.x-r<v&&(v=t.x-r,a=n)):n<this.valuesCount/2?t.x+e>p&&(p=t.x+e,i=n):n>this.valuesCount/2&&t.x-e<v&&(v=t.x-e,a=n);s=v,l=Math.ceil(p-this.width),o=this.getIndexAngle(i),u=this.getIndexAngle(a),c=l/Math.sin(o+Math.PI/2),f=s/Math.sin(u+Math.PI/2),c=d(c)?c:0,f=d(f)?f:0,this.drawingArea=h-(f+c)/2,this.setCenterPoint(f,c)},setCenterPoint:function(t,n){var e=this.width-n-this.drawingArea,r=t+this.drawingArea;this.xCenter=(r+e)/2,this.yCenter=this.height/2},getIndexAngle:function(t){var n=2*Math.PI/this.valuesCount;return t*n-Math.PI/2},getPointPosition:function(t,n){var e=this.getIndexAngle(t);return{x:Math.cos(e)*n+this.xCenter,y:Math.sin(e)*n+this.yCenter}},draw:function(){if(this.display){var t=this.ctx;if(i(this.yLabels,function(n,e){if(e>0){var r,i=e*(this.drawingArea/this.steps),o=this.yCenter-i;if(this.lineWidth>0)if(t.strokeStyle=this.lineColor,t.lineWidth=this.lineWidth,this.lineArc)t.beginPath(),t.arc(this.xCenter,this.yCenter,i,0,2*Math.PI),t.closePath(),t.stroke();else{t.beginPath();for(var a=0;a<this.valuesCount;a++)r=this.getPointPosition(a,this.calculateCenterOffset(this.min+e*this.stepValue)),0===a?t.moveTo(r.x,r.y):t.lineTo(r.x,r.y);t.closePath(),t.stroke()}if(this.showLabels){if(t.font=T(this.fontSize,this.fontStyle,this.fontFamily),this.showLabelBackdrop){var u=t.measureText(n).width;t.fillStyle=this.backdropColor,t.fillRect(this.xCenter-u/2-this.backdropPaddingX,o-this.fontSize/2-this.backdropPaddingY,u+2*this.backdropPaddingX,this.fontSize+2*this.backdropPaddingY)}t.textAlign="center",t.textBaseline="middle",t.fillStyle=this.fontColor,t.fillText(n,this.xCenter,o)}}},this),!this.lineArc){t.lineWidth=this.angleLineWidth,t.strokeStyle=this.angleLineColor;for(var n=this.valuesCount-1;n>=0;n--){var e=null,r=null;if(this.angleLineWidth>0&&n%this.angleLineInterval===0&&(e=this.calculateCenterOffset(this.max),r=this.getPointPosition(n,e),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke(),t.closePath()),this.backgroundColors&&this.backgroundColors.length==this.valuesCount){null==e&&(e=this.calculateCenterOffset(this.max)),null==r&&(r=this.getPointPosition(n,e));var o=this.getPointPosition(0===n?this.valuesCount-1:n-1,e),a=this.getPointPosition(n===this.valuesCount-1?0:n+1,e),u={x:(o.x+r.x)/2,y:(o.y+r.y)/2},s={x:(r.x+a.x)/2,y:(r.y+a.y)/2};t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.lineTo(r.x,r.y),t.lineTo(s.x,s.y),t.fillStyle=this.backgroundColors[n],t.fill(),t.closePath()}var l=this.getPointPosition(n,this.calculateCenterOffset(this.max)+5);t.font=T(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily),t.fillStyle=this.pointLabelFontColor;var c=this.labels.length,f=this.labels.length/2,h=f/2,p=n<h||n>c-h,d=n===h||n===c-h;0===n?t.textAlign="center":n===f?t.textAlign="center":n<f?t.textAlign="left":t.textAlign="right",d?t.textBaseline="middle":p?t.textBaseline="bottom":t.textBaseline="top",t.fillText(this.labels[n],l.x,l.y)}}}}}),e.animationService={frameDuration:17,animations:[],dropFrames:0,addAnimation:function(t,n){for(var e=0;e<this.animations.length;++e)if(this.animations[e].chartInstance===t)return void(this.animations[e].animationObject=n);this.animations.push({chartInstance:t,animationObject:n}),1==this.animations.length&&r.requestAnimFrame.call(window,this.digestWrapper)},cancelAnimation:function(t){var n=r.findNextWhere(this.animations,function(n){return n.chartInstance===t});n&&this.animations.splice(n,1)},digestWrapper:function(){e.animationService.startDigest.call(e.animationService)},startDigest:function(){var t=Date.now(),n=0;this.dropFrames>1&&(n=Math.floor(this.dropFrames),this.dropFrames-=n);for(var e=0;e<this.animations.length;e++)null===this.animations[e].animationObject.currentStep&&(this.animations[e].animationObject.currentStep=0),this.animations[e].animationObject.currentStep+=1+n,this.animations[e].animationObject.currentStep>this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.currentStep=this.animations[e].animationObject.numSteps),this.animations[e].animationObject.render(this.animations[e].chartInstance,this.animations[e].animationObject),this.animations[e].animationObject.currentStep==this.animations[e].animationObject.numSteps&&(this.animations[e].animationObject.onAnimationComplete.call(this.animations[e].chartInstance),this.animations.splice(e,1),e--);var i=Date.now(),o=i-t-this.frameDuration,a=o/this.frameDuration;a>1&&(this.dropFrames+=a),this.animations.length>0&&r.requestAnimFrame.call(window,this.digestWrapper)}},r.addEvent(window,"resize",function(){var t;return function(){clearTimeout(t),t=setTimeout(function(){i(e.instances,function(t){t.options.responsive&&t.resize(t.render,!0)})},50)}}()),p?define("Chart",[],function(){return e}):"object"==typeof module&&module.exports&&(module.exports=e),t.Chart=e,e.noConflict=function(){return t.Chart=n,e}}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleBeginAtZero:!0,scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,barShowStroke:!0,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Bar",defaults:r,initialize:function(t){var r=this.options;this.ScaleClass=n.Scale.extend({offsetGridLines:!0,calculateBarX:function(t,n,e){var i=this.calculateBaseWidth(),o=this.calculateX(e)-i/2,a=this.calculateBarWidth(t);return o+a*n+n*r.barDatasetSpacing+a/2},calculateBaseWidth:function(){return this.calculateX(1)-this.calculateX(0)-2*r.barValueSpacing},calculateBarWidth:function(t){var n=this.calculateBaseWidth()-(t-1)*r.barDatasetSpacing;return n/t}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getBarsAtEvent(t):[];this.eachBars(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t&&(t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke)}),this.showTooltip(n)}),this.BarClass=n.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx}),e.each(t.datasets,function(n,r){var i={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,bars:[]};this.datasets.push(i),e.each(n.data,function(e,r){i.bars.push(new this.BarClass({value:e,label:t.labels[r],datasetLabel:n.label,strokeColor:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor,fillColor:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightFill:n.highlightFill?"object"==typeof n.highlightFill?n.highlightFill[r]:n.highlightFill:"object"==typeof n.fillColor?n.fillColor[r]:n.fillColor,highlightStroke:n.highlightStroke?"object"==typeof n.highlightStroke?n.highlightStroke[r]:n.highlightStroke:"object"==typeof n.strokeColor?n.strokeColor[r]:n.strokeColor}))},this)},this),this.buildScale(t.labels),this.BarClass.prototype.base=this.scale.endPoint,this.eachBars(function(t,n,r){e.extend(t,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,r,n),y:this.scale.endPoint}),t.save()},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachBars(function(t){t.save()}),this.render()},eachBars:function(t){e.each(this.datasets,function(n,r){e.each(n.bars,t,this,r)},this)},getBarsAtEvent:function(t){for(var n,r=[],i=e.getRelativePosition(t),o=function(t){r.push(t.bars[n])},a=0;a<this.datasets.length;a++)for(n=0;n<this.datasets[a].bars.length;n++)if(this.datasets[a].bars[n].inRange(i.x,i.y))return e.each(this.datasets,o),r;return r},buildScale:function(t){var n=this,r=function(){var t=[];return n.eachBars(function(n){t.push(n.value)}),t},i={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(r(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.barShowStroke?this.options.barStrokeWidth:0,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(i,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new this.ScaleClass(i)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].bars.push(new this.BarClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateBarX(this.datasets.length,e,this.scale.valuesCount+1),y:this.scale.endPoint,width:this.scale.calculateBarWidth(this.datasets.length),base:this.scale.endPoint,strokeColor:this.datasets[e].strokeColor,fillColor:this.datasets[e].fillColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.bars.shift()},this),this.update()},reflow:function(){e.extend(this.BarClass.prototype,{y:this.scale.endPoint,base:this.scale.endPoint});var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();this.chart.ctx;this.scale.draw(n),e.each(this.datasets,function(t,r){e.each(t.bars,function(t,e){t.hasValue()&&(t.base=this.scale.endPoint,t.transition({x:this.scale.calculateBarX(this.datasets.length,r,e),y:this.scale.calculateY(t.value),width:this.scale.calculateBarWidth(this.datasets.length)},n).draw())},this)},this)}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,percentageInnerCutout:50,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"Doughnut",defaults:r,initialize:function(t){this.segments=[],this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,this.SegmentArc=n.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2}),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.calculateTotal(t),e.each(t,function(n,e){n.color||(n.color="hsl("+360*e/t.length+", 100%, 50%)"),this.addData(n,e,!0)},this),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,e,r){var i=void 0!==e?e:this.segments.length;"undefined"==typeof t.color&&(t.color=n.defaults.global.segmentColorDefault[i%n.defaults.global.segmentColorDefault.length],t.highlight=n.defaults.global.segmentHighlightColorDefaults[i%n.defaults.global.segmentHighlightColorDefaults.length]),this.segments.splice(i,0,new this.SegmentArc({value:t.value,outerRadius:this.options.animateScale?0:this.outerRadius,innerRadius:this.options.animateScale?0:this.outerRadius/100*this.options.percentageInnerCutout,fillColor:t.color,highlightColor:t.highlight||t.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:1.5*Math.PI,circumference:this.options.animateRotate?0:this.calculateCircumference(t.value),label:t.label})),r||(this.reflow(),this.update())},calculateCircumference:function(t){return this.total>0?2*Math.PI*(t/this.total):0},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=Math.abs(t.value)},this)},update:function(){this.calculateTotal(this.segments),e.each(this.activeElements,function(t){t.restore(["fillColor"])}),e.each(this.segments,function(t){t.save()}),this.render()},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.outerRadius=(e.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2,e.each(this.segments,function(t){t.update({outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout})},this)},draw:function(t){var n=t?t:1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.calculateCircumference(t.value),outerRadius:this.outerRadius,innerRadius:this.outerRadius/100*this.options.percentageInnerCutout},n),t.endAngle=t.startAngle+t.circumference,t.draw(),0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle)},this)}}),n.types.Doughnut.extend({name:"Pie",defaults:e.merge(r,{percentageInnerCutout:0})})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowGridLines:!0,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:!0,scaleShowVerticalLines:!0,bezierCurve:!0,bezierCurveTension:.4,pointDot:!0,pointDotRadius:4,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>',offsetGridLines:!1};n.Type.extend({name:"Line",defaults:r,initialize:function(t){this.PointClass=n.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(t){return Math.pow(t-this.x,2)<Math.pow(this.radius+this.hitDetectionRadius,2)}}),this.datasets=[],this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this),this.buildScale(t.labels),this.eachPoints(function(t,n){e.extend(t,{x:this.scale.calculateX(n),y:this.scale.endPoint}),t.save()},this)},this),this.render()},update:function(){this.scale.update(),e.each(this.activeElements,function(t){t.restore(["fillColor","strokeColor"])}),this.eachPoints(function(t){t.save()}),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.datasets,function(t){e.each(t.points,function(t){t.inRange(r.x,r.y)&&n.push(t)})},this),n},buildScale:function(t){var r=this,i=function(){var t=[];return r.eachPoints(function(n){t.push(n.value)}),t},o={templateString:this.options.scaleLabel,height:this.chart.height,width:this.chart.width,ctx:this.chart.ctx,textColor:this.options.scaleFontColor,offsetGridLines:this.options.offsetGridLines,fontSize:this.options.scaleFontSize,fontStyle:this.options.scaleFontStyle,fontFamily:this.options.scaleFontFamily,valuesCount:t.length,beginAtZero:this.options.scaleBeginAtZero,integersOnly:this.options.scaleIntegersOnly,calculateYRange:function(t){var n=e.calculateScaleRange(i(),t,this.fontSize,this.beginAtZero,this.integersOnly);e.extend(this,n)},xLabels:t,font:e.fontString(this.options.scaleFontSize,this.options.scaleFontStyle,this.options.scaleFontFamily),lineWidth:this.options.scaleLineWidth,lineColor:this.options.scaleLineColor,showHorizontalLines:this.options.scaleShowHorizontalLines,showVerticalLines:this.options.scaleShowVerticalLines,gridLineWidth:this.options.scaleShowGridLines?this.options.scaleGridLineWidth:0,gridLineColor:this.options.scaleShowGridLines?this.options.scaleGridLineColor:"rgba(0,0,0,0)",padding:this.options.showScale?0:this.options.pointDotRadius+this.options.pointDotStrokeWidth,showLabels:this.options.scaleShowLabels,display:this.options.showScale};this.options.scaleOverride&&e.extend(o,{calculateYRange:e.noop,steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}),this.scale=new n.Scale(o)},addData:function(t,n){e.each(t,function(t,e){this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:this.scale.calculateX(this.scale.valuesCount+1),y:this.scale.endPoint,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.addXLabel(n),this.update()},removeData:function(){this.scale.removeXLabel(),e.each(this.datasets,function(t){t.points.shift()},this),this.update()},reflow:function(){var t=e.extend({height:this.chart.height,width:this.chart.width});this.scale.update(t)},draw:function(t){var n=t||1;this.clear();var r=this.chart.ctx,i=function(t){return null!==t.value},o=function(t,n,r){return e.findNextWhere(n,i,r)||t},a=function(t,n,r){return e.findPreviousWhere(n,i,r)||t};this.scale&&(this.scale.draw(n),e.each(this.datasets,function(t){var u=e.where(t.points,i);e.each(t.points,function(t,e){t.hasValue()&&t.transition({y:this.scale.calculateY(t.value),x:this.scale.calculateX(e)},n)},this),this.options.bezierCurve&&e.each(u,function(t,n){var r=n>0&&n<u.length-1?this.options.bezierCurveTension:0;t.controlPoints=e.splineCurve(a(t,u,n),t,o(t,u,n),r),t.controlPoints.outer.y>this.scale.endPoint?t.controlPoints.outer.y=this.scale.endPoint:t.controlPoints.outer.y<this.scale.startPoint&&(t.controlPoints.outer.y=this.scale.startPoint),t.controlPoints.inner.y>this.scale.endPoint?t.controlPoints.inner.y=this.scale.endPoint:t.controlPoints.inner.y<this.scale.startPoint&&(t.controlPoints.inner.y=this.scale.startPoint)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(u,function(t,n){if(0===n)r.moveTo(t.x,t.y);else if(this.options.bezierCurve){var e=a(t,u,n);r.bezierCurveTo(e.controlPoints.outer.x,e.controlPoints.outer.y,t.controlPoints.inner.x,t.controlPoints.inner.y,t.x,t.y)}else r.lineTo(t.x,t.y)},this),this.options.datasetStroke&&r.stroke(),this.options.datasetFill&&u.length>0&&(r.lineTo(u[u.length-1].x,this.scale.endPoint),r.lineTo(u[0].x,this.scale.endPoint),r.fillStyle=t.fillColor,r.closePath(),r.fill()),e.each(u,function(t){t.draw()})},this))}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers,r={scaleShowLabelBackdrop:!0,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:!0,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:!0,segmentShowStroke:!0,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:!0,animateScale:!1,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<segments.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=segments[i].fillColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(segments[i].label){%><%=segments[i].label%><%}%></span></li><%}%></ul>'};n.Type.extend({name:"PolarArea",defaults:r,initialize:function(t){this.segments=[],this.SegmentArc=n.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2}),this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:!0,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:t.length}),this.updateScaleRange(t),this.scale.update(),e.each(t,function(t,n){this.addData(t,n,!0)},this),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getSegmentsAtEvent(t):[];e.each(this.segments,function(t){t.restore(["fillColor"])}),e.each(n,function(t){t.fillColor=t.highlightColor}),this.showTooltip(n)}),this.render()},getSegmentsAtEvent:function(t){var n=[],r=e.getRelativePosition(t);return e.each(this.segments,function(t){t.inRange(r.x,r.y)&&n.push(t)},this),n},addData:function(t,n,e){var r=n||this.segments.length;this.segments.splice(r,0,new this.SegmentArc({fillColor:t.color,highlightColor:t.highlight||t.color,label:t.label,value:t.value,outerRadius:this.options.animateScale?0:this.scale.calculateCenterOffset(t.value),circumference:this.options.animateRotate?0:this.scale.getCircumference(),startAngle:1.5*Math.PI})),e||(this.reflow(),this.update())},removeData:function(t){var n=e.isNumber(t)?t:this.segments.length-1;this.segments.splice(n,1),this.reflow(),this.update()},calculateTotal:function(t){this.total=0,e.each(t,function(t){this.total+=t.value},this),this.scale.valuesCount=this.segments.length},updateScaleRange:function(t){var n=[];e.each(t,function(t){n.push(t.value)});var r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r,{size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2})},update:function(){this.calculateTotal(this.segments),e.each(this.segments,function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2}),this.updateScaleRange(this.segments),this.scale.update(),e.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2}),e.each(this.segments,function(t){t.update({outerRadius:this.scale.calculateCenterOffset(t.value)})},this)},draw:function(t){var n=t||1;this.clear(),e.each(this.segments,function(t,e){t.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(t.value)},n),t.endAngle=t.startAngle+t.circumference,0===e&&(t.startAngle=1.5*Math.PI),e<this.segments.length-1&&(this.segments[e+1].startAngle=t.endAngle),t.draw()},this),this.scale.draw()}})}.call(this),function(){"use strict";var t=this,n=t.Chart,e=n.helpers;n.Type.extend({name:"Radar",defaults:{scaleShowLine:!0,angleShowLineOut:!0,scaleShowLabels:!1,scaleBeginAtZero:!0,angleLineColor:"rgba(0,0,0,.1)",angleLineWidth:1,angleLineInterval:1,pointLabelFontFamily:"'Arial'",pointLabelFontStyle:"normal",pointLabelFontSize:10,pointLabelFontColor:"#666",pointDot:!0,pointDotRadius:3,pointDotStrokeWidth:1,pointHitDetectionRadius:20,datasetStroke:!0,datasetStrokeWidth:2,datasetFill:!0,legendTemplate:'<ul class="<%=name.toLowerCase()%>-legend"><% for (var i=0; i<datasets.length; i++){%><li><span class="<%=name.toLowerCase()%>-legend-icon" style="background-color:<%=datasets[i].strokeColor%>"></span><span class="<%=name.toLowerCase()%>-legend-text"><%if(datasets[i].label){%><%=datasets[i].label%><%}%></span></li><%}%></ul>'
+},initialize:function(t){this.PointClass=n.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx}),this.datasets=[],this.buildScale(t),this.options.showTooltips&&e.bindEvents(this,this.options.tooltipEvents,function(t){var n="mouseout"!==t.type?this.getPointsAtEvent(t):[];this.eachPoints(function(t){t.restore(["fillColor","strokeColor"])}),e.each(n,function(t){t.fillColor=t.highlightFill,t.strokeColor=t.highlightStroke}),this.showTooltip(n)}),e.each(t.datasets,function(n){var r={label:n.label||null,fillColor:n.fillColor,strokeColor:n.strokeColor,pointColor:n.pointColor,pointStrokeColor:n.pointStrokeColor,points:[]};this.datasets.push(r),e.each(n.data,function(e,i){var o;this.scale.animation||(o=this.scale.getPointPosition(i,this.scale.calculateCenterOffset(e))),r.points.push(new this.PointClass({value:e,label:t.labels[i],datasetLabel:n.label,x:this.options.animation?this.scale.xCenter:o.x,y:this.options.animation?this.scale.yCenter:o.y,strokeColor:n.pointStrokeColor,fillColor:n.pointColor,highlightFill:n.pointHighlightFill||n.pointColor,highlightStroke:n.pointHighlightStroke||n.pointStrokeColor}))},this)},this),this.render()},eachPoints:function(t){e.each(this.datasets,function(n){e.each(n.points,t,this)},this)},getPointsAtEvent:function(t){var n=e.getRelativePosition(t),r=e.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},n),i=2*Math.PI/this.scale.valuesCount,o=Math.round((r.angle-1.5*Math.PI)/i),a=[];return(o>=this.scale.valuesCount||o<0)&&(o=0),r.distance<=this.scale.drawingArea&&e.each(this.datasets,function(t){a.push(t.points[o])}),a},buildScale:function(t){this.scale=new n.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:this.options.scaleShowLine?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:this.options.angleShowLineOut?this.options.angleLineWidth:0,angleLineInterval:this.options.angleLineInterval?this.options.angleLineInterval:1,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:t.labels,valuesCount:t.datasets[0].data.length}),this.scale.setScaleSize(),this.updateScaleRange(t.datasets),this.scale.buildYLabels()},updateScaleRange:function(t){var n=function(){var n=[];return e.each(t,function(t){t.data?n=n.concat(t.data):e.each(t.points,function(t){n.push(t.value)})}),n}(),r=this.options.scaleOverride?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+this.options.scaleSteps*this.options.scaleStepWidth}:e.calculateScaleRange(n,e.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);e.extend(this.scale,r)},addData:function(t,n){this.scale.valuesCount++,e.each(t,function(t,e){var r=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(t));this.datasets[e].points.push(new this.PointClass({value:t,label:n,datasetLabel:this.datasets[e].label,x:r.x,y:r.y,strokeColor:this.datasets[e].pointStrokeColor,fillColor:this.datasets[e].pointColor}))},this),this.scale.labels.push(n),this.reflow(),this.update()},removeData:function(){this.scale.valuesCount--,this.scale.labels.shift(),e.each(this.datasets,function(t){t.points.shift()},this),this.reflow(),this.update()},update:function(){this.eachPoints(function(t){t.save()}),this.reflow(),this.render()},reflow:function(){e.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:e.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2}),this.updateScaleRange(this.datasets),this.scale.setScaleSize(),this.scale.buildYLabels()},draw:function(t){var n=t||1,r=this.chart.ctx;this.clear(),this.scale.draw(),e.each(this.datasets,function(t){e.each(t.points,function(t,e){t.hasValue()&&t.transition(this.scale.getPointPosition(e,this.scale.calculateCenterOffset(t.value)),n)},this),r.lineWidth=this.options.datasetStrokeWidth,r.strokeStyle=t.strokeColor,r.beginPath(),e.each(t.points,function(t,n){0===n?r.moveTo(t.x,t.y):r.lineTo(t.x,t.y)},this),r.closePath(),r.stroke(),r.fillStyle=t.fillColor,this.options.datasetFill&&r.fill(),e.each(t.points,function(t){t.hasValue()&&t.draw()})},this)}})}.call(this),function(t){"use strict";"object"==typeof exports?module.exports=t("undefined"!=typeof angular?angular:require("angular"),"undefined"!=typeof Chart?Chart:require("chart.js")):"function"==typeof define&&define.amd?define(["angular","chart"],t):t(angular,Chart)}(function(t,n){"use strict";function e(){var e={},r={Chart:n,getOptions:function(n){var r=n&&e[n]||{};return t.extend({},e,r)}};this.setOptions=function(n,r){return r?void(e[n]=t.extend(e[n]||{},r)):(r=n,void(e=t.extend(e,r)))},this.$get=function(){return r}}function r(e,r){function o(t,n){return!!(t&&n&&t.length&&n.length)&&(Array.isArray(t[0])?t.length===n.length&&t.every(function(t,e){return t.length===n[e].length}):n.reduce(a,0)>0&&t.length===n.length)}function a(t,n){return t+n}function u(n,e,r,i){var o=null;return function(a){var u=e.getPointsAtEvent||e.getBarsAtEvent||e.getSegmentsAtEvent;if(u){var s=u.call(e,a);i!==!1&&t.equals(o,s)!==!1||(o=s,n[r](s,a),n.$apply())}}}function s(r,i){for(var o=!1,a=t.copy(i.colours||e.getOptions(r).colours||n.defaults.global.colours);a.length<i.data.length;)a.push(i.getColour()),o=!0;return o&&(i.colours=a),a.map(l)}function l(t){return"object"==typeof t&&null!==t?t:"string"==typeof t&&"#"===t[0]?f(d(t.substr(1))):c()}function c(){var t=[h(0,255),h(0,255),h(0,255)];return f(t)}function f(t){return{fillColor:p(t,.2),strokeColor:p(t,1),pointColor:p(t,1),pointStrokeColor:"#fff",pointHighlightFill:"#fff",pointHighlightStroke:p(t,.8)}}function h(t,n){return Math.floor(Math.random()*(n-t+1))+t}function p(t,n){return i?"rgb("+t.join(",")+")":"rgba("+t.concat(n).join(",")+")"}function d(t){var n=parseInt(t,16),e=n>>16&255,r=n>>8&255,i=255&n;return[e,r,i]}function v(n,e,r,i){return{labels:n,datasets:e.map(function(n,e){return t.extend({},i[e],{label:r[e],data:n})})}}function g(n,e,r){return n.map(function(n,i){return t.extend({},r[i],{label:n,value:e[i],color:r[i].strokeColor,highlight:r[i].pointHighlightStroke})})}function m(t,n){var e=t.parent(),r=e.find("chart-legend"),i="<chart-legend>"+n.generateLegend()+"</chart-legend>";r.length?r.replaceWith(i):e.append(i)}function y(t,n,e,r){Array.isArray(e.data[0])?t.datasets.forEach(function(t,e){(t.points||t.bars).forEach(function(t,r){t.value=n[e][r]})}):t.segments.forEach(function(t,e){t.value=n[e]}),t.update(),e.$emit("update",t),e.legend&&"false"!==e.legend&&m(r,t)}function $(t){return!t||Array.isArray(t)&&!t.length||"object"==typeof t&&!Object.keys(t).length}function b(r,i){var o=t.extend({},n.defaults.global,e.getOptions(r),i.options);return o.responsive}function x(t,n){t&&(t.destroy(),n.$emit("destroy",t))}return function(n){return{restrict:"CA",scope:{data:"=?",labels:"=?",options:"=?",series:"=?",colours:"=?",getColour:"=?",chartType:"=",legend:"@",click:"=?",hover:"=?",chartData:"=?",chartLabels:"=?",chartOptions:"=?",chartSeries:"=?",chartColours:"=?",chartLegend:"@",chartClick:"=?",chartHover:"=?"},link:function(a,l){function f(t,n){a.$watch(t,function(t){"undefined"!=typeof t&&(a[n]=t)})}function h(e,r){if(!$(e)&&!t.equals(e,r)){var i=n||a.chartType;i&&p(i)}}function p(n){if(b(n,a)&&0===l[0].clientHeight&&0===C.clientHeight)return r(function(){p(n)},50,!1);if(a.data&&a.data.length){a.getColour="function"==typeof a.getColour?a.getColour:c;var i=s(n,a),o=l[0],f=o.getContext("2d"),h=Array.isArray(a.data[0])?v(a.labels,a.data,a.series||[],i):g(a.labels,a.data,i),d=t.extend({},e.getOptions(n),a.options);x(w,a),w=new e.Chart(f)[n](h,d),a.$emit("create",w),o.onclick=a.click?u(a,w,"click",!1):t.noop,o.onmousemove=a.hover?u(a,w,"hover",!0):t.noop,a.legend&&"false"!==a.legend&&m(l,w)}}function d(t){if("undefined"!=typeof console&&"test"!==e.getOptions().env){var n="function"==typeof console.warn?console.warn:console.log;a[t]&&n.call(console,'"%s" is deprecated and will be removed in a future version. Please use "chart-%s" instead.',t,t)}}var w,C=document.createElement("div");C.className="chart-container",l.replaceWith(C),C.appendChild(l[0]),i&&window.G_vmlCanvasManager.initElement(l[0]),["data","labels","options","series","colours","legend","click","hover"].forEach(d),f("chartData","data"),f("chartLabels","labels"),f("chartOptions","options"),f("chartSeries","series"),f("chartColours","colours"),f("chartLegend","legend"),f("chartClick","click"),f("chartHover","hover"),a.$watch("data",function(t,e){if(!t||!t.length||Array.isArray(t[0])&&!t[0].length)return void x(w,a);var r=n||a.chartType;if(r)return w&&o(t,e)?y(w,t,a,l):void p(r)},!0),a.$watch("series",h,!0),a.$watch("labels",h,!0),a.$watch("options",h,!0),a.$watch("colours",h,!0),a.$watch("chartType",function(n,e){$(n)||t.equals(n,e)||p(n)}),a.$on("$destroy",function(){x(w,a)})}}}}n.defaults.global.responsive=!0,n.defaults.global.multiTooltipTemplate="<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",n.defaults.global.colours=["#97BBCD","#DCDCDC","#F7464A","#46BFBD","#FDB45C","#949FB1","#4D5360"];var i="object"==typeof window.G_vmlCanvasManager&&null!==window.G_vmlCanvasManager&&"function"==typeof window.G_vmlCanvasManager.initElement;return i&&(n.defaults.global.animation=!1),t.module("chart.js",[]).provider("ChartJs",e).factory("ChartJsFactory",["ChartJs","$timeout",r]).directive("chartBase",["ChartJsFactory",function(t){return new t}]).directive("chartLine",["ChartJsFactory",function(t){return new t("Line")}]).directive("chartBar",["ChartJsFactory",function(t){return new t("Bar")}]).directive("chartRadar",["ChartJsFactory",function(t){return new t("Radar")}]).directive("chartDoughnut",["ChartJsFactory",function(t){return new t("Doughnut")}]).directive("chartPie",["ChartJsFactory",function(t){return new t("Pie")}]).directive("chartPolarArea",["ChartJsFactory",function(t){return new t("PolarArea")}])}),!function(){function t(t){return t&&(t.ownerDocument||t.document||t).documentElement}function n(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}function e(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function r(t){return null===t?NaN:+t}function i(t){return!isNaN(t)}function o(t){return{left:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)<0?r=o+1:i=o}return r},right:function(n,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=n.length);r<i;){var o=r+i>>>1;t(n[o],e)>0?i=o:r=o+1}return r}}}function a(t){return t.length}function u(t){for(var n=1;t*n%1;)n*=10;return n}function s(t,n){for(var e in n)Object.defineProperty(t.prototype,e,{value:n[e],enumerable:!1})}function l(){this._=Object.create(null)}function c(t){return(t+="")===xa||t[0]===wa?wa+t:t}function f(t){return(t+="")[0]===wa?t.slice(1):t}function h(t){return c(t)in this._}function p(t){return(t=c(t))in this._&&delete this._[t]}function d(){var t=[];for(var n in this._)t.push(f(n));return t}function v(){var t=0;for(var n in this._)++t;return t}function g(){for(var t in this._)return!1;return!0}function m(){this._=Object.create(null)}function y(t){return t}function $(t,n,e){return function(){var r=e.apply(n,arguments);return r===n?t:r}}function b(t,n){if(n in t)return n;n=n.charAt(0).toUpperCase()+n.slice(1);for(var e=0,r=Ca.length;e<r;++e){var i=Ca[e]+n;if(i in t)return i}}function x(){}function w(){}function C(t){function n(){for(var n,r=e,i=-1,o=r.length;++i<o;)(n=r[i].on)&&n.apply(this,arguments);return t}var e=[],r=new l;return n.on=function(n,i){var o,a=r.get(n);return arguments.length<2?a&&a.on:(a&&(a.on=null,e=e.slice(0,o=e.indexOf(a)).concat(e.slice(o+1)),r.remove(n)),i&&e.push(r.set(n,{on:i})),t)},n}function S(){sa.event.preventDefault()}function M(){for(var t,n=sa.event;t=n.sourceEvent;)n=t;return n}function _(t){for(var n=new w,e=0,r=arguments.length;++e<r;)n[arguments[e]]=C(n);return n.of=function(e,r){return function(i){try{var o=i.sourceEvent=sa.event;i.target=t,sa.event=i,n[i.type].apply(e,r)}finally{sa.event=o}}},n}function k(t){return Ma(t,Ea),t}function A(t){return"function"==typeof t?t:function(){return _a(t,this)}}function E(t){return"function"==typeof t?t:function(){return ka(t,this)}}function P(t,n){function e(){this.removeAttribute(t)}function r(){this.removeAttributeNS(t.space,t.local)}function i(){this.setAttribute(t,n)}function o(){this.setAttributeNS(t.space,t.local,n)}function a(){var e=n.apply(this,arguments);null==e?this.removeAttribute(t):this.setAttribute(t,e)}function u(){var e=n.apply(this,arguments);null==e?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}return t=sa.ns.qualify(t),null==n?t.local?r:e:"function"==typeof n?t.local?u:a:t.local?o:i}function O(t){return t.trim().replace(/\s+/g," ")}function T(t){return new RegExp("(?:^|\\s+)"+sa.requote(t)+"(?:\\s+|$)","g")}function L(t){return(t+"").trim().split(/^|\s+/)}function N(t,n){function e(){for(var e=-1;++e<i;)t[e](this,n)}function r(){for(var e=-1,r=n.apply(this,arguments);++e<i;)t[e](this,r)}t=L(t).map(j);var i=t.length;return"function"==typeof n?r:e}function j(t){var n=T(t);return function(e,r){if(i=e.classList)return r?i.add(t):i.remove(t);var i=e.getAttribute("class")||"";r?(n.lastIndex=0,n.test(i)||e.setAttribute("class",O(i+" "+t))):e.setAttribute("class",O(i.replace(n," ")))}}function R(t,n,e){function r(){this.style.removeProperty(t)}function i(){this.style.setProperty(t,n,e)}function o(){var r=n.apply(this,arguments);null==r?this.style.removeProperty(t):this.style.setProperty(t,r,e)}return null==n?r:"function"==typeof n?o:i}function D(t,n){function e(){delete this[t]}function r(){this[t]=n}function i(){var e=n.apply(this,arguments);null==e?delete this[t]:this[t]=e}return null==n?e:"function"==typeof n?i:r}function F(t){function n(){var n=this.ownerDocument,e=this.namespaceURI;return e===Pa&&n.documentElement.namespaceURI===Pa?n.createElement(t):n.createElementNS(e,t)}function e(){return this.ownerDocument.createElementNS(t.space,t.local)}return"function"==typeof t?t:(t=sa.ns.qualify(t)).local?e:n}function I(){var t=this.parentNode;t&&t.removeChild(this)}function V(t){return{__data__:t}}function q(t){return function(){return Aa(this,t)}}function z(t){return arguments.length||(t=e),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function B(t,n){for(var e=0,r=t.length;e<r;e++)for(var i,o=t[e],a=0,u=o.length;a<u;a++)(i=o[a])&&n(i,a,e);return t}function U(t){return Ma(t,Ta),t}function W(t){var n,e;return function(r,i,o){var a,u=t[o].update,s=u.length;for(o!=e&&(e=o,n=0),i>=n&&(n=i+1);!(a=u[n])&&++n<s;);return a}}function H(t,n,e){function r(){var n=this[a];n&&(this.removeEventListener(t,n,n.$),delete this[a])}function i(){var i=s(n,ca(arguments));r.call(this),this.addEventListener(t,this[a]=i,i.$=e),i._=n}function o(){var n,e=new RegExp("^__on([^.]+)"+sa.requote(t)+"$");for(var r in this)if(n=r.match(e)){var i=this[r];this.removeEventListener(n[1],i,i.$),delete this[r]}}var a="__on"+t,u=t.indexOf("."),s=Y;u>0&&(t=t.slice(0,u));var l=La.get(t);return l&&(t=l,s=G),u?n?i:r:n?x:o}function Y(t,n){return function(e){var r=sa.event;sa.event=e,n[0]=this.__data__;try{t.apply(this,n)}finally{sa.event=r}}}function G(t,n){var e=Y(t,n);return function(t){var n=this,r=t.relatedTarget;r&&(r===n||8&r.compareDocumentPosition(n))||e.call(n,t)}}function Z(e){var r=".dragsuppress-"+ ++ja,i="click"+r,o=sa.select(n(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Na&&(Na=!("onselectstart"in e)&&b(e.style,"userSelect")),Na){var a=t(e).style,u=a[Na];a[Na]="none"}return function(t){if(o.on(r,null),Na&&(a[Na]=u),t){var n=function(){o.on(i,null)};o.on(i,function(){S(),n()},!0),setTimeout(n,0)}}}function X(t,e){e.changedTouches&&(e=e.changedTouches[0]);var r=t.ownerSVGElement||t;if(r.createSVGPoint){var i=r.createSVGPoint();if(Ra<0){var o=n(t);if(o.scrollX||o.scrollY){r=sa.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var a=r[0][0].getScreenCTM();Ra=!(a.f||a.e),r.remove()}}return Ra?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(t.getScreenCTM().inverse()),[i.x,i.y]}var u=t.getBoundingClientRect();return[e.clientX-u.left-t.clientLeft,e.clientY-u.top-t.clientTop]}function J(){return sa.event.changedTouches[0].identifier}function K(t){return t>0?1:t<0?-1:0}function Q(t,n,e){return(n[0]-t[0])*(e[1]-t[1])-(n[1]-t[1])*(e[0]-t[0])}function tt(t){return t>1?0:t<-1?Ia:Math.acos(t)}function nt(t){return t>1?za:t<-1?-za:Math.asin(t)}function et(t){return((t=Math.exp(t))-1/t)/2}function rt(t){return((t=Math.exp(t))+1/t)/2}function it(t){return((t=Math.exp(2*t))-1)/(t+1)}function ot(t){return(t=Math.sin(t/2))*t}function at(){}function ut(t,n,e){return this instanceof ut?(this.h=+t,this.s=+n,void(this.l=+e)):arguments.length<2?t instanceof ut?new ut(t.h,t.s,t.l):xt(""+t,wt,ut):new ut(t,n,e)}function st(t,n,e){function r(t){return t>360?t-=360:t<0&&(t+=360),t<60?o+(a-o)*t/60:t<180?a:t<240?o+(a-o)*(240-t)/60:o}function i(t){return Math.round(255*r(t))}var o,a;return t=isNaN(t)?0:(t%=360)<0?t+360:t,n=isNaN(n)?0:n<0?0:n>1?1:n,e=e<0?0:e>1?1:e,a=e<=.5?e*(1+n):e+n-e*n,o=2*e-a,new mt(i(t+120),i(t),i(t-120))}function lt(t,n,e){return this instanceof lt?(this.h=+t,this.c=+n,void(this.l=+e)):arguments.length<2?t instanceof lt?new lt(t.h,t.c,t.l):t instanceof ft?pt(t.l,t.a,t.b):pt((t=Ct((t=sa.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new lt(t,n,e)}function ct(t,n,e){return isNaN(t)&&(t=0),isNaN(n)&&(n=0),new ft(e,Math.cos(t*=Ba)*n,Math.sin(t)*n)}function ft(t,n,e){return this instanceof ft?(this.l=+t,this.a=+n,void(this.b=+e)):arguments.length<2?t instanceof ft?new ft(t.l,t.a,t.b):t instanceof lt?ct(t.h,t.c,t.l):Ct((t=mt(t)).r,t.g,t.b):new ft(t,n,e)}function ht(t,n,e){var r=(t+16)/116,i=r+n/500,o=r-e/200;return i=dt(i)*tu,r=dt(r)*nu,o=dt(o)*eu,new mt(gt(3.2404542*i-1.5371385*r-.4985314*o),gt(-.969266*i+1.8760108*r+.041556*o),gt(.0556434*i-.2040259*r+1.0572252*o))}function pt(t,n,e){return t>0?new lt(Math.atan2(e,n)*Ua,Math.sqrt(n*n+e*e),t):new lt(NaN,NaN,t)}function dt(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function vt(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function gt(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function mt(t,n,e){return this instanceof mt?(this.r=~~t,this.g=~~n,void(this.b=~~e)):arguments.length<2?t instanceof mt?new mt(t.r,t.g,t.b):xt(""+t,mt,st):new mt(t,n,e)}function yt(t){return new mt(t>>16,t>>8&255,255&t)}function $t(t){return yt(t)+""}function bt(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function xt(t,n,e){var r,i,o,a=0,u=0,s=0;if(r=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return n(Mt(i[0]),Mt(i[1]),Mt(i[2]))}return(o=ou.get(t))?n(o.r,o.g,o.b):(null==t||"#"!==t.charAt(0)||isNaN(o=parseInt(t.slice(1),16))||(4===t.length?(a=(3840&o)>>4,a=a>>4|a,u=240&o,u=u>>4|u,s=15&o,s=s<<4|s):7===t.length&&(a=(16711680&o)>>16,u=(65280&o)>>8,s=255&o)),n(a,u,s))}function wt(t,n,e){var r,i,o=Math.min(t/=255,n/=255,e/=255),a=Math.max(t,n,e),u=a-o,s=(a+o)/2;return u?(i=s<.5?u/(a+o):u/(2-a-o),r=t==a?(n-e)/u+(n<e?6:0):n==a?(e-t)/u+2:(t-n)/u+4,r*=60):(r=NaN,i=s>0&&s<1?0:r),new ut(r,i,s)}function Ct(t,n,e){t=St(t),n=St(n),e=St(e);var r=vt((.4124564*t+.3575761*n+.1804375*e)/tu),i=vt((.2126729*t+.7151522*n+.072175*e)/nu),o=vt((.0193339*t+.119192*n+.9503041*e)/eu);return ft(116*i-16,500*(r-i),200*(i-o))}function St(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Mt(t){var n=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*n):n}function _t(t){return"function"==typeof t?t:function(){return t}}function kt(t){return function(n,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),At(n,e,t,r)}}function At(t,n,e,r){function i(){var t,n=s.status;if(!n&&Pt(s)||n>=200&&n<300||304===n){try{t=e.call(o,s)}catch(r){return void a.error.call(o,r)}a.load.call(o,t)}else a.error.call(o,s)}var o={},a=sa.dispatch("beforesend","progress","load","error"),u={},s=new XMLHttpRequest,l=null;return!this.XDomainRequest||"withCredentials"in s||!/^(http(s)?:)?\/\//.test(t)||(s=new XDomainRequest),"onload"in s?s.onload=s.onerror=i:s.onreadystatechange=function(){s.readyState>3&&i()},s.onprogress=function(t){var n=sa.event;sa.event=t;try{a.progress.call(o,s)}finally{sa.event=n}},o.header=function(t,n){return t=(t+"").toLowerCase(),arguments.length<2?u[t]:(null==n?delete u[t]:u[t]=n+"",o)},o.mimeType=function(t){return arguments.length?(n=null==t?null:t+"",o):n},o.responseType=function(t){return arguments.length?(l=t,o):l},o.response=function(t){return e=t,o},["get","post"].forEach(function(t){o[t]=function(){return o.send.apply(o,[t].concat(ca(arguments)))}}),o.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),s.open(e,t,!0),null==n||"accept"in u||(u.accept=n+",*/*"),s.setRequestHeader)for(var c in u)s.setRequestHeader(c,u[c]);return null!=n&&s.overrideMimeType&&s.overrideMimeType(n),null!=l&&(s.responseType=l),null!=i&&o.on("error",i).on("load",function(t){i(null,t)}),a.beforesend.call(o,s),s.send(null==r?null:r),o},o.abort=function(){return s.abort(),o},sa.rebind(o,a,"on"),null==r?o:o.get(Et(r))}function Et(t){return 1===t.length?function(n,e){t(null==n?e:null)}:t}function Pt(t){var n=t.responseType;return n&&"text"!==n?t.response:t.responseText}function Ot(t,n,e){var r=arguments.length;r<2&&(n=0),r<3&&(e=Date.now());var i=e+n,o={c:t,t:i,n:null};return uu?uu.n=o:au=o,uu=o,su||(lu=clearTimeout(lu),su=1,cu(Tt)),o}function Tt(){var t=Lt(),n=Nt()-t;n>24?(isFinite(n)&&(clearTimeout(lu),lu=setTimeout(Tt,n)),su=0):(su=1,cu(Tt))}function Lt(){for(var t=Date.now(),n=au;n;)t>=n.t&&n.c(t-n.t)&&(n.c=null),n=n.n;return t}function Nt(){for(var t,n=au,e=1/0;n;)n.c?(n.t<e&&(e=n.t),n=(t=n).n):n=t?t.n=n.n:au=n.n;return uu=t,e}function jt(t,n){return n-(t?Math.ceil(Math.log(t)/Math.LN10):1)}function Rt(t,n){var e=Math.pow(10,3*ba(8-n));return{scale:n>8?function(t){return t/e}:function(t){return t*e},symbol:t}}function Dt(t){var n=t.decimal,e=t.thousands,r=t.grouping,i=t.currency,o=r&&e?function(t,n){for(var i=t.length,o=[],a=0,u=r[0],s=0;i>0&&u>0&&(s+u+1>n&&(u=Math.max(1,n-s)),o.push(t.substring(i-=u,i+u)),!((s+=u+1)>n));)u=r[a=(a+1)%r.length];return o.reverse().join(e)}:y;return function(t){var e=hu.exec(t),r=e[1]||" ",a=e[2]||">",u=e[3]||"-",s=e[4]||"",l=e[5],c=+e[6],f=e[7],h=e[8],p=e[9],d=1,v="",g="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===a)&&(l=r="0",a="="),p){case"n":f=!0,p="g";break;case"%":d=100,g="%",p="f";break;case"p":d=100,g="%",p="r";break;case"b":case"o":case"x":case"X":"#"===s&&(v="0"+p.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":d=-1,p="r"}"$"===s&&(v=i[0],g=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pu.get(p)||Ft;var $=l&&f;return function(t){var e=g;if(m&&t%1)return"";var i=t<0||0===t&&1/t<0?(t=-t,"-"):"-"===u?"":u;if(d<0){var s=sa.formatPrefix(t,h);t=s.scale(t),e=s.symbol+g}else t*=d;t=p(t,h);var b,x,w=t.lastIndexOf(".");if(w<0){var C=y?t.lastIndexOf("e"):-1;C<0?(b=t,x=""):(b=t.substring(0,C),x=t.substring(C))}else b=t.substring(0,w),x=n+t.substring(w+1);!l&&f&&(b=o(b,1/0));var S=v.length+b.length+x.length+($?0:i.length),M=S<c?new Array(S=c-S+1).join(r):"";return $&&(b=o(M+b,M.length?c-x.length:1/0)),i+=v,t=b+x,("<"===a?i+t+M:">"===a?M+i+t:"^"===a?M.substring(0,S>>=1)+i+t+M.substring(S):i+($?t:M+t))+e}}}function Ft(t){return t+""}function It(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Vt(t,n,e){function r(n){var e=t(n),r=o(e,1);return n-e<r-n?e:r}function i(e){return n(e=t(new vu(e-1)),1),e}function o(t,e){return n(t=new vu((+t)),e),t}function a(t,r,o){var a=i(t),u=[];if(o>1)for(;a<r;)e(a)%o||u.push(new Date((+a))),n(a,1);else for(;a<r;)u.push(new Date((+a))),n(a,1);return u}function u(t,n,e){try{vu=It;var r=new It;return r._=t,a(r,n,e)}finally{vu=Date}}t.floor=t,t.round=r,t.ceil=i,t.offset=o,t.range=a;var s=t.utc=qt(t);return s.floor=s,s.round=qt(r),s.ceil=qt(i),s.offset=qt(o),s.range=u,t}function qt(t){return function(n,e){try{vu=It;var r=new It;return r._=n,t(r,e)._}finally{vu=Date}}}function zt(t){function n(t){function n(n){for(var e,i,o,a=[],u=-1,s=0;++u<r;)37===t.charCodeAt(u)&&(a.push(t.slice(s,u)),null!=(i=mu[e=t.charAt(++u)])&&(e=t.charAt(++u)),(o=A[e])&&(e=o(n,null==i?"e"===e?" ":"0":i)),a.push(e),s=u+1);return a.push(t.slice(s,u)),a.join("")}var r=t.length;return n.parse=function(n){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,t,n,0);if(i!=n.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var o=null!=r.Z&&vu!==It,a=new(o?It:vu);return"j"in r?a.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),a.setFullYear(r.y,0,1),a.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(a.getDay()+5)%7:r.w+7*r.U-(a.getDay()+6)%7)):a.setFullYear(r.y,r.m,r.d),a.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),o?a._:a},n.toString=function(){return t},n}function e(t,n,e,r){for(var i,o,a,u=0,s=n.length,l=e.length;u<s;){if(r>=l)return-1;if(i=n.charCodeAt(u++),37===i){if(a=n.charAt(u++),o=E[a in mu?n.charAt(u++):a],!o||(r=o(t,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(t,n,e){w.lastIndex=0;var r=w.exec(n.slice(e));return r?(t.w=C.get(r[0].toLowerCase()),e+r[0].length):-1}function i(t,n,e){b.lastIndex=0;var r=b.exec(n.slice(e));return r?(t.w=x.get(r[0].toLowerCase()),e+r[0].length):-1}function o(t,n,e){_.lastIndex=0;var r=_.exec(n.slice(e));return r?(t.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(t,n,e){S.lastIndex=0;var r=S.exec(n.slice(e));return r?(t.m=M.get(r[0].toLowerCase()),e+r[0].length):-1}function u(t,n,r){return e(t,A.c.toString(),n,r)}function s(t,n,r){return e(t,A.x.toString(),n,r)}function l(t,n,r){return e(t,A.X.toString(),n,r)}function c(t,n,e){var r=$.get(n.slice(e,e+=2).toLowerCase());return null==r?-1:(t.p=r,e)}var f=t.dateTime,h=t.date,p=t.time,d=t.periods,v=t.days,g=t.shortDays,m=t.months,y=t.shortMonths;n.utc=function(t){function e(t){try{vu=It;var n=new vu;return n._=t,r(n)}finally{vu=Date}}var r=n(t);return e.parse=function(t){try{vu=It;var n=r.parse(t);return n&&n._}finally{vu=Date}},e.toString=r.toString,e},n.multi=n.utc.multi=ln;var $=sa.map(),b=Ut(v),x=Wt(v),w=Ut(g),C=Wt(g),S=Ut(m),M=Wt(m),_=Ut(y),k=Wt(y);d.forEach(function(t,n){$.set(t.toLowerCase(),n)});var A={a:function(t){return g[t.getDay()]},A:function(t){return v[t.getDay()]},b:function(t){return y[t.getMonth()]},B:function(t){return m[t.getMonth()]},c:n(f),d:function(t,n){return Bt(t.getDate(),n,2)},e:function(t,n){return Bt(t.getDate(),n,2)},H:function(t,n){return Bt(t.getHours(),n,2)},I:function(t,n){return Bt(t.getHours()%12||12,n,2)},j:function(t,n){return Bt(1+du.dayOfYear(t),n,3)},L:function(t,n){return Bt(t.getMilliseconds(),n,3)},m:function(t,n){return Bt(t.getMonth()+1,n,2)},M:function(t,n){return Bt(t.getMinutes(),n,2)},p:function(t){return d[+(t.getHours()>=12)]},S:function(t,n){return Bt(t.getSeconds(),n,2)},U:function(t,n){return Bt(du.sundayOfYear(t),n,2)},w:function(t){return t.getDay()},W:function(t,n){return Bt(du.mondayOfYear(t),n,2)},x:n(h),X:n(p),y:function(t,n){return Bt(t.getFullYear()%100,n,2)},Y:function(t,n){return Bt(t.getFullYear()%1e4,n,4)},Z:un,"%":function(){return"%"}},E={a:r,A:i,b:o,B:a,c:u,d:tn,e:tn,H:en,I:en,j:nn,L:an,m:Qt,M:rn,p:c,S:on,U:Yt,w:Ht,W:Gt,x:s,X:l,y:Xt,Y:Zt,Z:Jt,"%":sn};return n}function Bt(t,n,e){var r=t<0?"-":"",i=(r?-t:t)+"",o=i.length;return r+(o<e?new Array(e-o+1).join(n)+i:i)}function Ut(t){return new RegExp("^(?:"+t.map(sa.requote).join("|")+")","i")}function Wt(t){for(var n=new l,e=-1,r=t.length;++e<r;)n.set(t[e].toLowerCase(),e);return n}function Ht(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+1));return r?(t.w=+r[0],e+r[0].length):-1}function Yt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.U=+r[0],e+r[0].length):-1}function Gt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e));return r?(t.W=+r[0],e+r[0].length):-1}function Zt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+4));return r?(t.y=+r[0],e+r[0].length):-1}function Xt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.y=Kt(+r[0]),e+r[0].length):-1}function Jt(t,n,e){return/^[+-]\d{4}$/.test(n=n.slice(e,e+5))?(t.Z=-n,e+5):-1}function Kt(t){return t+(t>68?1900:2e3)}function Qt(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.m=r[0]-1,e+r[0].length):-1}function tn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.d=+r[0],e+r[0].length):-1}function nn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.j=+r[0],e+r[0].length):-1}function en(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.H=+r[0],e+r[0].length):-1}function rn(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.M=+r[0],e+r[0].length):-1}function on(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+2));return r?(t.S=+r[0],e+r[0].length):-1}function an(t,n,e){yu.lastIndex=0;var r=yu.exec(n.slice(e,e+3));return r?(t.L=+r[0],e+r[0].length):-1}function un(t){var n=t.getTimezoneOffset(),e=n>0?"-":"+",r=ba(n)/60|0,i=ba(n)%60;return e+Bt(r,"0",2)+Bt(i,"0",2)}function sn(t,n,e){$u.lastIndex=0;var r=$u.exec(n.slice(e,e+1));return r?e+r[0].length:-1}function ln(t){for(var n=t.length,e=-1;++e<n;)t[e][0]=this(t[e][0]);return function(n){for(var e=0,r=t[e];!r[1](n);)r=t[++e];return r[0](n)}}function cn(){}function fn(t,n,e){var r=e.s=t+n,i=r-t,o=r-i;e.t=t-o+(n-i)}function hn(t,n){t&&Cu.hasOwnProperty(t.type)&&Cu[t.type](t,n)}function pn(t,n,e){var r,i=-1,o=t.length-e;for(n.lineStart();++i<o;)r=t[i],n.point(r[0],r[1],r[2]);n.lineEnd()}function dn(t,n){var e=-1,r=t.length;for(n.polygonStart();++e<r;)pn(t[e],n,1);n.polygonEnd()}function vn(){function t(t,n){t*=Ba,n=n*Ba/2+Ia/4;var e=t-r,a=e>=0?1:-1,u=a*e,s=Math.cos(n),l=Math.sin(n),c=o*l,f=i*s+c*Math.cos(u),h=c*a*Math.sin(u);Mu.add(Math.atan2(h,f)),r=t,i=s,o=l}var n,e,r,i,o;_u.point=function(a,u){_u.point=t,r=(n=a)*Ba,i=Math.cos(u=(e=u)*Ba/2+Ia/4),o=Math.sin(u)},_u.lineEnd=function(){t(n,e)}}function gn(t){var n=t[0],e=t[1],r=Math.cos(e);return[r*Math.cos(n),r*Math.sin(n),Math.sin(e)]}function mn(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]}function yn(t,n){return[t[1]*n[2]-t[2]*n[1],t[2]*n[0]-t[0]*n[2],t[0]*n[1]-t[1]*n[0]]}function $n(t,n){t[0]+=n[0],t[1]+=n[1],t[2]+=n[2]}function bn(t,n){return[t[0]*n,t[1]*n,t[2]*n]}function xn(t){var n=Math.sqrt(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=n,t[1]/=n,t[2]/=n}function wn(t){return[Math.atan2(t[1],t[0]),nt(t[2])]}function Cn(t,n){return ba(t[0]-n[0])<Da&&ba(t[1]-n[1])<Da}function Sn(t,n){t*=Ba;var e=Math.cos(n*=Ba);Mn(e*Math.cos(t),e*Math.sin(t),Math.sin(n))}function Mn(t,n,e){++ku,Eu+=(t-Eu)/ku,Pu+=(n-Pu)/ku,Ou+=(e-Ou)/ku}function _n(){function t(t,i){t*=Ba;var o=Math.cos(i*=Ba),a=o*Math.cos(t),u=o*Math.sin(t),s=Math.sin(i),l=Math.atan2(Math.sqrt((l=e*s-r*u)*l+(l=r*a-n*s)*l+(l=n*u-e*a)*l),n*a+e*u+r*s);
+Au+=l,Tu+=l*(n+(n=a)),Lu+=l*(e+(e=u)),Nu+=l*(r+(r=s)),Mn(n,e,r)}var n,e,r;Fu.point=function(i,o){i*=Ba;var a=Math.cos(o*=Ba);n=a*Math.cos(i),e=a*Math.sin(i),r=Math.sin(o),Fu.point=t,Mn(n,e,r)}}function kn(){Fu.point=Sn}function An(){function t(t,n){t*=Ba;var e=Math.cos(n*=Ba),a=e*Math.cos(t),u=e*Math.sin(t),s=Math.sin(n),l=i*s-o*u,c=o*a-r*s,f=r*u-i*a,h=Math.sqrt(l*l+c*c+f*f),p=r*a+i*u+o*s,d=h&&-tt(p)/h,v=Math.atan2(h,p);ju+=d*l,Ru+=d*c,Du+=d*f,Au+=v,Tu+=v*(r+(r=a)),Lu+=v*(i+(i=u)),Nu+=v*(o+(o=s)),Mn(r,i,o)}var n,e,r,i,o;Fu.point=function(a,u){n=a,e=u,Fu.point=t,a*=Ba;var s=Math.cos(u*=Ba);r=s*Math.cos(a),i=s*Math.sin(a),o=Math.sin(u),Mn(r,i,o)},Fu.lineEnd=function(){t(n,e),Fu.lineEnd=kn,Fu.point=Sn}}function En(t,n){function e(e,r){return e=t(e,r),n(e[0],e[1])}return t.invert&&n.invert&&(e.invert=function(e,r){return e=n.invert(e,r),e&&t.invert(e[0],e[1])}),e}function Pn(){return!0}function On(t,n,e,r,i){var o=[],a=[];if(t.forEach(function(t){if(!((n=t.length-1)<=0)){var n,e=t[0],r=t[n];if(Cn(e,r)){i.lineStart();for(var u=0;u<n;++u)i.point((e=t[u])[0],e[1]);return void i.lineEnd()}var s=new Ln(e,t,null,(!0)),l=new Ln(e,null,s,(!1));s.o=l,o.push(s),a.push(l),s=new Ln(r,t,null,(!1)),l=new Ln(r,null,s,(!0)),s.o=l,o.push(s),a.push(l)}}),a.sort(n),Tn(o),Tn(a),o.length){for(var u=0,s=e,l=a.length;u<l;++u)a[u].e=s=!s;for(var c,f,h=o[0];;){for(var p=h,d=!0;p.v;)if((p=p.n)===h)return;c=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(d)for(var u=0,l=c.length;u<l;++u)i.point((f=c[u])[0],f[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(d){c=p.p.z;for(var u=c.length-1;u>=0;--u)i.point((f=c[u])[0],f[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,c=p.z,d=!d}while(!p.v);i.lineEnd()}}}function Tn(t){if(n=t.length){for(var n,e,r=0,i=t[0];++r<n;)i.n=e=t[r],e.p=i,i=e;i.n=e=t[0],e.p=i}}function Ln(t,n,e,r){this.x=t,this.z=n,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Nn(t,n,e,r){return function(i,o){function a(n,e){var r=i(n,e);t(n=r[0],e=r[1])&&o.point(n,e)}function u(t,n){var e=i(t,n);g.point(e[0],e[1])}function s(){y.point=u,g.lineStart()}function l(){y.point=a,g.lineEnd()}function c(t,n){v.push([t,n]);var e=i(t,n);b.point(e[0],e[1])}function f(){b.lineStart(),v=[]}function h(){c(v[0][0],v[0][1]),b.lineEnd();var t,n=b.clean(),e=$.buffer(),r=e.length;if(v.pop(),d.push(v),v=null,r)if(1&n){t=e[0];var i,r=t.length-1,a=-1;if(r>0){for(x||(o.polygonStart(),x=!0),o.lineStart();++a<r;)o.point((i=t[a])[0],i[1]);o.lineEnd()}}else r>1&&2&n&&e.push(e.pop().concat(e.shift())),p.push(e.filter(jn))}var p,d,v,g=n(o),m=i.invert(r[0],r[1]),y={point:a,lineStart:s,lineEnd:l,polygonStart:function(){y.point=c,y.lineStart=f,y.lineEnd=h,p=[],d=[]},polygonEnd:function(){y.point=a,y.lineStart=s,y.lineEnd=l,p=sa.merge(p);var t=qn(m,d);p.length?(x||(o.polygonStart(),x=!0),On(p,Dn,t,e,o)):t&&(x||(o.polygonStart(),x=!0),o.lineStart(),e(null,null,1,o),o.lineEnd()),x&&(o.polygonEnd(),x=!1),p=d=null},sphere:function(){o.polygonStart(),o.lineStart(),e(null,null,1,o),o.lineEnd(),o.polygonEnd()}},$=Rn(),b=n($),x=!1;return y}}function jn(t){return t.length>1}function Rn(){var t,n=[];return{lineStart:function(){n.push(t=[])},point:function(n,e){t.push([n,e])},lineEnd:x,buffer:function(){var e=n;return n=[],t=null,e},rejoin:function(){n.length>1&&n.push(n.pop().concat(n.shift()))}}}function Dn(t,n){return((t=t.x)[0]<0?t[1]-za-Da:za-t[1])-((n=n.x)[0]<0?n[1]-za-Da:za-n[1])}function Fn(t){var n,e=NaN,r=NaN,i=NaN;return{lineStart:function(){t.lineStart(),n=1},point:function(o,a){var u=o>0?Ia:-Ia,s=ba(o-e);ba(s-Ia)<Da?(t.point(e,r=(r+a)/2>0?za:-za),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),t.point(o,r),n=0):i!==u&&s>=Ia&&(ba(e-i)<Da&&(e-=i*Da),ba(o-u)<Da&&(o-=u*Da),r=In(e,r,o,a),t.point(i,r),t.lineEnd(),t.lineStart(),t.point(u,r),n=0),t.point(e=o,r=a),i=u},lineEnd:function(){t.lineEnd(),e=r=NaN},clean:function(){return 2-n}}}function In(t,n,e,r){var i,o,a=Math.sin(t-e);return ba(a)>Da?Math.atan((Math.sin(n)*(o=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(n))*Math.sin(t))/(i*o*a)):(n+r)/2}function Vn(t,n,e,r){var i;if(null==t)i=e*za,r.point(-Ia,i),r.point(0,i),r.point(Ia,i),r.point(Ia,0),r.point(Ia,-i),r.point(0,-i),r.point(-Ia,-i),r.point(-Ia,0),r.point(-Ia,i);else if(ba(t[0]-n[0])>Da){var o=t[0]<n[0]?Ia:-Ia;i=e*o/2,r.point(-o,i),r.point(0,i),r.point(o,i)}else r.point(n[0],n[1])}function qn(t,n){var e=t[0],r=t[1],i=[Math.sin(e),-Math.cos(e),0],o=0,a=0;Mu.reset();for(var u=0,s=n.length;u<s;++u){var l=n[u],c=l.length;if(c)for(var f=l[0],h=f[0],p=f[1]/2+Ia/4,d=Math.sin(p),v=Math.cos(p),g=1;;){g===c&&(g=0),t=l[g];var m=t[0],y=t[1]/2+Ia/4,$=Math.sin(y),b=Math.cos(y),x=m-h,w=x>=0?1:-1,C=w*x,S=C>Ia,M=d*$;if(Mu.add(Math.atan2(M*w*Math.sin(C),v*b+M*Math.cos(C))),o+=S?x+w*Va:x,S^h>=e^m>=e){var _=yn(gn(f),gn(t));xn(_);var k=yn(i,_);xn(k);var A=(S^x>=0?-1:1)*nt(k[2]);(r>A||r===A&&(_[0]||_[1]))&&(a+=S^x>=0?1:-1)}if(!g++)break;h=m,d=$,v=b,f=t}}return(o<-Da||o<Da&&Mu<-Da)^1&a}function zn(t){function n(t,n){return Math.cos(t)*Math.cos(n)>o}function e(t){var e,o,s,l,c;return{lineStart:function(){l=s=!1,c=1},point:function(f,h){var p,d=[f,h],v=n(f,h),g=a?v?0:i(f,h):v?i(f+(f<0?Ia:-Ia),h):0;if(!e&&(l=s=v)&&t.lineStart(),v!==s&&(p=r(e,d),(Cn(e,p)||Cn(d,p))&&(d[0]+=Da,d[1]+=Da,v=n(d[0],d[1]))),v!==s)c=0,v?(t.lineStart(),p=r(d,e),t.point(p[0],p[1])):(p=r(e,d),t.point(p[0],p[1]),t.lineEnd()),e=p;else if(u&&e&&a^v){var m;g&o||!(m=r(d,e,!0))||(c=0,a?(t.lineStart(),t.point(m[0][0],m[0][1]),t.point(m[1][0],m[1][1]),t.lineEnd()):(t.point(m[1][0],m[1][1]),t.lineEnd(),t.lineStart(),t.point(m[0][0],m[0][1])))}!v||e&&Cn(e,d)||t.point(d[0],d[1]),e=d,s=v,o=g},lineEnd:function(){s&&t.lineEnd(),e=null},clean:function(){return c|(l&&s)<<1}}}function r(t,n,e){var r=gn(t),i=gn(n),a=[1,0,0],u=yn(r,i),s=mn(u,u),l=u[0],c=s-l*l;if(!c)return!e&&t;var f=o*s/c,h=-o*l/c,p=yn(a,u),d=bn(a,f),v=bn(u,h);$n(d,v);var g=p,m=mn(d,g),y=mn(g,g),$=m*m-y*(mn(d,d)-1);if(!($<0)){var b=Math.sqrt($),x=bn(g,(-m-b)/y);if($n(x,d),x=wn(x),!e)return x;var w,C=t[0],S=n[0],M=t[1],_=n[1];S<C&&(w=C,C=S,S=w);var k=S-C,A=ba(k-Ia)<Da,E=A||k<Da;if(!A&&_<M&&(w=M,M=_,_=w),E?A?M+_>0^x[1]<(ba(x[0]-C)<Da?M:_):M<=x[1]&&x[1]<=_:k>Ia^(C<=x[0]&&x[0]<=S)){var P=bn(g,(-m+b)/y);return $n(P,d),[x,wn(P)]}}}function i(n,e){var r=a?t:Ia-t,i=0;return n<-r?i|=1:n>r&&(i|=2),e<-r?i|=4:e>r&&(i|=8),i}var o=Math.cos(t),a=o>0,u=ba(o)>Da,s=ve(t,6*Ba);return Nn(n,e,s,a?[0,-t]:[-Ia,t-Ia])}function Bn(t,n,e,r){return function(i){var o,a=i.a,u=i.b,s=a.x,l=a.y,c=u.x,f=u.y,h=0,p=1,d=c-s,v=f-l;if(o=t-s,d||!(o>0)){if(o/=d,d<0){if(o<h)return;o<p&&(p=o)}else if(d>0){if(o>p)return;o>h&&(h=o)}if(o=e-s,d||!(o<0)){if(o/=d,d<0){if(o>p)return;o>h&&(h=o)}else if(d>0){if(o<h)return;o<p&&(p=o)}if(o=n-l,v||!(o>0)){if(o/=v,v<0){if(o<h)return;o<p&&(p=o)}else if(v>0){if(o>p)return;o>h&&(h=o)}if(o=r-l,v||!(o<0)){if(o/=v,v<0){if(o>p)return;o>h&&(h=o)}else if(v>0){if(o<h)return;o<p&&(p=o)}return h>0&&(i.a={x:s+h*d,y:l+h*v}),p<1&&(i.b={x:s+p*d,y:l+p*v}),i}}}}}}function Un(t,n,e,r){function i(r,i){return ba(r[0]-t)<Da?i>0?0:3:ba(r[0]-e)<Da?i>0?2:1:ba(r[1]-n)<Da?i>0?1:0:i>0?3:2}function o(t,n){return a(t.x,n.x)}function a(t,n){var e=i(t,1),r=i(n,1);return e!==r?e-r:0===e?n[1]-t[1]:1===e?t[0]-n[0]:2===e?t[1]-n[1]:n[0]-t[0]}return function(u){function s(t){for(var n=0,e=g.length,r=t[1],i=0;i<e;++i)for(var o,a=1,u=g[i],s=u.length,l=u[0];a<s;++a)o=u[a],l[1]<=r?o[1]>r&&Q(l,o,t)>0&&++n:o[1]<=r&&Q(l,o,t)<0&&--n,l=o;return 0!==n}function l(o,u,s,l){var c=0,f=0;if(null==o||(c=i(o,s))!==(f=i(u,s))||a(o,u)<0^s>0){do l.point(0===c||3===c?t:e,c>1?r:n);while((c=(c+s+4)%4)!==f)}else l.point(u[0],u[1])}function c(i,o){return t<=i&&i<=e&&n<=o&&o<=r}function f(t,n){c(t,n)&&u.point(t,n)}function h(){E.point=d,g&&g.push(m=[]),S=!0,C=!1,x=w=NaN}function p(){v&&(d(y,$),b&&C&&k.rejoin(),v.push(k.buffer())),E.point=f,C&&u.lineEnd()}function d(t,n){t=Math.max(-Vu,Math.min(Vu,t)),n=Math.max(-Vu,Math.min(Vu,n));var e=c(t,n);if(g&&m.push([t,n]),S)y=t,$=n,b=e,S=!1,e&&(u.lineStart(),u.point(t,n));else if(e&&C)u.point(t,n);else{var r={a:{x:x,y:w},b:{x:t,y:n}};A(r)?(C||(u.lineStart(),u.point(r.a.x,r.a.y)),u.point(r.b.x,r.b.y),e||u.lineEnd(),M=!1):e&&(u.lineStart(),u.point(t,n),M=!1)}x=t,w=n,C=e}var v,g,m,y,$,b,x,w,C,S,M,_=u,k=Rn(),A=Bn(t,n,e,r),E={point:f,lineStart:h,lineEnd:p,polygonStart:function(){u=k,v=[],g=[],M=!0},polygonEnd:function(){u=_,v=sa.merge(v);var n=s([t,r]),e=M&&n,i=v.length;(e||i)&&(u.polygonStart(),e&&(u.lineStart(),l(null,null,1,u),u.lineEnd()),i&&On(v,o,n,l,u),u.polygonEnd()),v=g=m=null}};return E}}function Wn(t){var n=0,e=Ia/3,r=ue(t),i=r(n,e);return i.parallels=function(t){return arguments.length?r(n=t[0]*Ia/180,e=t[1]*Ia/180):[n/Ia*180,e/Ia*180]},i}function Hn(t,n){function e(t,n){var e=Math.sqrt(o-2*i*Math.sin(n))/i;return[e*Math.sin(t*=i),a-e*Math.cos(t)]}var r=Math.sin(t),i=(r+Math.sin(n))/2,o=1+r*(2*i-r),a=Math.sqrt(o)/i;return e.invert=function(t,n){var e=a-n;return[Math.atan2(t,e)/i,nt((o-(t*t+e*e)*i*i)/(2*i))]},e}function Yn(){function t(t,n){zu+=i*t-r*n,r=t,i=n}var n,e,r,i;Yu.point=function(o,a){Yu.point=t,n=r=o,e=i=a},Yu.lineEnd=function(){t(n,e)}}function Gn(t,n){t<Bu&&(Bu=t),t>Wu&&(Wu=t),n<Uu&&(Uu=n),n>Hu&&(Hu=n)}function Zn(){function t(t,n){a.push("M",t,",",n,o)}function n(t,n){a.push("M",t,",",n),u.point=e}function e(t,n){a.push("L",t,",",n)}function r(){u.point=t}function i(){a.push("Z")}var o=Xn(4.5),a=[],u={point:t,lineStart:function(){u.point=n},lineEnd:r,polygonStart:function(){u.lineEnd=i},polygonEnd:function(){u.lineEnd=r,u.point=t},pointRadius:function(t){return o=Xn(t),u},result:function(){if(a.length){var t=a.join("");return a=[],t}}};return u}function Xn(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function Jn(t,n){Eu+=t,Pu+=n,++Ou}function Kn(){function t(t,r){var i=t-n,o=r-e,a=Math.sqrt(i*i+o*o);Tu+=a*(n+t)/2,Lu+=a*(e+r)/2,Nu+=a,Jn(n=t,e=r)}var n,e;Zu.point=function(r,i){Zu.point=t,Jn(n=r,e=i)}}function Qn(){Zu.point=Jn}function te(){function t(t,n){var e=t-r,o=n-i,a=Math.sqrt(e*e+o*o);Tu+=a*(r+t)/2,Lu+=a*(i+n)/2,Nu+=a,a=i*t-r*n,ju+=a*(r+t),Ru+=a*(i+n),Du+=3*a,Jn(r=t,i=n)}var n,e,r,i;Zu.point=function(o,a){Zu.point=t,Jn(n=r=o,e=i=a)},Zu.lineEnd=function(){t(n,e)}}function ne(t){function n(n,e){t.moveTo(n+a,e),t.arc(n,e,a,0,Va)}function e(n,e){t.moveTo(n,e),u.point=r}function r(n,e){t.lineTo(n,e)}function i(){u.point=n}function o(){t.closePath()}var a=4.5,u={point:n,lineStart:function(){u.point=e},lineEnd:i,polygonStart:function(){u.lineEnd=o},polygonEnd:function(){u.lineEnd=i,u.point=n},pointRadius:function(t){return a=t,u},result:x};return u}function ee(t){function n(t){return(u?r:e)(t)}function e(n){return oe(n,function(e,r){e=t(e,r),n.point(e[0],e[1])})}function r(n){function e(e,r){e=t(e,r),n.point(e[0],e[1])}function r(){$=NaN,S.point=o,n.lineStart()}function o(e,r){var o=gn([e,r]),a=t(e,r);i($,b,y,x,w,C,$=a[0],b=a[1],y=e,x=o[0],w=o[1],C=o[2],u,n),n.point($,b)}function a(){S.point=e,n.lineEnd()}function s(){r(),S.point=l,S.lineEnd=c}function l(t,n){o(f=t,h=n),p=$,d=b,v=x,g=w,m=C,S.point=o}function c(){i($,b,y,x,w,C,p,d,f,v,g,m,u,n),S.lineEnd=a,a()}var f,h,p,d,v,g,m,y,$,b,x,w,C,S={point:e,lineStart:r,lineEnd:a,polygonStart:function(){n.polygonStart(),S.lineStart=s},polygonEnd:function(){n.polygonEnd(),S.lineStart=r}};return S}function i(n,e,r,u,s,l,c,f,h,p,d,v,g,m){var y=c-n,$=f-e,b=y*y+$*$;if(b>4*o&&g--){var x=u+p,w=s+d,C=l+v,S=Math.sqrt(x*x+w*w+C*C),M=Math.asin(C/=S),_=ba(ba(C)-1)<Da||ba(r-h)<Da?(r+h)/2:Math.atan2(w,x),k=t(_,M),A=k[0],E=k[1],P=A-n,O=E-e,T=$*P-y*O;(T*T/b>o||ba((y*P+$*O)/b-.5)>.3||u*p+s*d+l*v<a)&&(i(n,e,r,u,s,l,A,E,_,x/=S,w/=S,C,g,m),m.point(A,E),i(A,E,_,x,w,C,c,f,h,p,d,v,g,m))}}var o=.5,a=Math.cos(30*Ba),u=16;return n.precision=function(t){return arguments.length?(u=(o=t*t)>0&&16,n):Math.sqrt(o)},n}function re(t){var n=ee(function(n,e){return t([n*Ua,e*Ua])});return function(t){return se(n(t))}}function ie(t){this.stream=t}function oe(t,n){return{point:n,sphere:function(){t.sphere()},lineStart:function(){t.lineStart()},lineEnd:function(){t.lineEnd()},polygonStart:function(){t.polygonStart()},polygonEnd:function(){t.polygonEnd()}}}function ae(t){return ue(function(){return t})()}function ue(t){function n(t){return t=u(t[0]*Ba,t[1]*Ba),[t[0]*h+s,l-t[1]*h]}function e(t){return t=u.invert((t[0]-s)/h,(l-t[1])/h),t&&[t[0]*Ua,t[1]*Ua]}function r(){u=En(a=fe(m,$,b),o);var t=o(v,g);return s=p-t[0]*h,l=d+t[1]*h,i()}function i(){return c&&(c.valid=!1,c=null),n}var o,a,u,s,l,c,f=ee(function(t,n){return t=o(t,n),[t[0]*h+s,l-t[1]*h]}),h=150,p=480,d=250,v=0,g=0,m=0,$=0,b=0,x=Iu,w=y,C=null,S=null;return n.stream=function(t){return c&&(c.valid=!1),c=se(x(a,f(w(t)))),c.valid=!0,c},n.clipAngle=function(t){return arguments.length?(x=null==t?(C=t,Iu):zn((C=+t)*Ba),i()):C},n.clipExtent=function(t){return arguments.length?(S=t,w=t?Un(t[0][0],t[0][1],t[1][0],t[1][1]):y,i()):S},n.scale=function(t){return arguments.length?(h=+t,r()):h},n.translate=function(t){return arguments.length?(p=+t[0],d=+t[1],r()):[p,d]},n.center=function(t){return arguments.length?(v=t[0]%360*Ba,g=t[1]%360*Ba,r()):[v*Ua,g*Ua]},n.rotate=function(t){return arguments.length?(m=t[0]%360*Ba,$=t[1]%360*Ba,b=t.length>2?t[2]%360*Ba:0,r()):[m*Ua,$*Ua,b*Ua]},sa.rebind(n,f,"precision"),function(){return o=t.apply(this,arguments),n.invert=o.invert&&e,r()}}function se(t){return oe(t,function(n,e){t.point(n*Ba,e*Ba)})}function le(t,n){return[t,n]}function ce(t,n){return[t>Ia?t-Va:t<-Ia?t+Va:t,n]}function fe(t,n,e){return t?n||e?En(pe(t),de(n,e)):pe(t):n||e?de(n,e):ce}function he(t){return function(n,e){return n+=t,[n>Ia?n-Va:n<-Ia?n+Va:n,e]}}function pe(t){var n=he(t);return n.invert=he(-t),n}function de(t,n){function e(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*r+u*i;return[Math.atan2(s*o-c*a,u*r-l*i),nt(c*o+s*a)]}var r=Math.cos(t),i=Math.sin(t),o=Math.cos(n),a=Math.sin(n);return e.invert=function(t,n){var e=Math.cos(n),u=Math.cos(t)*e,s=Math.sin(t)*e,l=Math.sin(n),c=l*o-s*a;return[Math.atan2(s*o+l*a,u*r+c*i),nt(c*r-u*i)]},e}function ve(t,n){var e=Math.cos(t),r=Math.sin(t);return function(i,o,a,u){var s=a*n;null!=i?(i=ge(e,i),o=ge(e,o),(a>0?i<o:i>o)&&(i+=a*Va)):(i=t+a*Va,o=t-.5*s);for(var l,c=i;a>0?c>o:c<o;c-=s)u.point((l=wn([e,-r*Math.cos(c),-r*Math.sin(c)]))[0],l[1])}}function ge(t,n){var e=gn(n);e[0]-=t,xn(e);var r=tt(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Da)%(2*Math.PI)}function me(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[t,n]})}}function ye(t,n,e){var r=sa.range(t,n-Da,e).concat(n);return function(t){return r.map(function(n){return[n,t]})}}function $e(t){return t.source}function be(t){return t.target}function xe(t,n,e,r){var i=Math.cos(n),o=Math.sin(n),a=Math.cos(r),u=Math.sin(r),s=i*Math.cos(t),l=i*Math.sin(t),c=a*Math.cos(e),f=a*Math.sin(e),h=2*Math.asin(Math.sqrt(ot(r-n)+i*a*ot(e-t))),p=1/Math.sin(h),d=h?function(t){var n=Math.sin(t*=h)*p,e=Math.sin(h-t)*p,r=e*s+n*c,i=e*l+n*f,a=e*o+n*u;return[Math.atan2(i,r)*Ua,Math.atan2(a,Math.sqrt(r*r+i*i))*Ua]}:function(){return[t*Ua,n*Ua]};return d.distance=h,d}function we(){function t(t,i){var o=Math.sin(i*=Ba),a=Math.cos(i),u=ba((t*=Ba)-n),s=Math.cos(u);Xu+=Math.atan2(Math.sqrt((u=a*Math.sin(u))*u+(u=r*o-e*a*s)*u),e*o+r*a*s),n=t,e=o,r=a}var n,e,r;Ju.point=function(i,o){n=i*Ba,e=Math.sin(o*=Ba),r=Math.cos(o),Ju.point=t},Ju.lineEnd=function(){Ju.point=Ju.lineEnd=x}}function Ce(t,n){function e(n,e){var r=Math.cos(n),i=Math.cos(e),o=t(r*i);return[o*i*Math.sin(n),o*Math.sin(e)]}return e.invert=function(t,e){var r=Math.sqrt(t*t+e*e),i=n(r),o=Math.sin(i),a=Math.cos(i);return[Math.atan2(t*o,r*a),Math.asin(r&&e*o/r)]},e}function Se(t,n){function e(t,n){a>0?n<-za+Da&&(n=-za+Da):n>za-Da&&(n=za-Da);var e=a/Math.pow(i(n),o);return[e*Math.sin(o*t),a-e*Math.cos(o*t)]}var r=Math.cos(t),i=function(t){return Math.tan(Ia/4+t/2)},o=t===n?Math.sin(t):Math.log(r/Math.cos(n))/Math.log(i(n)/i(t)),a=r*Math.pow(i(t),o)/o;return o?(e.invert=function(t,n){var e=a-n,r=K(o)*Math.sqrt(t*t+e*e);return[Math.atan2(t,e)/o,2*Math.atan(Math.pow(a/r,1/o))-za]},e):_e}function Me(t,n){function e(t,n){var e=o-n;return[e*Math.sin(i*t),o-e*Math.cos(i*t)]}var r=Math.cos(t),i=t===n?Math.sin(t):(r-Math.cos(n))/(n-t),o=r/i+t;return ba(i)<Da?le:(e.invert=function(t,n){var e=o-n;return[Math.atan2(t,e)/i,o-K(i)*Math.sqrt(t*t+e*e)]},e)}function _e(t,n){return[t,Math.log(Math.tan(Ia/4+n/2))]}function ke(t){var n,e=ae(t),r=e.scale,i=e.translate,o=e.clipExtent;return e.scale=function(){var t=r.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.translate=function(){var t=i.apply(e,arguments);return t===e?n?e.clipExtent(null):e:t},e.clipExtent=function(t){var a=o.apply(e,arguments);if(a===e){if(n=null==t){var u=Ia*r(),s=i();o([[s[0]-u,s[1]-u],[s[0]+u,s[1]+u]])}}else n&&(a=null);return a},e.clipExtent(null)}function Ae(t,n){return[Math.log(Math.tan(Ia/4+n/2)),-t]}function Ee(t){return t[0]}function Pe(t){return t[1]}function Oe(t){for(var n=t.length,e=[0,1],r=2,i=2;i<n;i++){for(;r>1&&Q(t[e[r-2]],t[e[r-1]],t[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function Te(t,n){return t[0]-n[0]||t[1]-n[1]}function Le(t,n,e){return(e[0]-n[0])*(t[1]-n[1])<(e[1]-n[1])*(t[0]-n[0])}function Ne(t,n,e,r){var i=t[0],o=e[0],a=n[0]-i,u=r[0]-o,s=t[1],l=e[1],c=n[1]-s,f=r[1]-l,h=(u*(s-l)-f*(i-o))/(f*a-u*c);return[i+h*a,s+h*c]}function je(t){var n=t[0],e=t[t.length-1];return!(n[0]-e[0]||n[1]-e[1])}function Re(){rr(this),this.edge=this.site=this.circle=null}function De(t){var n=ls.pop()||new Re;return n.site=t,n}function Fe(t){Ge(t),as.remove(t),ls.push(t),rr(t)}function Ie(t){var n=t.circle,e=n.x,r=n.cy,i={x:e,y:r},o=t.P,a=t.N,u=[t];Fe(t);for(var s=o;s.circle&&ba(e-s.circle.x)<Da&&ba(r-s.circle.cy)<Da;)o=s.P,u.unshift(s),Fe(s),s=o;u.unshift(s),Ge(s);for(var l=a;l.circle&&ba(e-l.circle.x)<Da&&ba(r-l.circle.cy)<Da;)a=l.N,u.push(l),Fe(l),l=a;u.push(l),Ge(l);var c,f=u.length;for(c=1;c<f;++c)l=u[c],s=u[c-1],tr(l.edge,s.site,l.site,i);s=u[0],l=u[f-1],l.edge=Ke(s.site,l.site,null,i),Ye(s),Ye(l)}function Ve(t){for(var n,e,r,i,o=t.x,a=t.y,u=as._;u;)if(r=qe(u,a)-o,r>Da)u=u.L;else{if(i=o-ze(u,a),!(i>Da)){r>-Da?(n=u.P,e=u):i>-Da?(n=u,e=u.N):n=e=u;break}if(!u.R){n=u;break}u=u.R}var s=De(t);if(as.insert(n,s),n||e){if(n===e)return Ge(n),e=De(n.site),as.insert(s,e),s.edge=e.edge=Ke(n.site,s.site),Ye(n),void Ye(e);if(!e)return void(s.edge=Ke(n.site,s.site));Ge(n),Ge(e);var l=n.site,c=l.x,f=l.y,h=t.x-c,p=t.y-f,d=e.site,v=d.x-c,g=d.y-f,m=2*(h*g-p*v),y=h*h+p*p,$=v*v+g*g,b={x:(g*y-p*$)/m+c,y:(h*$-v*y)/m+f};tr(e.edge,l,d,b),s.edge=Ke(l,t,null,b),e.edge=Ke(t,d,null,b),Ye(n),Ye(e)}}function qe(t,n){var e=t.site,r=e.x,i=e.y,o=i-n;if(!o)return r;var a=t.P;if(!a)return-(1/0);e=a.site;var u=e.x,s=e.y,l=s-n;if(!l)return u;var c=u-r,f=1/o-1/l,h=c/l;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*l)-s+l/2+i-o/2)))/f+r:(r+u)/2}function ze(t,n){var e=t.N;if(e)return qe(e,n);var r=t.site;return r.y===n?r.x:1/0}function Be(t){this.site=t,this.edges=[]}function Ue(t){for(var n,e,r,i,o,a,u,s,l,c,f=t[0][0],h=t[1][0],p=t[0][1],d=t[1][1],v=os,g=v.length;g--;)if(o=v[g],o&&o.prepare())for(u=o.edges,s=u.length,a=0;a<s;)c=u[a].end(),r=c.x,i=c.y,l=u[++a%s].start(),n=l.x,e=l.y,(ba(r-n)>Da||ba(i-e)>Da)&&(u.splice(a,0,new nr(Qe(o.site,c,ba(r-f)<Da&&d-i>Da?{x:f,y:ba(n-f)<Da?e:d}:ba(i-d)<Da&&h-r>Da?{x:ba(e-d)<Da?n:h,y:d}:ba(r-h)<Da&&i-p>Da?{x:h,y:ba(n-h)<Da?e:p}:ba(i-p)<Da&&r-f>Da?{x:ba(e-p)<Da?n:f,y:p}:null),o.site,null)),++s)}function We(t,n){return n.angle-t.angle}function He(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Ye(t){var n=t.P,e=t.N;if(n&&e){var r=n.site,i=t.site,o=e.site;if(r!==o){var a=i.x,u=i.y,s=r.x-a,l=r.y-u,c=o.x-a,f=o.y-u,h=2*(s*f-l*c);if(!(h>=-Fa)){var p=s*s+l*l,d=c*c+f*f,v=(f*p-l*d)/h,g=(s*d-c*p)/h,f=g+u,m=cs.pop()||new He;m.arc=t,m.site=i,m.x=v+a,m.y=f+Math.sqrt(v*v+g*g),m.cy=f,t.circle=m;for(var y=null,$=ss._;$;)if(m.y<$.y||m.y===$.y&&m.x<=$.x){if(!$.L){y=$.P;break}$=$.L}else{if(!$.R){y=$;break}$=$.R}ss.insert(y,m),y||(us=m)}}}}function Ge(t){var n=t.circle;n&&(n.P||(us=n.N),ss.remove(n),cs.push(n),rr(n),t.circle=null)}function Ze(t){for(var n,e=is,r=Bn(t[0][0],t[0][1],t[1][0],t[1][1]),i=e.length;i--;)n=e[i],(!Xe(n,t)||!r(n)||ba(n.a.x-n.b.x)<Da&&ba(n.a.y-n.b.y)<Da)&&(n.a=n.b=null,e.splice(i,1))}function Xe(t,n){var e=t.b;if(e)return!0;var r,i,o=t.a,a=n[0][0],u=n[1][0],s=n[0][1],l=n[1][1],c=t.l,f=t.r,h=c.x,p=c.y,d=f.x,v=f.y,g=(h+d)/2,m=(p+v)/2;if(v===p){if(g<a||g>=u)return;if(h>d){if(o){if(o.y>=l)return}else o={x:g,y:s};e={x:g,y:l}}else{if(o){if(o.y<s)return}else o={x:g,y:l};e={x:g,y:s}}}else if(r=(h-d)/(v-p),i=m-r*g,r<-1||r>1)if(h>d){if(o){if(o.y>=l)return}else o={x:(s-i)/r,y:s};e={x:(l-i)/r,y:l}}else{if(o){if(o.y<s)return}else o={x:(l-i)/r,y:l};e={x:(s-i)/r,y:s}}else if(p<v){if(o){if(o.x>=u)return}else o={x:a,y:r*a+i};e={x:u,y:r*u+i}}else{if(o){if(o.x<a)return}else o={x:u,y:r*u+i};e={x:a,y:r*a+i}}return t.a=o,t.b=e,!0}function Je(t,n){this.l=t,this.r=n,this.a=this.b=null}function Ke(t,n,e,r){var i=new Je(t,n);return is.push(i),e&&tr(i,t,n,e),r&&tr(i,n,t,r),os[t.i].edges.push(new nr(i,t,n)),os[n.i].edges.push(new nr(i,n,t)),i}function Qe(t,n,e){var r=new Je(t,null);return r.a=n,r.b=e,is.push(r),r}function tr(t,n,e,r){t.a||t.b?t.l===e?t.b=r:t.a=r:(t.a=r,t.l=n,t.r=e)}function nr(t,n,e){var r=t.a,i=t.b;this.edge=t,this.site=n,this.angle=e?Math.atan2(e.y-n.y,e.x-n.x):t.l===n?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(t){t.U=t.C=t.L=t.R=t.P=t.N=null}function ir(t,n){var e=n,r=n.R,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function or(t,n){var e=n,r=n.L,i=e.U;i?i.L===e?i.L=r:i.R=r:t._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function ar(t){for(;t.L;)t=t.L;return t}function ur(t,n){var e,r,i,o=t.sort(sr).pop();for(is=[],os=new Array(t.length),as=new er,ss=new er;;)if(i=us,o&&(!i||o.y<i.y||o.y===i.y&&o.x<i.x))o.x===e&&o.y===r||(os[o.i]=new Be(o),Ve(o),e=o.x,r=o.y),o=t.pop();else{if(!i)break;Ie(i.arc)}n&&(Ze(n),Ue(n));var a={cells:os,edges:is};return as=ss=is=os=null,a}function sr(t,n){return n.y-t.y||n.x-t.x}function lr(t,n,e){return(t.x-e.x)*(n.y-t.y)-(t.x-n.x)*(e.y-t.y)}function cr(t){return t.x}function fr(t){return t.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(t,n,e,r,i,o){if(!t(n,e,r,i,o)){var a=.5*(e+i),u=.5*(r+o),s=n.nodes;s[0]&&pr(t,s[0],e,r,a,u),s[1]&&pr(t,s[1],a,r,i,u),s[2]&&pr(t,s[2],e,u,a,o),s[3]&&pr(t,s[3],a,u,i,o)}}function dr(t,n,e,r,i,o,a){var u,s=1/0;return function l(t,c,f,h,p){if(!(c>o||f>a||h<r||p<i)){if(d=t.point){var d,v=n-t.x,g=e-t.y,m=v*v+g*g;if(m<s){var y=Math.sqrt(s=m);r=n-y,i=e-y,o=n+y,a=e+y,u=d}}for(var $=t.nodes,b=.5*(c+h),x=.5*(f+p),w=n>=b,C=e>=x,S=C<<1|w,M=S+4;S<M;++S)if(t=$[3&S])switch(3&S){case 0:l(t,c,f,b,x);break;case 1:l(t,b,f,h,x);break;case 2:l(t,c,x,b,p);break;case 3:l(t,b,x,h,p)}}}(t,r,i,o,a),u}function vr(t,n){t=sa.rgb(t),n=sa.rgb(n);var e=t.r,r=t.g,i=t.b,o=n.r-e,a=n.g-r,u=n.b-i;return function(t){return"#"+bt(Math.round(e+o*t))+bt(Math.round(r+a*t))+bt(Math.round(i+u*t))}}function gr(t,n){var e,r={},i={};for(e in t)e in n?r[e]=$r(t[e],n[e]):i[e]=t[e];for(e in n)e in t||(i[e]=n[e]);return function(t){for(e in r)i[e]=r[e](t);return i}}function mr(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}function yr(t,n){var e,r,i,o=hs.lastIndex=ps.lastIndex=0,a=-1,u=[],s=[];for(t+="",n+="";(e=hs.exec(t))&&(r=ps.exec(n));)(i=r.index)>o&&(i=n.slice(o,i),u[a]?u[a]+=i:u[++a]=i),(e=e[0])===(r=r[0])?u[a]?u[a]+=r:u[++a]=r:(u[++a]=null,s.push({i:a,x:mr(e,r)})),o=ps.lastIndex;return o<n.length&&(i=n.slice(o),u[a]?u[a]+=i:u[++a]=i),u.length<2?s[0]?(n=s[0].x,function(t){return n(t)+""}):function(){return n}:(n=s.length,function(t){for(var e,r=0;r<n;++r)u[(e=s[r]).i]=e.x(t);return u.join("")})}function $r(t,n){for(var e,r=sa.interpolators.length;--r>=0&&!(e=sa.interpolators[r](t,n)););return e}function br(t,n){var e,r=[],i=[],o=t.length,a=n.length,u=Math.min(t.length,n.length);for(e=0;e<u;++e)r.push($r(t[e],n[e]));for(;e<o;++e)i[e]=t[e];for(;e<a;++e)i[e]=n[e];return function(t){for(e=0;e<u;++e)i[e]=r[e](t);return i}}function xr(t){return function(n){return n<=0?0:n>=1?1:t(n)}}function wr(t){return function(n){return 1-t(1-n)}}function Cr(t){return function(n){return.5*(n<.5?t(2*n):2-t(2-2*n))}}function Sr(t){return t*t}function Mr(t){return t*t*t}function _r(t){if(t<=0)return 0;if(t>=1)return 1;var n=t*t,e=n*t;return 4*(t<.5?e:3*(t-n)+e-.75)}function kr(t){return function(n){return Math.pow(n,t)}}function Ar(t){return 1-Math.cos(t*za)}function Er(t){return Math.pow(2,10*(t-1))}function Pr(t){return 1-Math.sqrt(1-t*t)}function Or(t,n){var e;return arguments.length<2&&(n=.45),arguments.length?e=n/Va*Math.asin(1/t):(t=1,e=n/4),function(r){return 1+t*Math.pow(2,-10*r)*Math.sin((r-e)*Va/n)}}function Tr(t){return t||(t=1.70158),function(n){return n*n*((t+1)*n-t)}}function Lr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Nr(t,n){t=sa.hcl(t),n=sa.hcl(n);var e=t.h,r=t.c,i=t.l,o=n.h-e,a=n.c-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.c:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:o<-180&&(o+=360),function(t){return ct(e+o*t,r+a*t,i+u*t)+""}}function jr(t,n){t=sa.hsl(t),n=sa.hsl(n);var e=t.h,r=t.s,i=t.l,o=n.h-e,a=n.s-r,u=n.l-i;return isNaN(a)&&(a=0,r=isNaN(r)?n.s:r),isNaN(o)?(o=0,e=isNaN(e)?n.h:e):o>180?o-=360:o<-180&&(o+=360),function(t){return st(e+o*t,r+a*t,i+u*t)+""}}function Rr(t,n){t=sa.lab(t),n=sa.lab(n);var e=t.l,r=t.a,i=t.b,o=n.l-e,a=n.a-r,u=n.b-i;return function(t){return ht(e+o*t,r+a*t,i+u*t)+""}}function Dr(t,n){return n-=t,function(e){return Math.round(t+n*e)}}function Fr(t){var n=[t.a,t.b],e=[t.c,t.d],r=Vr(n),i=Ir(n,e),o=Vr(qr(e,n,-i))||0;n[0]*e[1]<e[0]*n[1]&&(n[0]*=-1,n[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(n[1],n[0]):Math.atan2(-e[0],e[1]))*Ua,this.translate=[t.e,t.f],this.scale=[r,o],this.skew=o?Math.atan2(i,o)*Ua:0}function Ir(t,n){return t[0]*n[0]+t[1]*n[1]}function Vr(t){var n=Math.sqrt(Ir(t,t));return n&&(t[0]/=n,t[1]/=n),n}function qr(t,n,e){return t[0]+=e*n[0],t[1]+=e*n[1],t}function zr(t){return t.length?t.pop()+",":""}function Br(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else(n[0]||n[1])&&e.push("translate("+n+")")}function Ur(t,n,e,r){t!==n?(t-n>180?n+=360:n-t>180&&(t+=360),r.push({i:e.push(zr(e)+"rotate(",null,")")-2,x:mr(t,n)})):n&&e.push(zr(e)+"rotate("+n+")")}function Wr(t,n,e,r){t!==n?r.push({i:e.push(zr(e)+"skewX(",null,")")-2,x:mr(t,n)}):n&&e.push(zr(e)+"skewX("+n+")")}function Hr(t,n,e,r){if(t[0]!==n[0]||t[1]!==n[1]){var i=e.push(zr(e)+"scale(",null,",",null,")");r.push({i:i-4,x:mr(t[0],n[0])},{i:i-2,x:mr(t[1],n[1])})}else 1===n[0]&&1===n[1]||e.push(zr(e)+"scale("+n+")")}function Yr(t,n){var e=[],r=[];return t=sa.transform(t),n=sa.transform(n),Br(t.translate,n.translate,e,r),Ur(t.rotate,n.rotate,e,r),Wr(t.skew,n.skew,e,r),Hr(t.scale,n.scale,e,r),t=n=null,function(t){for(var n,i=-1,o=r.length;++i<o;)e[(n=r[i]).i]=n.x(t);return e.join("")}}function Gr(t,n){return n=(n-=t=+t)||1/n,function(e){return(e-t)/n}}function Zr(t,n){return n=(n-=t=+t)||1/n,function(e){return Math.max(0,Math.min(1,(e-t)/n))}}function Xr(t){for(var n=t.source,e=t.target,r=Kr(n,e),i=[n];n!==r;)n=n.parent,i.push(n);for(var o=i.length;e!==r;)i.splice(o,0,e),e=e.parent;return i}function Jr(t){for(var n=[],e=t.parent;null!=e;)n.push(t),t=e,e=e.parent;return n.push(t),n}function Kr(t,n){if(t===n)return t;for(var e=Jr(t),r=Jr(n),i=e.pop(),o=r.pop(),a=null;i===o;)a=i,i=e.pop(),o=r.pop();return a}function Qr(t){t.fixed|=2}function ti(t){t.fixed&=-7}function ni(t){t.fixed|=4,t.px=t.x,t.py=t.y}function ei(t){t.fixed&=-5}function ri(t,n,e){var r=0,i=0;if(t.charge=0,!t.leaf)for(var o,a=t.nodes,u=a.length,s=-1;++s<u;)o=a[s],null!=o&&(ri(o,n,e),t.charge+=o.charge,r+=o.charge*o.cx,i+=o.charge*o.cy);if(t.point){t.leaf||(t.point.x+=Math.random()-.5,t.point.y+=Math.random()-.5);var l=n*e[t.point.index];t.charge+=t.pointCharge=l,r+=l*t.point.x,i+=l*t.point.y}t.cx=r/t.charge,t.cy=i/t.charge}function ii(t,n){return sa.rebind(t,n,"sort","children","value"),t.nodes=t,t.links=ci,t}function oi(t,n){for(var e=[t];null!=(t=e.pop());)if(n(t),(i=t.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function ai(t,n){for(var e=[t],r=[];null!=(t=e.pop());)if(r.push(t),(o=t.children)&&(i=o.length))for(var i,o,a=-1;++a<i;)e.push(o[a]);for(;null!=(t=r.pop());)n(t)}function ui(t){return t.children}function si(t){return t.value}function li(t,n){return n.value-t.value}function ci(t){return sa.merge(t.map(function(t){return(t.children||[]).map(function(n){return{source:t,target:n}})}))}function fi(t){return t.x}function hi(t){return t.y}function pi(t,n,e){t.y0=n,t.y=e}function di(t){return sa.range(t.length)}function vi(t){for(var n=-1,e=t[0].length,r=[];++n<e;)r[n]=0;return r}function gi(t){for(var n,e=1,r=0,i=t[0][1],o=t.length;e<o;++e)(n=t[e][1])>i&&(r=e,i=n);return r}function mi(t){return t.reduce(yi,0)}function yi(t,n){return t+n[1]}function $i(t,n){return bi(t,Math.ceil(Math.log(n.length)/Math.LN2+1))}function bi(t,n){for(var e=-1,r=+t[0],i=(t[1]-r)/n,o=[];++e<=n;)o[e]=i*e+r;return o}function xi(t){return[sa.min(t),sa.max(t)]}function wi(t,n){return t.value-n.value}function Ci(t,n){var e=t._pack_next;t._pack_next=n,n._pack_prev=t,n._pack_next=e,e._pack_prev=n}function Si(t,n){t._pack_next=n,n._pack_prev=t}function Mi(t,n){var e=n.x-t.x,r=n.y-t.y,i=t.r+n.r;return.999*i*i>e*e+r*r}function _i(t){function n(t){c=Math.min(t.x-t.r,c),f=Math.max(t.x+t.r,f),h=Math.min(t.y-t.r,h),p=Math.max(t.y+t.r,p)}if((e=t.children)&&(l=e.length)){var e,r,i,o,a,u,s,l,c=1/0,f=-(1/0),h=1/0,p=-(1/0);if(e.forEach(ki),r=e[0],r.x=-r.r,r.y=0,n(r),l>1&&(i=e[1],i.x=i.r,i.y=0,n(i),l>2))for(o=e[2],Pi(r,i,o),n(o),Ci(r,o),r._pack_prev=o,Ci(o,i),i=r._pack_next,a=3;a<l;a++){Pi(r,i,o=e[a]);var d=0,v=1,g=1;for(u=i._pack_next;u!==i;u=u._pack_next,v++)if(Mi(u,o)){d=1;break}if(1==d)for(s=r._pack_prev;s!==u._pack_prev&&!Mi(s,o);s=s._pack_prev,g++);d?(v<g||v==g&&i.r<r.r?Si(r,i=u):Si(r=s,i),a--):(Ci(r,o),i=o,n(o))}var m=(c+f)/2,y=(h+p)/2,$=0;for(a=0;a<l;a++)o=e[a],o.x-=m,o.y-=y,$=Math.max($,o.r+Math.sqrt(o.x*o.x+o.y*o.y));t.r=$,e.forEach(Ai)}}function ki(t){t._pack_next=t._pack_prev=t}function Ai(t){delete t._pack_next,delete t._pack_prev}function Ei(t,n,e,r){var i=t.children;if(t.x=n+=r*t.x,t.y=e+=r*t.y,t.r*=r,i)for(var o=-1,a=i.length;++o<a;)Ei(i[o],n,e,r)}function Pi(t,n,e){var r=t.r+e.r,i=n.x-t.x,o=n.y-t.y;if(r&&(i||o)){var a=n.r+e.r,u=i*i+o*o;a*=a,r*=r;var s=.5+(r-a)/(2*u),l=Math.sqrt(Math.max(0,2*a*(r+u)-(r-=u)*r-a*a))/(2*u);e.x=t.x+s*i+l*o,e.y=t.y+s*o-l*i}else e.x=t.x+r,e.y=t.y}function Oi(t,n){return t.parent==n.parent?1:2}function Ti(t){var n=t.children;return n.length?n[0]:t.t}function Li(t){var n,e=t.children;return(n=e.length)?e[n-1]:t.t}function Ni(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function ji(t){for(var n,e=0,r=0,i=t.children,o=i.length;--o>=0;)n=i[o],n.z+=e,n.m+=e,e+=n.s+(r+=n.c)}function Ri(t,n,e){return t.a.parent===n.parent?t.a:e}function Di(t){return 1+sa.max(t,function(t){return t.y})}function Fi(t){return t.reduce(function(t,n){return t+n.x},0)/t.length}function Ii(t){var n=t.children;return n&&n.length?Ii(n[0]):t}function Vi(t){var n,e=t.children;return e&&(n=e.length)?Vi(e[n-1]):t}function qi(t){return{x:t.x,y:t.y,dx:t.dx,dy:t.dy}}function zi(t,n){var e=t.x+n[3],r=t.y+n[0],i=t.dx-n[1]-n[3],o=t.dy-n[0]-n[2];return i<0&&(e+=i/2,i=0),o<0&&(r+=o/2,o=0),{x:e,y:r,dx:i,dy:o}}function Bi(t){var n=t[0],e=t[t.length-1];return n<e?[n,e]:[e,n]}function Ui(t){return t.rangeExtent?t.rangeExtent():Bi(t.range())}function Wi(t,n,e,r){var i=e(t[0],t[1]),o=r(n[0],n[1]);return function(t){return o(i(t))}}function Hi(t,n){var e,r=0,i=t.length-1,o=t[r],a=t[i];return a<o&&(e=r,r=i,i=e,e=o,o=a,a=e),t[r]=n.floor(o),t[i]=n.ceil(a),t}function Yi(t){return t?{floor:function(n){return Math.floor(n/t)*t},ceil:function(n){return Math.ceil(n/t)*t}}:Ss}function Gi(t,n,e,r){var i=[],o=[],a=0,u=Math.min(t.length,n.length)-1;for(t[u]<t[0]&&(t=t.slice().reverse(),
+n=n.slice().reverse());++a<=u;)i.push(e(t[a-1],t[a])),o.push(r(n[a-1],n[a]));return function(n){var e=sa.bisect(t,n,1,u)-1;return o[e](i[e](n))}}function Zi(t,n,e,r){function i(){var i=Math.min(t.length,n.length)>2?Gi:Wi,s=r?Zr:Gr;return a=i(t,n,s,e),u=i(n,t,s,$r),o}function o(t){return a(t)}var a,u;return o.invert=function(t){return u(t)},o.domain=function(n){return arguments.length?(t=n.map(Number),i()):t},o.range=function(t){return arguments.length?(n=t,i()):n},o.rangeRound=function(t){return o.range(t).interpolate(Dr)},o.clamp=function(t){return arguments.length?(r=t,i()):r},o.interpolate=function(t){return arguments.length?(e=t,i()):e},o.ticks=function(n){return Qi(t,n)},o.tickFormat=function(n,e){return to(t,n,e)},o.nice=function(n){return Ji(t,n),i()},o.copy=function(){return Zi(t,n,e,r)},i()}function Xi(t,n){return sa.rebind(t,n,"range","rangeRound","interpolate","clamp")}function Ji(t,n){return Hi(t,Yi(Ki(t,n)[2])),Hi(t,Yi(Ki(t,n)[2])),t}function Ki(t,n){null==n&&(n=10);var e=Bi(t),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/n)/Math.LN10)),o=n/r*i;return o<=.15?i*=10:o<=.35?i*=5:o<=.75&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(t,n){return sa.range.apply(sa,Ki(t,n))}function to(t,n,e){var r=Ki(t,n);if(e){var i=hu.exec(e);if(i.shift(),"s"===i[8]){var o=sa.formatPrefix(Math.max(ba(r[0]),ba(r[1])));return i[7]||(i[7]="."+no(o.scale(r[2]))),i[8]="f",e=sa.format(i.join("")),function(t){return e(o.scale(t))+o.symbol}}i[7]||(i[7]="."+eo(i[8],r)),e=i.join("")}else e=",."+no(r[2])+"f";return sa.format(e)}function no(t){return-Math.floor(Math.log(t)/Math.LN10+.01)}function eo(t,n){var e=no(n[2]);return t in Ms?Math.abs(e-no(Math.max(ba(n[0]),ba(n[1]))))+ +("e"!==t):e-2*("%"===t)}function ro(t,n,e,r){function i(t){return(e?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(n)}function o(t){return e?Math.pow(n,t):-Math.pow(n,-t)}function a(n){return t(i(n))}return a.invert=function(n){return o(t.invert(n))},a.domain=function(n){return arguments.length?(e=n[0]>=0,t.domain((r=n.map(Number)).map(i)),a):r},a.base=function(e){return arguments.length?(n=+e,t.domain(r.map(i)),a):n},a.nice=function(){var n=Hi(r.map(i),e?Math:ks);return t.domain(n),r=n.map(o),a},a.ticks=function(){var t=Bi(r),a=[],u=t[0],s=t[1],l=Math.floor(i(u)),c=Math.ceil(i(s)),f=n%1?2:n;if(isFinite(c-l)){if(e){for(;l<c;l++)for(var h=1;h<f;h++)a.push(o(l)*h);a.push(o(l))}else for(a.push(o(l));l++<c;)for(var h=f-1;h>0;h--)a.push(o(l)*h);for(l=0;a[l]<u;l++);for(c=a.length;a[c-1]>s;c--);a=a.slice(l,c)}return a},a.tickFormat=function(t,e){if(!arguments.length)return _s;arguments.length<2?e=_s:"function"!=typeof e&&(e=sa.format(e));var r=Math.max(1,n*t/a.ticks().length);return function(t){var a=t/o(Math.round(i(t)));return a*n<n-.5&&(a*=n),a<=r?e(t):""}},a.copy=function(){return ro(t.copy(),n,e,r)},Xi(a,t)}function io(t,n,e){function r(n){return t(i(n))}var i=oo(n),o=oo(1/n);return r.invert=function(n){return o(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain((e=n.map(Number)).map(i)),r):e},r.ticks=function(t){return Qi(e,t)},r.tickFormat=function(t,n){return to(e,t,n)},r.nice=function(t){return r.domain(Ji(e,t))},r.exponent=function(a){return arguments.length?(i=oo(n=a),o=oo(1/n),t.domain(e.map(i)),r):n},r.copy=function(){return io(t.copy(),n,e)},Xi(r,t)}function oo(t){return function(n){return n<0?-Math.pow(-n,t):Math.pow(n,t)}}function ao(t,n){function e(e){return o[((i.get(e)||("range"===n.t?i.set(e,t.push(e)):NaN))-1)%o.length]}function r(n,e){return sa.range(t.length).map(function(t){return n+e*t})}var i,o,a;return e.domain=function(r){if(!arguments.length)return t;t=[],i=new l;for(var o,a=-1,u=r.length;++a<u;)i.has(o=r[a])||i.set(o,t.push(o));return e[n.t].apply(e,n.a)},e.range=function(t){return arguments.length?(o=t,a=0,n={t:"range",a:arguments},e):o},e.rangePoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=(s+l)/2,0):(l-s)/(t.length-1+u);return o=r(s+c*u/2,c),a=0,n={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,u){arguments.length<2&&(u=0);var s=i[0],l=i[1],c=t.length<2?(s=l=Math.round((s+l)/2),0):(l-s)/(t.length-1+u)|0;return o=r(s+Math.round(c*u/2+(l-s-(t.length-1+u)*c)/2),c),a=0,n={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=(f-c)/(t.length-u+2*s);return o=r(c+h*s,h),l&&o.reverse(),a=h*(1-u),n={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,u,s){arguments.length<2&&(u=0),arguments.length<3&&(s=u);var l=i[1]<i[0],c=i[l-0],f=i[1-l],h=Math.floor((f-c)/(t.length-u+2*s));return o=r(c+Math.round((f-c-(t.length-u)*h)/2),h),l&&o.reverse(),a=Math.round(h*(1-u)),n={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return a},e.rangeExtent=function(){return Bi(n.a[0])},e.copy=function(){return ao(t,n)},e.domain(t)}function uo(t,n){function o(){var e=0,r=n.length;for(u=[];++e<r;)u[e-1]=sa.quantile(t,e/r);return a}function a(t){if(!isNaN(t=+t))return n[sa.bisect(u,t)]}var u;return a.domain=function(n){return arguments.length?(t=n.map(r).filter(i).sort(e),o()):t},a.range=function(t){return arguments.length?(n=t,o()):n},a.quantiles=function(){return u},a.invertExtent=function(e){return e=n.indexOf(e),e<0?[NaN,NaN]:[e>0?u[e-1]:t[0],e<u.length?u[e]:t[t.length-1]]},a.copy=function(){return uo(t,n)},o()}function so(t,n,e){function r(n){return e[Math.max(0,Math.min(a,Math.floor(o*(n-t))))]}function i(){return o=e.length/(n-t),a=e.length-1,r}var o,a;return r.domain=function(e){return arguments.length?(t=+e[0],n=+e[e.length-1],i()):[t,n]},r.range=function(t){return arguments.length?(e=t,i()):e},r.invertExtent=function(n){return n=e.indexOf(n),n=n<0?NaN:n/o+t,[n,n+1/o]},r.copy=function(){return so(t,n,e)},i()}function lo(t,n){function e(e){if(e<=e)return n[sa.bisect(t,e)]}return e.domain=function(n){return arguments.length?(t=n,e):t},e.range=function(t){return arguments.length?(n=t,e):n},e.invertExtent=function(e){return e=n.indexOf(e),[t[e-1],t[e]]},e.copy=function(){return lo(t,n)},e}function co(t){function n(t){return+t}return n.invert=n,n.domain=n.range=function(e){return arguments.length?(t=e.map(n),n):t},n.ticks=function(n){return Qi(t,n)},n.tickFormat=function(n,e){return to(t,n,e)},n.copy=function(){return co(t)},n}function fo(){return 0}function ho(t){return t.innerRadius}function po(t){return t.outerRadius}function vo(t){return t.startAngle}function go(t){return t.endAngle}function mo(t){return t&&t.padAngle}function yo(t,n,e,r){return(t-e)*n-(n-r)*t>0?0:1}function $o(t,n,e,r,i){var o=t[0]-n[0],a=t[1]-n[1],u=(i?r:-r)/Math.sqrt(o*o+a*a),s=u*a,l=-u*o,c=t[0]+s,f=t[1]+l,h=n[0]+s,p=n[1]+l,d=(c+h)/2,v=(f+p)/2,g=h-c,m=p-f,y=g*g+m*m,$=e-r,b=c*p-h*f,x=(m<0?-1:1)*Math.sqrt(Math.max(0,$*$*y-b*b)),w=(b*m-g*x)/y,C=(-b*g-m*x)/y,S=(b*m+g*x)/y,M=(-b*g+m*x)/y,_=w-d,k=C-v,A=S-d,E=M-v;return _*_+k*k>A*A+E*E&&(w=S,C=M),[[w-s,C-l],[w*e/$,C*e/$]]}function bo(t){function n(n){function a(){l.push("M",o(t(c),u))}for(var s,l=[],c=[],f=-1,h=n.length,p=_t(e),d=_t(r);++f<h;)i.call(this,s=n[f],f)?c.push([+p.call(this,s,f),+d.call(this,s,f)]):c.length&&(a(),c=[]);return c.length&&a(),l.length?l.join(""):null}var e=Ee,r=Pe,i=Pn,o=xo,a=o.key,u=.7;return n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n.defined=function(t){return arguments.length?(i=t,n):i},n.interpolate=function(t){return arguments.length?(a="function"==typeof t?o=t:(o=Ls.get(t)||xo).key,n):a},n.tension=function(t){return arguments.length?(u=t,n):u},n}function xo(t){return t.length>1?t.join("L"):t+"Z"}function wo(t){return t.join("L")+"Z"}function Co(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r[0]+(r=t[n])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function So(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("V",(r=t[n])[1],"H",r[0]);return i.join("")}function Mo(t){for(var n=0,e=t.length,r=t[0],i=[r[0],",",r[1]];++n<e;)i.push("H",(r=t[n])[0],"V",r[1]);return i.join("")}function _o(t,n){return t.length<4?xo(t):t[1]+Eo(t.slice(1,-1),Po(t,n))}function ko(t,n){return t.length<3?wo(t):t[0]+Eo((t.push(t[0]),t),Po([t[t.length-2]].concat(t,[t[1]]),n))}function Ao(t,n){return t.length<3?xo(t):t[0]+Eo(t,Po(t,n))}function Eo(t,n){if(n.length<1||t.length!=n.length&&t.length!=n.length+2)return xo(t);var e=t.length!=n.length,r="",i=t[0],o=t[1],a=n[0],u=a,s=1;if(e&&(r+="Q"+(o[0]-2*a[0]/3)+","+(o[1]-2*a[1]/3)+","+o[0]+","+o[1],i=t[1],s=2),n.length>1){u=n[1],o=t[s],s++,r+="C"+(i[0]+a[0])+","+(i[1]+a[1])+","+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1];for(var l=2;l<n.length;l++,s++)o=t[s],u=n[l],r+="S"+(o[0]-u[0])+","+(o[1]-u[1])+","+o[0]+","+o[1]}if(e){var c=t[s];r+="Q"+(o[0]+2*u[0]/3)+","+(o[1]+2*u[1]/3)+","+c[0]+","+c[1]}return r}function Po(t,n){for(var e,r=[],i=(1-n)/2,o=t[0],a=t[1],u=1,s=t.length;++u<s;)e=o,o=a,a=t[u],r.push([i*(a[0]-e[0]),i*(a[1]-e[1])]);return r}function Oo(t){if(t.length<3)return xo(t);var n=1,e=t.length,r=t[0],i=r[0],o=r[1],a=[i,i,i,(r=t[1])[0]],u=[o,o,o,r[1]],s=[i,",",o,"L",jo(Rs,a),",",jo(Rs,u)];for(t.push(t[e-1]);++n<=e;)r=t[n],a.shift(),a.push(r[0]),u.shift(),u.push(r[1]),Ro(s,a,u);return t.pop(),s.push("L",r),s.join("")}function To(t){if(t.length<4)return xo(t);for(var n,e=[],r=-1,i=t.length,o=[0],a=[0];++r<3;)n=t[r],o.push(n[0]),a.push(n[1]);for(e.push(jo(Rs,o)+","+jo(Rs,a)),--r;++r<i;)n=t[r],o.shift(),o.push(n[0]),a.shift(),a.push(n[1]),Ro(e,o,a);return e.join("")}function Lo(t){for(var n,e,r=-1,i=t.length,o=i+4,a=[],u=[];++r<4;)e=t[r%i],a.push(e[0]),u.push(e[1]);for(n=[jo(Rs,a),",",jo(Rs,u)],--r;++r<o;)e=t[r%i],a.shift(),a.push(e[0]),u.shift(),u.push(e[1]),Ro(n,a,u);return n.join("")}function No(t,n){var e=t.length-1;if(e)for(var r,i,o=t[0][0],a=t[0][1],u=t[e][0]-o,s=t[e][1]-a,l=-1;++l<=e;)r=t[l],i=l/e,r[0]=n*r[0]+(1-n)*(o+i*u),r[1]=n*r[1]+(1-n)*(a+i*s);return Oo(t)}function jo(t,n){return t[0]*n[0]+t[1]*n[1]+t[2]*n[2]+t[3]*n[3]}function Ro(t,n,e){t.push("C",jo(Ns,n),",",jo(Ns,e),",",jo(js,n),",",jo(js,e),",",jo(Rs,n),",",jo(Rs,e))}function Do(t,n){return(n[1]-t[1])/(n[0]-t[0])}function Fo(t){for(var n=0,e=t.length-1,r=[],i=t[0],o=t[1],a=r[0]=Do(i,o);++n<e;)r[n]=(a+(a=Do(i=o,o=t[n+1])))/2;return r[n]=a,r}function Io(t){for(var n,e,r,i,o=[],a=Fo(t),u=-1,s=t.length-1;++u<s;)n=Do(t[u],t[u+1]),ba(n)<Da?a[u]=a[u+1]=0:(e=a[u]/n,r=a[u+1]/n,i=e*e+r*r,i>9&&(i=3*n/Math.sqrt(i),a[u]=i*e,a[u+1]=i*r));for(u=-1;++u<=s;)i=(t[Math.min(s,u+1)][0]-t[Math.max(0,u-1)][0])/(6*(1+a[u]*a[u])),o.push([i||0,a[u]*i||0]);return o}function Vo(t){return t.length<3?xo(t):t[0]+Eo(t,Io(t))}function qo(t){for(var n,e,r,i=-1,o=t.length;++i<o;)n=t[i],e=n[0],r=n[1]-za,n[0]=e*Math.cos(r),n[1]=e*Math.sin(r);return t}function zo(t){function n(n){function s(){v.push("M",u(t(m),f),c,l(t(g.reverse()),f),"Z")}for(var h,p,d,v=[],g=[],m=[],y=-1,$=n.length,b=_t(e),x=_t(i),w=e===r?function(){return p}:_t(r),C=i===o?function(){return d}:_t(o);++y<$;)a.call(this,h=n[y],y)?(g.push([p=+b.call(this,h,y),d=+x.call(this,h,y)]),m.push([+w.call(this,h,y),+C.call(this,h,y)])):g.length&&(s(),g=[],m=[]);return g.length&&s(),v.length?v.join(""):null}var e=Ee,r=Ee,i=0,o=Pe,a=Pn,u=xo,s=u.key,l=u,c="L",f=.7;return n.x=function(t){return arguments.length?(e=r=t,n):r},n.x0=function(t){return arguments.length?(e=t,n):e},n.x1=function(t){return arguments.length?(r=t,n):r},n.y=function(t){return arguments.length?(i=o=t,n):o},n.y0=function(t){return arguments.length?(i=t,n):i},n.y1=function(t){return arguments.length?(o=t,n):o},n.defined=function(t){return arguments.length?(a=t,n):a},n.interpolate=function(t){return arguments.length?(s="function"==typeof t?u=t:(u=Ls.get(t)||xo).key,l=u.reverse||u,c=u.closed?"M":"L",n):s},n.tension=function(t){return arguments.length?(f=t,n):f},n}function Bo(t){return t.radius}function Uo(t){return[t.x,t.y]}function Wo(t){return function(){var n=t.apply(this,arguments),e=n[0],r=n[1]-za;return[e*Math.cos(r),e*Math.sin(r)]}}function Ho(){return 64}function Yo(){return"circle"}function Go(t){var n=Math.sqrt(t/Ia);return"M0,"+n+"A"+n+","+n+" 0 1,1 0,"+-n+"A"+n+","+n+" 0 1,1 0,"+n+"Z"}function Zo(t){return function(){var n,e,r;(n=this[t])&&(r=n[e=n.active])&&(r.timer.c=null,r.timer.t=NaN,--n.count?delete n[e]:delete this[t],n.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Xo(t,n,e){return Ma(t,Bs),t.namespace=n,t.id=e,t}function Jo(t,n,e,r){var i=t.id,o=t.namespace;return B(t,"function"==typeof e?function(t,a,u){t[o][i].tween.set(n,r(e.call(t,t.__data__,a,u)))}:(e=r(e),function(t){t[o][i].tween.set(n,e)}))}function Ko(t){return null==t&&(t=""),function(){this.textContent=t}}function Qo(t){return null==t?"__transition__":"__transition_"+t+"__"}function ta(t,n,e,r,i){function o(t){var n=v.delay;return c.t=n+s,n<=t?a(t-n):void(c.c=a)}function a(e){var i=d.active,o=d[i];o&&(o.timer.c=null,o.timer.t=NaN,--d.count,delete d[i],o.event&&o.event.interrupt.call(t,t.__data__,o.index));for(var a in d)if(+a<r){var l=d[a];l.timer.c=null,l.timer.t=NaN,--d.count,delete d[a]}c.c=u,Ot(function(){return c.c&&u(e||1)&&(c.c=null,c.t=NaN),1},0,s),d.active=r,v.event&&v.event.start.call(t,t.__data__,n),p=[],v.tween.forEach(function(e,r){(r=r.call(t,t.__data__,n))&&p.push(r)}),h=v.ease,f=v.duration}function u(i){for(var o=i/f,a=h(o),u=p.length;u>0;)p[--u].call(t,a);if(o>=1)return v.event&&v.event.end.call(t,t.__data__,n),--d.count?delete d[r]:delete t[e],1}var s,c,f,h,p,d=t[e]||(t[e]={active:0,count:0}),v=d[r];v||(s=i.time,c=Ot(o,0,s),v=d[r]={tween:new l,time:s,timer:c,delay:i.delay,duration:i.duration,ease:i.ease,index:n},i=null,++d.count)}function na(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate("+(isFinite(r)?r:e(t))+",0)"})}function ea(t,n,e){t.attr("transform",function(t){var r=n(t);return"translate(0,"+(isFinite(r)?r:e(t))+")"})}function ra(t){return t.toISOString()}function ia(t,n,e){function r(n){return t(n)}function i(t,e){var r=t[1]-t[0],i=r/e,o=sa.bisect(Ks,i);return o==Ks.length?[n.year,Ki(t.map(function(t){return t/31536e6}),e)[2]]:o?n[i/Ks[o-1]<Ks[o]/i?o-1:o]:[nl,Ki(t,e)[2]]}return r.invert=function(n){return oa(t.invert(n))},r.domain=function(n){return arguments.length?(t.domain(n),r):t.domain().map(oa)},r.nice=function(t,n){function e(e){return!isNaN(e)&&!t.range(e,oa(+e+1),n).length}var o=r.domain(),a=Bi(o),u=null==t?i(a,10):"number"==typeof t&&i(a,t);return u&&(t=u[0],n=u[1]),r.domain(Hi(o,n>1?{floor:function(n){for(;e(n=t.floor(n));)n=oa(n-1);return n},ceil:function(n){for(;e(n=t.ceil(n));)n=oa(+n+1);return n}}:t))},r.ticks=function(t,n){var e=Bi(r.domain()),o=null==t?i(e,10):"number"==typeof t?i(e,t):!t.range&&[{range:t},n];return o&&(t=o[0],n=o[1]),t.range(e[0],oa(+e[1]+1),n<1?1:n)},r.tickFormat=function(){return e},r.copy=function(){return ia(t.copy(),n,e)},Xi(r,t)}function oa(t){return new Date(t)}function aa(t){return JSON.parse(t.responseText)}function ua(t){var n=fa.createRange();return n.selectNode(fa.body),n.createContextualFragment(t.responseText)}var sa={version:"3.5.17"},la=[].slice,ca=function(t){return la.call(t)},fa=this.document;if(fa)try{ca(fa.documentElement.childNodes)[0].nodeType}catch(ha){ca=function(t){for(var n=t.length,e=new Array(n);n--;)e[n]=t[n];return e}}if(Date.now||(Date.now=function(){return+new Date}),fa)try{fa.createElement("DIV").style.setProperty("opacity",0,"")}catch(pa){var da=this.Element.prototype,va=da.setAttribute,ga=da.setAttributeNS,ma=this.CSSStyleDeclaration.prototype,ya=ma.setProperty;da.setAttribute=function(t,n){va.call(this,t,n+"")},da.setAttributeNS=function(t,n,e){ga.call(this,t,n,e+"")},ma.setProperty=function(t,n,e){ya.call(this,t,n+"",e)}}sa.ascending=e,sa.descending=function(t,n){return n<t?-1:n>t?1:n>=t?0:NaN},sa.min=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&e>r&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&e>r&&(e=r)}return e},sa.max=function(t,n){var e,r,i=-1,o=t.length;if(1===arguments.length){for(;++i<o;)if(null!=(r=t[i])&&r>=r){e=r;break}for(;++i<o;)null!=(r=t[i])&&r>e&&(e=r)}else{for(;++i<o;)if(null!=(r=n.call(t,t[i],i))&&r>=r){e=r;break}for(;++i<o;)null!=(r=n.call(t,t[i],i))&&r>e&&(e=r)}return e},sa.extent=function(t,n){var e,r,i,o=-1,a=t.length;if(1===arguments.length){for(;++o<a;)if(null!=(r=t[o])&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=t[o])&&(e>r&&(e=r),i<r&&(i=r))}else{for(;++o<a;)if(null!=(r=n.call(t,t[o],o))&&r>=r){e=i=r;break}for(;++o<a;)null!=(r=n.call(t,t[o],o))&&(e>r&&(e=r),i<r&&(i=r))}return[e,i]},sa.sum=function(t,n){var e,r=0,o=t.length,a=-1;if(1===arguments.length)for(;++a<o;)i(e=+t[a])&&(r+=e);else for(;++a<o;)i(e=+n.call(t,t[a],a))&&(r+=e);return r},sa.mean=function(t,n){var e,o=0,a=t.length,u=-1,s=a;if(1===arguments.length)for(;++u<a;)i(e=r(t[u]))?o+=e:--s;else for(;++u<a;)i(e=r(n.call(t,t[u],u)))?o+=e:--s;if(s)return o/s},sa.quantile=function(t,n){var e=(t.length-1)*n+1,r=Math.floor(e),i=+t[r-1],o=e-r;return o?i+o*(t[r]-i):i},sa.median=function(t,n){var o,a=[],u=t.length,s=-1;if(1===arguments.length)for(;++s<u;)i(o=r(t[s]))&&a.push(o);else for(;++s<u;)i(o=r(n.call(t,t[s],s)))&&a.push(o);if(a.length)return sa.quantile(a.sort(e),.5)},sa.variance=function(t,n){var e,o,a=t.length,u=0,s=0,l=-1,c=0;if(1===arguments.length)for(;++l<a;)i(e=r(t[l]))&&(o=e-u,u+=o/++c,s+=o*(e-u));else for(;++l<a;)i(e=r(n.call(t,t[l],l)))&&(o=e-u,u+=o/++c,s+=o*(e-u));if(c>1)return s/(c-1)},sa.deviation=function(){var t=sa.variance.apply(this,arguments);return t?Math.sqrt(t):t};var $a=o(e);sa.bisectLeft=$a.left,sa.bisect=sa.bisectRight=$a.right,sa.bisector=function(t){return o(1===t.length?function(n,r){return e(t(n),r)}:t)},sa.shuffle=function(t,n,e){(o=arguments.length)<3&&(e=t.length,o<2&&(n=0));for(var r,i,o=e-n;o;)i=Math.random()*o--|0,r=t[o+n],t[o+n]=t[i+n],t[i+n]=r;return t},sa.permute=function(t,n){for(var e=n.length,r=new Array(e);e--;)r[e]=t[n[e]];return r},sa.pairs=function(t){for(var n,e=0,r=t.length-1,i=t[0],o=new Array(r<0?0:r);e<r;)o[e]=[n=i,i=t[++e]];return o},sa.transpose=function(t){if(!(i=t.length))return[];for(var n=-1,e=sa.min(t,a),r=new Array(e);++n<e;)for(var i,o=-1,u=r[n]=new Array(i);++o<i;)u[o]=t[o][n];return r},sa.zip=function(){return sa.transpose(arguments)},sa.keys=function(t){var n=[];for(var e in t)n.push(e);return n},sa.values=function(t){var n=[];for(var e in t)n.push(t[e]);return n},sa.entries=function(t){var n=[];for(var e in t)n.push({key:e,value:t[e]});return n},sa.merge=function(t){for(var n,e,r,i=t.length,o=-1,a=0;++o<i;)a+=t[o].length;for(e=new Array(a);--i>=0;)for(r=t[i],n=r.length;--n>=0;)e[--a]=r[n];return e};var ba=Math.abs;sa.range=function(t,n,e){if(arguments.length<3&&(e=1,arguments.length<2&&(n=t,t=0)),(n-t)/e===1/0)throw new Error("infinite range");var r,i=[],o=u(ba(e)),a=-1;if(t*=o,n*=o,e*=o,e<0)for(;(r=t+e*++a)>n;)i.push(r/o);else for(;(r=t+e*++a)<n;)i.push(r/o);return i},sa.map=function(t,n){var e=new l;if(t instanceof l)t.forEach(function(t,n){e.set(t,n)});else if(Array.isArray(t)){var r,i=-1,o=t.length;if(1===arguments.length)for(;++i<o;)e.set(i,t[i]);else for(;++i<o;)e.set(n.call(t,r=t[i],i),r)}else for(var a in t)e.set(a,t[a]);return e};var xa="__proto__",wa="\0";s(l,{has:h,get:function(t){return this._[c(t)]},set:function(t,n){return this._[c(t)]=n},remove:p,keys:d,values:function(){var t=[];for(var n in this._)t.push(this._[n]);return t},entries:function(){var t=[];for(var n in this._)t.push({key:f(n),value:this._[n]});return t},size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n),this._[n])}}),sa.nest=function(){function t(n,a,u){if(u>=o.length)return r?r.call(i,a):e?a.sort(e):a;for(var s,c,f,h,p=-1,d=a.length,v=o[u++],g=new l;++p<d;)(h=g.get(s=v(c=a[p])))?h.push(c):g.set(s,[c]);return n?(c=n(),f=function(e,r){c.set(e,t(n,r,u))}):(c={},f=function(e,r){c[e]=t(n,r,u)}),g.forEach(f),c}function n(t,e){if(e>=o.length)return t;var r=[],i=a[e++];return t.forEach(function(t,i){r.push({key:t,values:n(i,e)})}),i?r.sort(function(t,n){return i(t.key,n.key)}):r}var e,r,i={},o=[],a=[];return i.map=function(n,e){return t(e,n,0)},i.entries=function(e){return n(t(sa.map,e,0),0)},i.key=function(t){return o.push(t),i},i.sortKeys=function(t){return a[o.length-1]=t,i},i.sortValues=function(t){return e=t,i},i.rollup=function(t){return r=t,i},i},sa.set=function(t){var n=new m;if(t)for(var e=0,r=t.length;e<r;++e)n.add(t[e]);return n},s(m,{has:h,add:function(t){return this._[c(t+="")]=!0,t},remove:p,values:d,size:v,empty:g,forEach:function(t){for(var n in this._)t.call(this,f(n))}}),sa.behavior={},sa.rebind=function(t,n){for(var e,r=1,i=arguments.length;++r<i;)t[e=arguments[r]]=$(t,n,n[e]);return t};var Ca=["webkit","ms","moz","Moz","o","O"];sa.dispatch=function(){for(var t=new w,n=-1,e=arguments.length;++n<e;)t[arguments[n]]=C(t);return t},w.prototype.on=function(t,n){var e=t.indexOf("."),r="";if(e>=0&&(r=t.slice(e+1),t=t.slice(0,e)),t)return arguments.length<2?this[t].on(r):this[t].on(r,n);if(2===arguments.length){if(null==n)for(t in this)this.hasOwnProperty(t)&&this[t].on(r,null);return this}},sa.event=null,sa.requote=function(t){return t.replace(Sa,"\\$&")};var Sa=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Ma={}.__proto__?function(t,n){t.__proto__=n}:function(t,n){for(var e in n)t[e]=n[e]},_a=function(t,n){return n.querySelector(t)},ka=function(t,n){return n.querySelectorAll(t)},Aa=function(t,n){var e=t.matches||t[b(t,"matchesSelector")];return(Aa=function(t,n){return e.call(t,n)})(t,n)};"function"==typeof Sizzle&&(_a=function(t,n){return Sizzle(t,n)[0]||null},ka=Sizzle,Aa=Sizzle.matchesSelector),sa.selection=function(){return sa.select(fa.documentElement)};var Ea=sa.selection.prototype=[];Ea.select=function(t){var n,e,r,i,o=[];t=A(t);for(var a=-1,u=this.length;++a<u;){o.push(n=[]),n.parentNode=(r=this[a]).parentNode;for(var s=-1,l=r.length;++s<l;)(i=r[s])?(n.push(e=t.call(i,i.__data__,s,a)),e&&"__data__"in i&&(e.__data__=i.__data__)):n.push(null)}return k(o)},Ea.selectAll=function(t){var n,e,r=[];t=E(t);for(var i=-1,o=this.length;++i<o;)for(var a=this[i],u=-1,s=a.length;++u<s;)(e=a[u])&&(r.push(n=ca(t.call(e,e.__data__,u,i))),n.parentNode=e);return k(r)};var Pa="http://www.w3.org/1999/xhtml",Oa={svg:"http://www.w3.org/2000/svg",xhtml:Pa,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};sa.ns={prefix:Oa,qualify:function(t){var n=t.indexOf(":"),e=t;return n>=0&&"xmlns"!==(e=t.slice(0,n))&&(t=t.slice(n+1)),Oa.hasOwnProperty(e)?{space:Oa[e],local:t}:t}},Ea.attr=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node();return t=sa.ns.qualify(t),t.local?e.getAttributeNS(t.space,t.local):e.getAttribute(t)}for(n in t)this.each(P(n,t[n]));return this}return this.each(P(t,n))},Ea.classed=function(t,n){if(arguments.length<2){if("string"==typeof t){var e=this.node(),r=(t=L(t)).length,i=-1;if(n=e.classList){for(;++i<r;)if(!n.contains(t[i]))return!1}else for(n=e.getAttribute("class");++i<r;)if(!T(t[i]).test(n))return!1;return!0}for(n in t)this.each(N(n,t[n]));return this}return this.each(N(t,n))},Ea.style=function(t,e,r){var i=arguments.length;if(i<3){if("string"!=typeof t){i<2&&(e="");for(r in t)this.each(R(r,t[r],e));return this}if(i<2){var o=this.node();return n(o).getComputedStyle(o,null).getPropertyValue(t)}r=""}return this.each(R(t,e,r))},Ea.property=function(t,n){if(arguments.length<2){if("string"==typeof t)return this.node()[t];for(n in t)this.each(D(n,t[n]));return this}return this.each(D(t,n))},Ea.text=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.textContent=null==n?"":n}:null==t?function(){this.textContent=""}:function(){this.textContent=t}):this.node().textContent},Ea.html=function(t){return arguments.length?this.each("function"==typeof t?function(){var n=t.apply(this,arguments);this.innerHTML=null==n?"":n}:null==t?function(){this.innerHTML=""}:function(){this.innerHTML=t}):this.node().innerHTML},Ea.append=function(t){return t=F(t),this.select(function(){return this.appendChild(t.apply(this,arguments))})},Ea.insert=function(t,n){return t=F(t),n=A(n),this.select(function(){return this.insertBefore(t.apply(this,arguments),n.apply(this,arguments)||null)})},Ea.remove=function(){return this.each(I)},Ea.data=function(t,n){function e(t,e){var r,i,o,a=t.length,f=e.length,h=Math.min(a,f),p=new Array(f),d=new Array(f),v=new Array(a);if(n){var g,m=new l,y=new Array(a);for(r=-1;++r<a;)(i=t[r])&&(m.has(g=n.call(i,i.__data__,r))?v[r]=i:m.set(g,i),y[r]=g);for(r=-1;++r<f;)(i=m.get(g=n.call(e,o=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=o):d[r]=V(o),m.set(g,!0);for(r=-1;++r<a;)r in y&&m.get(y[r])!==!0&&(v[r]=t[r])}else{for(r=-1;++r<h;)i=t[r],o=e[r],i?(i.__data__=o,p[r]=i):d[r]=V(o);for(;r<f;++r)d[r]=V(e[r]);for(;r<a;++r)v[r]=t[r]}d.update=p,d.parentNode=p.parentNode=v.parentNode=t.parentNode,u.push(d),s.push(p),c.push(v)}var r,i,o=-1,a=this.length;if(!arguments.length){for(t=new Array(a=(r=this[0]).length);++o<a;)(i=r[o])&&(t[o]=i.__data__);return t}var u=U([]),s=k([]),c=k([]);if("function"==typeof t)for(;++o<a;)e(r=this[o],t.call(r,r.parentNode.__data__,o));else for(;++o<a;)e(r=this[o],t);return s.enter=function(){return u},s.exit=function(){return c},s},Ea.datum=function(t){return arguments.length?this.property("__data__",t):this.property("__data__")},Ea.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;o<a;o++){i.push(n=[]),n.parentNode=(e=this[o]).parentNode;for(var u=0,s=e.length;u<s;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return k(i)},Ea.order=function(){for(var t=-1,n=this.length;++t<n;)for(var e,r=this[t],i=r.length-1,o=r[i];--i>=0;)(e=r[i])&&(o&&o!==e.nextSibling&&o.parentNode.insertBefore(e,o),o=e);return this},Ea.sort=function(t){t=z.apply(this,arguments);for(var n=-1,e=this.length;++n<e;)this[n].sort(t);return this.order()},Ea.each=function(t){return B(this,function(n,e,r){t.call(n,n.__data__,e,r)})},Ea.call=function(t){var n=ca(arguments);return t.apply(n[0]=this,n),this},Ea.empty=function(){return!this.node()},Ea.node=function(){for(var t=0,n=this.length;t<n;t++)for(var e=this[t],r=0,i=e.length;r<i;r++){var o=e[r];if(o)return o}return null},Ea.size=function(){var t=0;return B(this,function(){++t}),t};var Ta=[];sa.selection.enter=U,sa.selection.enter.prototype=Ta,Ta.append=Ea.append,Ta.empty=Ea.empty,Ta.node=Ea.node,Ta.call=Ea.call,Ta.size=Ea.size,Ta.select=function(t){for(var n,e,r,i,o,a=[],u=-1,s=this.length;++u<s;){r=(i=this[u]).update,a.push(n=[]),n.parentNode=i.parentNode;for(var l=-1,c=i.length;++l<c;)(o=i[l])?(n.push(r[l]=e=t.call(i.parentNode,o.__data__,l,u)),e.__data__=o.__data__):n.push(null)}return k(a)},Ta.insert=function(t,n){return arguments.length<2&&(n=W(this)),Ea.insert.call(this,t,n)},sa.select=function(n){var e;return"string"==typeof n?(e=[_a(n,fa)],e.parentNode=fa.documentElement):(e=[n],e.parentNode=t(n)),k([e])},sa.selectAll=function(t){var n;return"string"==typeof t?(n=ca(ka(t,fa)),n.parentNode=fa.documentElement):(n=ca(t),n.parentNode=null),k([n])},Ea.on=function(t,n,e){var r=arguments.length;if(r<3){if("string"!=typeof t){r<2&&(n=!1);for(e in t)this.each(H(e,t[e],n));return this}if(r<2)return(r=this.node()["__on"+t])&&r._;e=!1}return this.each(H(t,n,e))};var La=sa.map({mouseenter:"mouseover",mouseleave:"mouseout"});fa&&La.forEach(function(t){"on"+t in fa&&La.remove(t)});var Na,ja=0;sa.mouse=function(t){return X(t,M())};var Ra=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;sa.touch=function(t,n,e){if(arguments.length<3&&(e=n,n=M().changedTouches),n)for(var r,i=0,o=n.length;i<o;++i)if((r=n[i]).identifier===e)return X(t,r)},sa.behavior.drag=function(){function t(){this.on("mousedown.drag",o).on("touchstart.drag",a)}function e(t,n,e,o,a){return function(){function u(){var t,e,r=n(h,v);r&&(t=r[0]-$[0],e=r[1]-$[1],d|=t|e,$=r,p({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:t,dy:e}))}function s(){n(h,v)&&(m.on(o+g,null).on(a+g,null),y(d),p({type:"dragend"}))}var l,c=this,f=sa.event.target.correspondingElement||sa.event.target,h=c.parentNode,p=r.of(c,arguments),d=0,v=t(),g=".drag"+(null==v?"":"-"+v),m=sa.select(e(f)).on(o+g,u).on(a+g,s),y=Z(f),$=n(h,v);i?(l=i.apply(c,arguments),l=[l.x-$[0],l.y-$[1]]):l=[0,0],p({type:"dragstart"})}}var r=_(t,"drag","dragstart","dragend"),i=null,o=e(x,sa.mouse,n,"mousemove","mouseup"),a=e(J,sa.touch,y,"touchmove","touchend");return t.origin=function(n){return arguments.length?(i=n,t):i},sa.rebind(t,r,"on")},sa.touches=function(t,n){return arguments.length<2&&(n=M().touches),n?ca(n).map(function(n){var e=X(t,n);return e.identifier=n.identifier,e}):[]};var Da=1e-6,Fa=Da*Da,Ia=Math.PI,Va=2*Ia,qa=Va-Da,za=Ia/2,Ba=Ia/180,Ua=180/Ia,Wa=Math.SQRT2,Ha=2,Ya=4;sa.interpolateZoom=function(t,n){var e,r,i=t[0],o=t[1],a=t[2],u=n[0],s=n[1],l=n[2],c=u-i,f=s-o,h=c*c+f*f;if(h<Fa)r=Math.log(l/a)/Wa,e=function(t){return[i+t*c,o+t*f,a*Math.exp(Wa*t*r)]};else{var p=Math.sqrt(h),d=(l*l-a*a+Ya*h)/(2*a*Ha*p),v=(l*l-a*a-Ya*h)/(2*l*Ha*p),g=Math.log(Math.sqrt(d*d+1)-d),m=Math.log(Math.sqrt(v*v+1)-v);r=(m-g)/Wa,e=function(t){var n=t*r,e=rt(g),u=a/(Ha*p)*(e*it(Wa*n+g)-et(g));return[i+u*c,o+u*f,a*e/rt(Wa*n+g)]}}return e.duration=1e3*r,e},sa.behavior.zoom=function(){function t(t){t.on(O,f).on(Za+".zoom",p).on("dblclick.zoom",d).on(N,h)}function e(t){return[(t[0]-M.x)/M.k,(t[1]-M.y)/M.k]}function r(t){return[t[0]*M.k+M.x,t[1]*M.k+M.y]}function i(t){M.k=Math.max(A[0],Math.min(A[1],t))}function o(t,n){n=r(n),M.x+=t[0]-n[0],M.y+=t[1]-n[1]}function a(n,e,r,a){n.__chart__={x:M.x,y:M.y,k:M.k},i(Math.pow(2,a)),o(g=e,r),n=sa.select(n),E>0&&(n=n.transition().duration(E)),n.call(t.event)}function u(){x&&x.domain(b.range().map(function(t){return(t-M.x)/M.k}).map(b.invert)),C&&C.domain(w.range().map(function(t){return(t-M.y)/M.k}).map(w.invert))}function s(t){P++||t({type:"zoomstart"})}function l(t){u(),t({type:"zoom",scale:M.k,translate:[M.x,M.y]})}function c(t){--P||(t({type:"zoomend"}),g=null)}function f(){function t(){u=1,o(sa.mouse(i),h),l(a)}function r(){f.on(T,null).on(L,null),p(u),c(a)}var i=this,a=j.of(i,arguments),u=0,f=sa.select(n(i)).on(T,t).on(L,r),h=e(sa.mouse(i)),p=Z(i);zs.call(i),s(a)}function h(){function t(){var t=sa.touches(d);return p=M.k,t.forEach(function(t){t.identifier in g&&(g[t.identifier]=e(t))}),t}function n(){var n=sa.event.target;sa.select(n).on(b,r).on(x,u),w.push(n);for(var e=sa.event.changedTouches,i=0,o=e.length;i<o;++i)g[e[i].identifier]=null;var s=t(),l=Date.now();if(1===s.length){if(l-$<500){var c=s[0];a(d,c,g[c.identifier],Math.floor(Math.log(M.k)/Math.LN2)+1),S()}$=l}else if(s.length>1){var c=s[0],f=s[1],h=c[0]-f[0],p=c[1]-f[1];m=h*h+p*p}}function r(){var t,n,e,r,a=sa.touches(d);zs.call(d);for(var u=0,s=a.length;u<s;++u,r=null)if(e=a[u],r=g[e.identifier]){if(n)break;t=e,n=r}if(r){var c=(c=e[0]-t[0])*c+(c=e[1]-t[1])*c,f=m&&Math.sqrt(c/m);t=[(t[0]+e[0])/2,(t[1]+e[1])/2],n=[(n[0]+r[0])/2,(n[1]+r[1])/2],i(f*p)}$=null,o(t,n),l(v)}function u(){if(sa.event.touches.length){for(var n=sa.event.changedTouches,e=0,r=n.length;e<r;++e)delete g[n[e].identifier];for(var i in g)return void t()}sa.selectAll(w).on(y,null),C.on(O,f).on(N,h),_(),c(v)}var p,d=this,v=j.of(d,arguments),g={},m=0,y=".zoom-"+sa.event.changedTouches[0].identifier,b="touchmove"+y,x="touchend"+y,w=[],C=sa.select(d),_=Z(d);n(),s(v),C.on(O,null).on(N,n)}function p(){var t=j.of(this,arguments);y?clearTimeout(y):(zs.call(this),v=e(g=m||sa.mouse(this)),s(t)),y=setTimeout(function(){y=null,c(t)},50),S(),i(Math.pow(2,.002*Ga())*M.k),o(g,v),l(t)}function d(){var t=sa.mouse(this),n=Math.log(M.k)/Math.LN2;a(this,t,e(t),sa.event.shiftKey?Math.ceil(n)-1:Math.floor(n)+1)}var v,g,m,y,$,b,x,w,C,M={x:0,y:0,k:1},k=[960,500],A=Xa,E=250,P=0,O="mousedown.zoom",T="mousemove.zoom",L="mouseup.zoom",N="touchstart.zoom",j=_(t,"zoomstart","zoom","zoomend");return Za||(Za="onwheel"in fa?(Ga=function(){return-sa.event.deltaY*(sa.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fa?(Ga=function(){
+return sa.event.wheelDelta},"mousewheel"):(Ga=function(){return-sa.event.detail},"MozMousePixelScroll")),t.event=function(t){t.each(function(){var t=j.of(this,arguments),n=M;Vs?sa.select(this).transition().each("start.zoom",function(){M=this.__chart__||{x:0,y:0,k:1},s(t)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],i=g?g[0]:e/2,o=g?g[1]:r/2,a=sa.interpolateZoom([(i-M.x)/M.k,(o-M.y)/M.k,e/M.k],[(i-n.x)/n.k,(o-n.y)/n.k,e/n.k]);return function(n){var r=a(n),u=e/r[2];this.__chart__=M={x:i-r[0]*u,y:o-r[1]*u,k:u},l(t)}}).each("interrupt.zoom",function(){c(t)}).each("end.zoom",function(){c(t)}):(this.__chart__=M,s(t),l(t),c(t))})},t.translate=function(n){return arguments.length?(M={x:+n[0],y:+n[1],k:M.k},u(),t):[M.x,M.y]},t.scale=function(n){return arguments.length?(M={x:M.x,y:M.y,k:null},i(+n),u(),t):M.k},t.scaleExtent=function(n){return arguments.length?(A=null==n?Xa:[+n[0],+n[1]],t):A},t.center=function(n){return arguments.length?(m=n&&[+n[0],+n[1]],t):m},t.size=function(n){return arguments.length?(k=n&&[+n[0],+n[1]],t):k},t.duration=function(n){return arguments.length?(E=+n,t):E},t.x=function(n){return arguments.length?(x=n,b=n.copy(),M={x:0,y:0,k:1},t):x},t.y=function(n){return arguments.length?(C=n,w=n.copy(),M={x:0,y:0,k:1},t):C},sa.rebind(t,j,"on")};var Ga,Za,Xa=[0,1/0];sa.color=at,at.prototype.toString=function(){return this.rgb()+""},sa.hsl=ut;var Ja=ut.prototype=new at;Ja.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,this.l/t)},Ja.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new ut(this.h,this.s,t*this.l)},Ja.rgb=function(){return st(this.h,this.s,this.l)},sa.hcl=lt;var Ka=lt.prototype=new at;Ka.brighter=function(t){return new lt(this.h,this.c,Math.min(100,this.l+Qa*(arguments.length?t:1)))},Ka.darker=function(t){return new lt(this.h,this.c,Math.max(0,this.l-Qa*(arguments.length?t:1)))},Ka.rgb=function(){return ct(this.h,this.c,this.l).rgb()},sa.lab=ft;var Qa=18,tu=.95047,nu=1,eu=1.08883,ru=ft.prototype=new at;ru.brighter=function(t){return new ft(Math.min(100,this.l+Qa*(arguments.length?t:1)),this.a,this.b)},ru.darker=function(t){return new ft(Math.max(0,this.l-Qa*(arguments.length?t:1)),this.a,this.b)},ru.rgb=function(){return ht(this.l,this.a,this.b)},sa.rgb=mt;var iu=mt.prototype=new at;iu.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var n=this.r,e=this.g,r=this.b,i=30;return n||e||r?(n&&n<i&&(n=i),e&&e<i&&(e=i),r&&r<i&&(r=i),new mt(Math.min(255,n/t),Math.min(255,e/t),Math.min(255,r/t))):new mt(i,i,i)},iu.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new mt(t*this.r,t*this.g,t*this.b)},iu.hsl=function(){return wt(this.r,this.g,this.b)},iu.toString=function(){return"#"+bt(this.r)+bt(this.g)+bt(this.b)};var ou=sa.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ou.forEach(function(t,n){ou.set(t,yt(n))}),sa.functor=_t,sa.xhr=kt(y),sa.dsv=function(t,n){function e(t,e,o){arguments.length<3&&(o=e,e=null);var a=At(t,n,null==e?r:i(e),o);return a.row=function(t){return arguments.length?a.response(null==(e=t)?r:i(t)):e},a}function r(t){return e.parse(t.responseText)}function i(t){return function(n){return e.parse(n.responseText,t)}}function o(n){return n.map(a).join(t)}function a(t){return u.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}var u=new RegExp('["'+t+"\n]"),s=t.charCodeAt(0);return e.parse=function(t,n){var r;return e.parseRows(t,function(t,e){if(r)return r(t,e-1);var i=new Function("d","return {"+t.map(function(t,n){return JSON.stringify(t)+": d["+n+"]"}).join(",")+"}");r=n?function(t,e){return n(i(t),e)}:i})},e.parseRows=function(t,n){function e(){if(c>=l)return a;if(i)return i=!1,o;var n=c;if(34===t.charCodeAt(n)){for(var e=n;e++<l;)if(34===t.charCodeAt(e)){if(34!==t.charCodeAt(e+1))break;++e}c=e+2;var r=t.charCodeAt(e+1);return 13===r?(i=!0,10===t.charCodeAt(e+2)&&++c):10===r&&(i=!0),t.slice(n+1,e).replace(/""/g,'"')}for(;c<l;){var r=t.charCodeAt(c++),u=1;if(10===r)i=!0;else if(13===r)i=!0,10===t.charCodeAt(c)&&(++c,++u);else if(r!==s)continue;return t.slice(n,c-u)}return t.slice(n)}for(var r,i,o={},a={},u=[],l=t.length,c=0,f=0;(r=e())!==a;){for(var h=[];r!==o&&r!==a;)h.push(r),r=e();n&&null==(h=n(h,f++))||u.push(h)}return u},e.format=function(n){if(Array.isArray(n[0]))return e.formatRows(n);var r=new m,i=[];return n.forEach(function(t){for(var n in t)r.has(n)||i.push(r.add(n))}),[i.map(a).join(t)].concat(n.map(function(n){return i.map(function(t){return a(n[t])}).join(t)})).join("\n")},e.formatRows=function(t){return t.map(o).join("\n")},e},sa.csv=sa.dsv(",","text/csv"),sa.tsv=sa.dsv("\t","text/tab-separated-values");var au,uu,su,lu,cu=this[b(this,"requestAnimationFrame")]||function(t){setTimeout(t,17)};sa.timer=function(){Ot.apply(this,arguments)},sa.timer.flush=function(){Lt(),Nt()},sa.round=function(t,n){return n?Math.round(t*(n=Math.pow(10,n)))/n:Math.round(t)};var fu=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(Rt);sa.formatPrefix=function(t,n){var e=0;return(t=+t)&&(t<0&&(t*=-1),n&&(t=sa.round(t,jt(t,n))),e=1+Math.floor(1e-12+Math.log(t)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),fu[8+e/3]};var hu=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pu=sa.map({b:function(t){return t.toString(2)},c:function(t){return String.fromCharCode(t)},o:function(t){return t.toString(8)},x:function(t){return t.toString(16)},X:function(t){return t.toString(16).toUpperCase()},g:function(t,n){return t.toPrecision(n)},e:function(t,n){return t.toExponential(n)},f:function(t,n){return t.toFixed(n)},r:function(t,n){return(t=sa.round(t,jt(t,n))).toFixed(Math.max(0,Math.min(20,jt(t*(1+1e-15),n))))}}),du=sa.time={},vu=Date;It.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){gu.setUTCDate.apply(this._,arguments)},setDay:function(){gu.setUTCDay.apply(this._,arguments)},setFullYear:function(){gu.setUTCFullYear.apply(this._,arguments)},setHours:function(){gu.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){gu.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){gu.setUTCMinutes.apply(this._,arguments)},setMonth:function(){gu.setUTCMonth.apply(this._,arguments)},setSeconds:function(){gu.setUTCSeconds.apply(this._,arguments)},setTime:function(){gu.setTime.apply(this._,arguments)}};var gu=Date.prototype;du.year=Vt(function(t){return t=du.day(t),t.setMonth(0,1),t},function(t,n){t.setFullYear(t.getFullYear()+n)},function(t){return t.getFullYear()}),du.years=du.year.range,du.years.utc=du.year.utc.range,du.day=Vt(function(t){var n=new vu(2e3,0);return n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate()),n},function(t,n){t.setDate(t.getDate()+n)},function(t){return t.getDate()-1}),du.days=du.day.range,du.days.utc=du.day.utc.range,du.dayOfYear=function(t){var n=du.year(t);return Math.floor((t-n-6e4*(t.getTimezoneOffset()-n.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(t,n){n=7-n;var e=du[t]=Vt(function(t){return(t=du.day(t)).setDate(t.getDate()-(t.getDay()+n)%7),t},function(t,n){t.setDate(t.getDate()+7*Math.floor(n))},function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)-(e!==n)});du[t+"s"]=e.range,du[t+"s"].utc=e.utc.range,du[t+"OfYear"]=function(t){var e=du.year(t).getDay();return Math.floor((du.dayOfYear(t)+(e+n)%7)/7)}}),du.week=du.sunday,du.weeks=du.sunday.range,du.weeks.utc=du.sunday.utc.range,du.weekOfYear=du.sundayOfYear;var mu={"-":"",_:" ",0:"0"},yu=/^\s*\d+/,$u=/^%/;sa.locale=function(t){return{numberFormat:Dt(t),timeFormat:zt(t)}};var bu=sa.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});sa.format=bu.numberFormat,sa.geo={},cn.prototype={s:0,t:0,add:function(t){fn(t,this.t,xu),fn(xu.s,this.s,this),this.s?this.t+=xu.t:this.s=xu.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var xu=new cn;sa.geo.stream=function(t,n){t&&wu.hasOwnProperty(t.type)?wu[t.type](t,n):hn(t,n)};var wu={Feature:function(t,n){hn(t.geometry,n)},FeatureCollection:function(t,n){for(var e=t.features,r=-1,i=e.length;++r<i;)hn(e[r].geometry,n)}},Cu={Sphere:function(t,n){n.sphere()},Point:function(t,n){t=t.coordinates,n.point(t[0],t[1],t[2])},MultiPoint:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)t=e[r],n.point(t[0],t[1],t[2])},LineString:function(t,n){pn(t.coordinates,n,0)},MultiLineString:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)pn(e[r],n,0)},Polygon:function(t,n){dn(t.coordinates,n)},MultiPolygon:function(t,n){for(var e=t.coordinates,r=-1,i=e.length;++r<i;)dn(e[r],n)},GeometryCollection:function(t,n){for(var e=t.geometries,r=-1,i=e.length;++r<i;)hn(e[r],n)}};sa.geo.area=function(t){return Su=0,sa.geo.stream(t,_u),Su};var Su,Mu=new cn,_u={sphere:function(){Su+=4*Ia},point:x,lineStart:x,lineEnd:x,polygonStart:function(){Mu.reset(),_u.lineStart=vn},polygonEnd:function(){var t=2*Mu;Su+=t<0?4*Ia+t:t,_u.lineStart=_u.lineEnd=_u.point=x}};sa.geo.bounds=function(){function t(t,n){$.push(b=[c=t,h=t]),n<f&&(f=n),n>p&&(p=n)}function n(n,e){var r=gn([n*Ba,e*Ba]);if(m){var i=yn(m,r),o=[i[1],-i[0],0],a=yn(o,i);xn(a),a=wn(a);var s=n-d,l=s>0?1:-1,v=a[0]*Ua*l,g=ba(s)>180;if(g^(l*d<v&&v<l*n)){var y=a[1]*Ua;y>p&&(p=y)}else if(v=(v+360)%360-180,g^(l*d<v&&v<l*n)){var y=-a[1]*Ua;y<f&&(f=y)}else e<f&&(f=e),e>p&&(p=e);g?n<d?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n):h>=c?(n<c&&(c=n),n>h&&(h=n)):n>d?u(c,n)>u(c,h)&&(h=n):u(n,h)>u(c,h)&&(c=n)}else t(n,e);m=r,d=n}function e(){x.point=n}function r(){b[0]=c,b[1]=h,x.point=t,m=null}function i(t,e){if(m){var r=t-d;y+=ba(r)>180?r+(r>0?360:-360):r}else v=t,g=e;_u.point(t,e),n(t,e)}function o(){_u.lineStart()}function a(){i(v,g),_u.lineEnd(),ba(y)>Da&&(c=-(h=180)),b[0]=c,b[1]=h,m=null}function u(t,n){return(n-=t)<0?n+360:n}function s(t,n){return t[0]-n[0]}function l(t,n){return n[0]<=n[1]?n[0]<=t&&t<=n[1]:t<n[0]||n[1]<t}var c,f,h,p,d,v,g,m,y,$,b,x={point:t,lineStart:e,lineEnd:r,polygonStart:function(){x.point=i,x.lineStart=o,x.lineEnd=a,y=0,_u.polygonStart()},polygonEnd:function(){_u.polygonEnd(),x.point=t,x.lineStart=e,x.lineEnd=r,Mu<0?(c=-(h=180),f=-(p=90)):y>Da?p=90:y<-Da&&(f=-90),b[0]=c,b[1]=h}};return function(t){p=h=-(c=f=1/0),$=[],sa.geo.stream(t,x);var n=$.length;if(n){$.sort(s);for(var e,r=1,i=$[0],o=[i];r<n;++r)e=$[r],l(e[0],i)||l(e[1],i)?(u(i[0],e[1])>u(i[0],i[1])&&(i[1]=e[1]),u(e[0],i[1])>u(i[0],i[1])&&(i[0]=e[0])):o.push(i=e);for(var a,e,d=-(1/0),n=o.length-1,r=0,i=o[n];r<=n;i=e,++r)e=o[r],(a=u(i[1],e[0]))>d&&(d=a,c=e[0],h=i[1])}return $=b=null,c===1/0||f===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,f],[h,p]]}}(),sa.geo.centroid=function(t){ku=Au=Eu=Pu=Ou=Tu=Lu=Nu=ju=Ru=Du=0,sa.geo.stream(t,Fu);var n=ju,e=Ru,r=Du,i=n*n+e*e+r*r;return i<Fa&&(n=Tu,e=Lu,r=Nu,Au<Da&&(n=Eu,e=Pu,r=Ou),i=n*n+e*e+r*r,i<Fa)?[NaN,NaN]:[Math.atan2(e,n)*Ua,nt(r/Math.sqrt(i))*Ua]};var ku,Au,Eu,Pu,Ou,Tu,Lu,Nu,ju,Ru,Du,Fu={sphere:x,point:Sn,lineStart:_n,lineEnd:kn,polygonStart:function(){Fu.lineStart=An},polygonEnd:function(){Fu.lineStart=_n}},Iu=Nn(Pn,Fn,Vn,[-Ia,-Ia/2]),Vu=1e9;sa.geo.clipExtent=function(){var t,n,e,r,i,o,a={stream:function(t){return i&&(i.valid=!1),i=o(t),i.valid=!0,i},extent:function(u){return arguments.length?(o=Un(t=+u[0][0],n=+u[0][1],e=+u[1][0],r=+u[1][1]),i&&(i.valid=!1,i=null),a):[[t,n],[e,r]]}};return a.extent([[0,0],[960,500]])},(sa.geo.conicEqualArea=function(){return Wn(Hn)}).raw=Hn,sa.geo.albers=function(){return sa.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},sa.geo.albersUsa=function(){function t(t){var o=t[0],a=t[1];return n=null,e(o,a),n||(r(o,a),n)||i(o,a),n}var n,e,r,i,o=sa.geo.albers(),a=sa.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),u=sa.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s={point:function(t,e){n=[t,e]}};return t.invert=function(t){var n=o.scale(),e=o.translate(),r=(t[0]-e[0])/n,i=(t[1]-e[1])/n;return(i>=.12&&i<.234&&r>=-.425&&r<-.214?a:i>=.166&&i<.234&&r>=-.214&&r<-.115?u:o).invert(t)},t.stream=function(t){var n=o.stream(t),e=a.stream(t),r=u.stream(t);return{point:function(t,i){n.point(t,i),e.point(t,i),r.point(t,i)},sphere:function(){n.sphere(),e.sphere(),r.sphere()},lineStart:function(){n.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){n.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){n.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){n.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},t.precision=function(n){return arguments.length?(o.precision(n),a.precision(n),u.precision(n),t):o.precision()},t.scale=function(n){return arguments.length?(o.scale(n),a.scale(.35*n),u.scale(n),t.translate(o.translate())):o.scale()},t.translate=function(n){if(!arguments.length)return o.translate();var l=o.scale(),c=+n[0],f=+n[1];return e=o.translate(n).clipExtent([[c-.455*l,f-.238*l],[c+.455*l,f+.238*l]]).stream(s).point,r=a.translate([c-.307*l,f+.201*l]).clipExtent([[c-.425*l+Da,f+.12*l+Da],[c-.214*l-Da,f+.234*l-Da]]).stream(s).point,i=u.translate([c-.205*l,f+.212*l]).clipExtent([[c-.214*l+Da,f+.166*l+Da],[c-.115*l-Da,f+.234*l-Da]]).stream(s).point,t},t.scale(1070)};var qu,zu,Bu,Uu,Wu,Hu,Yu={point:x,lineStart:x,lineEnd:x,polygonStart:function(){zu=0,Yu.lineStart=Yn},polygonEnd:function(){Yu.lineStart=Yu.lineEnd=Yu.point=x,qu+=ba(zu/2)}},Gu={point:Gn,lineStart:x,lineEnd:x,polygonStart:x,polygonEnd:x},Zu={point:Jn,lineStart:Kn,lineEnd:Qn,polygonStart:function(){Zu.lineStart=te},polygonEnd:function(){Zu.point=Jn,Zu.lineStart=Kn,Zu.lineEnd=Qn}};sa.geo.path=function(){function t(t){return t&&("function"==typeof u&&o.pointRadius(+u.apply(this,arguments)),a&&a.valid||(a=i(o)),sa.geo.stream(t,a)),o.result()}function n(){return a=null,t}var e,r,i,o,a,u=4.5;return t.area=function(t){return qu=0,sa.geo.stream(t,i(Yu)),qu},t.centroid=function(t){return Eu=Pu=Ou=Tu=Lu=Nu=ju=Ru=Du=0,sa.geo.stream(t,i(Zu)),Du?[ju/Du,Ru/Du]:Nu?[Tu/Nu,Lu/Nu]:Ou?[Eu/Ou,Pu/Ou]:[NaN,NaN]},t.bounds=function(t){return Wu=Hu=-(Bu=Uu=1/0),sa.geo.stream(t,i(Gu)),[[Bu,Uu],[Wu,Hu]]},t.projection=function(t){return arguments.length?(i=(e=t)?t.stream||re(t):y,n()):e},t.context=function(t){return arguments.length?(o=null==(r=t)?new Zn:new ne(t),"function"!=typeof u&&o.pointRadius(u),n()):r},t.pointRadius=function(n){return arguments.length?(u="function"==typeof n?n:(o.pointRadius(+n),+n),t):u},t.projection(sa.geo.albersUsa()).context(null)},sa.geo.transform=function(t){return{stream:function(n){var e=new ie(n);for(var r in t)e[r]=t[r];return e}}},ie.prototype={point:function(t,n){this.stream.point(t,n)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},sa.geo.projection=ae,sa.geo.projectionMutator=ue,(sa.geo.equirectangular=function(){return ae(le)}).raw=le.invert=le,sa.geo.rotation=function(t){function n(n){return n=t(n[0]*Ba,n[1]*Ba),n[0]*=Ua,n[1]*=Ua,n}return t=fe(t[0]%360*Ba,t[1]*Ba,t.length>2?t[2]*Ba:0),n.invert=function(n){return n=t.invert(n[0]*Ba,n[1]*Ba),n[0]*=Ua,n[1]*=Ua,n},n},ce.invert=le,sa.geo.circle=function(){function t(){var t="function"==typeof r?r.apply(this,arguments):r,n=fe(-t[0]*Ba,-t[1]*Ba,0).invert,i=[];return e(null,null,1,{point:function(t,e){i.push(t=n(t,e)),t[0]*=Ua,t[1]*=Ua}}),{type:"Polygon",coordinates:[i]}}var n,e,r=[0,0],i=6;return t.origin=function(n){return arguments.length?(r=n,t):r},t.angle=function(r){return arguments.length?(e=ve((n=+r)*Ba,i*Ba),t):n},t.precision=function(r){return arguments.length?(e=ve(n*Ba,(i=+r)*Ba),t):i},t.angle(90)},sa.geo.distance=function(t,n){var e,r=(n[0]-t[0])*Ba,i=t[1]*Ba,o=n[1]*Ba,a=Math.sin(r),u=Math.cos(r),s=Math.sin(i),l=Math.cos(i),c=Math.sin(o),f=Math.cos(o);return Math.atan2(Math.sqrt((e=f*a)*e+(e=l*c-s*f*u)*e),s*c+l*f*u)},sa.geo.graticule=function(){function t(){return{type:"MultiLineString",coordinates:n()}}function n(){return sa.range(Math.ceil(o/g)*g,i,g).map(h).concat(sa.range(Math.ceil(l/m)*m,s,m).map(p)).concat(sa.range(Math.ceil(r/d)*d,e,d).filter(function(t){return ba(t%g)>Da}).map(c)).concat(sa.range(Math.ceil(u/v)*v,a,v).filter(function(t){return ba(t%m)>Da}).map(f))}var e,r,i,o,a,u,s,l,c,f,h,p,d=10,v=d,g=90,m=360,y=2.5;return t.lines=function(){return n().map(function(t){return{type:"LineString",coordinates:t}})},t.outline=function(){return{type:"Polygon",coordinates:[h(o).concat(p(s).slice(1),h(i).reverse().slice(1),p(l).reverse().slice(1))]}},t.extent=function(n){return arguments.length?t.majorExtent(n).minorExtent(n):t.minorExtent()},t.majorExtent=function(n){return arguments.length?(o=+n[0][0],i=+n[1][0],l=+n[0][1],s=+n[1][1],o>i&&(n=o,o=i,i=n),l>s&&(n=l,l=s,s=n),t.precision(y)):[[o,l],[i,s]]},t.minorExtent=function(n){return arguments.length?(r=+n[0][0],e=+n[1][0],u=+n[0][1],a=+n[1][1],r>e&&(n=r,r=e,e=n),u>a&&(n=u,u=a,a=n),t.precision(y)):[[r,u],[e,a]]},t.step=function(n){return arguments.length?t.majorStep(n).minorStep(n):t.minorStep()},t.majorStep=function(n){return arguments.length?(g=+n[0],m=+n[1],t):[g,m]},t.minorStep=function(n){return arguments.length?(d=+n[0],v=+n[1],t):[d,v]},t.precision=function(n){return arguments.length?(y=+n,c=me(u,a,90),f=ye(r,e,y),h=me(l,s,90),p=ye(o,i,y),t):y},t.majorExtent([[-180,-90+Da],[180,90-Da]]).minorExtent([[-180,-80-Da],[180,80+Da]])},sa.geo.greatArc=function(){function t(){return{type:"LineString",coordinates:[n||r.apply(this,arguments),e||i.apply(this,arguments)]}}var n,e,r=$e,i=be;return t.distance=function(){return sa.geo.distance(n||r.apply(this,arguments),e||i.apply(this,arguments))},t.source=function(e){return arguments.length?(r=e,n="function"==typeof e?null:e,t):r},t.target=function(n){return arguments.length?(i=n,e="function"==typeof n?null:n,t):i},t.precision=function(){return arguments.length?t:0},t},sa.geo.interpolate=function(t,n){return xe(t[0]*Ba,t[1]*Ba,n[0]*Ba,n[1]*Ba)},sa.geo.length=function(t){return Xu=0,sa.geo.stream(t,Ju),Xu};var Xu,Ju={sphere:x,point:x,lineStart:we,lineEnd:x,polygonStart:x,polygonEnd:x},Ku=Ce(function(t){return Math.sqrt(2/(1+t))},function(t){return 2*Math.asin(t/2)});(sa.geo.azimuthalEqualArea=function(){return ae(Ku)}).raw=Ku;var Qu=Ce(function(t){var n=Math.acos(t);return n&&n/Math.sin(n)},y);(sa.geo.azimuthalEquidistant=function(){return ae(Qu)}).raw=Qu,(sa.geo.conicConformal=function(){return Wn(Se)}).raw=Se,(sa.geo.conicEquidistant=function(){return Wn(Me)}).raw=Me;var ts=Ce(function(t){return 1/t},Math.atan);(sa.geo.gnomonic=function(){return ae(ts)}).raw=ts,_e.invert=function(t,n){return[t,2*Math.atan(Math.exp(n))-za]},(sa.geo.mercator=function(){return ke(_e)}).raw=_e;var ns=Ce(function(){return 1},Math.asin);(sa.geo.orthographic=function(){return ae(ns)}).raw=ns;var es=Ce(function(t){return 1/(1+t)},function(t){return 2*Math.atan(t)});(sa.geo.stereographic=function(){return ae(es)}).raw=es,Ae.invert=function(t,n){return[-n,2*Math.atan(Math.exp(t))-za]},(sa.geo.transverseMercator=function(){var t=ke(Ae),n=t.center,e=t.rotate;return t.center=function(t){return t?n([-t[1],t[0]]):(t=n(),[t[1],-t[0]])},t.rotate=function(t){return t?e([t[0],t[1],t.length>2?t[2]+90:90]):(t=e(),[t[0],t[1],t[2]-90])},e([0,0,90])}).raw=Ae,sa.geom={},sa.geom.hull=function(t){function n(t){if(t.length<3)return[];var n,i=_t(e),o=_t(r),a=t.length,u=[],s=[];for(n=0;n<a;n++)u.push([+i.call(this,t[n],n),+o.call(this,t[n],n),n]);for(u.sort(Te),n=0;n<a;n++)s.push([u[n][0],-u[n][1]]);var l=Oe(u),c=Oe(s),f=c[0]===l[0],h=c[c.length-1]===l[l.length-1],p=[];for(n=l.length-1;n>=0;--n)p.push(t[u[l[n]][2]]);for(n=+f;n<c.length-h;++n)p.push(t[u[c[n]][2]]);return p}var e=Ee,r=Pe;return arguments.length?n(t):(n.x=function(t){return arguments.length?(e=t,n):e},n.y=function(t){return arguments.length?(r=t,n):r},n)},sa.geom.polygon=function(t){return Ma(t,rs),t};var rs=sa.geom.polygon.prototype=[];rs.area=function(){for(var t,n=-1,e=this.length,r=this[e-1],i=0;++n<e;)t=r,r=this[n],i+=t[1]*r[0]-t[0]*r[1];return.5*i},rs.centroid=function(t){var n,e,r=-1,i=this.length,o=0,a=0,u=this[i-1];for(arguments.length||(t=-1/(6*this.area()));++r<i;)n=u,u=this[r],e=n[0]*u[1]-u[0]*n[1],o+=(n[0]+u[0])*e,a+=(n[1]+u[1])*e;return[o*t,a*t]},rs.clip=function(t){for(var n,e,r,i,o,a,u=je(t),s=-1,l=this.length-je(this),c=this[l-1];++s<l;){for(n=t.slice(),t.length=0,i=this[s],o=n[(r=n.length-u)-1],e=-1;++e<r;)a=n[e],Le(a,c,i)?(Le(o,c,i)||t.push(Ne(o,a,c,i)),t.push(a)):Le(o,c,i)&&t.push(Ne(o,a,c,i)),o=a;u&&t.push(t[0]),c=i}return t};var is,os,as,us,ss,ls=[],cs=[];Be.prototype.prepare=function(){for(var t,n=this.edges,e=n.length;e--;)t=n[e].edge,t.b&&t.a||n.splice(e,1);return n.sort(We),n.length},nr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(t,n){var e,r,i;if(t){if(n.P=t,n.N=t.N,t.N&&(t.N.P=n),t.N=n,t.R){for(t=t.R;t.L;)t=t.L;t.L=n}else t.R=n;e=t}else this._?(t=ar(this._),n.P=null,n.N=t,t.P=t.L=n,e=t):(n.P=n.N=null,this._=n,e=null);for(n.L=n.R=null,n.U=e,n.C=!0,t=n;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.R&&(ir(this,e),t=e,e=t.U),e.C=!1,r.C=!0,or(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,t=r):(t===e.L&&(or(this,e),t=e,e=t.U),e.C=!1,r.C=!0,ir(this,r))),e=t.U;this._.C=!1},remove:function(t){t.N&&(t.N.P=t.P),t.P&&(t.P.N=t.N),t.N=t.P=null;var n,e,r,i=t.U,o=t.L,a=t.R;if(e=o?a?ar(a):o:a,i?i.L===t?i.L=e:i.R=e:this._=e,o&&a?(r=e.C,e.C=t.C,e.L=o,o.U=e,e!==a?(i=e.U,e.U=t.U,t=e.R,i.L=t,e.R=a,a.U=e):(e.U=i,i=e,t=e.R)):(r=t.C,t=e),t&&(t.U=i),!r){if(t&&t.C)return void(t.C=!1);do{if(t===this._)break;if(t===i.L){if(n=i.R,n.C&&(n.C=!1,i.C=!0,ir(this,i),n=i.R),n.L&&n.L.C||n.R&&n.R.C){n.R&&n.R.C||(n.L.C=!1,n.C=!0,or(this,n),n=i.R),n.C=i.C,i.C=n.R.C=!1,ir(this,i),t=this._;break}}else if(n=i.L,n.C&&(n.C=!1,i.C=!0,or(this,i),n=i.L),n.L&&n.L.C||n.R&&n.R.C){n.L&&n.L.C||(n.R.C=!1,n.C=!0,ir(this,n),n=i.L),n.C=i.C,i.C=n.L.C=!1,or(this,i),t=this._;break}n.C=!0,t=i,i=i.U}while(!t.C);t&&(t.C=!1)}}},sa.geom.voronoi=function(t){function n(t){var n=new Array(t.length),r=u[0][0],i=u[0][1],o=u[1][0],a=u[1][1];return ur(e(t),u).cells.forEach(function(e,u){var s=e.edges,l=e.site,c=n[u]=s.length?s.map(function(t){var n=t.start();return[n.x,n.y]}):l.x>=r&&l.x<=o&&l.y>=i&&l.y<=a?[[r,a],[o,a],[o,i],[r,i]]:[];c.point=t[u]}),n}function e(t){return t.map(function(t,n){return{x:Math.round(o(t,n)/Da)*Da,y:Math.round(a(t,n)/Da)*Da,i:n}})}var r=Ee,i=Pe,o=r,a=i,u=fs;return t?n(t):(n.links=function(t){return ur(e(t)).edges.filter(function(t){return t.l&&t.r}).map(function(n){return{source:t[n.l.i],target:t[n.r.i]}})},n.triangles=function(t){var n=[];return ur(e(t)).cells.forEach(function(e,r){for(var i,o,a=e.site,u=e.edges.sort(We),s=-1,l=u.length,c=u[l-1].edge,f=c.l===a?c.r:c.l;++s<l;)i=c,o=f,c=u[s].edge,f=c.l===a?c.r:c.l,r<o.i&&r<f.i&&lr(a,o,f)<0&&n.push([t[r],t[o.i],t[f.i]])}),n},n.x=function(t){return arguments.length?(o=_t(r=t),n):r},n.y=function(t){return arguments.length?(a=_t(i=t),n):i},n.clipExtent=function(t){return arguments.length?(u=null==t?fs:t,n):u===fs?null:u},n.size=function(t){return arguments.length?n.clipExtent(t&&[[0,0],t]):u===fs?null:u&&u[1]},n)};var fs=[[-1e6,-1e6],[1e6,1e6]];sa.geom.delaunay=function(t){return sa.geom.voronoi().triangles(t)},sa.geom.quadtree=function(t,n,e,r,i){function o(t){function o(t,n,e,r,i,o,a,u){if(!isNaN(e)&&!isNaN(r))if(t.leaf){var s=t.x,c=t.y;if(null!=s)if(ba(s-e)+ba(c-r)<.01)l(t,n,e,r,i,o,a,u);else{var f=t.point;t.x=t.y=t.point=null,l(t,f,s,c,i,o,a,u),l(t,n,e,r,i,o,a,u)}else t.x=e,t.y=r,t.point=n}else l(t,n,e,r,i,o,a,u)}function l(t,n,e,r,i,a,u,s){var l=.5*(i+u),c=.5*(a+s),f=e>=l,h=r>=c,p=h<<1|f;t.leaf=!1,t=t.nodes[p]||(t.nodes[p]=hr()),f?i=l:u=l,h?a=c:s=c,o(t,n,e,r,i,a,u,s)}var c,f,h,p,d,v,g,m,y,$=_t(u),b=_t(s);if(null!=n)v=n,g=e,m=r,y=i;else if(m=y=-(v=g=1/0),f=[],h=[],d=t.length,a)for(p=0;p<d;++p)c=t[p],c.x<v&&(v=c.x),c.y<g&&(g=c.y),c.x>m&&(m=c.x),c.y>y&&(y=c.y),f.push(c.x),h.push(c.y);else for(p=0;p<d;++p){var x=+$(c=t[p],p),w=+b(c,p);x<v&&(v=x),w<g&&(g=w),x>m&&(m=x),w>y&&(y=w),f.push(x),h.push(w)}var C=m-v,S=y-g;C>S?y=g+C:m=v+S;var M=hr();if(M.add=function(t){o(M,t,+$(t,++p),+b(t,p),v,g,m,y)},M.visit=function(t){pr(t,M,v,g,m,y)},M.find=function(t){return dr(M,t[0],t[1],v,g,m,y)},p=-1,null==n){for(;++p<d;)o(M,t[p],f[p],h[p],v,g,m,y);--p}else t.forEach(M.add);return f=h=t=c=null,M}var a,u=Ee,s=Pe;return(a=arguments.length)?(u=cr,s=fr,3===a&&(i=e,r=n,e=n=0),o(t)):(o.x=function(t){return arguments.length?(u=t,o):u},o.y=function(t){return arguments.length?(s=t,o):s},o.extent=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=+t[0][0],e=+t[0][1],r=+t[1][0],i=+t[1][1]),o):null==n?null:[[n,e],[r,i]]},o.size=function(t){return arguments.length?(null==t?n=e=r=i=null:(n=e=0,r=+t[0],i=+t[1]),o):null==n?null:[r-n,i-e]},o)},sa.interpolateRgb=vr,sa.interpolateObject=gr,sa.interpolateNumber=mr,sa.interpolateString=yr;var hs=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ps=new RegExp(hs.source,"g");sa.interpolate=$r,sa.interpolators=[function(t,n){var e=typeof n;return("string"===e?ou.has(n.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(n)?vr:yr:n instanceof at?vr:Array.isArray(n)?br:"object"===e&&isNaN(n)?gr:mr)(t,n)}],sa.interpolateArray=br;var ds=function(){return y},vs=sa.map({linear:ds,poly:kr,quad:function(){return Sr},cubic:function(){return Mr},sin:function(){return Ar},exp:function(){return Er},circle:function(){return Pr},elastic:Or,back:Tr,bounce:function(){return Lr}}),gs=sa.map({"in":y,out:wr,"in-out":Cr,"out-in":function(t){return Cr(wr(t))}});sa.ease=function(t){var n=t.indexOf("-"),e=n>=0?t.slice(0,n):t,r=n>=0?t.slice(n+1):"in";return e=vs.get(e)||ds,r=gs.get(r)||y,xr(r(e.apply(null,la.call(arguments,1))))},sa.interpolateHcl=Nr,sa.interpolateHsl=jr,sa.interpolateLab=Rr,sa.interpolateRound=Dr,sa.transform=function(t){var n=fa.createElementNS(sa.ns.prefix.svg,"g");return(sa.transform=function(t){if(null!=t){n.setAttribute("transform",t);var e=n.transform.baseVal.consolidate()}return new Fr(e?e.matrix:ms)})(t)},Fr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ms={a:1,b:0,c:0,d:1,e:0,f:0};sa.interpolateTransform=Yr,sa.layout={},sa.layout.bundle=function(){return function(t){for(var n=[],e=-1,r=t.length;++e<r;)n.push(Xr(t[e]));return n}},sa.layout.chord=function(){function t(){var t,l,f,h,p,d={},v=[],g=sa.range(o),m=[];for(e=[],r=[],t=0,h=-1;++h<o;){for(l=0,p=-1;++p<o;)l+=i[h][p];v.push(l),m.push(sa.range(o)),t+=l}for(a&&g.sort(function(t,n){return a(v[t],v[n])}),u&&m.forEach(function(t,n){t.sort(function(t,e){return u(i[n][t],i[n][e])})}),t=(Va-c*o)/t,l=0,h=-1;++h<o;){for(f=l,p=-1;++p<o;){var y=g[h],$=m[y][p],b=i[y][$],x=l,w=l+=b*t;d[y+"-"+$]={index:y,subindex:$,startAngle:x,endAngle:w,value:b}}r[y]={index:y,startAngle:f,endAngle:l,value:v[y]},l+=c}for(h=-1;++h<o;)for(p=h-1;++p<o;){var C=d[h+"-"+p],S=d[p+"-"+h];(C.value||S.value)&&e.push(C.value<S.value?{source:S,target:C}:{source:C,target:S})}s&&n()}function n(){e.sort(function(t,n){return s((t.source.value+t.target.value)/2,(n.source.value+n.target.value)/2)})}var e,r,i,o,a,u,s,l={},c=0;return l.matrix=function(t){return arguments.length?(o=(i=t)&&i.length,e=r=null,l):i},l.padding=function(t){return arguments.length?(c=t,e=r=null,l):c},l.sortGroups=function(t){return arguments.length?(a=t,e=r=null,l):a},l.sortSubgroups=function(t){return arguments.length?(u=t,e=null,l):u},l.sortChords=function(t){return arguments.length?(s=t,e&&n(),l):s},l.chords=function(){return e||t(),e},l.groups=function(){return r||t(),r},l},sa.layout.force=function(){function t(t){return function(n,e,r,i){if(n.point!==t){var o=n.cx-t.x,a=n.cy-t.y,u=i-e,s=o*o+a*a;if(u*u/m<s){if(s<v){var l=n.charge/s;t.px-=o*l,t.py-=a*l}return!0}if(n.point&&s&&s<v){var l=n.pointCharge/s;t.px-=o*l,t.py-=a*l}}return!n.charge}}function n(t){t.px=sa.event.x,t.py=sa.event.y,s.resume()}var e,r,i,o,a,u,s={},l=sa.dispatch("start","tick","end"),c=[1,1],f=.9,h=ys,p=$s,d=-30,v=bs,g=.1,m=.64,$=[],b=[];return s.tick=function(){if((i*=.99)<.005)return e=null,l.end({type:"end",alpha:i=0}),!0;var n,r,s,h,p,v,m,y,x,w=$.length,C=b.length;for(r=0;r<C;++r)s=b[r],h=s.source,p=s.target,y=p.x-h.x,x=p.y-h.y,(v=y*y+x*x)&&(v=i*a[r]*((v=Math.sqrt(v))-o[r])/v,y*=v,x*=v,p.x-=y*(m=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=x*m,h.x+=y*(m=1-m),h.y+=x*m);if((m=i*g)&&(y=c[0]/2,x=c[1]/2,r=-1,m))for(;++r<w;)s=$[r],
+s.x+=(y-s.x)*m,s.y+=(x-s.y)*m;if(d)for(ri(n=sa.geom.quadtree($),i,u),r=-1;++r<w;)(s=$[r]).fixed||n.visit(t(s));for(r=-1;++r<w;)s=$[r],s.fixed?(s.x=s.px,s.y=s.py):(s.x-=(s.px-(s.px=s.x))*f,s.y-=(s.py-(s.py=s.y))*f);l.tick({type:"tick",alpha:i})},s.nodes=function(t){return arguments.length?($=t,s):$},s.links=function(t){return arguments.length?(b=t,s):b},s.size=function(t){return arguments.length?(c=t,s):c},s.linkDistance=function(t){return arguments.length?(h="function"==typeof t?t:+t,s):h},s.distance=s.linkDistance,s.linkStrength=function(t){return arguments.length?(p="function"==typeof t?t:+t,s):p},s.friction=function(t){return arguments.length?(f=+t,s):f},s.charge=function(t){return arguments.length?(d="function"==typeof t?t:+t,s):d},s.chargeDistance=function(t){return arguments.length?(v=t*t,s):Math.sqrt(v)},s.gravity=function(t){return arguments.length?(g=+t,s):g},s.theta=function(t){return arguments.length?(m=t*t,s):Math.sqrt(m)},s.alpha=function(t){return arguments.length?(t=+t,i?t>0?i=t:(e.c=null,e.t=NaN,e=null,l.end({type:"end",alpha:i=0})):t>0&&(l.start({type:"start",alpha:i=t}),e=Ot(s.tick)),s):i},s.start=function(){function t(t,r){if(!e){for(e=new Array(i),s=0;s<i;++s)e[s]=[];for(s=0;s<l;++s){var o=b[s];e[o.source.index].push(o.target),e[o.target.index].push(o.source)}}for(var a,u=e[n],s=-1,c=u.length;++s<c;)if(!isNaN(a=u[s][t]))return a;return Math.random()*r}var n,e,r,i=$.length,l=b.length,f=c[0],v=c[1];for(n=0;n<i;++n)(r=$[n]).index=n,r.weight=0;for(n=0;n<l;++n)r=b[n],"number"==typeof r.source&&(r.source=$[r.source]),"number"==typeof r.target&&(r.target=$[r.target]),++r.source.weight,++r.target.weight;for(n=0;n<i;++n)r=$[n],isNaN(r.x)&&(r.x=t("x",f)),isNaN(r.y)&&(r.y=t("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(o=[],"function"==typeof h)for(n=0;n<l;++n)o[n]=+h.call(this,b[n],n);else for(n=0;n<l;++n)o[n]=h;if(a=[],"function"==typeof p)for(n=0;n<l;++n)a[n]=+p.call(this,b[n],n);else for(n=0;n<l;++n)a[n]=p;if(u=[],"function"==typeof d)for(n=0;n<i;++n)u[n]=+d.call(this,$[n],n);else for(n=0;n<i;++n)u[n]=d;return s.resume()},s.resume=function(){return s.alpha(.1)},s.stop=function(){return s.alpha(0)},s.drag=function(){return r||(r=sa.behavior.drag().origin(y).on("dragstart.force",Qr).on("drag.force",n).on("dragend.force",ti)),arguments.length?void this.on("mouseover.force",ni).on("mouseout.force",ei).call(r):r},sa.rebind(s,l,"on")};var ys=20,$s=1,bs=1/0;sa.layout.hierarchy=function(){function t(i){var o,a=[i],u=[];for(i.depth=0;null!=(o=a.pop());)if(u.push(o),(l=e.call(t,o,o.depth))&&(s=l.length)){for(var s,l,c;--s>=0;)a.push(c=l[s]),c.parent=o,c.depth=o.depth+1;r&&(o.value=0),o.children=l}else r&&(o.value=+r.call(t,o,o.depth)||0),delete o.children;return ai(i,function(t){var e,i;n&&(e=t.children)&&e.sort(n),r&&(i=t.parent)&&(i.value+=t.value)}),u}var n=li,e=ui,r=si;return t.sort=function(e){return arguments.length?(n=e,t):n},t.children=function(n){return arguments.length?(e=n,t):e},t.value=function(n){return arguments.length?(r=n,t):r},t.revalue=function(n){return r&&(oi(n,function(t){t.children&&(t.value=0)}),ai(n,function(n){var e;n.children||(n.value=+r.call(t,n,n.depth)||0),(e=n.parent)&&(e.value+=n.value)})),n},t},sa.layout.partition=function(){function t(n,e,r,i){var o=n.children;if(n.x=e,n.y=n.depth*i,n.dx=r,n.dy=i,o&&(a=o.length)){var a,u,s,l=-1;for(r=n.value?r/n.value:0;++l<a;)t(u=o[l],e,s=u.value*r,i),e+=s}}function n(t){var e=t.children,r=0;if(e&&(i=e.length))for(var i,o=-1;++o<i;)r=Math.max(r,n(e[o]));return 1+r}function e(e,o){var a=r.call(this,e,o);return t(a[0],0,i[0],i[1]/n(a[0])),a}var r=sa.layout.hierarchy(),i=[1,1];return e.size=function(t){return arguments.length?(i=t,e):i},ii(e,r)},sa.layout.pie=function(){function t(a){var u,s=a.length,l=a.map(function(e,r){return+n.call(t,e,r)}),c=+("function"==typeof r?r.apply(this,arguments):r),f=("function"==typeof i?i.apply(this,arguments):i)-c,h=Math.min(Math.abs(f)/s,+("function"==typeof o?o.apply(this,arguments):o)),p=h*(f<0?-1:1),d=sa.sum(l),v=d?(f-s*p)/d:0,g=sa.range(s),m=[];return null!=e&&g.sort(e===xs?function(t,n){return l[n]-l[t]}:function(t,n){return e(a[t],a[n])}),g.forEach(function(t){m[t]={data:a[t],value:u=l[t],startAngle:c,endAngle:c+=u*v+p,padAngle:h}}),m}var n=Number,e=xs,r=0,i=Va,o=0;return t.value=function(e){return arguments.length?(n=e,t):n},t.sort=function(n){return arguments.length?(e=n,t):e},t.startAngle=function(n){return arguments.length?(r=n,t):r},t.endAngle=function(n){return arguments.length?(i=n,t):i},t.padAngle=function(n){return arguments.length?(o=n,t):o},t};var xs={};sa.layout.stack=function(){function t(u,s){if(!(h=u.length))return u;var l=u.map(function(e,r){return n.call(t,e,r)}),c=l.map(function(n){return n.map(function(n,e){return[o.call(t,n,e),a.call(t,n,e)]})}),f=e.call(t,c,s);l=sa.permute(l,f),c=sa.permute(c,f);var h,p,d,v,g=r.call(t,c,s),m=l[0].length;for(d=0;d<m;++d)for(i.call(t,l[0][d],v=g[d],c[0][d][1]),p=1;p<h;++p)i.call(t,l[p][d],v+=c[p-1][d][1],c[p][d][1]);return u}var n=y,e=di,r=vi,i=pi,o=fi,a=hi;return t.values=function(e){return arguments.length?(n=e,t):n},t.order=function(n){return arguments.length?(e="function"==typeof n?n:ws.get(n)||di,t):e},t.offset=function(n){return arguments.length?(r="function"==typeof n?n:Cs.get(n)||vi,t):r},t.x=function(n){return arguments.length?(o=n,t):o},t.y=function(n){return arguments.length?(a=n,t):a},t.out=function(n){return arguments.length?(i=n,t):i},t};var ws=sa.map({"inside-out":function(t){var n,e,r=t.length,i=t.map(gi),o=t.map(mi),a=sa.range(r).sort(function(t,n){return i[t]-i[n]}),u=0,s=0,l=[],c=[];for(n=0;n<r;++n)e=a[n],u<s?(u+=o[e],l.push(e)):(s+=o[e],c.push(e));return c.reverse().concat(l)},reverse:function(t){return sa.range(t.length).reverse()},"default":di}),Cs=sa.map({silhouette:function(t){var n,e,r,i=t.length,o=t[0].length,a=[],u=0,s=[];for(e=0;e<o;++e){for(n=0,r=0;n<i;n++)r+=t[n][e][1];r>u&&(u=r),a.push(r)}for(e=0;e<o;++e)s[e]=(u-a[e])/2;return s},wiggle:function(t){var n,e,r,i,o,a,u,s,l,c=t.length,f=t[0],h=f.length,p=[];for(p[0]=s=l=0,e=1;e<h;++e){for(n=0,i=0;n<c;++n)i+=t[n][e][1];for(n=0,o=0,u=f[e][0]-f[e-1][0];n<c;++n){for(r=0,a=(t[n][e][1]-t[n][e-1][1])/(2*u);r<n;++r)a+=(t[r][e][1]-t[r][e-1][1])/u;o+=a*t[n][e][1]}p[e]=s-=i?o/i*u:0,s<l&&(l=s)}for(e=0;e<h;++e)p[e]-=l;return p},expand:function(t){var n,e,r,i=t.length,o=t[0].length,a=1/i,u=[];for(e=0;e<o;++e){for(n=0,r=0;n<i;n++)r+=t[n][e][1];if(r)for(n=0;n<i;n++)t[n][e][1]/=r;else for(n=0;n<i;n++)t[n][e][1]=a}for(e=0;e<o;++e)u[e]=0;return u},zero:vi});sa.layout.histogram=function(){function t(t,o){for(var a,u,s=[],l=t.map(e,this),c=r.call(this,l,o),f=i.call(this,c,l,o),o=-1,h=l.length,p=f.length-1,d=n?1:1/h;++o<p;)a=s[o]=[],a.dx=f[o+1]-(a.x=f[o]),a.y=0;if(p>0)for(o=-1;++o<h;)u=l[o],u>=c[0]&&u<=c[1]&&(a=s[sa.bisect(f,u,1,p)-1],a.y+=d,a.push(t[o]));return s}var n=!0,e=Number,r=xi,i=$i;return t.value=function(n){return arguments.length?(e=n,t):e},t.range=function(n){return arguments.length?(r=_t(n),t):r},t.bins=function(n){return arguments.length?(i="number"==typeof n?function(t){return bi(t,n)}:_t(n),t):i},t.frequency=function(e){return arguments.length?(n=!!e,t):n},t},sa.layout.pack=function(){function t(t,o){var a=e.call(this,t,o),u=a[0],s=i[0],l=i[1],c=null==n?Math.sqrt:"function"==typeof n?n:function(){return n};if(u.x=u.y=0,ai(u,function(t){t.r=+c(t.value)}),ai(u,_i),r){var f=r*(n?1:Math.max(2*u.r/s,2*u.r/l))/2;ai(u,function(t){t.r+=f}),ai(u,_i),ai(u,function(t){t.r-=f})}return Ei(u,s/2,l/2,n?1:1/Math.max(2*u.r/s,2*u.r/l)),a}var n,e=sa.layout.hierarchy().sort(wi),r=0,i=[1,1];return t.size=function(n){return arguments.length?(i=n,t):i},t.radius=function(e){return arguments.length?(n=null==e||"function"==typeof e?e:+e,t):n},t.padding=function(n){return arguments.length?(r=+n,t):r},ii(t,e)},sa.layout.tree=function(){function t(t,i){var c=a.call(this,t,i),f=c[0],h=n(f);if(ai(h,e),h.parent.m=-h.z,oi(h,r),l)oi(f,o);else{var p=f,d=f,v=f;oi(f,function(t){t.x<p.x&&(p=t),t.x>d.x&&(d=t),t.depth>v.depth&&(v=t)});var g=u(p,d)/2-p.x,m=s[0]/(d.x+u(d,p)/2+g),y=s[1]/(v.depth||1);oi(f,function(t){t.x=(t.x+g)*m,t.y=t.depth*y})}return c}function n(t){for(var n,e={A:null,children:[t]},r=[e];null!=(n=r.pop());)for(var i,o=n.children,a=0,u=o.length;a<u;++a)r.push((o[a]=i={_:o[a],parent:n,children:(i=o[a].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:a}).a=i);return e.children[0]}function e(t){var n=t.children,e=t.parent.children,r=t.i?e[t.i-1]:null;if(n.length){ji(t);var o=(n[0].z+n[n.length-1].z)/2;r?(t.z=r.z+u(t._,r._),t.m=t.z-o):t.z=o}else r&&(t.z=r.z+u(t._,r._));t.parent.A=i(t,r,t.parent.A||e[0])}function r(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function i(t,n,e){if(n){for(var r,i=t,o=t,a=n,s=i.parent.children[0],l=i.m,c=o.m,f=a.m,h=s.m;a=Li(a),i=Ti(i),a&&i;)s=Ti(s),o=Li(o),o.a=t,r=a.z+f-i.z-l+u(a._,i._),r>0&&(Ni(Ri(a,t,e),t,r),l+=r,c+=r),f+=a.m,l+=i.m,h+=s.m,c+=o.m;a&&!Li(o)&&(o.t=a,o.m+=f-c),i&&!Ti(s)&&(s.t=i,s.m+=l-h,e=t)}return e}function o(t){t.x*=s[0],t.y=t.depth*s[1]}var a=sa.layout.hierarchy().sort(null).value(null),u=Oi,s=[1,1],l=null;return t.separation=function(n){return arguments.length?(u=n,t):u},t.size=function(n){return arguments.length?(l=null==(s=n)?o:null,t):l?null:s},t.nodeSize=function(n){return arguments.length?(l=null==(s=n)?null:o,t):l?s:null},ii(t,a)},sa.layout.cluster=function(){function t(t,o){var a,u=n.call(this,t,o),s=u[0],l=0;ai(s,function(t){var n=t.children;n&&n.length?(t.x=Fi(n),t.y=Di(n)):(t.x=a?l+=e(t,a):0,t.y=0,a=t)});var c=Ii(s),f=Vi(s),h=c.x-e(c,f)/2,p=f.x+e(f,c)/2;return ai(s,i?function(t){t.x=(t.x-s.x)*r[0],t.y=(s.y-t.y)*r[1]}:function(t){t.x=(t.x-h)/(p-h)*r[0],t.y=(1-(s.y?t.y/s.y:1))*r[1]}),u}var n=sa.layout.hierarchy().sort(null).value(null),e=Oi,r=[1,1],i=!1;return t.separation=function(n){return arguments.length?(e=n,t):e},t.size=function(n){return arguments.length?(i=null==(r=n),t):i?null:r},t.nodeSize=function(n){return arguments.length?(i=null!=(r=n),t):i?r:null},ii(t,n)},sa.layout.treemap=function(){function t(t,n){for(var e,r,i=-1,o=t.length;++i<o;)r=(e=t[i]).value*(n<0?0:n),e.area=isNaN(r)||r<=0?0:r}function n(e){var o=e.children;if(o&&o.length){var a,u,s,l=f(e),c=[],h=o.slice(),d=1/0,v="slice"===p?l.dx:"dice"===p?l.dy:"slice-dice"===p?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(t(h,l.dx*l.dy/e.value),c.area=0;(s=h.length)>0;)c.push(a=h[s-1]),c.area+=a.area,"squarify"!==p||(u=r(c,v))<=d?(h.pop(),d=u):(c.area-=c.pop().area,i(c,v,l,!1),v=Math.min(l.dx,l.dy),c.length=c.area=0,d=1/0);c.length&&(i(c,v,l,!0),c.length=c.area=0),o.forEach(n)}}function e(n){var r=n.children;if(r&&r.length){var o,a=f(n),u=r.slice(),s=[];for(t(u,a.dx*a.dy/n.value),s.area=0;o=u.pop();)s.push(o),s.area+=o.area,null!=o.z&&(i(s,o.z?a.dx:a.dy,a,!u.length),s.length=s.area=0);r.forEach(e)}}function r(t,n){for(var e,r=t.area,i=0,o=1/0,a=-1,u=t.length;++a<u;)(e=t[a].area)&&(e<o&&(o=e),e>i&&(i=e));return r*=r,n*=n,r?Math.max(n*i*d/r,r/(n*o*d)):1/0}function i(t,n,e,r){var i,o=-1,a=t.length,u=e.x,l=e.y,c=n?s(t.area/n):0;if(n==e.dx){for((r||c>e.dy)&&(c=e.dy);++o<a;)i=t[o],i.x=u,i.y=l,i.dy=c,u+=i.dx=Math.min(e.x+e.dx-u,c?s(i.area/c):0);i.z=!0,i.dx+=e.x+e.dx-u,e.y+=c,e.dy-=c}else{for((r||c>e.dx)&&(c=e.dx);++o<a;)i=t[o],i.x=u,i.y=l,i.dx=c,l+=i.dy=Math.min(e.y+e.dy-l,c?s(i.area/c):0);i.z=!1,i.dy+=e.y+e.dy-l,e.x+=c,e.dx-=c}}function o(r){var i=a||u(r),o=i[0];return o.x=o.y=0,o.value?(o.dx=l[0],o.dy=l[1]):o.dx=o.dy=0,a&&u.revalue(o),t([o],o.dx*o.dy/o.value),(a?e:n)(o),h&&(a=i),i}var a,u=sa.layout.hierarchy(),s=Math.round,l=[1,1],c=null,f=qi,h=!1,p="squarify",d=.5*(1+Math.sqrt(5));return o.size=function(t){return arguments.length?(l=t,o):l},o.padding=function(t){function n(n){var e=t.call(o,n,n.depth);return null==e?qi(n):zi(n,"number"==typeof e?[e,e,e,e]:e)}function e(n){return zi(n,t)}if(!arguments.length)return c;var r;return f=null==(c=t)?qi:"function"==(r=typeof t)?n:"number"===r?(t=[t,t,t,t],e):e,o},o.round=function(t){return arguments.length?(s=t?Math.round:Number,o):s!=Number},o.sticky=function(t){return arguments.length?(h=t,a=null,o):h},o.ratio=function(t){return arguments.length?(d=t,o):d},o.mode=function(t){return arguments.length?(p=t+"",o):p},ii(o,u)},sa.random={normal:function(t,n){var e=arguments.length;return e<2&&(n=1),e<1&&(t=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return t+n*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=sa.random.normal.apply(sa,arguments);return function(){return Math.exp(t())}},bates:function(t){var n=sa.random.irwinHall(t);return function(){return n()/t}},irwinHall:function(t){return function(){for(var n=0,e=0;e<t;e++)n+=Math.random();return n}}},sa.scale={};var Ss={floor:y,ceil:y};sa.scale.linear=function(){return Zi([0,1],[0,1],$r,!1)};var Ms={s:1,g:1,p:1,r:1,e:1};sa.scale.log=function(){return ro(sa.scale.linear().domain([0,1]),10,!0,[1,10])};var _s=sa.format(".0e"),ks={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};sa.scale.pow=function(){return io(sa.scale.linear(),1,[0,1])},sa.scale.sqrt=function(){return sa.scale.pow().exponent(.5)},sa.scale.ordinal=function(){return ao([],{t:"range",a:[[]]})},sa.scale.category10=function(){return sa.scale.ordinal().range(As)},sa.scale.category20=function(){return sa.scale.ordinal().range(Es)},sa.scale.category20b=function(){return sa.scale.ordinal().range(Ps)},sa.scale.category20c=function(){return sa.scale.ordinal().range(Os)};var As=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map($t),Es=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map($t),Ps=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map($t),Os=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map($t);sa.scale.quantile=function(){return uo([],[])},sa.scale.quantize=function(){return so(0,1,[0,1])},sa.scale.threshold=function(){return lo([.5],[0,1])},sa.scale.identity=function(){return co([0,1])},sa.svg={},sa.svg.arc=function(){function t(){var t=Math.max(0,+e.apply(this,arguments)),l=Math.max(0,+r.apply(this,arguments)),c=a.apply(this,arguments)-za,f=u.apply(this,arguments)-za,h=Math.abs(f-c),p=c>f?0:1;if(l<t&&(d=l,l=t,t=d),h>=qa)return n(l,p)+(t?n(t,1-p):"")+"Z";var d,v,g,m,y,$,b,x,w,C,S,M,_=0,k=0,A=[];if((m=(+s.apply(this,arguments)||0)/2)&&(g=o===Ts?Math.sqrt(t*t+l*l):+o.apply(this,arguments),p||(k*=-1),l&&(k=nt(g/l*Math.sin(m))),t&&(_=nt(g/t*Math.sin(m)))),l){y=l*Math.cos(c+k),$=l*Math.sin(c+k),b=l*Math.cos(f-k),x=l*Math.sin(f-k);var E=Math.abs(f-c-2*k)<=Ia?0:1;if(k&&yo(y,$,b,x)===p^E){var P=(c+f)/2;y=l*Math.cos(P),$=l*Math.sin(P),b=x=null}}else y=$=0;if(t){w=t*Math.cos(f-_),C=t*Math.sin(f-_),S=t*Math.cos(c+_),M=t*Math.sin(c+_);var O=Math.abs(c-f+2*_)<=Ia?0:1;if(_&&yo(w,C,S,M)===1-p^O){var T=(c+f)/2;w=t*Math.cos(T),C=t*Math.sin(T),S=M=null}}else w=C=0;if(h>Da&&(d=Math.min(Math.abs(l-t)/2,+i.apply(this,arguments)))>.001){v=t<l^p?0:1;var L=d,N=d;if(h<Ia){var j=null==S?[w,C]:null==b?[y,$]:Ne([y,$],[S,M],[b,x],[w,C]),R=y-j[0],D=$-j[1],F=b-j[0],I=x-j[1],V=1/Math.sin(Math.acos((R*F+D*I)/(Math.sqrt(R*R+D*D)*Math.sqrt(F*F+I*I)))/2),q=Math.sqrt(j[0]*j[0]+j[1]*j[1]);N=Math.min(d,(t-q)/(V-1)),L=Math.min(d,(l-q)/(V+1))}if(null!=b){var z=$o(null==S?[w,C]:[S,M],[y,$],l,L,p),B=$o([b,x],[w,C],l,L,p);d===L?A.push("M",z[0],"A",L,",",L," 0 0,",v," ",z[1],"A",l,",",l," 0 ",1-p^yo(z[1][0],z[1][1],B[1][0],B[1][1]),",",p," ",B[1],"A",L,",",L," 0 0,",v," ",B[0]):A.push("M",z[0],"A",L,",",L," 0 1,",v," ",B[0])}else A.push("M",y,",",$);if(null!=S){var U=$o([y,$],[S,M],t,-N,p),W=$o([w,C],null==b?[y,$]:[b,x],t,-N,p);d===N?A.push("L",W[0],"A",N,",",N," 0 0,",v," ",W[1],"A",t,",",t," 0 ",p^yo(W[1][0],W[1][1],U[1][0],U[1][1]),",",1-p," ",U[1],"A",N,",",N," 0 0,",v," ",U[0]):A.push("L",W[0],"A",N,",",N," 0 0,",v," ",U[0])}else A.push("L",w,",",C)}else A.push("M",y,",",$),null!=b&&A.push("A",l,",",l," 0 ",E,",",p," ",b,",",x),A.push("L",w,",",C),null!=S&&A.push("A",t,",",t," 0 ",O,",",1-p," ",S,",",M);return A.push("Z"),A.join("")}function n(t,n){return"M0,"+t+"A"+t+","+t+" 0 1,"+n+" 0,"+-t+"A"+t+","+t+" 0 1,"+n+" 0,"+t}var e=ho,r=po,i=fo,o=Ts,a=vo,u=go,s=mo;return t.innerRadius=function(n){return arguments.length?(e=_t(n),t):e},t.outerRadius=function(n){return arguments.length?(r=_t(n),t):r},t.cornerRadius=function(n){return arguments.length?(i=_t(n),t):i},t.padRadius=function(n){return arguments.length?(o=n==Ts?Ts:_t(n),t):o},t.startAngle=function(n){return arguments.length?(a=_t(n),t):a},t.endAngle=function(n){return arguments.length?(u=_t(n),t):u},t.padAngle=function(n){return arguments.length?(s=_t(n),t):s},t.centroid=function(){var t=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,n=(+a.apply(this,arguments)+ +u.apply(this,arguments))/2-za;return[Math.cos(n)*t,Math.sin(n)*t]},t};var Ts="auto";sa.svg.line=function(){return bo(y)};var Ls=sa.map({linear:xo,"linear-closed":wo,step:Co,"step-before":So,"step-after":Mo,basis:Oo,"basis-open":To,"basis-closed":Lo,bundle:No,cardinal:Ao,"cardinal-open":_o,"cardinal-closed":ko,monotone:Vo});Ls.forEach(function(t,n){n.key=t,n.closed=/-closed$/.test(t)});var Ns=[0,2/3,1/3,0],js=[0,1/3,2/3,0],Rs=[0,1/6,2/3,1/6];sa.svg.line.radial=function(){var t=bo(qo);return t.radius=t.x,delete t.x,t.angle=t.y,delete t.y,t},So.reverse=Mo,Mo.reverse=So,sa.svg.area=function(){return zo(y)},sa.svg.area.radial=function(){var t=zo(qo);return t.radius=t.x,delete t.x,t.innerRadius=t.x0,delete t.x0,t.outerRadius=t.x1,delete t.x1,t.angle=t.y,delete t.y,t.startAngle=t.y0,delete t.y0,t.endAngle=t.y1,delete t.y1,t},sa.svg.chord=function(){function t(t,u){var s=n(this,o,t,u),l=n(this,a,t,u);return"M"+s.p0+r(s.r,s.p1,s.a1-s.a0)+(e(s,l)?i(s.r,s.p1,s.r,s.p0):i(s.r,s.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+i(l.r,l.p1,s.r,s.p0))+"Z"}function n(t,n,e,r){var i=n.call(t,e,r),o=u.call(t,i,r),a=s.call(t,i,r)-za,c=l.call(t,i,r)-za;return{r:o,a0:a,a1:c,p0:[o*Math.cos(a),o*Math.sin(a)],p1:[o*Math.cos(c),o*Math.sin(c)]}}function e(t,n){return t.a0==n.a0&&t.a1==n.a1}function r(t,n,e){return"A"+t+","+t+" 0 "+ +(e>Ia)+",1 "+n}function i(t,n,e,r){return"Q 0,0 "+r}var o=$e,a=be,u=Bo,s=vo,l=go;return t.radius=function(n){return arguments.length?(u=_t(n),t):u},t.source=function(n){return arguments.length?(o=_t(n),t):o},t.target=function(n){return arguments.length?(a=_t(n),t):a},t.startAngle=function(n){return arguments.length?(s=_t(n),t):s},t.endAngle=function(n){return arguments.length?(l=_t(n),t):l},t},sa.svg.diagonal=function(){function t(t,i){var o=n.call(this,t,i),a=e.call(this,t,i),u=(o.y+a.y)/2,s=[o,{x:o.x,y:u},{x:a.x,y:u},a];return s=s.map(r),"M"+s[0]+"C"+s[1]+" "+s[2]+" "+s[3]}var n=$e,e=be,r=Uo;return t.source=function(e){return arguments.length?(n=_t(e),t):n},t.target=function(n){return arguments.length?(e=_t(n),t):e},t.projection=function(n){return arguments.length?(r=n,t):r},t},sa.svg.diagonal.radial=function(){var t=sa.svg.diagonal(),n=Uo,e=t.projection;return t.projection=function(t){return arguments.length?e(Wo(n=t)):n},t},sa.svg.symbol=function(){function t(t,r){return(Ds.get(n.call(this,t,r))||Go)(e.call(this,t,r))}var n=Yo,e=Ho;return t.type=function(e){return arguments.length?(n=_t(e),t):n},t.size=function(n){return arguments.length?(e=_t(n),t):e},t};var Ds=sa.map({circle:Go,cross:function(t){var n=Math.sqrt(t/5)/2;return"M"+-3*n+","+-n+"H"+-n+"V"+-3*n+"H"+n+"V"+-n+"H"+3*n+"V"+n+"H"+n+"V"+3*n+"H"+-n+"V"+n+"H"+-3*n+"Z"},diamond:function(t){var n=Math.sqrt(t/(2*Is)),e=n*Is;return"M0,"+-n+"L"+e+",0 0,"+n+" "+-e+",0Z"},square:function(t){var n=Math.sqrt(t)/2;return"M"+-n+","+-n+"L"+n+","+-n+" "+n+","+n+" "+-n+","+n+"Z"},"triangle-down":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+e+"L"+n+","+-e+" "+-n+","+-e+"Z"},"triangle-up":function(t){var n=Math.sqrt(t/Fs),e=n*Fs/2;return"M0,"+-e+"L"+n+","+e+" "+-n+","+e+"Z"}});sa.svg.symbolTypes=Ds.keys();var Fs=Math.sqrt(3),Is=Math.tan(30*Ba);Ea.transition=function(t){for(var n,e,r=Vs||++Us,i=Qo(t),o=[],a=qs||{time:Date.now(),ease:_r,delay:0,duration:250},u=-1,s=this.length;++u<s;){o.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(e=l[c])&&ta(e,c,i,r,a),n.push(e)}return Xo(o,i,r)},Ea.interrupt=function(t){return this.each(null==t?zs:Zo(Qo(t)))};var Vs,qs,zs=Zo(Qo()),Bs=[],Us=0;Bs.call=Ea.call,Bs.empty=Ea.empty,Bs.node=Ea.node,Bs.size=Ea.size,sa.transition=function(t,n){return t&&t.transition?Vs?t.transition(n):t:sa.selection().transition(t)},sa.transition.prototype=Bs,Bs.select=function(t){var n,e,r,i=this.id,o=this.namespace,a=[];t=A(t);for(var u=-1,s=this.length;++u<s;){a.push(n=[]);for(var l=this[u],c=-1,f=l.length;++c<f;)(r=l[c])&&(e=t.call(r,r.__data__,c,u))?("__data__"in r&&(e.__data__=r.__data__),ta(e,c,o,i,r[o][i]),n.push(e)):n.push(null)}return Xo(a,o,i)},Bs.selectAll=function(t){var n,e,r,i,o,a=this.id,u=this.namespace,s=[];t=E(t);for(var l=-1,c=this.length;++l<c;)for(var f=this[l],h=-1,p=f.length;++h<p;)if(r=f[h]){o=r[u][a],e=t.call(r,r.__data__,h,l),s.push(n=[]);for(var d=-1,v=e.length;++d<v;)(i=e[d])&&ta(i,d,u,a,o),n.push(i)}return Xo(s,u,a)},Bs.filter=function(t){var n,e,r,i=[];"function"!=typeof t&&(t=q(t));for(var o=0,a=this.length;o<a;o++){i.push(n=[]);for(var e=this[o],u=0,s=e.length;u<s;u++)(r=e[u])&&t.call(r,r.__data__,u,o)&&n.push(r)}return Xo(i,this.namespace,this.id)},Bs.tween=function(t,n){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(t):B(this,null==n?function(n){n[r][e].tween.remove(t)}:function(i){i[r][e].tween.set(t,n)})},Bs.attr=function(t,n){function e(){this.removeAttribute(u)}function r(){this.removeAttributeNS(u.space,u.local)}function i(t){return null==t?e:(t+="",function(){var n,e=this.getAttribute(u);return e!==t&&(n=a(e,t),function(t){this.setAttribute(u,n(t))})})}function o(t){return null==t?r:(t+="",function(){var n,e=this.getAttributeNS(u.space,u.local);return e!==t&&(n=a(e,t),function(t){this.setAttributeNS(u.space,u.local,n(t))})})}if(arguments.length<2){for(n in t)this.attr(n,t[n]);return this}var a="transform"==t?Yr:$r,u=sa.ns.qualify(t);return Jo(this,"attr."+t,n,u.local?o:i)},Bs.attrTween=function(t,n){function e(t,e){var r=n.call(this,t,e,this.getAttribute(i));return r&&function(t){this.setAttribute(i,r(t))}}function r(t,e){var r=n.call(this,t,e,this.getAttributeNS(i.space,i.local));return r&&function(t){this.setAttributeNS(i.space,i.local,r(t))}}var i=sa.ns.qualify(t);return this.tween("attr."+t,i.local?r:e)},Bs.style=function(t,e,r){function i(){this.style.removeProperty(t)}function o(e){return null==e?i:(e+="",function(){var i,o=n(this).getComputedStyle(this,null).getPropertyValue(t);return o!==e&&(i=$r(o,e),function(n){this.style.setProperty(t,i(n),r)})})}var a=arguments.length;if(a<3){if("string"!=typeof t){a<2&&(e="");for(r in t)this.style(r,t[r],e);return this}r=""}return Jo(this,"style."+t,e,o)},Bs.styleTween=function(t,e,r){function i(i,o){var a=e.call(this,i,o,n(this).getComputedStyle(this,null).getPropertyValue(t));return a&&function(n){this.style.setProperty(t,a(n),r)}}return arguments.length<3&&(r=""),this.tween("style."+t,i)},Bs.text=function(t){return Jo(this,"text",t,Ko)},Bs.remove=function(){var t=this.namespace;return this.each("end.transition",function(){var n;this[t].count<2&&(n=this.parentNode)&&n.removeChild(this)})},Bs.ease=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].ease:("function"!=typeof t&&(t=sa.ease.apply(sa,arguments)),B(this,function(r){r[e][n].ease=t}))},Bs.delay=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].delay:B(this,"function"==typeof t?function(r,i,o){r[e][n].delay=+t.call(r,r.__data__,i,o)}:(t=+t,function(r){r[e][n].delay=t}))},Bs.duration=function(t){var n=this.id,e=this.namespace;return arguments.length<1?this.node()[e][n].duration:B(this,"function"==typeof t?function(r,i,o){r[e][n].duration=Math.max(1,t.call(r,r.__data__,i,o))}:(t=Math.max(1,t),function(r){r[e][n].duration=t}))},Bs.each=function(t,n){var e=this.id,r=this.namespace;if(arguments.length<2){var i=qs,o=Vs;try{Vs=e,B(this,function(n,i,o){qs=n[r][e],t.call(n,n.__data__,i,o)})}finally{qs=i,Vs=o}}else B(this,function(i){var o=i[r][e];(o.event||(o.event=sa.dispatch("start","end","interrupt"))).on(t,n)});return this},Bs.transition=function(){for(var t,n,e,r,i=this.id,o=++Us,a=this.namespace,u=[],s=0,l=this.length;s<l;s++){u.push(t=[]);for(var n=this[s],c=0,f=n.length;c<f;c++)(e=n[c])&&(r=e[a][i],ta(e,c,a,o,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),t.push(e)}return Xo(u,a,o)},sa.svg.axis=function(){function t(t){t.each(function(){var t,l=sa.select(this),c=this.__chart__||e,f=this.__chart__=e.copy(),h=null==s?f.ticks?f.ticks.apply(f,u):f.domain():s,p=null==n?f.tickFormat?f.tickFormat.apply(f,u):y:n,d=l.selectAll(".tick").data(h,f),v=d.enter().insert("g",".domain").attr("class","tick").style("opacity",Da),g=sa.transition(d.exit()).style("opacity",Da).remove(),m=sa.transition(d.order()).style("opacity",1),$=Math.max(i,0)+a,b=Ui(f),x=l.selectAll(".domain").data([0]),w=(x.enter().append("path").attr("class","domain"),sa.transition(x));v.append("line"),v.append("text");var C,S,M,_,k=v.select("line"),A=m.select("line"),E=d.select("text").text(p),P=v.select("text"),O=m.select("text"),T="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(t=na,C="x",M="y",S="x2",_="y2",E.attr("dy",T<0?"0em":".71em").style("text-anchor","middle"),w.attr("d","M"+b[0]+","+T*o+"V0H"+b[1]+"V"+T*o)):(t=ea,C="y",M="x",S="y2",_="x2",E.attr("dy",".32em").style("text-anchor",T<0?"end":"start"),w.attr("d","M"+T*o+","+b[0]+"H0V"+b[1]+"H"+T*o)),k.attr(_,T*i),P.attr(M,T*$),A.attr(S,0).attr(_,T*i),O.attr(C,0).attr(M,T*$),f.rangeBand){var L=f,N=L.rangeBand()/2;c=f=function(t){return L(t)+N}}else c.rangeBand?c=f:g.call(t,f,c);v.call(t,c,f),m.call(t,f,f)})}var n,e=sa.scale.linear(),r=Ws,i=6,o=6,a=3,u=[10],s=null;return t.scale=function(n){return arguments.length?(e=n,t):e},t.orient=function(n){return arguments.length?(r=n in Hs?n+"":Ws,t):r},t.ticks=function(){return arguments.length?(u=ca(arguments),t):u},t.tickValues=function(n){return arguments.length?(s=n,t):s},t.tickFormat=function(e){return arguments.length?(n=e,t):n},t.tickSize=function(n){var e=arguments.length;return e?(i=+n,o=+arguments[e-1],t):i},t.innerTickSize=function(n){return arguments.length?(i=+n,t):i},t.outerTickSize=function(n){return arguments.length?(o=+n,t):o},t.tickPadding=function(n){return arguments.length?(a=+n,t):a},t.tickSubdivide=function(){return arguments.length&&t},t};var Ws="bottom",Hs={top:1,right:1,bottom:1,left:1};sa.svg.brush=function(){function t(n){n.each(function(){var n=sa.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",o).on("touchstart.brush",o),a=n.selectAll(".background").data([0]);a.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),n.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var u=n.selectAll(".resize").data(v,y);u.exit().remove(),u.enter().append("g").attr("class",function(t){return"resize "+t}).style("cursor",function(t){return Ys[t]}).append("rect").attr("x",function(t){return/[ew]$/.test(t)?-3:null}).attr("y",function(t){return/^[ns]/.test(t)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),u.style("display",t.empty()?"none":null);var s,f=sa.transition(n),h=sa.transition(a);l&&(s=Ui(l),h.attr("x",s[0]).attr("width",s[1]-s[0]),r(f)),c&&(s=Ui(c),h.attr("y",s[0]).attr("height",s[1]-s[0]),i(f)),e(f)})}function e(t){t.selectAll(".resize").attr("transform",function(t){return"translate("+f[+/e$/.test(t)]+","+h[+/^s/.test(t)]+")"})}function r(t){t.select(".extent").attr("x",f[0]),t.selectAll(".extent,.n>rect,.s>rect").attr("width",f[1]-f[0])}function i(t){t.select(".extent").attr("y",h[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function o(){function o(){32==sa.event.keyCode&&(E||($=null,O[0]-=f[1],O[1]-=h[1],E=2),S())}function v(){32==sa.event.keyCode&&2==E&&(O[0]+=f[1],O[1]+=h[1],E=0,S())}function g(){var t=sa.mouse(x),n=!1;b&&(t[0]+=b[0],t[1]+=b[1]),E||(sa.event.altKey?($||($=[(f[0]+f[1])/2,(h[0]+h[1])/2]),O[0]=f[+(t[0]<$[0])],O[1]=h[+(t[1]<$[1])]):$=null),k&&m(t,l,0)&&(r(M),n=!0),A&&m(t,c,1)&&(i(M),n=!0),n&&(e(M),C({type:"brush",mode:E?"move":"resize"}))}function m(t,n,e){var r,i,o=Ui(n),s=o[0],l=o[1],c=O[e],v=e?h:f,g=v[1]-v[0];if(E&&(s-=c,l-=g+c),r=(e?d:p)?Math.max(s,Math.min(l,t[e])):t[e],E?i=(r+=c)+g:($&&(c=Math.max(s,Math.min(l,2*$[e]-r))),c<r?(i=r,r=c):i=c),v[0]!=r||v[1]!=i)return e?u=null:a=null,v[0]=r,v[1]=i,!0}function y(){g(),M.style("pointer-events","all").selectAll(".resize").style("display",t.empty()?"none":null),sa.select("body").style("cursor",null),T.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),P(),C({type:"brushend"})}var $,b,x=this,w=sa.select(sa.event.target),C=s.of(x,arguments),M=sa.select(x),_=w.datum(),k=!/^(n|s)$/.test(_)&&l,A=!/^(e|w)$/.test(_)&&c,E=w.classed("extent"),P=Z(x),O=sa.mouse(x),T=sa.select(n(x)).on("keydown.brush",o).on("keyup.brush",v);if(sa.event.changedTouches?T.on("touchmove.brush",g).on("touchend.brush",y):T.on("mousemove.brush",g).on("mouseup.brush",y),M.interrupt().selectAll("*").interrupt(),E)O[0]=f[0]-O[0],O[1]=h[0]-O[1];else if(_){var L=+/w$/.test(_),N=+/^n/.test(_);b=[f[1-L]-O[0],h[1-N]-O[1]],O[0]=f[L],O[1]=h[N]}else sa.event.altKey&&($=O.slice());M.style("pointer-events","none").selectAll(".resize").style("display",null),sa.select("body").style("cursor",w.style("cursor")),C({type:"brushstart"}),g()}var a,u,s=_(t,"brushstart","brush","brushend"),l=null,c=null,f=[0,0],h=[0,0],p=!0,d=!0,v=Gs[0];return t.event=function(t){t.each(function(){var t=s.of(this,arguments),n={x:f,y:h,i:a,j:u},e=this.__chart__||n;this.__chart__=n,Vs?sa.select(this).transition().each("start.brush",function(){a=e.i,u=e.j,f=e.x,h=e.y,t({type:"brushstart"})}).tween("brush:brush",function(){var e=br(f,n.x),r=br(h,n.y);return a=u=null,function(i){f=n.x=e(i),h=n.y=r(i),t({type:"brush",mode:"resize"})}}).each("end.brush",function(){a=n.i,u=n.j,t({type:"brush",mode:"resize"}),t({type:"brushend"})}):(t({type:"brushstart"}),t({type:"brush",mode:"resize"}),t({type:"brushend"}))})},t.x=function(n){return arguments.length?(l=n,v=Gs[!l<<1|!c],t):l},t.y=function(n){return arguments.length?(c=n,v=Gs[!l<<1|!c],t):c},t.clamp=function(n){return arguments.length?(l&&c?(p=!!n[0],d=!!n[1]):l?p=!!n:c&&(d=!!n),t):l&&c?[p,d]:l?p:c?d:null},t.extent=function(n){var e,r,i,o,s;return arguments.length?(l&&(e=n[0],r=n[1],c&&(e=e[0],r=r[0]),a=[e,r],l.invert&&(e=l(e),r=l(r)),r<e&&(s=e,e=r,r=s),e==f[0]&&r==f[1]||(f=[e,r])),c&&(i=n[0],o=n[1],l&&(i=i[1],o=o[1]),u=[i,o],c.invert&&(i=c(i),o=c(o)),o<i&&(s=i,i=o,o=s),i==h[0]&&o==h[1]||(h=[i,o])),t):(l&&(a?(e=a[0],r=a[1]):(e=f[0],r=f[1],l.invert&&(e=l.invert(e),r=l.invert(r)),r<e&&(s=e,e=r,r=s))),c&&(u?(i=u[0],o=u[1]):(i=h[0],o=h[1],c.invert&&(i=c.invert(i),o=c.invert(o)),o<i&&(s=i,i=o,o=s))),l&&c?[[e,i],[r,o]]:l?[e,r]:c&&[i,o])},t.clear=function(){return t.empty()||(f=[0,0],h=[0,0],a=u=null),t},t.empty=function(){return!!l&&f[0]==f[1]||!!c&&h[0]==h[1]},sa.rebind(t,s,"on")};var Ys={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Gs=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Zs=du.format=bu.timeFormat,Xs=Zs.utc,Js=Xs("%Y-%m-%dT%H:%M:%S.%LZ");Zs.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?ra:Js,ra.parse=function(t){var n=new Date(t);return isNaN(n)?null:n},ra.toString=Js.toString,du.second=Vt(function(t){return new vu(1e3*Math.floor(t/1e3));
+},function(t,n){t.setTime(t.getTime()+1e3*Math.floor(n))},function(t){return t.getSeconds()}),du.seconds=du.second.range,du.seconds.utc=du.second.utc.range,du.minute=Vt(function(t){return new vu(6e4*Math.floor(t/6e4))},function(t,n){t.setTime(t.getTime()+6e4*Math.floor(n))},function(t){return t.getMinutes()}),du.minutes=du.minute.range,du.minutes.utc=du.minute.utc.range,du.hour=Vt(function(t){var n=t.getTimezoneOffset()/60;return new vu(36e5*(Math.floor(t/36e5-n)+n))},function(t,n){t.setTime(t.getTime()+36e5*Math.floor(n))},function(t){return t.getHours()}),du.hours=du.hour.range,du.hours.utc=du.hour.utc.range,du.month=Vt(function(t){return t=du.day(t),t.setDate(1),t},function(t,n){t.setMonth(t.getMonth()+n)},function(t){return t.getMonth()}),du.months=du.month.range,du.months.utc=du.month.utc.range;var Ks=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Qs=[[du.second,1],[du.second,5],[du.second,15],[du.second,30],[du.minute,1],[du.minute,5],[du.minute,15],[du.minute,30],[du.hour,1],[du.hour,3],[du.hour,6],[du.hour,12],[du.day,1],[du.day,2],[du.week,1],[du.month,1],[du.month,3],[du.year,1]],tl=Zs.multi([[".%L",function(t){return t.getMilliseconds()}],[":%S",function(t){return t.getSeconds()}],["%I:%M",function(t){return t.getMinutes()}],["%I %p",function(t){return t.getHours()}],["%a %d",function(t){return t.getDay()&&1!=t.getDate()}],["%b %d",function(t){return 1!=t.getDate()}],["%B",function(t){return t.getMonth()}],["%Y",Pn]]),nl={range:function(t,n,e){return sa.range(Math.ceil(t/e)*e,+n,e).map(oa)},floor:y,ceil:y};Qs.year=du.year,du.scale=function(){return ia(sa.scale.linear(),Qs,tl)};var el=Qs.map(function(t){return[t[0].utc,t[1]]}),rl=Xs.multi([[".%L",function(t){return t.getUTCMilliseconds()}],[":%S",function(t){return t.getUTCSeconds()}],["%I:%M",function(t){return t.getUTCMinutes()}],["%I %p",function(t){return t.getUTCHours()}],["%a %d",function(t){return t.getUTCDay()&&1!=t.getUTCDate()}],["%b %d",function(t){return 1!=t.getUTCDate()}],["%B",function(t){return t.getUTCMonth()}],["%Y",Pn]]);el.year=du.year.utc,du.scale.utc=function(){return ia(sa.scale.linear(),el,rl)},sa.text=kt(function(t){return t.responseText}),sa.json=function(t,n){return At(t,"application/json",aa,n)},sa.html=function(t,n){return At(t,"text/html",ua,n)},sa.xml=kt(function(t){return t.responseXML}),"function"==typeof define&&define.amd?(this.d3=sa,define(sa)):"object"==typeof module&&module.exports?module.exports=sa:this.d3=sa}(),angular.module("RecursionHelper",[]).factory("RecursionHelper",["$compile",function(t){return{compile:function(n,e){angular.isFunction(e)&&(e={post:e});var r,i=n.contents().remove();return{pre:e&&e.pre?e.pre:null,post:function(n,o){r||(r=t(i)),r(n,function(t){o.append(t)}),e&&e.post&&e.post.apply(null,arguments)}}}}}]);
\ No newline at end of file
diff --git a/dist/xosNgLib.css b/dist/xosNgLib.css
index e8cb002..44648e1 100644
--- a/dist/xosNgLib.css
+++ b/dist/xosNgLib.css
@@ -248,4 +248,4 @@
/* TODO move in xos.scss*/
margin-top: 15px; }
-/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG9zTmdMaWIuY3NzIiwic291cmNlcyI6WyJtYWluLnNjc3MiLCJhbmltYXRpb25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwibG9hZGVyLnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL3RhYmxlL3RhYmxlLnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2FsZXJ0L2FsZXJ0LnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5zY3NzIiwiLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9maWVsZC9maWVsZC5zY3NzIiwiLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsIi4uL3VpX2NvbXBvbmVudHMvc21hcnRDb21wb25lbnRzL3NtYXJ0VGFibGUvc21hcnRUYWJsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4vYW5pbWF0aW9ucy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAnLi9sb2FkZXIuc2Nzcyc7XG5cbkBpbXBvcnQgJy4uL3VpX2NvbXBvbmVudHMvZHVtYkNvbXBvbmVudHMvdGFibGUvdGFibGUuc2Nzcyc7XG5AaW1wb3J0ICcuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2FsZXJ0L2FsZXJ0LnNjc3MnO1xuQGltcG9ydCAnLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy92YWxpZGF0aW9uL3ZhbGlkYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICcuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2ZpZWxkL2ZpZWxkLnNjc3MnO1xuQGltcG9ydCAnLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9mb3JtL2Zvcm0uc2Nzcyc7XG5cbkBpbXBvcnQgJy4uL3VpX2NvbXBvbmVudHMvc21hcnRDb21wb25lbnRzL3NtYXJ0VGFibGUvc21hcnRUYWJsZS5zY3NzJztcblxuW25nXFw6Y2xvYWtdLCBbbmctY2xvYWtdLCBbZGF0YS1uZy1jbG9ha10sIFt4LW5nLWNsb2FrXSwgLm5nLWNsb2FrLCAueC1uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnJvdyArIC5yb3cge1xuICAvKiBUT0RPIG1vdmUgaW4geG9zLnNjc3MqLyBcbiAgbWFyZ2luLXRvcDogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn0iLCJAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn0iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcbi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy89PSBDb2xvcnNcbi8vXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXG5cbiRncmF5LWJhc2U6ICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJGdyYXktZGFya2VyOiAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMTMuNSUpICFkZWZhdWx0OyAvLyAjMjIyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcbiRncmF5OiAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDMzLjUlKSAhZGVmYXVsdDsgLy8gIzU1NVxuJGdyYXktbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNyUpICFkZWZhdWx0OyAvLyAjNzc3XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcblxuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgZGFya2VuKCM0MjhiY2EsIDYuNSUpICFkZWZhdWx0OyAvLyAjMzM3YWI3XG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xuJGJyYW5kLWluZm86ICAgICAgICAgICAgIzViYzBkZSAhZGVmYXVsdDtcbiRicmFuZC13YXJuaW5nOiAgICAgICAgICNmMGFkNGUgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xuXG5cbi8vPT0gU2NhZmZvbGRpbmdcbi8vXG4vLyMjIFNldHRpbmdzIGZvciBzb21lIG9mIHRoZSBtb3N0IGdsb2JhbCBzdHlsZXMuXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXG4kYm9keS1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cbiR0ZXh0LWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cbiRsaW5rLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGNvbG9yIHNldCB2aWEgYGRhcmtlbigpYCBmdW5jdGlvbi5cbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbi8vKiogTGluayBob3ZlciBkZWNvcmF0aW9uLlxuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy9cbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgbW9ub3NwYWNlIGZvbnRzIGZvciBgPGNvZGU+YCwgYDxrYmQ+YCwgYW5kIGA8cHJlPmAuXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGFyZ2U6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1zbWFsbDogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAwLjg1KSkgIWRlZmF1bHQ7IC8vIH4xMnB4XG5cbiRmb250LXNpemUtaDE6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi4xNSkpICFkZWZhdWx0OyAvLyB+MzBweFxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkpICFkZWZhdWx0OyAvLyB+MThweFxuJGZvbnQtc2l6ZS1oNTogICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSkpICFkZWZhdWx0OyAvLyB+MjBweFxuXG4vLyoqIEJ5IGRlZmF1bHQsIHRoaXMgaW5oZXJpdHMgZnJvbSB0aGUgYDxib2R5PmAuXG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1saW5lLWhlaWdodDogICAgMS4xICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG5cbi8vPT0gSWNvbm9ncmFwaHlcbi8vXG4vLyMjIFNwZWNpZnkgY3VzdG9tIGxvY2F0aW9uIGFuZCBmaWxlbmFtZSBvZiB0aGUgaW5jbHVkZWQgR2x5cGhpY29ucyBpY29uIGZvbnQuIFVzZWZ1bCBmb3IgdGhvc2UgaW5jbHVkaW5nIEJvb3RzdHJhcCB2aWEgQm93ZXIuXG5cbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxuXG4vLyBbY29udmVydGVyXSBJZiAkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyIGlmIHVzZWQsIHByb3ZpZGUgcGF0aCByZWxhdGl2ZSB0byB0aGUgYXNzZXRzIGxvYWQgcGF0aC5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXG4kaWNvbi1mb250LXBhdGg6IGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIFwiYm9vdHN0cmFwL1wiLCBcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9cIikgIWRlZmF1bHQ7XG5cbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cbiRpY29uLWZvbnQtbmFtZTogICAgICAgICAgXCJnbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyXCIgIWRlZmF1bHQ7XG4vLyoqIEVsZW1lbnQgSUQgd2l0aGluIFNWRyBpY29uIGZpbGUuXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XG5cblxuLy89PSBDb21wb25lbnRzXG4vL1xuLy8jIyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuIFZhbHVlcyBiYXNlZCBvbiAxNHB4IHRleHQgYW5kIDEuNDI4IGxpbmUtaGVpZ2h0ICh+MjBweCB0byBzdGFydCkuXG5cbiRwYWRkaW5nLWJhc2UtdmVydGljYWw6ICAgICA2cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1iYXNlLWhvcml6b250YWw6ICAgMTJweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctbGFyZ2UtdmVydGljYWw6ICAgIDEwcHggIWRlZmF1bHQ7XG4kcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsOiAgMTZweCAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtdmVydGljYWw6ICAgIDVweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXNtYWxsLWhvcml6b250YWw6ICAxMHB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy14cy12ZXJ0aWNhbDogICAgICAgMXB4ICFkZWZhdWx0O1xuJHBhZGRpbmcteHMtaG9yaXpvbnRhbDogICAgIDVweCAhZGVmYXVsdDtcblxuJGxpbmUtaGVpZ2h0LWxhcmdlOiAgICAgICAgIDEuMzMzMzMzMyAhZGVmYXVsdDsgLy8gZXh0cmEgZGVjaW1hbHMgZm9yIFdpbiA4LjEgQ2hyb21lXG4kbGluZS1oZWlnaHQtc21hbGw6ICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1cy1iYXNlOiAgICAgICAgNHB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGFyZ2U6ICAgICAgIDZweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XG5cbi8vKiogR2xvYmFsIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBHbG9iYWwgYmFja2dyb3VuZCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1iZzogICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vKiogV2lkdGggb2YgdGhlIGBib3JkZXJgIGZvciBnZW5lcmF0aW5nIGNhcmV0cyB0aGF0IGluZGljYXRvciBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcbiRpbnB1dC1ib3JkZXItZm9jdXM6ICAgICAgICAgICAgICM2NmFmZTkgIWRlZmF1bHQ7XG5cbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxuJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyOiAgICAgICAgIzk5OSAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1zbWFsbDogICAgICAgICAgICAgKGZsb29yKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpICsgKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcblxuLy8qKiBgLmZvcm0tZ3JvdXBgIG1hcmdpblxuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgMTVweCAhZGVmYXVsdDtcblxuJGxlZ2VuZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbiRsZWdlbmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1iZzogICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxuJGN1cnNvci1kaXNhYmxlZDogICAgICAgICAgICAgICAgbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cblxuLy89PSBEcm9wZG93bnNcbi8vXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuLy8qKiBCYWNrZ3JvdW5kIGZvciB0aGUgZHJvcGRvd24gbWVudS5cbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAuXG4kZHJvcGRvd24tYm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4xNSkgIWRlZmF1bHQ7XG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXG4kZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBEaXZpZGVyIGNvbG9yIGZvciBiZXR3ZWVuIGRyb3Bkb3duIGl0ZW1zLlxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBEcm9wZG93biBsaW5rIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oJGdyYXktZGFyaywgNSUpICFkZWZhdWx0O1xuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgaGVhZGVycyB3aXRoaW4gZHJvcGRvd24gbWVudXMuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBEZXByZWNhdGVkIGAkZHJvcGRvd24tY2FyZXQtY29sb3JgIGFzIG9mIHYzLjEuMFxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cbi8vXG4vLyBOb3RlOiBUaGVzZSB2YXJpYWJsZXMgYXJlIG5vdCBnZW5lcmF0ZWQgaW50byB0aGUgQ3VzdG9taXplci5cblxuJHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcbiR6aW5kZXgtbmF2YmFyLWZpeGVkOiAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcblxuXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcbi8vXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweCAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgJHNjcmVlbi1tZC1taW4gIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGc6ICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4kc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBHcmlkIHN5c3RlbVxuLy9cbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cblxuLy8qKiBOdW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgZ3JpZC5cbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgMzBweCAhZGVmYXVsdDtcbi8vIE5hdmJhciBjb2xsYXBzZVxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50OiAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXG4kZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKCRncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IENvbnRhaW5lciBzaXplc1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLXNtLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1zbTogICAgICAgICAgICAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuJGNvbnRhaW5lci1kZXNrdG9wOiAgICAgICAgICAgICg5NDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbWQ6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wOiAgICAgICgxMTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbGctbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2YmFyXG4vL1xuLy8jI1xuXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcbiRuYXZiYXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xuJG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGxpbmtzXG4kbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICM1NTUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gTmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgIzg4OCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT09IEludmVydGVkIG5hdmJhclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xuJG5hdmJhci1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcbiRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXG4kbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItaW52ZXJzZS1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIHRvZ2dsZVxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gTmF2c1xuLy9cbi8vIyNcblxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcbiRuYXYtbGluay1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xuJG5hdi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJG5hdi1kaXNhYmxlZC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy89PSBUYWJzXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICNkZGQgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXYtdGFicy1qdXN0aWZpZWQtYWN0aXZlLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG5cbi8vPT0gUGlsbHNcbiRuYXYtcGlsbHMtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnaW5hdGlvblxuLy9cbi8vIyNcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyOiAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjogICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdlclxuLy9cbi8vIyNcblxuJHBhZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYmcgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFnZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHBhZ2VyLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuXG4kcGFnZXItZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IEp1bWJvdHJvblxuLy9cbi8vIyNcblxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tY29sb3I6ICAgICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWJnOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tZm9udC1zaXplOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNSkpICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTogICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsIi5sb2FkZXIge1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgd2lkdGg6IDExZW07XG4gIGhlaWdodDogMTFlbTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0MiUpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0MiUpO1xuICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDIlKTtcbiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjZmZmZmZmIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0MiUpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNmZmZmZmYgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQyJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYW5pbWF0aW9uOiBsb2FkZXJTcGlubmVyIDEuNHMgaW5maW5pdGUgbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG59XG4ubG9hZGVyOmJlZm9yZSB7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogNTAlO1xuICBiYWNrZ3JvdW5kOiAkYnJhbmQtcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJSAwIDAgMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGNvbnRlbnQ6ICcnO1xufVxuLmxvYWRlcjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHdpZHRoOiA3NSU7XG4gIGhlaWdodDogNzUlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbnRlbnQ6ICcnO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG5Aa2V5ZnJhbWVzIGxvYWRlclNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufSIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbmltYXRpb25zLnNjc3MnO1xuXG54b3MtdGFibGUge1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIHRyLm5nLW1vdmUsXG4gIHRyLm5nLWVudGVyLFxuICB0ci5uZy1sZWF2ZSB7XG4gICAgdHJhbnNpdGlvbjphbGwgbGluZWFyIDAuNXM7XG4gIH1cblxuICB0ci5uZy1sZWF2ZS5uZy1sZWF2ZS1hY3RpdmUsXG4gIHRyLm5nLW1vdmUsXG4gIHRyLm5nLWVudGVyIHtcbiAgICBvcGFjaXR5OjA7XG4gICAgYW5pbWF0aW9uOiAwLjVzIHNsaWRlT3V0UmlnaHQgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICB0ci5uZy1sZWF2ZSxcbiAgdHIubmctbW92ZS5uZy1tb3ZlLWFjdGl2ZSxcbiAgdHIubmctZW50ZXIubmctZW50ZXItYWN0aXZlIHtcbiAgICBvcGFjaXR5OjE7XG4gICAgYW5pbWF0aW9uOiAwLjVzIHNsaWRlSW5SaWdodCBlYXNlLWluLW91dDtcbiAgfVxuXG4gIHRkIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgZHQge1xuICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICB9XG4gICAgXG4gICAgZHQ6YWZ0ZXIge1xuICAgICAgLypkaXNwbGF5OiBibG9jazsqL1xuICAgICAgY29udGVudDogJzonO1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL2FuaW1hdGlvbnMuc2Nzcyc7XG5cbnhvcy1hbGVydCB7XG4gIG1hcmdpbi10b3A6ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8qIHdoZW4gaGlkaW5nICovXG4gIC5uZy1oaWRlLWFkZCAgICAgICAgIHsgYW5pbWF0aW9uOjAuNXMgZmFkZU91dERvd24gZWFzZS1pbi1vdXQ7IH1cblxuICAvKiB3aGVuIHNob3dpbmcgKi9cbiAgLm5nLWhpZGUtcmVtb3ZlICAgICAgeyBhbmltYXRpb246MC41cyBmYWRlSW5VcCBlYXNlLWluLW91dDsgfVxufSIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbmltYXRpb25zLnNjc3MnO1xuQGltcG9ydCAnLi4vLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL192YXJpYWJsZXMuc2Nzcyc7XG5cbmlucHV0ICsgeG9zLXZhbGlkYXRpb24ge1xuICBtYXJnaW4tdG9wOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCJ4b3MtZmllbGQge1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCJAaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvYW5pbWF0aW9ucy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MnO1xuXG54b3MtZm9ybSB7XG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbiAgfVxuXG4gIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICBtYXJnaW4tbGVmdDogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTsgXG4gIH1cbn0iLCJ4b3Mtc21hcnQtdGFibGV7XG4gIFxufSJdLCJtYXBwaW5ncyI6IkFDQUEsVUFBVSxDQUFWLFlBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsQUFBQSxFQUFFO0lBQ0EsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQVYsYUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSxvQkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxVQUFVLEVBQUUsTUFBTztJQUNuQixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLFVBQVUsQ0FBVixRQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFWLFdBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXOztBRXpDMUIsQUFBQSxPQUFPLENBQUM7RUFDTixTQUFTLEVBQUUsSUFBSztFQUNoQixNQUFNLEVBQUUsTUFBTztFQUNmLFdBQVcsRUFBRSxPQUFRO0VBQ3JCLEtBQUssRUFBRSxJQUFLO0VBQ1osTUFBTSxFQUFFLElBQUs7RUFDYixhQUFhLEVBQUUsR0FBSTtFQUNuQixVQUFVLEVBQUUsT0FBUTtFQUNwQixVQUFVLEVBQUUsbUVBQW9CO0VBQ2hDLFVBQVUsRUFBRSxzRUFBdUI7RUFDbkMsVUFBVSxFQUFFLGlFQUFrQjtFQUM5QixVQUFVLEVBQUUsa0VBQW1CO0VBQy9CLFVBQVUsRUFBRSxrRUFBZTtFQUMzQixRQUFRLEVBQUUsUUFBUztFQUNuQixTQUFTLEVBQUUsa0NBQW1DO0VBQzlDLFNBQVMsRUFBRSxhQUFVLEdBQ3RCOztBQUNELEFBQU8sT0FBQSxBQUFBLE9BQU8sQ0FBQztFQUNiLEtBQUssRUFBRSxHQUFJO0VBQ1gsTUFBTSxFQUFFLEdBQUk7RUFDWixVQUFVLEVESFksT0FBTTtFQ0k1QixhQUFhLEVBQUUsVUFBVztFQUMxQixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsT0FBTyxFQUFFLEVBQUcsR0FDYjs7QUFDRCxBQUFPLE9BQUEsQUFBQSxNQUFNLENBQUM7RUFDWixVQUFVLEVBQUUsSUFBSztFQUNqQixLQUFLLEVBQUUsR0FBSTtFQUNYLE1BQU0sRUFBRSxHQUFJO0VBQ1osYUFBYSxFQUFFLEdBQUk7RUFDbkIsT0FBTyxFQUFFLEVBQUc7RUFDWixNQUFNLEVBQUUsSUFBSztFQUNiLFFBQVEsRUFBRSxRQUFTO0VBQ25CLEdBQUcsRUFBRSxDQUFFO0VBQ1AsSUFBSSxFQUFFLENBQUU7RUFDUixNQUFNLEVBQUUsQ0FBRTtFQUNWLEtBQUssRUFBRSxDQUFFLEdBQ1Y7O0FBRUQsVUFBVSxDQUFWLGFBQVU7RUFDUixBQUFBLEVBQUU7SUFDQSxpQkFBaUIsRUFBRSxZQUFNO0lBQ3pCLFNBQVMsRUFBRSxZQUFNO0VBRW5CLEFBQUEsSUFBSTtJQUNGLGlCQUFpQixFQUFFLGNBQU07SUFDekIsU0FBUyxFQUFFLGNBQU07O0FGaERyQixVQUFVLENBQVYsWUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSx1QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixBQUFBLEVBQUU7SUFDQSxTQUFTLEVBQUUsb0JBQVc7O0FBSTFCLFVBQVUsQ0FBVixhQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLG9CQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsVUFBVSxDQUFWLFFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLOztBQUlwQixVQUFVLENBQVYsV0FBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7O0FHdkMxQixBQUFBLFNBQVMsQ0FBQztFQUVSLE9BQU8sRUFBRSxLQUFNLEdBdUNoQjtFQXpDRCxBQUlJLFNBSkssQ0FJUCxFQUFFLEFBQUEsUUFBUTtFQUpaLEFBS0ksU0FMSyxDQUtQLEVBQUUsQUFBQSxTQUFTO0VBTGIsQUFNSSxTQU5LLENBTVAsRUFBRSxBQUFBLFNBQVMsQ0FBQztJQUNWLFVBQVUsRUFBQyxlQUFnQixHQUM1QjtFQVJILEFBVWEsU0FWSixDQVVQLEVBQUUsQUFBQSxTQUFTLEFBQUEsZ0JBQWdCO0VBVjdCLEFBV0ksU0FYSyxDQVdQLEVBQUUsQUFBQSxRQUFRO0VBWFosQUFZSSxTQVpLLENBWVAsRUFBRSxBQUFBLFNBQVMsQ0FBQztJQUNWLE9BQU8sRUFBQyxDQUFFO0lBQ1YsU0FBUyxFQUFFLDhCQUErQixHQUMzQztFQWZILEFBaUJJLFNBakJLLENBaUJQLEVBQUUsQUFBQSxTQUFTO0VBakJiLEFBa0JZLFNBbEJILENBa0JQLEVBQUUsQUFBQSxRQUFRLEFBQUEsZUFBZTtFQWxCM0IsQUFtQmEsU0FuQkosQ0FtQlAsRUFBRSxBQUFBLFNBQVMsQUFBQSxnQkFBZ0IsQ0FBQztJQUMxQixPQUFPLEVBQUMsQ0FBRTtJQUNWLFNBQVMsRUFBRSw2QkFBOEIsR0FDMUM7RUF0QkgsQUF3QkssU0F4QkksQ0F3QlAsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNKLGFBQWEsRUFBRSxDQUFFLEdBZWxCO0lBeENILEFBMkJJLFNBM0JLLENBd0JQLEVBQUUsQ0FBQyxFQUFFLENBR0gsRUFBRSxDQUFDO01BQ0QsS0FBSyxFQUFFLGVBQWdCO01BQ3ZCLFlBQVksRUFBRSxJQUFLLEdBQ3BCO0lBOUJMLEFBZ0NNLFNBaENHLENBd0JQLEVBQUUsQ0FBQyxFQUFFLENBUUgsRUFBRSxBQUFBLE1BQU0sQ0FBQztNQUNQLG1CQUFtQjtNQUNuQixPQUFPLEVBQUUsR0FBSSxHQUNkO0lBbkNMLEFBcUNJLFNBckNLLENBd0JQLEVBQUUsQ0FBQyxFQUFFLENBYUgsRUFBRSxDQUFDO01BQ0QsV0FBVyxFQUFFLFlBQWEsR0FDM0I7O0FIekNMLFVBQVUsQ0FBVixZQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLEFBQUEsRUFBRTtJQUNBLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFWLGFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsVUFBVSxFQUFFLE1BQU87SUFDbkIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQVYsUUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBVixXQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVzs7QUl2QzFCLEFBQUEsU0FBUyxDQUFDO0VBQ1IsVUFBVSxFSHlOcUIsSUFBSTtFR3hObkMsT0FBTyxFQUFFLEtBQU07RUFFZixpQkFBaUI7RUFHakIsa0JBQWtCLEVBRW5CO0VBVEQsQUFLRSxTQUxPLENBS1AsWUFBWSxDQUFTO0lBQUUsU0FBUyxFQUFDLDRCQUE2QixHQUFJO0VBTHBFLEFBUUUsU0FSTyxDQVFQLGVBQWUsQ0FBTTtJQUFFLFNBQVMsRUFBQyx5QkFBMEIsR0FBSTs7QUpWakUsVUFBVSxDQUFWLFlBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsQUFBQSxFQUFFO0lBQ0EsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQVYsYUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSxvQkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxVQUFVLEVBQUUsTUFBTztJQUNuQixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLFVBQVUsQ0FBVixRQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFWLFdBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXOztBS3RDMUIsQUFBUSxLQUFILEdBQUcsY0FBYyxDQUFDO0VBQ3JCLFVBQVUsRUp3TnFCLElBQUk7RUl2Tm5DLE9BQU8sRUFBRSxLQUFNLEdBQ2hCOztBQ05ELEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLEtBQU0sR0FDaEI7O0FORkQsVUFBVSxDQUFWLFlBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsQUFBQSxFQUFFO0lBQ0EsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQVYsYUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSxvQkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxVQUFVLEVBQUUsTUFBTztJQUNuQixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLFVBQVUsQ0FBVixRQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFWLFdBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXOztBT3RDMUIsQUFDRSxRQURNLENBQ04sTUFBTSxDQUFDO0VBQ0wsYUFBYSxFTnVOZ0IsSUFBSSxHTXRObEM7O0FBSEgsQUFLVyxRQUxILENBS04sTUFBTSxHQUFHLE1BQU0sQ0FBQztFQUNmLFdBQVcsRU5tTm1CLElBQUksR01sTmxDOztDUkVILEFBQUEsQUFBVSxTQUFULEFBQUEsSUFBWSxBQUFBLEFBQVMsUUFBUixBQUFBLElBQVcsQUFBQSxBQUFjLGFBQWIsQUFBQSxJQUFnQixBQUFBLEFBQVcsVUFBVixBQUFBLEdBQWEsQUFBQSxTQUFTLEVBQUUsQUFBQSxXQUFXLENBQUM7RUFDN0UsT0FBTyxFQUFFLGVBQWdCLEdBQzFCOztBQUVELEFBQU8sSUFBSCxHQUFHLElBQUksQ0FBQztFQUNWLDBCQUEwQjtFQUMxQixVQUFVLEVFME1xQixJQUFJLEdGek1wQyIsIm5hbWVzIjpbXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= */
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG9zTmdMaWIuY3NzIiwic291cmNlcyI6WyJtYWluLnNjc3MiLCJhbmltYXRpb25zLnNjc3MiLCIuLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzIiwibG9hZGVyLnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL3RhYmxlL3RhYmxlLnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2FsZXJ0L2FsZXJ0LnNjc3MiLCIuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL3ZhbGlkYXRpb24vdmFsaWRhdGlvbi5zY3NzIiwiLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9maWVsZC9maWVsZC5zY3NzIiwiLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9mb3JtL2Zvcm0uc2NzcyIsIi4uL3VpX2NvbXBvbmVudHMvc21hcnRDb21wb25lbnRzL3NtYXJ0VGFibGUvc21hcnRUYWJsZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4vYW5pbWF0aW9ucy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MnO1xuQGltcG9ydCAnLi9sb2FkZXIuc2Nzcyc7XG5cbkBpbXBvcnQgJy4uL3VpX2NvbXBvbmVudHMvZHVtYkNvbXBvbmVudHMvdGFibGUvdGFibGUuc2Nzcyc7XG5AaW1wb3J0ICcuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2FsZXJ0L2FsZXJ0LnNjc3MnO1xuQGltcG9ydCAnLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy92YWxpZGF0aW9uL3ZhbGlkYXRpb24uc2Nzcyc7XG5AaW1wb3J0ICcuLi91aV9jb21wb25lbnRzL2R1bWJDb21wb25lbnRzL2ZpZWxkL2ZpZWxkLnNjc3MnO1xuQGltcG9ydCAnLi4vdWlfY29tcG9uZW50cy9kdW1iQ29tcG9uZW50cy9mb3JtL2Zvcm0uc2Nzcyc7XG5cbkBpbXBvcnQgJy4uL3VpX2NvbXBvbmVudHMvc21hcnRDb21wb25lbnRzL3NtYXJ0VGFibGUvc21hcnRUYWJsZS5zY3NzJztcblxuW25nXFw6Y2xvYWtdLCBbbmctY2xvYWtdLCBbZGF0YS1uZy1jbG9ha10sIFt4LW5nLWNsb2FrXSwgLm5nLWNsb2FrLCAueC1uZy1jbG9hayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnJvdyArIC5yb3cge1xuICAvKiBUT0RPIG1vdmUgaW4geG9zLnNjc3MqLyBcbiAgbWFyZ2luLXRvcDogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbn0iLCJAa2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn0iLCIkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuLy9cclxuLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG5cclxuLy89PSBDb2xvcnNcclxuLy9cclxuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxyXG5cclxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbiRncmF5LWRhcmtlcjogICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDEzLjUlKSAhZGVmYXVsdDsgLy8gIzIyMlxyXG4kZ3JheS1kYXJrOiAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAyMCUpICFkZWZhdWx0OyAgIC8vICMzMzNcclxuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XHJcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjclKSAhZGVmYXVsdDsgLy8gIzc3N1xyXG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA5My41JSkgIWRlZmF1bHQ7IC8vICNlZWVcclxuXHJcbiRicmFuZC1wcmltYXJ5OiAgICAgICAgIGRhcmtlbigjNDI4YmNhLCA2LjUlKSAhZGVmYXVsdDsgLy8gIzMzN2FiN1xyXG4kYnJhbmQtc3VjY2VzczogICAgICAgICAjNWNiODVjICFkZWZhdWx0O1xyXG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xyXG4kYnJhbmQtd2FybmluZzogICAgICAgICAjZjBhZDRlICFkZWZhdWx0O1xyXG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAjZDk1MzRmICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gU2NhZmZvbGRpbmdcclxuLy9cclxuLy8jIyBTZXR0aW5ncyBmb3Igc29tZSBvZiB0aGUgbW9zdCBnbG9iYWwgc3R5bGVzLlxyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cclxuJGJvZHktYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBHbG9iYWwgdGV4dCBjb2xvciBvbiBgPGJvZHk+YC5cclxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcclxuXHJcbi8vKiogR2xvYmFsIHRleHR1YWwgbGluayBjb2xvci5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcbi8vKiogTGluayBob3ZlciBjb2xvciBzZXQgdmlhIGBkYXJrZW4oKWAgZnVuY3Rpb24uXHJcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcclxuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXHJcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFR5cG9ncmFwaHlcclxuLy9cclxuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cclxuXHJcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcclxuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcclxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgMTRweCAhZGVmYXVsdDtcclxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XHJcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxyXG5cclxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XHJcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcclxuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcclxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XHJcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xyXG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcclxuXHJcbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cclxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcclxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cclxuJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcclxuXHJcbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEljb25vZ3JhcGh5XHJcbi8vXHJcbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cclxuXHJcbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxyXG5cclxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXHJcbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgYmVjYXVzZSBzb21lIGFzc2V0IGhlbHBlcnMsIHN1Y2ggYXMgU3Byb2NrZXRzLCBkbyBub3Qgd29yayB3aXRoIGZpbGUtcmVsYXRpdmUgcGF0aHMuXHJcbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcclxuXHJcbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cclxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcclxuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxyXG4kaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCIgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBDb21wb25lbnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxyXG5cclxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcclxuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XHJcblxyXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcclxuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XHJcblxyXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xyXG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcclxuXHJcbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XHJcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XHJcblxyXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcclxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XHJcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAzcHggIWRlZmF1bHQ7XHJcblxyXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXHJcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cclxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdGUgZHJvcGRvd25zLlxyXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xyXG4vLyoqIENhcmV0cyBpbmNyZWFzZSBzbGlnaHRseSBpbiBzaXplIGZvciBsYXJnZXIgY29tcG9uZW50cy5cclxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFRhYmxlc1xyXG4vL1xyXG4vLyMjIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cclxuXHJcbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cclxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgICA4cHggIWRlZmF1bHQ7XHJcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxyXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcclxuXHJcbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXHJcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxyXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cclxuJHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcclxuXHJcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0YWJsZSBhbmQgY2VsbCBib3JkZXJzLlxyXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBCdXR0b25zXHJcbi8vXHJcbi8vIyMgRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQgYW5kIGJvcmRlciBjb2xvci5cclxuXHJcbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XHJcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xyXG4kYnRuLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1pbmZvLWJnLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcclxuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4td2FybmluZy1iZywgNSUpICFkZWZhdWx0O1xyXG5cclxuJGJ0bi1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcclxuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XHJcblxyXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuXHJcbi8vIEFsbG93cyBmb3IgY3VzdG9taXppbmcgYnV0dG9uIHJhZGl1cyBpbmRlcGVuZGVudGx5IGZyb20gZ2xvYmFsIGJvcmRlciByYWRpdXNcclxuJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XHJcbiRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gRm9ybXNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxyXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIGA8aW5wdXQgZGlzYWJsZWQ+YCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGA8aW5wdXQ+YHNcclxuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XHJcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxyXG4kaW5wdXQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xyXG5cclxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XHJcbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cclxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcclxuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xyXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcclxuXHJcbi8vKiogQm9yZGVyIGNvbG9yIGZvciBpbnB1dHMgb24gZm9jdXNcclxuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcclxuXHJcbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxyXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcclxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbiRpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpICsgKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKSAhZGVmYXVsdDtcclxuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXHJcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcblxyXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xyXG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xyXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcclxuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcclxuXHJcbi8vKiogRGlzYWJsZWQgY3Vyc29yIGZvciBmb3JtIGNvbnRyb2xzIGFuZCBidXR0b25zLlxyXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IERyb3Bkb3duc1xyXG4vL1xyXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cclxuXHJcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXHJcbiRkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cclxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xyXG4vLyoqIERyb3Bkb3duIG1lbnUgYGJvcmRlci1jb2xvcmAgKipmb3IgSUU4KiouXHJcbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XHJcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cclxuJGRyb3Bkb3duLWRpdmlkZXItYmc6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcclxuXHJcbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxyXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xyXG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cclxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcclxuLy8qKiBIb3ZlciBiYWNrZ3JvdW5kIGZvciBkcm9wZG93biBsaW5rcy5cclxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuXHJcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSB0ZXh0IGNvbG9yLlxyXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcclxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXHJcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZzogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG5cclxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cclxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxyXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuXHJcbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcclxuJGRyb3Bkb3duLWNhcmV0LWNvbG9yOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy0tIFotaW5kZXggbWFzdGVyIGxpc3RcclxuLy9cclxuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XHJcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cclxuLy9cclxuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXHJcblxyXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xyXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xyXG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xyXG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xyXG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsLWJhY2tncm91bmQ6ICAxMDQwICFkZWZhdWx0O1xyXG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcclxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXhzICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xyXG5cclxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgNzY4cHggIWRlZmF1bHQ7XHJcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcclxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tdGFibGV0OiAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xyXG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XHJcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcclxuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAkc2NyZWVuLWxnICFkZWZhdWx0O1xyXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cclxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcclxuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcclxuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEdyaWQgc3lzdGVtXHJcbi8vXHJcbi8vIyMgRGVmaW5lIHlvdXIgY3VzdG9tIHJlc3BvbnNpdmUgZ3JpZC5cclxuXHJcbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXHJcbiRncmlkLWNvbHVtbnM6ICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcclxuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XHJcbi8vIE5hdmJhciBjb2xsYXBzZVxyXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cclxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xyXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVnaW5zIGNvbGxhcHNpbmcuXHJcbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQ29udGFpbmVyIHNpemVzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIGAuY29udGFpbmVyYCBmb3IgZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cclxuXHJcbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxyXG4kY29udGFpbmVyLXRhYmxldDogICAgICAgICAgICAgKDcyMHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcclxuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXHJcbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcclxuXHJcbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXHJcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xyXG4vLyoqIEZvciBgJHNjcmVlbi1tZC1taW5gIGFuZCB1cC5cclxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcclxuXHJcbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XHJcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxyXG4kY29udGFpbmVyLWxnOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTmF2YmFyXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XHJcbiRuYXZiYXItbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICFkZWZhdWx0O1xyXG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XHJcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcclxuJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAoKCRuYXZiYXItaGVpZ2h0IC0gJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKSAvIDIpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xyXG5cclxuJG5hdmJhci1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZiYXIgbGlua3NcclxuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcclxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvciwgMTAlKSAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gTmF2YmFyIHRvZ2dsZVxyXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XHJcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAjZGRkICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT09IEludmVydGVkIG5hdmJhclxyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXHJcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XHJcblxyXG4vLyBJbnZlcnRlZCBuYXZiYXIgbGlua3NcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0ICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXHJcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcclxuJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xyXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IE5hdnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcclxuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XHJcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuXHJcbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcblxyXG4vLz09IFRhYnNcclxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcclxuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xyXG5cclxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xyXG5cclxuLy89PSBQaWxsc1xyXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XHJcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBQYWdpbmF0aW9uXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xyXG5cclxuJHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcblxyXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IFBhZ2VyXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xyXG4kcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ib3JkZXIgIWRlZmF1bHQ7XHJcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcblxyXG4kcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1ob3Zlci1iZyAhZGVmYXVsdDtcclxuXHJcbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuJHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xyXG5cclxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBKdW1ib3Ryb25cclxuLy9cclxuLy8jI1xyXG5cclxuJGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcclxuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XHJcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xyXG4vL1xyXG4vLyMjIERlZmluZSBjb2xvcnMgZm9yIGZvcm0gZmVlZGJhY2sgc3RhdGVzIGFuZCwgYnkgZGVmYXVsdCwgYWxlcnRzLlxyXG5cclxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcclxuJHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkOCAhZGVmYXVsdDtcclxuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcclxuXHJcbiRzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgICMzMTcwOGYgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XHJcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XHJcblxyXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xyXG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xyXG4kc3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xyXG5cclxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcclxuJHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZSAhZGVmYXVsdDtcclxuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gVG9vbHRpcHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxyXG4kdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcclxuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcclxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xyXG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBQb3BvdmVyc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcclxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcclxuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxyXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xyXG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXHJcbiRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgI2NjYyAhZGVmYXVsdDtcclxuXHJcbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRwb3BvdmVyLXRpdGxlLWJnOiAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRwb3BvdmVyLWJnLCAzJSkgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcclxuJHBvcG92ZXItYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xyXG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcclxuXHJcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxyXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XHJcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxyXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjogIGRhcmtlbigkcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3IsIDIwJSkgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBMYWJlbHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogUHJpbWFyeSBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG4kbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcclxuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XHJcbi8vKiogV2FybmluZyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xyXG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XHJcblxyXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxyXG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxyXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTW9kYWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XHJcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcblxyXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgdGl0bGVcclxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcclxuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxyXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcclxuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXHJcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMikgIWRlZmF1bHQ7XHJcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3IgKipmb3IgSUU4KipcclxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBNb2RhbCBiYWNrZHJvcCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XHJcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxyXG4kbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTogICAgICAuNSAhZGVmYXVsdDtcclxuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXHJcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XHJcbi8vKiogTW9kYWwgZm9vdGVyIGJvcmRlciBjb2xvclxyXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0O1xyXG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcclxuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBBbGVydHNcclxuLy9cclxuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cclxuXHJcbiRhbGVydC1wYWRkaW5nOiAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XHJcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XHJcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XHJcblxyXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcclxuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcclxuJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xyXG5cclxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XHJcbiRhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XHJcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcclxuXHJcbiRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xyXG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xyXG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XHJcblxyXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xyXG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XHJcbiRhbGVydC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gUHJvZ3Jlc3MgYmFyc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxyXG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG4vLyoqIFByb2dyZXNzIGJhciB0ZXh0IGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cclxuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcclxuXHJcbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcclxuJHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XHJcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XHJcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxyXG4kcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xyXG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gTGlzdCBncm91cFxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXHJcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXHJcbiRsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcclxuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXHJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXHJcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xyXG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcclxuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xyXG5cclxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcclxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXHJcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xyXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcclxuXHJcbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcclxuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xyXG4kbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzMgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBQYW5lbHNcclxuLy9cclxuLy8jI1xyXG5cclxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcclxuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcclxuJHBhbmVsLWhlYWRpbmctcGFkZGluZzogICAgICAgMTBweCAxNXB4ICFkZWZhdWx0O1xyXG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xyXG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcclxuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuJHBhbmVsLWZvb3Rlci1iZzogICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuXHJcbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XHJcbiRwYW5lbC1kZWZhdWx0LWJvcmRlcjogICAgICAgICNkZGQgIWRlZmF1bHQ7XHJcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XHJcblxyXG4kcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcclxuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XHJcblxyXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xyXG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XHJcbiRwYW5lbC1zdWNjZXNzLWhlYWRpbmctYmc6ICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xyXG5cclxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcclxuJHBhbmVsLWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xyXG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcclxuXHJcbiRwYW5lbC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XHJcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcclxuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XHJcblxyXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XHJcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xyXG4kcGFuZWwtZGFuZ2VyLWhlYWRpbmctYmc6ICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gVGh1bWJuYWlsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcclxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xyXG4vLyoqIFRodW1ibmFpbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xyXG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcclxuJHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcclxuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xyXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xyXG5cclxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXHJcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xyXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgY2FwdGlvblxyXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBXZWxsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xyXG4kd2VsbC1ib3JkZXI6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHdlbGwtYmcsIDclKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEJhZGdlc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXHJcbiRiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcclxuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG4kYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcclxuJGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMSAhZGVmYXVsdDtcclxuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLz09IEJyZWFkY3J1bWJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XHJcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXHJcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuLy8qKiBCcmVhZGNydW1iIHRleHQgY29sb3JcclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xyXG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXHJcbiRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjogICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xyXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vPT0gQ2Fyb3VzZWxcclxuLy9cclxuLy8jI1xyXG5cclxuJGNhcm91c2VsLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLC42KSAhZGVmYXVsdDtcclxuXHJcbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xyXG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xyXG5cclxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG5cclxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBDbG9zZVxyXG4vL1xyXG4vLyMjXHJcblxyXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xyXG4kY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xyXG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBDb2RlXHJcbi8vXHJcbi8vIyNcclxuXHJcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XHJcbiRjb2RlLWJnOiAgICAgICAgICAgICAgICAgICAgICNmOWYyZjQgIWRlZmF1bHQ7XHJcblxyXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xyXG4ka2JkLWJnOiAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xyXG5cclxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcclxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcclxuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcclxuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuLy89PSBUeXBlXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogSG9yaXpvbnRhbCBvZmZzZXQgZm9yIGZvcm1zIGFuZCBsaXN0cy5cclxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XHJcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxyXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogSGVhZGluZ3Mgc21hbGwgY29sb3JcclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XHJcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxyXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcclxuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxyXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XHJcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcclxuJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcclxuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXHJcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XHJcbi8vKiogUG9pbnQgYXQgd2hpY2ggLmRsLWhvcml6b250YWwgYmVjb21lcyBob3Jpem9udGFsXHJcbiRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQ6ICAgICRncmlkLWZsb2F0LWJyZWFrcG9pbnQgIWRlZmF1bHQ7XHJcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxyXG4kaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xyXG4iLCIubG9hZGVyIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gIHdpZHRoOiAxMWVtO1xuICBoZWlnaHQ6IDExZW07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDIlKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDIlKTtcbiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICNmZmZmZmYgMTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDQyJSk7XG4gIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgI2ZmZmZmZiAxMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNDIlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZmZmZmZmIDEwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSA0MiUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGFuaW1hdGlvbjogbG9hZGVyU3Bpbm5lciAxLjRzIGluZmluaXRlIGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xufVxuLmxvYWRlcjpiZWZvcmUge1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgYmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCUgMCAwIDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiAnJztcbn1cbi5sb2FkZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB3aWR0aDogNzUlO1xuICBoZWlnaHQ6IDc1JTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiAnJztcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbn1cblxuQGtleWZyYW1lcyBsb2FkZXJTcGlubmVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn0iLCJAaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvYW5pbWF0aW9ucy5zY3NzJztcblxueG9zLXRhYmxlIHtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICB0ci5uZy1tb3ZlLFxuICB0ci5uZy1lbnRlcixcbiAgdHIubmctbGVhdmUge1xuICAgIHRyYW5zaXRpb246YWxsIGxpbmVhciAwLjVzO1xuICB9XG5cbiAgdHIubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLFxuICB0ci5uZy1tb3ZlLFxuICB0ci5uZy1lbnRlciB7XG4gICAgb3BhY2l0eTowO1xuICAgIGFuaW1hdGlvbjogMC41cyBzbGlkZU91dFJpZ2h0IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgdHIubmctbGVhdmUsXG4gIHRyLm5nLW1vdmUubmctbW92ZS1hY3RpdmUsXG4gIHRyLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSB7XG4gICAgb3BhY2l0eToxO1xuICAgIGFuaW1hdGlvbjogMC41cyBzbGlkZUluUmlnaHQgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICB0ZCBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGR0IHtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICAgIFxuICAgIGR0OmFmdGVyIHtcbiAgICAgIC8qZGlzcGxheTogYmxvY2s7Ki9cbiAgICAgIGNvbnRlbnQ6ICc6JztcbiAgICB9XG5cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIkBpbXBvcnQgJy4uLy4uLy4uL3N0eWxlcy9hbmltYXRpb25zLnNjc3MnO1xuXG54b3MtYWxlcnQge1xuICBtYXJnaW4tdG9wOiAkZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAvKiB3aGVuIGhpZGluZyAqL1xuICAubmctaGlkZS1hZGQgICAgICAgICB7IGFuaW1hdGlvbjowLjVzIGZhZGVPdXREb3duIGVhc2UtaW4tb3V0OyB9XG5cbiAgLyogd2hlbiBzaG93aW5nICovXG4gIC5uZy1oaWRlLXJlbW92ZSAgICAgIHsgYW5pbWF0aW9uOjAuNXMgZmFkZUluVXAgZWFzZS1pbi1vdXQ7IH1cbn0iLCJAaW1wb3J0ICcuLi8uLi8uLi9zdHlsZXMvYW5pbWF0aW9ucy5zY3NzJztcbkBpbXBvcnQgJy4uLy4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MnO1xuXG5pbnB1dCArIHhvcy12YWxpZGF0aW9uIHtcbiAgbWFyZ2luLXRvcDogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwieG9zLWZpZWxkIHtcbiAgZGlzcGxheTogYmxvY2s7XG59IiwiQGltcG9ydCAnLi4vLi4vLi4vc3R5bGVzL2FuaW1hdGlvbnMuc2Nzcyc7XG5AaW1wb3J0ICcuLi8uLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3ZhcmlhYmxlcy5zY3NzJztcblxueG9zLWZvcm0ge1xuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG4gIH1cblxuICBidXR0b24gKyBidXR0b24ge1xuICAgbWFyZ2luLWxlZnQ6ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207IFxuICB9XG59IiwieG9zLXNtYXJ0LXRhYmxle1xuICBcbn0iXSwibWFwcGluZ3MiOiJBQ0FBLFVBQVUsQ0FBVixZQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLEFBQUEsRUFBRTtJQUNBLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFWLGFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsVUFBVSxFQUFFLE1BQU87SUFDbkIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQVYsUUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBVixXQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVzs7QUV6QzFCLEFBQUEsT0FBTyxDQUFDO0VBQ04sU0FBUyxFQUFFLElBQUs7RUFDaEIsTUFBTSxFQUFFLE1BQU87RUFDZixXQUFXLEVBQUUsT0FBUTtFQUNyQixLQUFLLEVBQUUsSUFBSztFQUNaLE1BQU0sRUFBRSxJQUFLO0VBQ2IsYUFBYSxFQUFFLEdBQUk7RUFDbkIsVUFBVSxFQUFFLE9BQVE7RUFDcEIsVUFBVSxFQUFFLG1FQUFvQjtFQUNoQyxVQUFVLEVBQUUsc0VBQXVCO0VBQ25DLFVBQVUsRUFBRSxpRUFBa0I7RUFDOUIsVUFBVSxFQUFFLGtFQUFtQjtFQUMvQixVQUFVLEVBQUUsa0VBQWU7RUFDM0IsUUFBUSxFQUFFLFFBQVM7RUFDbkIsU0FBUyxFQUFFLGtDQUFtQztFQUM5QyxTQUFTLEVBQUUsYUFBVSxHQUN0Qjs7QUFDRCxBQUFPLE9BQUEsQUFBQSxPQUFPLENBQUM7RUFDYixLQUFLLEVBQUUsR0FBSTtFQUNYLE1BQU0sRUFBRSxHQUFJO0VBQ1osVUFBVSxFREhZLE9BQU07RUNJNUIsYUFBYSxFQUFFLFVBQVc7RUFDMUIsUUFBUSxFQUFFLFFBQVM7RUFDbkIsR0FBRyxFQUFFLENBQUU7RUFDUCxJQUFJLEVBQUUsQ0FBRTtFQUNSLE9BQU8sRUFBRSxFQUFHLEdBQ2I7O0FBQ0QsQUFBTyxPQUFBLEFBQUEsTUFBTSxDQUFDO0VBQ1osVUFBVSxFQUFFLElBQUs7RUFDakIsS0FBSyxFQUFFLEdBQUk7RUFDWCxNQUFNLEVBQUUsR0FBSTtFQUNaLGFBQWEsRUFBRSxHQUFJO0VBQ25CLE9BQU8sRUFBRSxFQUFHO0VBQ1osTUFBTSxFQUFFLElBQUs7RUFDYixRQUFRLEVBQUUsUUFBUztFQUNuQixHQUFHLEVBQUUsQ0FBRTtFQUNQLElBQUksRUFBRSxDQUFFO0VBQ1IsTUFBTSxFQUFFLENBQUU7RUFDVixLQUFLLEVBQUUsQ0FBRSxHQUNWOztBQUVELFVBQVUsQ0FBVixhQUFVO0VBQ1IsQUFBQSxFQUFFO0lBQ0EsaUJBQWlCLEVBQUUsWUFBTTtJQUN6QixTQUFTLEVBQUUsWUFBTTtFQUVuQixBQUFBLElBQUk7SUFDRixpQkFBaUIsRUFBRSxjQUFNO0lBQ3pCLFNBQVMsRUFBRSxjQUFNOztBRmhEckIsVUFBVSxDQUFWLFlBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsdUJBQVc7SUFDdEIsVUFBVSxFQUFFLE9BQVE7RUFHdEIsQUFBQSxFQUFFO0lBQ0EsU0FBUyxFQUFFLG9CQUFXOztBQUkxQixVQUFVLENBQVYsYUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSxvQkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxVQUFVLEVBQUUsTUFBTztJQUNuQixTQUFTLEVBQUUsdUJBQVc7O0FBSTFCLFVBQVUsQ0FBVixRQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsSUFBSzs7QUFJcEIsVUFBVSxDQUFWLFdBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtFQUdiLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXOztBR3ZDMUIsQUFBQSxTQUFTLENBQUM7RUFFUixPQUFPLEVBQUUsS0FBTSxHQXVDaEI7RUF6Q0QsQUFJSSxTQUpLLENBSVAsRUFBRSxBQUFBLFFBQVE7RUFKWixBQUtJLFNBTEssQ0FLUCxFQUFFLEFBQUEsU0FBUztFQUxiLEFBTUksU0FOSyxDQU1QLEVBQUUsQUFBQSxTQUFTLENBQUM7SUFDVixVQUFVLEVBQUMsZUFBZ0IsR0FDNUI7RUFSSCxBQVVhLFNBVkosQ0FVUCxFQUFFLEFBQUEsU0FBUyxBQUFBLGdCQUFnQjtFQVY3QixBQVdJLFNBWEssQ0FXUCxFQUFFLEFBQUEsUUFBUTtFQVhaLEFBWUksU0FaSyxDQVlQLEVBQUUsQUFBQSxTQUFTLENBQUM7SUFDVixPQUFPLEVBQUMsQ0FBRTtJQUNWLFNBQVMsRUFBRSw4QkFBK0IsR0FDM0M7RUFmSCxBQWlCSSxTQWpCSyxDQWlCUCxFQUFFLEFBQUEsU0FBUztFQWpCYixBQWtCWSxTQWxCSCxDQWtCUCxFQUFFLEFBQUEsUUFBUSxBQUFBLGVBQWU7RUFsQjNCLEFBbUJhLFNBbkJKLENBbUJQLEVBQUUsQUFBQSxTQUFTLEFBQUEsZ0JBQWdCLENBQUM7SUFDMUIsT0FBTyxFQUFDLENBQUU7SUFDVixTQUFTLEVBQUUsNkJBQThCLEdBQzFDO0VBdEJILEFBd0JLLFNBeEJJLENBd0JQLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDSixhQUFhLEVBQUUsQ0FBRSxHQWVsQjtJQXhDSCxBQTJCSSxTQTNCSyxDQXdCUCxFQUFFLENBQUMsRUFBRSxDQUdILEVBQUUsQ0FBQztNQUNELEtBQUssRUFBRSxlQUFnQjtNQUN2QixZQUFZLEVBQUUsSUFBSyxHQUNwQjtJQTlCTCxBQWdDTSxTQWhDRyxDQXdCUCxFQUFFLENBQUMsRUFBRSxDQVFILEVBQUUsQUFBQSxNQUFNLENBQUM7TUFDUCxtQkFBbUI7TUFDbkIsT0FBTyxFQUFFLEdBQUksR0FDZDtJQW5DTCxBQXFDSSxTQXJDSyxDQXdCUCxFQUFFLENBQUMsRUFBRSxDQWFILEVBQUUsQ0FBQztNQUNELFdBQVcsRUFBRSxZQUFhLEdBQzNCOztBSHpDTCxVQUFVLENBQVYsWUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLFNBQVMsRUFBRSx1QkFBVztJQUN0QixVQUFVLEVBQUUsT0FBUTtFQUd0QixBQUFBLEVBQUU7SUFDQSxTQUFTLEVBQUUsb0JBQVc7O0FBSTFCLFVBQVUsQ0FBVixhQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLG9CQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLFVBQVUsRUFBRSxNQUFPO0lBQ25CLFNBQVMsRUFBRSx1QkFBVzs7QUFJMUIsVUFBVSxDQUFWLFFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVztFQUd4QixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSxJQUFLOztBQUlwQixVQUFVLENBQVYsV0FBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0VBR2IsQUFBQSxFQUFFO0lBQ0EsT0FBTyxFQUFFLENBQUU7SUFDWCxTQUFTLEVBQUUsdUJBQVc7O0FJdkMxQixBQUFBLFNBQVMsQ0FBQztFQUNSLFVBQVUsRUh5TnFCLElBQUk7RUd4Tm5DLE9BQU8sRUFBRSxLQUFNO0VBRWYsaUJBQWlCO0VBR2pCLGtCQUFrQixFQUVuQjtFQVRELEFBS0UsU0FMTyxDQUtQLFlBQVksQ0FBUztJQUFFLFNBQVMsRUFBQyw0QkFBNkIsR0FBSTtFQUxwRSxBQVFFLFNBUk8sQ0FRUCxlQUFlLENBQU07SUFBRSxTQUFTLEVBQUMseUJBQTBCLEdBQUk7O0FKVmpFLFVBQVUsQ0FBVixZQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLEFBQUEsRUFBRTtJQUNBLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFWLGFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsVUFBVSxFQUFFLE1BQU87SUFDbkIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQVYsUUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBVixXQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVzs7QUt0QzFCLEFBQVEsS0FBSCxHQUFHLGNBQWMsQ0FBQztFQUNyQixVQUFVLEVKd05xQixJQUFJO0VJdk5uQyxPQUFPLEVBQUUsS0FBTSxHQUNoQjs7QUNORCxBQUFBLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxLQUFNLEdBQ2hCOztBTkZELFVBQVUsQ0FBVixZQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsU0FBUyxFQUFFLHVCQUFXO0lBQ3RCLFVBQVUsRUFBRSxPQUFRO0VBR3RCLEFBQUEsRUFBRTtJQUNBLFNBQVMsRUFBRSxvQkFBVzs7QUFJMUIsVUFBVSxDQUFWLGFBQVU7RUFDUixBQUFBLElBQUk7SUFDRixTQUFTLEVBQUUsb0JBQVc7RUFHeEIsQUFBQSxFQUFFO0lBQ0EsVUFBVSxFQUFFLE1BQU87SUFDbkIsU0FBUyxFQUFFLHVCQUFXOztBQUkxQixVQUFVLENBQVYsUUFBVTtFQUNSLEFBQUEsSUFBSTtJQUNGLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLHVCQUFXO0VBR3hCLEFBQUEsRUFBRTtJQUNBLE9BQU8sRUFBRSxDQUFFO0lBQ1gsU0FBUyxFQUFFLElBQUs7O0FBSXBCLFVBQVUsQ0FBVixXQUFVO0VBQ1IsQUFBQSxJQUFJO0lBQ0YsT0FBTyxFQUFFLENBQUU7RUFHYixBQUFBLEVBQUU7SUFDQSxPQUFPLEVBQUUsQ0FBRTtJQUNYLFNBQVMsRUFBRSx1QkFBVzs7QU90QzFCLEFBQ0UsUUFETSxDQUNOLE1BQU0sQ0FBQztFQUNMLGFBQWEsRU51TmdCLElBQUksR010TmxDOztBQUhILEFBS1csUUFMSCxDQUtOLE1BQU0sR0FBRyxNQUFNLENBQUM7RUFDZixXQUFXLEVObU5tQixJQUFJLEdNbE5sQzs7Q1JFSCxBQUFBLEFBQVUsU0FBVCxBQUFBLElBQVksQUFBQSxBQUFTLFFBQVIsQUFBQSxJQUFXLEFBQUEsQUFBYyxhQUFiLEFBQUEsSUFBZ0IsQUFBQSxBQUFXLFVBQVYsQUFBQSxHQUFhLEFBQUEsU0FBUyxFQUFFLEFBQUEsV0FBVyxDQUFDO0VBQzdFLE9BQU8sRUFBRSxlQUFnQixHQUMxQjs7QUFFRCxBQUFPLElBQUgsR0FBRyxJQUFJLENBQUM7RUFDViwwQkFBMEI7RUFDMUIsVUFBVSxFRTBNcUIsSUFBSSxHRnpNcEMiLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
diff --git a/dist/xosUiComponents.js b/dist/xosUiComponents.js
index 6745027..b45187d 100644
--- a/dist/xosUiComponents.js
+++ b/dist/xosUiComponents.js
@@ -32,6 +32,483 @@
'use strict';
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
+
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 3/24/16.
+ */
+
+(function () {
+ 'use strict';
+
+ angular.module('xos.uiComponents')
+
+ /**
+ * @ngdoc directive
+ * @name xos.uiComponents.directive:xosSmartTable
+ * @link xos.uiComponents.directive:xosTable xosTable
+ * @link xos.uiComponents.directive:xosForm xosForm
+ * @restrict E
+ * @description The xos-table directive
+ * @param {Object} config The configuration for the component,
+ * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
+ * and an array of fields that shouldn't be printed.
+ * ```
+ * {
+ resource: 'Users',
+ hiddenFields: []
+ }
+ * ```
+ * @scope
+ * @example
+ <example module="sampleSmartTable">
+ <file name="index.html">
+ <div ng-controller="SampleCtrl as vm">
+ <xos-smart-table config="vm.config"></xos-smart-table>
+ </div>
+ </file>
+ <file name="script.js">
+ angular.module('sampleSmartTable', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
+ // This is only for documentation purpose
+ .run(function($httpBackend, _){
+ let datas = [{id: 1, name: 'Jhon', surname: 'Doe'}];
+ let count = 1;
+ let paramsUrl = new RegExp(/\/test\/(.+)/);
+ $httpBackend.whenDELETE(paramsUrl, undefined, ['id']).respond((method, url, data, headers, params) => {
+ data = angular.fromJson(data);
+ let id = url.match(paramsUrl)[1];
+ _.remove(datas, (d) => {
+ return d.id === parseInt(id);
+ })
+ return [204];
+ });
+ $httpBackend.whenGET('/test').respond(200, datas)
+ $httpBackend.whenPOST('/test').respond((method, url, data) => {
+ data = angular.fromJson(data);
+ data.id = ++count;
+ datas.push(data);
+ return [201, data, {}];
+ });
+ })
+ .factory('_', function($window){
+ return $window._;
+ })
+ .service('SampleResource', function($resource){
+ return $resource('/test/:id', {id: '@id'});
+ })
+ // End of documentation purpose, example start
+ .controller('SampleCtrl', function(){
+ this.config = {
+ resource: 'SampleResource'
+ };
+ });
+ </file>
+ </example>
+ */
+
+ .component('xosSmartTable', {
+ restrict: 'E',
+ bindings: {
+ config: '='
+ },
+ template: '\n <div class="row" ng-show="vm.data.length > 0">\n <div class="col-xs-12 text-right">\n <a href="" class="btn btn-success" ng-click="vm.createItem()">\n Add\n </a>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-12 table-responsive">\n <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n </div>\n </div>\n <div class="panel panel-default" ng-show="vm.detailedItem">\n <div class="panel-heading">\n <div class="row">\n <div class="col-xs-11">\n <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n </div>\n <div class="col-xs-1">\n <a href="" ng-click="vm.cleanForm()">\n <i class="glyphicon glyphicon-remove pull-right"></i>\n </a>\n </div>\n </div>\n </div>\n <div class="panel-body">\n <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n </div>\n </div>\n <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["$injector", "LabelFormatter", "_", "XosFormHelpers", function controller($injector, LabelFormatter, _, XosFormHelpers) {
+ var _this = this;
+
+ // TODO
+ // - Validate the config (what if resource does not exist?)
+
+ // NOTE
+ // Corner case
+ // - if response is empty, how can we generate a form ?
+
+ this.responseMsg = false;
+ this.responseErr = false;
+
+ this.tableConfig = {
+ columns: [],
+ actions: [{
+ label: 'delete',
+ icon: 'remove',
+ cb: function cb(item) {
+ _this.Resource.delete({ id: item.id }).$promise.then(function () {
+ _.remove(_this.data, function (d) {
+ return d.id === item.id;
+ });
+ _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully deleted';
+ }).catch(function (err) {
+ _this.responseErr = err.data.detail || 'Error while deleting ' + _this.config.resource + ' with id ' + item.id;
+ });
+ },
+ color: 'red'
+ }, {
+ label: 'details',
+ icon: 'search',
+ cb: function cb(item) {
+ _this.detailedItem = item;
+ }
+ }],
+ classes: 'table table-striped table-bordered table-responsive',
+ filter: 'field',
+ order: true,
+ pagination: {
+ pageSize: 10
+ }
+ };
+
+ this.formConfig = {
+ exclude: this.config.hiddenFields,
+ fields: {},
+ formName: this.config.resource + 'Form',
+ actions: [{
+ label: 'Save',
+ icon: 'ok',
+ cb: function cb(item) {
+ var p = void 0;
+ var isNew = true;
+
+ if (item.id) {
+ p = item.$update();
+ isNew = false;
+ } else {
+ p = item.$save();
+ }
+
+ p.then(function (res) {
+ if (isNew) {
+ _this.data.push(angular.copy(res));
+ }
+ delete _this.detailedItem;
+ _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully saved';
+ }).catch(function (err) {
+ _this.responseErr = err.data.detail || 'Error while saving ' + _this.config.resource + ' with id ' + item.id;
+ });
+ },
+ class: 'success'
+ }]
+ };
+
+ this.cleanForm = function () {
+ delete _this.detailedItem;
+ };
+
+ this.createItem = function () {
+ _this.detailedItem = new _this.Resource();
+ };
+
+ this.Resource = $injector.get(this.config.resource);
+
+ var getData = function getData() {
+ _this.Resource.query().$promise.then(function (res) {
+
+ if (!res[0]) {
+ _this.data = res;
+ return;
+ }
+
+ var item = res[0];
+ var props = Object.keys(item);
+
+ _.remove(props, function (p) {
+ return p === 'id' || p === 'validators';
+ });
+
+ // TODO move out cb, non sense triggering a lot of times
+ if (angular.isArray(_this.config.hiddenFields)) {
+ props = _.difference(props, _this.config.hiddenFields);
+ }
+
+ var labels = props.map(function (p) {
+ return LabelFormatter.format(p);
+ });
+
+ props.forEach(function (p, i) {
+ var fieldConfig = {
+ label: labels[i],
+ prop: p
+ };
+
+ if (angular.isString(item[p]) && typeof item[p] !== 'undefined') {
+ fieldConfig.type = _typeof(item[p]);
+ }
+
+ _this.tableConfig.columns.push(fieldConfig);
+ });
+
+ // build form structure
+ // TODO move in a pure function for testing purposes
+ props.forEach(function (p, i) {
+ _this.formConfig.fields[p] = {
+ label: LabelFormatter.format(labels[i]).replace(':', ''),
+ type: XosFormHelpers._getFieldFormat(item[p])
+ };
+ });
+
+ _this.data = res;
+ });
+ };
+
+ getData();
+ }]
+ });
+})();
+//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartTable/smartTable.component.js.map
+
+'use strict';
+
+/**
+ * © OpenCORD
+ *
+ * Visit http://guide.xosproject.org/devguide/addview/ for more information
+ *
+ * Created by teone on 3/24/16.
+ */
+
+(function () {
+ 'use strict';
+
+ angular.module('xos.uiComponents')
+ /**
+ * @ngdoc directive
+ * @name xos.uiComponents.directive:xosSmartPie
+ * @restrict E
+ * @description The xos-table directive
+ * @param {Object} config The configuration for the component,
+ * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
+ * and a field name that is used to group the data.
+ * ```
+ * {
+ resource: 'Users',
+ groupBy: 'fieldName',
+ classes: 'my-custom-class',
+ labelFormatter: (labels) => {
+ // here you can format your label,
+ // you should return an array with the same order
+ return labels;
+ }
+ }
+ * ```
+ * @scope
+ * @example
+
+ Displaying Local data
+ <example module="sampleSmartPieLocal">
+ <file name="index.html">
+ <div ng-controller="SampleCtrlLocal as vm">
+ <xos-smart-pie config="vm.configLocal"></xos-smart-pie>
+ </div>
+ </file>
+ <file name="script.js">
+ angular.module('sampleSmartPieLocal', ['xos.uiComponents'])
+ .factory('_', function($window){
+ return $window._;
+ })
+ .controller('SampleCtrlLocal', function($timeout){
+
+ this.datas = [
+ {id: 1, first_name: 'Jon', last_name: 'aaa', category: 2},
+ {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 1},
+ {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2}
+ ];
+ this.configLocal = {
+ data: [],
+ groupBy: 'category',
+ classes: 'local',
+ labelFormatter: (labels) => {
+ return labels.map(l => l === '1' ? 'North' : 'Dragon');
+ }
+ };
+
+ $timeout(() => {
+ // this need to be triggered in this way just because of ngDoc,
+ // otherwise you can assign data directly in the config
+ this.configLocal.data = this.datas;
+ }, 1)
+ });
+ </file>
+ </example>
+ Fetching data from API
+ <example module="sampleSmartPieResource">
+ <file name="index.html">
+ <div ng-controller="SampleCtrl as vm">
+ <xos-smart-pie config="vm.config"></xos-smart-pie>
+ </div>
+ </file>
+ <file name="script.js">
+ angular.module('sampleSmartPieResource', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
+ .controller('SampleCtrl', function(){
+ this.config = {
+ resource: 'SampleResource',
+ groupBy: 'category',
+ classes: 'resource',
+ labelFormatter: (labels) => {
+ return labels.map(l => l === '1' ? 'North' : 'Dragon');
+ }
+ };
+ });
+ </file>
+ <file name="backendPoll.js">
+ angular.module('sampleSmartPieResource')
+ .run(function($httpBackend, _){
+ let datas = [
+ {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
+ {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
+ {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1}
+ ];
+ $httpBackend.whenGET('/test').respond(200, datas)
+ })
+ .factory('_', function($window){
+ return $window._;
+ })
+ .service('SampleResource', function($resource){
+ return $resource('/test/:id', {id: '@id'});
+ })
+ </file>
+ </example>
+ Polling data from API
+ <example module="sampleSmartPiePoll">
+ <file name="index.html">
+ <div ng-controller="SampleCtrl as vm">
+ <xos-smart-pie config="vm.config"></xos-smart-pie>
+ </div>
+ </file>
+ <file name="script.js">
+ angular.module('sampleSmartPiePoll', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
+ .controller('SampleCtrl', function(){
+ this.config = {
+ resource: 'SampleResource',
+ groupBy: 'category',
+ poll: 2,
+ labelFormatter: (labels) => {
+ return labels.map(l => l === '1' ? 'Active' : 'Banned');
+ }
+ };
+ });
+ </file>
+ <file name="backend.js">
+ angular.module('sampleSmartPiePoll')
+ .run(function($httpBackend, _){
+ let mock = [
+ [
+ {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
+ {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
+ {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
+ {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 1}
+ ],
+ [
+ {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
+ {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
+ {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2},
+ {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
+ ],
+ [
+ {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
+ {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
+ {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
+ {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
+ ]
+ ];
+ $httpBackend.whenGET('/test').respond(function(method, url, data, headers, params) {
+ return [200, mock[Math.round(Math.random() * 3)]];
+ });
+ })
+ .factory('_', function($window){
+ return $window._;
+ })
+ .service('SampleResource', function($resource){
+ return $resource('/test/:id', {id: '@id'});
+ })
+ </file>
+ </example>
+ */
+ .component('xosSmartPie', {
+ restrict: 'E',
+ bindings: {
+ config: '='
+ },
+ template: '\n <canvas\n class="chart chart-pie {{vm.config.classes}}"\n chart-data="vm.data" chart-labels="vm.labels"\n chart-legend="{{vm.config.legend}}">\n </canvas>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["$injector", "$interval", "$scope", "$timeout", "_", function controller($injector, $interval, $scope, $timeout, _) {
+ var _this = this;
+
+ if (!this.config.resource && !this.config.data) {
+ throw new Error('[xosSmartPie] Please provide a resource or an array of data in the configuration');
+ }
+
+ var groupData = function groupData(data) {
+ return _.groupBy(data, _this.config.groupBy);
+ };
+ var formatData = function formatData(data) {
+ return _.reduce(Object.keys(data), function (list, group) {
+ return list.concat(data[group].length);
+ }, []);
+ };
+ var formatLabels = function formatLabels(data) {
+ return angular.isFunction(_this.config.labelFormatter) ? _this.config.labelFormatter(Object.keys(data)) : Object.keys(data);
+ };
+
+ var prepareData = function prepareData(data) {
+ // group data
+ var grouped = groupData(data);
+ _this.data = formatData(grouped);
+ // create labels
+ _this.labels = formatLabels(grouped);
+ };
+
+ if (this.config.resource) {
+ (function () {
+
+ _this.Resource = $injector.get(_this.config.resource);
+ var getData = function getData() {
+ _this.Resource.query().$promise.then(function (res) {
+
+ if (!res[0]) {
+ return;
+ }
+
+ prepareData(res);
+ });
+ };
+
+ getData();
+
+ if (_this.config.poll) {
+ $interval(function () {
+ getData();
+ }, _this.config.poll * 1000);
+ }
+ })();
+ } else {
+ $scope.$watch(function () {
+ return _this.config.data;
+ }, function (data) {
+ if (data) {
+ prepareData(_this.config.data);
+ }
+ }, true);
+ }
+
+ $scope.$on('create', function (event, chart) {
+ console.log('create: ' + chart.id);
+ });
+
+ $scope.$on('destroy', function (event, chart) {
+ console.log('destroy: ' + chart.id);
+ });
+ }]
+ });
+})();
+//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartPie/smartPie.component.js.map
+
+'use strict';
+
/**
* © OpenCORD
*
@@ -107,23 +584,21 @@
</example>
*/
- .directive('xosValidation', function () {
- return {
- restrict: 'E',
- scope: {
- field: '=',
- form: '='
- },
- template: '\n <div ng-cloak>\n <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">\n Field required\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">\n This is not a valid email\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too short\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too long\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">\n Field invalid\n </xos-alert>\n </div>\n ',
- transclude: true,
- bindToController: true,
- controllerAs: 'vm',
- controller: function controller() {
- this.config = {
- type: 'danger'
- };
- }
- };
+ .component('xosValidation', {
+ restrict: 'E',
+ bindings: {
+ field: '=',
+ form: '='
+ },
+ template: '\n <div ng-cloak>\n <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">\n Field required\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">\n This is not a valid email\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too short\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">\n Too long\n </xos-alert>\n <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">\n Field invalid\n </xos-alert>\n </div>\n ',
+ transclude: true,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function controller() {
+ this.config = {
+ type: 'danger'
+ };
+ }
});
})();
//# sourceMappingURL=../../../maps/ui_components/dumbComponents/validation/validation.component.js.map
@@ -452,94 +927,92 @@
</example>
**/
- .directive('xosTable', function () {
- return {
- restrict: 'E',
- scope: {
- data: '=',
- config: '='
- },
- template: '\n <div ng-show="vm.data.length > 0 && vm.loader == false">\n <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n <div class="col-xs-12">\n <input\n class="form-control"\n placeholder="Type to search.."\n type="text"\n ng-model="vm.query"/>\n </div>\n </div>\n <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n <thead>\n <tr>\n <th ng-repeat="col in vm.columns">\n {{col.label}}\n <span ng-if="vm.config.order">\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n <i class="glyphicon glyphicon-chevron-up"></i>\n </a>\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n <i class="glyphicon glyphicon-chevron-down"></i>\n </a>\n </span>\n </th>\n <th ng-if="vm.config.actions">Actions:</th>\n </tr>\n </thead>\n <tbody ng-if="vm.config.filter == \'field\'">\n <tr>\n <td ng-repeat="col in vm.columns">\n <input\n ng-if="col.type !== \'boolean\' && col.type !== \'array\' && col.type !== \'object\' && col.type !== \'custom\'"\n class="form-control"\n placeholder="Type to search by {{col.label}}"\n type="text"\n ng-model="vm.query[col.prop]"/>\n <select\n ng-if="col.type === \'boolean\'"\n class="form-control"\n ng-model="vm.query[col.prop]">\n <option value="">-</option>\n <option value="true">True</option>\n <option value="false">False</option>\n </select>\n </td>\n <td ng-if="vm.config.actions"></td>\n </tr>\n </tbody>\n <tbody>\n <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n <td ng-repeat="col in vm.columns" xos-link-wrapper>\n <span ng-if="!col.type">{{item[col.prop]}}</span>\n <span ng-if="col.type === \'boolean\'">\n <i class="glyphicon"\n ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n </i>\n </span>\n <span ng-if="col.type === \'date\'">\n {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n </span>\n <span ng-if="col.type === \'array\'">\n {{item[col.prop] | arrayToList}}\n </span>\n <span ng-if="col.type === \'object\'">\n <dl class="dl-horizontal">\n <span ng-repeat="(k,v) in item[col.prop]">\n <dt>{{k}}</dt>\n <dd>{{v}}</dd>\n </span>\n </dl>\n </span>\n <span ng-if="col.type === \'custom\'">\n {{col.formatter(item)}}\n </span>\n <span ng-if="col.type === \'icon\'">\n <i class="glyphicon glyphicon-{{col.formatter(item)}}">\n </i>\n </span>\n </td>\n <td ng-if="vm.config.actions">\n <a href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(item)"\n title="{{action.label}}">\n <i\n class="glyphicon glyphicon-{{action.icon}}"\n style="color: {{action.color}};"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <xos-pagination\n ng-if="vm.config.pagination"\n page-size="vm.config.pagination.pageSize"\n total-elements="vm.data.length"\n change="vm.goToPage">\n </xos-pagination>\n </div>\n <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">\n <xos-alert config="{type: \'info\'}">\n No data to show.\n </xos-alert>\n </div>\n <div ng-show="vm.loader == true">\n <div class="loader"></div>\n </div>\n ',
- bindToController: true,
- controllerAs: 'vm',
- controller: ["_", "$scope", "Comparator", function controller(_, $scope, Comparator) {
- var _this = this;
+ .component('xosTable', {
+ restrict: 'E',
+ bindings: {
+ data: '=',
+ config: '='
+ },
+ template: '\n <div ng-show="vm.data.length > 0 && vm.loader == false">\n <div class="row" ng-if="vm.config.filter == \'fulltext\'">\n <div class="col-xs-12">\n <input\n class="form-control"\n placeholder="Type to search.."\n type="text"\n ng-model="vm.query"/>\n </div>\n </div>\n <table ng-class="vm.classes" ng-hide="vm.data.length == 0">\n <thead>\n <tr>\n <th ng-repeat="col in vm.columns">\n {{col.label}}\n <span ng-if="vm.config.order">\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">\n <i class="glyphicon glyphicon-chevron-up"></i>\n </a>\n <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">\n <i class="glyphicon glyphicon-chevron-down"></i>\n </a>\n </span>\n </th>\n <th ng-if="vm.config.actions">Actions:</th>\n </tr>\n </thead>\n <tbody ng-if="vm.config.filter == \'field\'">\n <tr>\n <td ng-repeat="col in vm.columns">\n <input\n ng-if="col.type !== \'boolean\' && col.type !== \'array\' && col.type !== \'object\' && col.type !== \'custom\'"\n class="form-control"\n placeholder="Type to search by {{col.label}}"\n type="text"\n ng-model="vm.query[col.prop]"/>\n <select\n ng-if="col.type === \'boolean\'"\n class="form-control"\n ng-model="vm.query[col.prop]">\n <option value="">-</option>\n <option value="true">True</option>\n <option value="false">False</option>\n </select>\n </td>\n <td ng-if="vm.config.actions"></td>\n </tr>\n </tbody>\n <tbody>\n <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">\n <td ng-repeat="col in vm.columns" xos-link-wrapper>\n <span ng-if="!col.type">{{item[col.prop]}}</span>\n <span ng-if="col.type === \'boolean\'">\n <i class="glyphicon"\n ng-class="{\'glyphicon-ok\': item[col.prop], \'glyphicon-remove\': !item[col.prop]}">\n </i>\n </span>\n <span ng-if="col.type === \'date\'">\n {{item[col.prop] | date:\'H:mm MMM d, yyyy\'}}\n </span>\n <span ng-if="col.type === \'array\'">\n {{item[col.prop] | arrayToList}}\n </span>\n <span ng-if="col.type === \'object\'">\n <dl class="dl-horizontal">\n <span ng-repeat="(k,v) in item[col.prop]">\n <dt>{{k}}</dt>\n <dd>{{v}}</dd>\n </span>\n </dl>\n </span>\n <span ng-if="col.type === \'custom\'">\n {{col.formatter(item)}}\n </span>\n <span ng-if="col.type === \'icon\'">\n <i class="glyphicon glyphicon-{{col.formatter(item)}}">\n </i>\n </span>\n </td>\n <td ng-if="vm.config.actions">\n <a href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(item)"\n title="{{action.label}}">\n <i\n class="glyphicon glyphicon-{{action.icon}}"\n style="color: {{action.color}};"></i>\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <xos-pagination\n ng-if="vm.config.pagination"\n page-size="vm.config.pagination.pageSize"\n total-elements="vm.data.length"\n change="vm.goToPage">\n </xos-pagination>\n </div>\n <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">\n <xos-alert config="{type: \'info\'}">\n No data to show.\n </xos-alert>\n </div>\n <div ng-show="vm.loader == true">\n <div class="loader"></div>\n </div>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["_", "$scope", "Comparator", function controller(_, $scope, Comparator) {
+ var _this = this;
- this.comparator = Comparator;
+ this.comparator = Comparator;
- this.loader = true;
+ this.loader = true;
- $scope.$watch(function () {
- return _this.data;
- }, function (data) {
- if (angular.isDefined(data)) {
- _this.loader = false;
+ $scope.$watch(function () {
+ return _this.data;
+ }, function (data) {
+ if (angular.isDefined(data)) {
+ _this.loader = false;
+ }
+ });
+
+ if (!this.config) {
+ throw new Error('[xosTable] Please provide a configuration via the "config" attribute');
+ }
+
+ if (!this.config.columns) {
+ throw new Error('[xosTable] Please provide a columns list in the configuration');
+ }
+
+ // handle default ordering
+ if (this.config.order && angular.isObject(this.config.order)) {
+ this.reverse = this.config.order.reverse || false;
+ this.orderBy = this.config.order.field || 'id';
+ }
+
+ // if columns with type 'custom' are provided
+ // check that a custom formatte3 is provided too
+ var customCols = _.filter(this.config.columns, { type: 'custom' });
+ if (angular.isArray(customCols) && customCols.length > 0) {
+ _.forEach(customCols, function (col) {
+ if (!col.formatter || !angular.isFunction(col.formatter)) {
+ throw new Error('[xosTable] You have provided a custom field type, a formatter function should provided too.');
}
});
+ }
- if (!this.config) {
- throw new Error('[xosTable] Please provide a configuration via the "config" attribute');
- }
-
- if (!this.config.columns) {
- throw new Error('[xosTable] Please provide a columns list in the configuration');
- }
-
- // handle default ordering
- if (this.config.order && angular.isObject(this.config.order)) {
- this.reverse = this.config.order.reverse || false;
- this.orderBy = this.config.order.field || 'id';
- }
-
- // if columns with type 'custom' are provided
- // check that a custom formatte3 is provided too
- var customCols = _.filter(this.config.columns, { type: 'custom' });
- if (angular.isArray(customCols) && customCols.length > 0) {
- _.forEach(customCols, function (col) {
- if (!col.formatter || !angular.isFunction(col.formatter)) {
- throw new Error('[xosTable] You have provided a custom field type, a formatter function should provided too.');
- }
- });
- }
-
- // if columns with type 'icon' are provided
- // check that a custom formatte3 is provided too
- var iconCols = _.filter(this.config.columns, { type: 'icon' });
- if (angular.isArray(iconCols) && iconCols.length > 0) {
- _.forEach(iconCols, function (col) {
- if (!col.formatter || !angular.isFunction(col.formatter)) {
- throw new Error('[xosTable] You have provided an icon field type, a formatter function should provided too.');
- }
- });
- }
-
- // if a link property is passed,
- // it should be a function
- var linkedColumns = _.filter(this.config.columns, function (col) {
- return angular.isDefined(col.link);
+ // if columns with type 'icon' are provided
+ // check that a custom formatte3 is provided too
+ var iconCols = _.filter(this.config.columns, { type: 'icon' });
+ if (angular.isArray(iconCols) && iconCols.length > 0) {
+ _.forEach(iconCols, function (col) {
+ if (!col.formatter || !angular.isFunction(col.formatter)) {
+ throw new Error('[xosTable] You have provided an icon field type, a formatter function should provided too.');
+ }
});
- if (angular.isArray(linkedColumns) && linkedColumns.length > 0) {
- _.forEach(linkedColumns, function (col) {
- if (!angular.isFunction(col.link)) {
- throw new Error('[xosTable] The link property should be a function.');
- }
- });
- }
+ }
- this.columns = this.config.columns;
- this.classes = this.config.classes || 'table table-striped table-bordered';
+ // if a link property is passed,
+ // it should be a function
+ var linkedColumns = _.filter(this.config.columns, function (col) {
+ return angular.isDefined(col.link);
+ });
+ if (angular.isArray(linkedColumns) && linkedColumns.length > 0) {
+ _.forEach(linkedColumns, function (col) {
+ if (!angular.isFunction(col.link)) {
+ throw new Error('[xosTable] The link property should be a function.');
+ }
+ });
+ }
- if (this.config.actions) {
- // TODO validate action format
- }
- if (this.config.pagination) {
- this.currentPage = 0;
- this.goToPage = function (n) {
- _this.currentPage = n;
- };
- }
- }]
- };
+ this.columns = this.config.columns;
+ this.classes = this.config.classes || 'table table-striped table-bordered';
+
+ if (this.config.actions) {
+ // TODO validate action format
+ }
+ if (this.config.pagination) {
+ this.currentPage = 0;
+ this.goToPage = function (n) {
+ _this.currentPage = n;
+ };
+ }
+ }]
})
// TODO move in separate files
// TODO test
@@ -611,49 +1084,47 @@
</example>
**/
- .directive('xosPagination', function () {
- return {
- restrict: 'E',
- scope: {
- pageSize: '=',
- totalElements: '=',
- change: '='
- },
- template: '\n <div class="row" ng-if="vm.pageList.length > 1">\n <div class="col-xs-12 text-center">\n <ul class="pagination">\n <li\n ng-click="vm.goToPage(vm.currentPage - 1)"\n ng-class="{disabled: vm.currentPage == 0}">\n <a href="" aria-label="Previous">\n <span aria-hidden="true">«</span>\n </a>\n </li>\n <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n </li>\n <li\n ng-click="vm.goToPage(vm.currentPage + 1)"\n ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n <a href="" aria-label="Next">\n <span aria-hidden="true">»</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n ',
- bindToController: true,
- controllerAs: 'vm',
- controller: ["$scope", function controller($scope) {
- var _this = this;
+ .component('xosPagination', {
+ restrict: 'E',
+ bindings: {
+ pageSize: '=',
+ totalElements: '=',
+ change: '='
+ },
+ template: '\n <div class="row" ng-if="vm.pageList.length > 1">\n <div class="col-xs-12 text-center">\n <ul class="pagination">\n <li\n ng-click="vm.goToPage(vm.currentPage - 1)"\n ng-class="{disabled: vm.currentPage == 0}">\n <a href="" aria-label="Previous">\n <span aria-hidden="true">«</span>\n </a>\n </li>\n <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">\n <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>\n </li>\n <li\n ng-click="vm.goToPage(vm.currentPage + 1)"\n ng-class="{disabled: vm.currentPage == vm.pages - 1}">\n <a href="" aria-label="Next">\n <span aria-hidden="true">»</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["$scope", function controller($scope) {
+ var _this = this;
- this.currentPage = 0;
+ this.currentPage = 0;
- this.goToPage = function (n) {
- if (n < 0 || n === _this.pages) {
- return;
- }
- _this.currentPage = n;
- _this.change(n);
- };
+ this.goToPage = function (n) {
+ if (n < 0 || n === _this.pages) {
+ return;
+ }
+ _this.currentPage = n;
+ _this.change(n);
+ };
- this.createPages = function (pages) {
- var arr = [];
- for (var i = 0; i < pages; i++) {
- arr.push(i);
- }
- return arr;
- };
+ this.createPages = function (pages) {
+ var arr = [];
+ for (var i = 0; i < pages; i++) {
+ arr.push(i);
+ }
+ return arr;
+ };
- // watch for data changes
- $scope.$watch(function () {
- return _this.totalElements;
- }, function () {
- if (_this.totalElements) {
- _this.pages = Math.ceil(_this.totalElements / _this.pageSize);
- _this.pageList = _this.createPages(_this.pages);
- }
- });
- }]
- };
+ // watch for data changes
+ $scope.$watch(function () {
+ return _this.totalElements;
+ }, function () {
+ if (_this.totalElements) {
+ _this.pages = Math.ceil(_this.totalElements / _this.pageSize);
+ _this.pageList = _this.createPages(_this.pages);
+ }
+ });
+ }]
}).filter('pagination', function () {
return function (input, start) {
if (!input || !angular.isArray(input)) {
@@ -862,67 +1333,65 @@
</example>
**/
- .directive('xosForm', function () {
- return {
- restrict: 'E',
- scope: {
- config: '=',
- ngModel: '='
- },
- template: '\n <form name="vm.{{vm.config.formName || \'form\'}}" novalidate>\n <div class="form-group" ng-repeat="(name, field) in vm.formField">\n <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>\n <xos-validation field="vm[vm.config.formName || \'form\'][name]" form = "vm[vm.config.formName || \'form\']"></xos-validation>\n <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>\n </div>\n <div class="form-group" ng-if="vm.config.actions">\n <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>\n\n <button role="button" href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(vm.ngModel, vm[vm.config.formName || \'form\'])"\n class="btn btn-{{action.class}}"\n title="{{action.label}}">\n <i class="glyphicon glyphicon-{{action.icon}}"></i>\n {{action.label}}\n </button>\n </div>\n </form>\n ',
- bindToController: true,
- controllerAs: 'vm',
- controller: ["$scope", "$log", "_", "XosFormHelpers", function controller($scope, $log, _, XosFormHelpers) {
- var _this = this;
+ .component('xosForm', {
+ restrict: 'E',
+ bindings: {
+ config: '=',
+ ngModel: '='
+ },
+ template: '\n <form name="vm.{{vm.config.formName || \'form\'}}" novalidate>\n <div class="form-group" ng-repeat="(name, field) in vm.formField">\n <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>\n <xos-validation field="vm[vm.config.formName || \'form\'][name]" form = "vm[vm.config.formName || \'form\']"></xos-validation>\n <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>\n </div>\n <div class="form-group" ng-if="vm.config.actions">\n <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>\n\n <button role="button" href=""\n ng-repeat="action in vm.config.actions"\n ng-click="action.cb(vm.ngModel, vm[vm.config.formName || \'form\'])"\n class="btn btn-{{action.class}}"\n title="{{action.label}}">\n <i class="glyphicon glyphicon-{{action.icon}}"></i>\n {{action.label}}\n </button>\n </div>\n </form>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["$scope", "$log", "_", "XosFormHelpers", function controller($scope, $log, _, XosFormHelpers) {
+ var _this = this;
- if (!this.config) {
- throw new Error('[xosForm] Please provide a configuration via the "config" attribute');
+ if (!this.config) {
+ throw new Error('[xosForm] Please provide a configuration via the "config" attribute');
+ }
+
+ if (!this.config.actions) {
+ throw new Error('[xosForm] Please provide an action list in the configuration');
+ }
+
+ if (!this.config.feedback) {
+ this.config.feedback = {
+ show: false,
+ message: 'Form submitted successfully !!!',
+ type: 'success'
+ };
+ }
+
+ this.excludedField = ['id', 'validators', 'created', 'updated', 'deleted', 'backend_status'];
+ if (this.config && this.config.exclude) {
+ this.excludedField = this.excludedField.concat(this.config.exclude);
+ }
+
+ this.formField = [];
+
+ $scope.$watch(function () {
+ return _this.config;
+ }, function () {
+ if (!_this.ngModel) {
+ return;
}
+ var diff = _.difference(Object.keys(_this.ngModel), _this.excludedField);
+ var modelField = XosFormHelpers.parseModelField(diff);
+ _this.formField = XosFormHelpers.buildFormStructure(modelField, _this.config.fields, _this.ngModel);
+ }, true);
- if (!this.config.actions) {
- throw new Error('[xosForm] Please provide an action list in the configuration');
+ $scope.$watch(function () {
+ return _this.ngModel;
+ }, function (model) {
+ // empty from old stuff
+ _this.formField = {};
+ if (!model) {
+ return;
}
-
- if (!this.config.feedback) {
- this.config.feedback = {
- show: false,
- message: 'Form submitted successfully !!!',
- type: 'success'
- };
- }
-
- this.excludedField = ['id', 'validators', 'created', 'updated', 'deleted', 'backend_status'];
- if (this.config && this.config.exclude) {
- this.excludedField = this.excludedField.concat(this.config.exclude);
- }
-
- this.formField = [];
-
- $scope.$watch(function () {
- return _this.config;
- }, function () {
- if (!_this.ngModel) {
- return;
- }
- var diff = _.difference(Object.keys(_this.ngModel), _this.excludedField);
- var modelField = XosFormHelpers.parseModelField(diff);
- _this.formField = XosFormHelpers.buildFormStructure(modelField, _this.config.fields, _this.ngModel);
- }, true);
-
- $scope.$watch(function () {
- return _this.ngModel;
- }, function (model) {
- // empty from old stuff
- _this.formField = {};
- if (!model) {
- return;
- }
- var diff = _.difference(Object.keys(model), _this.excludedField);
- var modelField = XosFormHelpers.parseModelField(diff);
- _this.formField = XosFormHelpers.buildFormStructure(modelField, _this.config.fields, model);
- });
- }]
- };
+ var diff = _.difference(Object.keys(model), _this.excludedField);
+ var modelField = XosFormHelpers.parseModelField(diff);
+ _this.formField = XosFormHelpers.buildFormStructure(modelField, _this.config.fields, model);
+ });
+ }]
});
})();
//# sourceMappingURL=../../../maps/ui_components/dumbComponents/form/form.component.js.map
@@ -1067,44 +1536,42 @@
</file>
</example>
*/
- .directive('xosField', ["RecursionHelper", function (RecursionHelper) {
- return {
- restrict: 'E',
- scope: {
- name: '=',
- field: '=',
- ngModel: '='
- },
- template: '\n <label ng-if="vm.field.type !== \'object\'">{{vm.field.label}}</label>\n <input\n xos-custom-validator custom-validator="vm.field.validators.custom || null"\n ng-if="vm.field.type !== \'boolean\' && vm.field.type !== \'object\' && vm.field.type !== \'select\'"\n type="{{vm.field.type}}"\n name="{{vm.name}}"\n class="form-control"\n ng-model="vm.ngModel"\n ng-minlength="vm.field.validators.minlength || 0"\n ng-maxlength="vm.field.validators.maxlength || 2000"\n ng-required="vm.field.validators.required || false" />\n <select class="form-control" ng-if ="vm.field.type === \'select\'"\n name = "{{vm.name}}"\n ng-options="item.id as item.label for item in vm.field.options"\n ng-model="vm.ngModel"\n ng-required="vm.field.validators.required || false">\n </select>\n <span class="boolean-field" ng-if="vm.field.type === \'boolean\'">\n <a href="#"\n class="btn btn-success"\n ng-show="vm.ngModel"\n ng-click="vm.ngModel = false">\n <i class="glyphicon glyphicon-ok"></i>\n </a>\n <a href="#"\n class="btn btn-danger"\n ng-show="!vm.ngModel"\n ng-click="vm.ngModel = true">\n <i class="glyphicon glyphicon-remove"></i>\n </a>\n </span>\n <div\n class="panel panel-default object-field"\n ng-if="vm.field.type == \'object\' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"\n >\n <div class="panel-heading">{{vm.field.label}}</div>\n <div class="panel-body">\n <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">\n <xos-field\n name="k"\n field="{label: vm.formatLabel(k), type: vm.getType(v)}"\n ng-model="v">\n </xos-field>\n </div>\n <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">\n <xos-field\n name="k"\n field="{\n label: v.label || vm.formatLabel(k),\n type: v.type,\n validators: v.validators\n }"\n ng-model="vm.ngModel[k]">\n </xos-field>\n </div>\n </div>\n </div>\n ',
- bindToController: true,
- controllerAs: 'vm',
- // the compile cicle is needed to support recursion
- compile: function compile(element) {
- return RecursionHelper.compile(element);
- },
- controller: ["$attrs", "XosFormHelpers", "LabelFormatter", function controller($attrs, XosFormHelpers, LabelFormatter) {
+ .component('xosField', {
+ restrict: 'E',
+ bindings: {
+ name: '=',
+ field: '=',
+ ngModel: '='
+ },
+ template: '\n <label ng-if="vm.field.type !== \'object\'">{{vm.field.label}}</label>\n <input\n xos-custom-validator custom-validator="vm.field.validators.custom || null"\n ng-if="vm.field.type !== \'boolean\' && vm.field.type !== \'object\' && vm.field.type !== \'select\'"\n type="{{vm.field.type}}"\n name="{{vm.name}}"\n class="form-control"\n ng-model="vm.ngModel"\n ng-minlength="vm.field.validators.minlength || 0"\n ng-maxlength="vm.field.validators.maxlength || 2000"\n ng-required="vm.field.validators.required || false" />\n <select class="form-control" ng-if ="vm.field.type === \'select\'"\n name = "{{vm.name}}"\n ng-options="item.id as item.label for item in vm.field.options"\n ng-model="vm.ngModel"\n ng-required="vm.field.validators.required || false">\n </select>\n <span class="boolean-field" ng-if="vm.field.type === \'boolean\'">\n <a href="#"\n class="btn btn-success"\n ng-show="vm.ngModel"\n ng-click="vm.ngModel = false">\n <i class="glyphicon glyphicon-ok"></i>\n </a>\n <a href="#"\n class="btn btn-danger"\n ng-show="!vm.ngModel"\n ng-click="vm.ngModel = true">\n <i class="glyphicon glyphicon-remove"></i>\n </a>\n </span>\n <div\n class="panel panel-default object-field"\n ng-if="vm.field.type == \'object\' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"\n >\n <div class="panel-heading">{{vm.field.label}}</div>\n <div class="panel-body">\n <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">\n <xos-field\n name="k"\n field="{label: vm.formatLabel(k), type: vm.getType(v)}"\n ng-model="v">\n </xos-field>\n </div>\n <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">\n <xos-field\n name="k"\n field="{\n label: v.label || vm.formatLabel(k),\n type: v.type,\n validators: v.validators\n }"\n ng-model="vm.ngModel[k]">\n </xos-field>\n </div>\n </div>\n </div>\n ',
+ bindToController: true,
+ controllerAs: 'vm',
+ // the compile cicle is needed to support recursion
+ //compile: function (element) {
+ // return RecursionHelper.compile(element);
+ //},
+ controller: ["$attrs", "XosFormHelpers", "LabelFormatter", function controller($attrs, XosFormHelpers, LabelFormatter) {
- if (!this.name) {
- throw new Error('[xosField] Please provide a field name');
- }
- if (!this.field) {
- throw new Error('[xosField] Please provide a field definition');
- }
- if (!this.field.type) {
- throw new Error('[xosField] Please provide a type in the field definition');
- }
- if (!$attrs.ngModel) {
- throw new Error('[xosField] Please provide an ng-model');
- }
- this.getType = XosFormHelpers._getFieldFormat;
- this.formatLabel = LabelFormatter.format;
+ if (!this.name) {
+ throw new Error('[xosField] Please provide a field name');
+ }
+ if (!this.field) {
+ throw new Error('[xosField] Please provide a field definition');
+ }
+ if (!this.field.type) {
+ throw new Error('[xosField] Please provide a type in the field definition');
+ }
+ if (!$attrs.ngModel) {
+ throw new Error('[xosField] Please provide an ng-model');
+ }
+ this.getType = XosFormHelpers._getFieldFormat;
+ this.formatLabel = LabelFormatter.format;
- this.isEmptyObject = function (o) {
- return o ? Object.keys(o).length === 0 : true;
- };
- }]
- };
- }])
+ this.isEmptyObject = function (o) {
+ return o ? Object.keys(o).length === 0 : true;
+ };
+ }]
+ })
/**
* @ngdoc directive
@@ -1247,528 +1714,45 @@
</example>
**/
- .directive('xosAlert', function () {
- return {
- restrict: 'E',
- scope: {
- config: '=',
- show: '=?'
- },
- template: '\n <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n <span aria-hidden="true">×</span>\n </button>\n <p ng-transclude></p>\n </div>\n ',
- transclude: true,
- bindToController: true,
- controllerAs: 'vm',
- controller: ["$timeout", function controller($timeout) {
- var _this = this;
+ .component('xosAlert', {
+ restrict: 'E',
+ bindings: {
+ config: '=',
+ show: '=?'
+ },
+ template: '\n <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">\n <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">\n <span aria-hidden="true">×</span>\n </button>\n <p ng-transclude></p>\n </div>\n ',
+ transclude: true,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: ["$timeout", function controller($timeout) {
+ var _this = this;
- if (!this.config) {
- throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');
- }
+ if (!this.config) {
+ throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');
+ }
- // default the value to true
- this.show = this.show !== false;
+ // default the value to true
+ this.show = this.show !== false;
- this.dismiss = function () {
- _this.show = false;
- };
+ this.dismiss = function () {
+ _this.show = false;
+ };
- if (this.config.autoHide) {
- (function () {
- var to = $timeout(function () {
- _this.dismiss();
- $timeout.cancel(to);
- }, _this.config.autoHide);
- })();
- }
- }]
- };
+ if (this.config.autoHide) {
+ (function () {
+ var to = $timeout(function () {
+ _this.dismiss();
+ $timeout.cancel(to);
+ }, _this.config.autoHide);
+ })();
+ }
+ }]
});
})();
//# sourceMappingURL=../../../maps/ui_components/dumbComponents/alert/alert.component.js.map
'use strict';
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
- 'use strict';
-
- angular.module('xos.uiComponents')
- /**
- * @ngdoc directive
- * @name xos.uiComponents.directive:xosSmartPie
- * @restrict E
- * @description The xos-table directive
- * @param {Object} config The configuration for the component,
- * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
- * and a field name that is used to group the data.
- * ```
- * {
- resource: 'Users',
- groupBy: 'fieldName',
- classes: 'my-custom-class',
- labelFormatter: (labels) => {
- // here you can format your label,
- // you should return an array with the same order
- return labels;
- }
- }
- * ```
- * @scope
- * @example
-
- Displaying Local data
- <example module="sampleSmartPieLocal">
- <file name="index.html">
- <div ng-controller="SampleCtrlLocal as vm">
- <xos-smart-pie config="vm.configLocal"></xos-smart-pie>
- </div>
- </file>
- <file name="script.js">
- angular.module('sampleSmartPieLocal', ['xos.uiComponents'])
- .factory('_', function($window){
- return $window._;
- })
- .controller('SampleCtrlLocal', function($timeout){
-
- this.datas = [
- {id: 1, first_name: 'Jon', last_name: 'aaa', category: 2},
- {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 1},
- {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2}
- ];
- this.configLocal = {
- data: [],
- groupBy: 'category',
- classes: 'local',
- labelFormatter: (labels) => {
- return labels.map(l => l === '1' ? 'North' : 'Dragon');
- }
- };
-
- $timeout(() => {
- // this need to be triggered in this way just because of ngDoc,
- // otherwise you can assign data directly in the config
- this.configLocal.data = this.datas;
- }, 1)
- });
- </file>
- </example>
- Fetching data from API
- <example module="sampleSmartPieResource">
- <file name="index.html">
- <div ng-controller="SampleCtrl as vm">
- <xos-smart-pie config="vm.config"></xos-smart-pie>
- </div>
- </file>
- <file name="script.js">
- angular.module('sampleSmartPieResource', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
- .controller('SampleCtrl', function(){
- this.config = {
- resource: 'SampleResource',
- groupBy: 'category',
- classes: 'resource',
- labelFormatter: (labels) => {
- return labels.map(l => l === '1' ? 'North' : 'Dragon');
- }
- };
- });
- </file>
- <file name="backendPoll.js">
- angular.module('sampleSmartPieResource')
- .run(function($httpBackend, _){
- let datas = [
- {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
- {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
- {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1}
- ];
- $httpBackend.whenGET('/test').respond(200, datas)
- })
- .factory('_', function($window){
- return $window._;
- })
- .service('SampleResource', function($resource){
- return $resource('/test/:id', {id: '@id'});
- })
- </file>
- </example>
- Polling data from API
- <example module="sampleSmartPiePoll">
- <file name="index.html">
- <div ng-controller="SampleCtrl as vm">
- <xos-smart-pie config="vm.config"></xos-smart-pie>
- </div>
- </file>
- <file name="script.js">
- angular.module('sampleSmartPiePoll', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
- .controller('SampleCtrl', function(){
- this.config = {
- resource: 'SampleResource',
- groupBy: 'category',
- poll: 2,
- labelFormatter: (labels) => {
- return labels.map(l => l === '1' ? 'Active' : 'Banned');
- }
- };
- });
- </file>
- <file name="backend.js">
- angular.module('sampleSmartPiePoll')
- .run(function($httpBackend, _){
- let mock = [
- [
- {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
- {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
- {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
- {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 1}
- ],
- [
- {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
- {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
- {id: 3, first_name: 'Aria', last_name: 'Stark', category: 2},
- {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
- ],
- [
- {id: 1, first_name: 'Jon', last_name: 'Snow', category: 1},
- {id: 2, first_name: 'Danaerys', last_name: 'Targaryen', category: 2},
- {id: 3, first_name: 'Aria', last_name: 'Stark', category: 1},
- {id: 3, first_name: 'Tyrion', last_name: 'Lannister', category: 2}
- ]
- ];
- $httpBackend.whenGET('/test').respond(function(method, url, data, headers, params) {
- return [200, mock[Math.round(Math.random() * 3)]];
- });
- })
- .factory('_', function($window){
- return $window._;
- })
- .service('SampleResource', function($resource){
- return $resource('/test/:id', {id: '@id'});
- })
- </file>
- </example>
- */
- .directive('xosSmartPie', function () {
- return {
- restrict: 'E',
- scope: {
- config: '='
- },
- template: '\n <canvas\n class="chart chart-pie {{vm.config.classes}}"\n chart-data="vm.data" chart-labels="vm.labels"\n chart-legend="{{vm.config.legend}}">\n </canvas>\n ',
- bindToController: true,
- controllerAs: 'vm',
- controller: ["$injector", "$interval", "$scope", "$timeout", "_", function controller($injector, $interval, $scope, $timeout, _) {
- var _this = this;
-
- if (!this.config.resource && !this.config.data) {
- throw new Error('[xosSmartPie] Please provide a resource or an array of data in the configuration');
- }
-
- var groupData = function groupData(data) {
- return _.groupBy(data, _this.config.groupBy);
- };
- var formatData = function formatData(data) {
- return _.reduce(Object.keys(data), function (list, group) {
- return list.concat(data[group].length);
- }, []);
- };
- var formatLabels = function formatLabels(data) {
- return angular.isFunction(_this.config.labelFormatter) ? _this.config.labelFormatter(Object.keys(data)) : Object.keys(data);
- };
-
- var prepareData = function prepareData(data) {
- // group data
- var grouped = groupData(data);
- _this.data = formatData(grouped);
- // create labels
- _this.labels = formatLabels(grouped);
- };
-
- if (this.config.resource) {
- (function () {
-
- _this.Resource = $injector.get(_this.config.resource);
- var getData = function getData() {
- _this.Resource.query().$promise.then(function (res) {
-
- if (!res[0]) {
- return;
- }
-
- prepareData(res);
- });
- };
-
- getData();
-
- if (_this.config.poll) {
- $interval(function () {
- getData();
- }, _this.config.poll * 1000);
- }
- })();
- } else {
- $scope.$watch(function () {
- return _this.config.data;
- }, function (data) {
- if (data) {
- prepareData(_this.config.data);
- }
- }, true);
- }
-
- $scope.$on('create', function (event, chart) {
- console.log('create: ' + chart.id);
- });
-
- $scope.$on('destroy', function (event, chart) {
- console.log('destroy: ' + chart.id);
- });
- }]
- };
- });
-})();
-//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartPie/smartPie.component.js.map
-
-'use strict';
-
-var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
-
-/**
- * © OpenCORD
- *
- * Visit http://guide.xosproject.org/devguide/addview/ for more information
- *
- * Created by teone on 3/24/16.
- */
-
-(function () {
- 'use strict';
-
- angular.module('xos.uiComponents')
-
- /**
- * @ngdoc directive
- * @name xos.uiComponents.directive:xosSmartTable
- * @link xos.uiComponents.directive:xosTable xosTable
- * @link xos.uiComponents.directive:xosForm xosForm
- * @restrict E
- * @description The xos-table directive
- * @param {Object} config The configuration for the component,
- * it is composed by the name of an angular [$resource](https://docs.angularjs.org/api/ngResource/service/$resource)
- * and an array of fields that shouldn't be printed.
- * ```
- * {
- resource: 'Users',
- hiddenFields: []
- }
- * ```
- * @scope
- * @example
- <example module="sampleSmartTable">
- <file name="index.html">
- <div ng-controller="SampleCtrl as vm">
- <xos-smart-table config="vm.config"></xos-smart-table>
- </div>
- </file>
- <file name="script.js">
- angular.module('sampleSmartTable', ['xos.uiComponents', 'ngResource', 'ngMockE2E'])
- // This is only for documentation purpose
- .run(function($httpBackend, _){
- let datas = [{id: 1, name: 'Jhon', surname: 'Doe'}];
- let count = 1;
- let paramsUrl = new RegExp(/\/test\/(.+)/);
- $httpBackend.whenDELETE(paramsUrl, undefined, ['id']).respond((method, url, data, headers, params) => {
- data = angular.fromJson(data);
- let id = url.match(paramsUrl)[1];
- _.remove(datas, (d) => {
- return d.id === parseInt(id);
- })
- return [204];
- });
- $httpBackend.whenGET('/test').respond(200, datas)
- $httpBackend.whenPOST('/test').respond((method, url, data) => {
- data = angular.fromJson(data);
- data.id = ++count;
- datas.push(data);
- return [201, data, {}];
- });
- })
- .factory('_', function($window){
- return $window._;
- })
- .service('SampleResource', function($resource){
- return $resource('/test/:id', {id: '@id'});
- })
- // End of documentation purpose, example start
- .controller('SampleCtrl', function(){
- this.config = {
- resource: 'SampleResource'
- };
- });
- </file>
- </example>
- */
-
- .directive('xosSmartTable', function () {
- return {
- restrict: 'E',
- scope: {
- config: '='
- },
- template: '\n <div class="row" ng-show="vm.data.length > 0">\n <div class="col-xs-12 text-right">\n <a href="" class="btn btn-success" ng-click="vm.createItem()">\n Add\n </a>\n </div>\n </div>\n <div class="row">\n <div class="col-xs-12 table-responsive">\n <xos-table config="vm.tableConfig" data="vm.data"></xos-table>\n </div>\n </div>\n <div class="panel panel-default" ng-show="vm.detailedItem">\n <div class="panel-heading">\n <div class="row">\n <div class="col-xs-11">\n <h3 class="panel-title" ng-show="vm.detailedItem.id">Update {{vm.config.resource}} {{vm.detailedItem.id}}</h3>\n <h3 class="panel-title" ng-show="!vm.detailedItem.id">Create {{vm.config.resource}} item</h3>\n </div>\n <div class="col-xs-1">\n <a href="" ng-click="vm.cleanForm()">\n <i class="glyphicon glyphicon-remove pull-right"></i>\n </a>\n </div>\n </div>\n </div>\n <div class="panel-body">\n <xos-form config="vm.formConfig" ng-model="vm.detailedItem"></xos-form>\n </div>\n </div>\n <xos-alert config="{type: \'success\', closeBtn: true}" show="vm.responseMsg">{{vm.responseMsg}}</xos-alert>\n <xos-alert config="{type: \'danger\', closeBtn: true}" show="vm.responseErr">{{vm.responseErr}}</xos-alert>\n ',
- bindToController: true,
- controllerAs: 'vm',
- controller: ["$injector", "LabelFormatter", "_", "XosFormHelpers", function controller($injector, LabelFormatter, _, XosFormHelpers) {
- var _this = this;
-
- // TODO
- // - Validate the config (what if resource does not exist?)
-
- // NOTE
- // Corner case
- // - if response is empty, how can we generate a form ?
-
- this.responseMsg = false;
- this.responseErr = false;
-
- this.tableConfig = {
- columns: [],
- actions: [{
- label: 'delete',
- icon: 'remove',
- cb: function cb(item) {
- _this.Resource.delete({ id: item.id }).$promise.then(function () {
- _.remove(_this.data, function (d) {
- return d.id === item.id;
- });
- _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully deleted';
- }).catch(function (err) {
- _this.responseErr = err.data.detail || 'Error while deleting ' + _this.config.resource + ' with id ' + item.id;
- });
- },
- color: 'red'
- }, {
- label: 'details',
- icon: 'search',
- cb: function cb(item) {
- _this.detailedItem = item;
- }
- }],
- classes: 'table table-striped table-bordered table-responsive',
- filter: 'field',
- order: true,
- pagination: {
- pageSize: 10
- }
- };
-
- this.formConfig = {
- exclude: this.config.hiddenFields,
- fields: {},
- formName: this.config.resource + 'Form',
- actions: [{
- label: 'Save',
- icon: 'ok',
- cb: function cb(item) {
- var p = void 0;
- var isNew = true;
-
- if (item.id) {
- p = item.$update();
- isNew = false;
- } else {
- p = item.$save();
- }
-
- p.then(function (res) {
- if (isNew) {
- _this.data.push(angular.copy(res));
- }
- delete _this.detailedItem;
- _this.responseMsg = _this.config.resource + ' with id ' + item.id + ' successfully saved';
- }).catch(function (err) {
- _this.responseErr = err.data.detail || 'Error while saving ' + _this.config.resource + ' with id ' + item.id;
- });
- },
- class: 'success'
- }]
- };
-
- this.cleanForm = function () {
- delete _this.detailedItem;
- };
-
- this.createItem = function () {
- _this.detailedItem = new _this.Resource();
- };
-
- this.Resource = $injector.get(this.config.resource);
-
- var getData = function getData() {
- _this.Resource.query().$promise.then(function (res) {
-
- if (!res[0]) {
- _this.data = res;
- return;
- }
-
- var item = res[0];
- var props = Object.keys(item);
-
- _.remove(props, function (p) {
- return p === 'id' || p === 'validators';
- });
-
- // TODO move out cb, non sense triggering a lot of times
- if (angular.isArray(_this.config.hiddenFields)) {
- props = _.difference(props, _this.config.hiddenFields);
- }
-
- var labels = props.map(function (p) {
- return LabelFormatter.format(p);
- });
-
- props.forEach(function (p, i) {
- var fieldConfig = {
- label: labels[i],
- prop: p
- };
-
- if (angular.isString(item[p]) && typeof item[p] !== 'undefined') {
- fieldConfig.type = _typeof(item[p]);
- }
-
- _this.tableConfig.columns.push(fieldConfig);
- });
-
- // build form structure
- // TODO move in a pure function for testing purposes
- props.forEach(function (p, i) {
- _this.formConfig.fields[p] = {
- label: LabelFormatter.format(labels[i]).replace(':', ''),
- type: XosFormHelpers._getFieldFormat(item[p])
- };
- });
-
- _this.data = res;
- });
- };
-
- getData();
- }]
- };
- });
-})();
-//# sourceMappingURL=../../../maps/ui_components/smartComponents/smartTable/smartTable.component.js.map
-
-'use strict';
-
(function () {
'use strict';
diff --git a/src/ui_components/dumbComponents/alert/alert.component.js b/src/ui_components/dumbComponents/alert/alert.component.js
index 9b60def..948c851 100644
--- a/src/ui_components/dumbComponents/alert/alert.component.js
+++ b/src/ui_components/dumbComponents/alert/alert.component.js
@@ -102,43 +102,41 @@
</example>
**/
- .directive('xosAlert', function(){
- return {
- restrict: 'E',
- scope: {
- config: '=',
- show: '=?'
- },
- template: `
- <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">
- <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">
- <span aria-hidden="true">×</span>
- </button>
- <p ng-transclude></p>
- </div>
- `,
- transclude: true,
- bindToController: true,
- controllerAs: 'vm',
- controller: function($timeout){
+ .component('xosAlert', {
+ restrict: 'E',
+ bindings: {
+ config: '=',
+ show: '=?'
+ },
+ template: `
+ <div ng-cloak class="alert alert-{{vm.config.type}}" ng-hide="!vm.show">
+ <button type="button" class="close" ng-if="vm.config.closeBtn" ng-click="vm.dismiss()">
+ <span aria-hidden="true">×</span>
+ </button>
+ <p ng-transclude></p>
+ </div>
+ `,
+ transclude: true,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function($timeout){
- if(!this.config){
- throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');
- }
+ if(!this.config){
+ throw new Error('[xosAlert] Please provide a configuration via the "config" attribute');
+ }
- // default the value to true
- this.show = this.show !== false;
-
- this.dismiss = () => {
- this.show = false;
- }
+ // default the value to true
+ this.show = this.show !== false;
- if(this.config.autoHide){
- let to = $timeout(() => {
- this.dismiss();
- $timeout.cancel(to);
- }, this.config.autoHide);
- }
+ this.dismiss = () => {
+ this.show = false;
+ }
+
+ if(this.config.autoHide){
+ let to = $timeout(() => {
+ this.dismiss();
+ $timeout.cancel(to);
+ }, this.config.autoHide);
}
}
})
diff --git a/src/ui_components/dumbComponents/field/field.component.js b/src/ui_components/dumbComponents/field/field.component.js
index 21b2f4e..a246f9f 100644
--- a/src/ui_components/dumbComponents/field/field.component.js
+++ b/src/ui_components/dumbComponents/field/field.component.js
@@ -142,98 +142,96 @@
</file>
</example>
*/
- .directive('xosField', function(RecursionHelper){
- return {
- restrict: 'E',
- scope: {
- name: '=',
- field: '=',
- ngModel: '='
- },
- template: `
- <label ng-if="vm.field.type !== 'object'">{{vm.field.label}}</label>
- <input
- xos-custom-validator custom-validator="vm.field.validators.custom || null"
- ng-if="vm.field.type !== 'boolean' && vm.field.type !== 'object' && vm.field.type !== 'select'"
- type="{{vm.field.type}}"
- name="{{vm.name}}"
- class="form-control"
+ .component('xosField', {
+ restrict: 'E',
+ bindings: {
+ name: '=',
+ field: '=',
+ ngModel: '='
+ },
+ template: `
+ <label ng-if="vm.field.type !== 'object'">{{vm.field.label}}</label>
+ <input
+ xos-custom-validator custom-validator="vm.field.validators.custom || null"
+ ng-if="vm.field.type !== 'boolean' && vm.field.type !== 'object' && vm.field.type !== 'select'"
+ type="{{vm.field.type}}"
+ name="{{vm.name}}"
+ class="form-control"
+ ng-model="vm.ngModel"
+ ng-minlength="vm.field.validators.minlength || 0"
+ ng-maxlength="vm.field.validators.maxlength || 2000"
+ ng-required="vm.field.validators.required || false" />
+ <select class="form-control" ng-if ="vm.field.type === 'select'"
+ name = "{{vm.name}}"
+ ng-options="item.id as item.label for item in vm.field.options"
ng-model="vm.ngModel"
- ng-minlength="vm.field.validators.minlength || 0"
- ng-maxlength="vm.field.validators.maxlength || 2000"
- ng-required="vm.field.validators.required || false" />
- <select class="form-control" ng-if ="vm.field.type === 'select'"
- name = "{{vm.name}}"
- ng-options="item.id as item.label for item in vm.field.options"
- ng-model="vm.ngModel"
- ng-required="vm.field.validators.required || false">
- </select>
- <span class="boolean-field" ng-if="vm.field.type === 'boolean'">
- <a href="#"
- class="btn btn-success"
- ng-show="vm.ngModel"
- ng-click="vm.ngModel = false">
- <i class="glyphicon glyphicon-ok"></i>
- </a>
- <a href="#"
- class="btn btn-danger"
- ng-show="!vm.ngModel"
- ng-click="vm.ngModel = true">
- <i class="glyphicon glyphicon-remove"></i>
- </a>
- </span>
- <div
- class="panel panel-default object-field"
- ng-if="vm.field.type == 'object' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"
- >
- <div class="panel-heading">{{vm.field.label}}</div>
- <div class="panel-body">
- <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">
- <xos-field
- name="k"
- field="{label: vm.formatLabel(k), type: vm.getType(v)}"
- ng-model="v">
- </xos-field>
- </div>
- <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">
- <xos-field
- name="k"
- field="{
- label: v.label || vm.formatLabel(k),
- type: v.type,
- validators: v.validators
- }"
- ng-model="vm.ngModel[k]">
- </xos-field>
- </div>
+ ng-required="vm.field.validators.required || false">
+ </select>
+ <span class="boolean-field" ng-if="vm.field.type === 'boolean'">
+ <a href="#"
+ class="btn btn-success"
+ ng-show="vm.ngModel"
+ ng-click="vm.ngModel = false">
+ <i class="glyphicon glyphicon-ok"></i>
+ </a>
+ <a href="#"
+ class="btn btn-danger"
+ ng-show="!vm.ngModel"
+ ng-click="vm.ngModel = true">
+ <i class="glyphicon glyphicon-remove"></i>
+ </a>
+ </span>
+ <div
+ class="panel panel-default object-field"
+ ng-if="vm.field.type == 'object' && (!vm.isEmptyObject(vm.ngModel) || !vm.isEmptyObject(vm.field.properties))"
+ >
+ <div class="panel-heading">{{vm.field.label}}</div>
+ <div class="panel-body">
+ <div ng-if="!vm.field.properties" ng-repeat="(k, v) in vm.ngModel">
+ <xos-field
+ name="k"
+ field="{label: vm.formatLabel(k), type: vm.getType(v)}"
+ ng-model="v">
+ </xos-field>
+ </div>
+ <div ng-if="vm.field.properties" ng-repeat="(k, v) in vm.field.properties">
+ <xos-field
+ name="k"
+ field="{
+ label: v.label || vm.formatLabel(k),
+ type: v.type,
+ validators: v.validators
+ }"
+ ng-model="vm.ngModel[k]">
+ </xos-field>
</div>
</div>
- `,
- bindToController: true,
- controllerAs: 'vm',
- // the compile cicle is needed to support recursion
- compile: function (element) {
- return RecursionHelper.compile(element);
- },
- controller: function($attrs, XosFormHelpers, LabelFormatter){
+ </div>
+ `,
+ bindToController: true,
+ controllerAs: 'vm',
+ // the compile cicle is needed to support recursion
+ //compile: function (element) {
+ // return RecursionHelper.compile(element);
+ //},
+ controller: function($attrs, XosFormHelpers, LabelFormatter){
- if(!this.name){
- throw new Error('[xosField] Please provide a field name');
- }
- if(!this.field){
- throw new Error('[xosField] Please provide a field definition');
- }
- if(!this.field.type){
- throw new Error('[xosField] Please provide a type in the field definition');
- }
- if(!$attrs.ngModel){
- throw new Error('[xosField] Please provide an ng-model');
- }
- this.getType = XosFormHelpers._getFieldFormat;
- this.formatLabel = LabelFormatter.format;
-
- this.isEmptyObject = o => o ? Object.keys(o).length === 0 : true;
+ if(!this.name){
+ throw new Error('[xosField] Please provide a field name');
}
+ if(!this.field){
+ throw new Error('[xosField] Please provide a field definition');
+ }
+ if(!this.field.type){
+ throw new Error('[xosField] Please provide a type in the field definition');
+ }
+ if(!$attrs.ngModel){
+ throw new Error('[xosField] Please provide an ng-model');
+ }
+ this.getType = XosFormHelpers._getFieldFormat;
+ this.formatLabel = LabelFormatter.format;
+
+ this.isEmptyObject = o => o ? Object.keys(o).length === 0 : true;
}
})
diff --git a/src/ui_components/dumbComponents/form/form.component.js b/src/ui_components/dumbComponents/form/form.component.js
index 4d9169b..9fedb3c 100644
--- a/src/ui_components/dumbComponents/form/form.component.js
+++ b/src/ui_components/dumbComponents/form/form.component.js
@@ -204,82 +204,80 @@
**/
- .directive('xosForm', function(){
- return {
- restrict: 'E',
- scope: {
- config: '=',
- ngModel: '='
- },
- template: `
- <form name="vm.{{vm.config.formName || 'form'}}" novalidate>
- <div class="form-group" ng-repeat="(name, field) in vm.formField">
- <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>
- <xos-validation field="vm[vm.config.formName || 'form'][name]" form = "vm[vm.config.formName || 'form']"></xos-validation>
- <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>
- </div>
- <div class="form-group" ng-if="vm.config.actions">
- <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>
+ .component('xosForm', {
+ restrict: 'E',
+ bindings: {
+ config: '=',
+ ngModel: '='
+ },
+ template: `
+ <form name="vm.{{vm.config.formName || 'form'}}" novalidate>
+ <div class="form-group" ng-repeat="(name, field) in vm.formField">
+ <xos-field name="name" field="field" ng-model="vm.ngModel[name]"></xos-field>
+ <xos-validation field="vm[vm.config.formName || 'form'][name]" form = "vm[vm.config.formName || 'form']"></xos-validation>
+ <div class="alert alert-info" ng-show="(field.hint).length >0" role="alert">{{field.hint}}</div>
+ </div>
+ <div class="form-group" ng-if="vm.config.actions">
+ <xos-alert config="vm.config.feedback" show="vm.config.feedback.show">{{vm.config.feedback.message}}</xos-alert>
- <button role="button" href=""
- ng-repeat="action in vm.config.actions"
- ng-click="action.cb(vm.ngModel, vm[vm.config.formName || 'form'])"
- class="btn btn-{{action.class}}"
- title="{{action.label}}">
- <i class="glyphicon glyphicon-{{action.icon}}"></i>
- {{action.label}}
- </button>
- </div>
- </form>
- `,
- bindToController: true,
- controllerAs: 'vm',
- controller: function($scope, $log, _, XosFormHelpers){
+ <button role="button" href=""
+ ng-repeat="action in vm.config.actions"
+ ng-click="action.cb(vm.ngModel, vm[vm.config.formName || 'form'])"
+ class="btn btn-{{action.class}}"
+ title="{{action.label}}">
+ <i class="glyphicon glyphicon-{{action.icon}}"></i>
+ {{action.label}}
+ </button>
+ </div>
+ </form>
+ `,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function($scope, $log, _, XosFormHelpers){
- if(!this.config){
- throw new Error('[xosForm] Please provide a configuration via the "config" attribute');
- }
-
- if(!this.config.actions){
- throw new Error('[xosForm] Please provide an action list in the configuration');
- }
-
- if(!this.config.feedback){
- this.config.feedback = {
- show: false,
- message: 'Form submitted successfully !!!',
- type: 'success'
- }
- }
-
- this.excludedField = ['id', 'validators', 'created', 'updated', 'deleted', 'backend_status'];
- if(this.config && this.config.exclude){
- this.excludedField = this.excludedField.concat(this.config.exclude);
- }
-
- this.formField = [];
-
- $scope.$watch(() => this.config, ()=> {
- if(!this.ngModel){
- return;
- }
- let diff = _.difference(Object.keys(this.ngModel), this.excludedField);
- let modelField = XosFormHelpers.parseModelField(diff);
- this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, this.ngModel);
- }, true);
-
- $scope.$watch(() => this.ngModel, (model) => {
- // empty from old stuff
- this.formField = {};
- if(!model){
- return;
- }
- let diff = _.difference(Object.keys(model), this.excludedField);
- let modelField = XosFormHelpers.parseModelField(diff);
- this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, model);
- });
-
+ if(!this.config){
+ throw new Error('[xosForm] Please provide a configuration via the "config" attribute');
}
+
+ if(!this.config.actions){
+ throw new Error('[xosForm] Please provide an action list in the configuration');
+ }
+
+ if(!this.config.feedback){
+ this.config.feedback = {
+ show: false,
+ message: 'Form submitted successfully !!!',
+ type: 'success'
+ }
+ }
+
+ this.excludedField = ['id', 'validators', 'created', 'updated', 'deleted', 'backend_status'];
+ if(this.config && this.config.exclude){
+ this.excludedField = this.excludedField.concat(this.config.exclude);
+ }
+
+ this.formField = [];
+
+ $scope.$watch(() => this.config, ()=> {
+ if(!this.ngModel){
+ return;
+ }
+ let diff = _.difference(Object.keys(this.ngModel), this.excludedField);
+ let modelField = XosFormHelpers.parseModelField(diff);
+ this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, this.ngModel);
+ }, true);
+
+ $scope.$watch(() => this.ngModel, (model) => {
+ // empty from old stuff
+ this.formField = {};
+ if(!model){
+ return;
+ }
+ let diff = _.difference(Object.keys(model), this.excludedField);
+ let modelField = XosFormHelpers.parseModelField(diff);
+ this.formField = XosFormHelpers.buildFormStructure(modelField, this.config.fields, model);
+ });
+
}
});
})();
diff --git a/src/ui_components/dumbComponents/pagination/pagination.component.js b/src/ui_components/dumbComponents/pagination/pagination.component.js
index ddb1eb9..0324751 100644
--- a/src/ui_components/dumbComponents/pagination/pagination.component.js
+++ b/src/ui_components/dumbComponents/pagination/pagination.component.js
@@ -45,69 +45,67 @@
</example>
**/
- .directive('xosPagination', function(){
- return {
- restrict: 'E',
- scope: {
- pageSize: '=',
- totalElements: '=',
- change: '='
- },
- template: `
- <div class="row" ng-if="vm.pageList.length > 1">
- <div class="col-xs-12 text-center">
- <ul class="pagination">
- <li
- ng-click="vm.goToPage(vm.currentPage - 1)"
- ng-class="{disabled: vm.currentPage == 0}">
- <a href="" aria-label="Previous">
- <span aria-hidden="true">«</span>
- </a>
- </li>
- <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">
- <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>
- </li>
- <li
- ng-click="vm.goToPage(vm.currentPage + 1)"
- ng-class="{disabled: vm.currentPage == vm.pages - 1}">
- <a href="" aria-label="Next">
- <span aria-hidden="true">»</span>
- </a>
- </li>
- </ul>
- </div>
+ .component('xosPagination', {
+ restrict: 'E',
+ bindings: {
+ pageSize: '=',
+ totalElements: '=',
+ change: '='
+ },
+ template: `
+ <div class="row" ng-if="vm.pageList.length > 1">
+ <div class="col-xs-12 text-center">
+ <ul class="pagination">
+ <li
+ ng-click="vm.goToPage(vm.currentPage - 1)"
+ ng-class="{disabled: vm.currentPage == 0}">
+ <a href="" aria-label="Previous">
+ <span aria-hidden="true">«</span>
+ </a>
+ </li>
+ <li ng-repeat="i in vm.pageList" ng-class="{active: i === vm.currentPage}">
+ <a href="" ng-click="vm.goToPage(i)">{{i + 1}}</a>
+ </li>
+ <li
+ ng-click="vm.goToPage(vm.currentPage + 1)"
+ ng-class="{disabled: vm.currentPage == vm.pages - 1}">
+ <a href="" aria-label="Next">
+ <span aria-hidden="true">»</span>
+ </a>
+ </li>
+ </ul>
</div>
- `,
- bindToController: true,
- controllerAs: 'vm',
- controller: function($scope){
-
- this.currentPage = 0;
+ </div>
+ `,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function($scope){
- this.goToPage = (n) => {
- if(n < 0 || n === this.pages){
- return;
- }
- this.currentPage = n;
- this.change(n);
+ this.currentPage = 0;
+
+ this.goToPage = (n) => {
+ if(n < 0 || n === this.pages){
+ return;
}
-
- this.createPages = (pages) => {
- let arr = [];
- for(let i = 0; i < pages; i++){
- arr.push(i);
- }
- return arr;
- }
-
- // watch for data changes
- $scope.$watch(() => this.totalElements, () => {
- if(this.totalElements){
- this.pages = Math.ceil(this.totalElements / this.pageSize);
- this.pageList = this.createPages(this.pages);
- }
- });
+ this.currentPage = n;
+ this.change(n);
}
+
+ this.createPages = (pages) => {
+ let arr = [];
+ for(let i = 0; i < pages; i++){
+ arr.push(i);
+ }
+ return arr;
+ }
+
+ // watch for data changes
+ $scope.$watch(() => this.totalElements, () => {
+ if(this.totalElements){
+ this.pages = Math.ceil(this.totalElements / this.pageSize);
+ this.pageList = this.createPages(this.pages);
+ }
+ });
}
})
.filter('pagination', function(){
diff --git a/src/ui_components/dumbComponents/table/table.component.js b/src/ui_components/dumbComponents/table/table.component.js
index 1e60458..e8f66b4 100644
--- a/src/ui_components/dumbComponents/table/table.component.js
+++ b/src/ui_components/dumbComponents/table/table.component.js
@@ -330,196 +330,193 @@
</example>
**/
- .directive('xosTable', function(){
- return {
- restrict: 'E',
- scope: {
- data: '=',
- config: '='
- },
- template: `
- <div ng-show="vm.data.length > 0 && vm.loader == false">
- <div class="row" ng-if="vm.config.filter == 'fulltext'">
- <div class="col-xs-12">
- <input
- class="form-control"
- placeholder="Type to search.."
- type="text"
- ng-model="vm.query"/>
- </div>
+ .component('xosTable', {
+ restrict: 'E',
+ bindings: {
+ data: '=',
+ config: '='
+ },
+ template: `
+ <div ng-show="vm.data.length > 0 && vm.loader == false">
+ <div class="row" ng-if="vm.config.filter == 'fulltext'">
+ <div class="col-xs-12">
+ <input
+ class="form-control"
+ placeholder="Type to search.."
+ type="text"
+ ng-model="vm.query"/>
</div>
- <table ng-class="vm.classes" ng-hide="vm.data.length == 0">
- <thead>
- <tr>
- <th ng-repeat="col in vm.columns">
- {{col.label}}
- <span ng-if="vm.config.order">
- <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">
- <i class="glyphicon glyphicon-chevron-up"></i>
- </a>
- <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">
- <i class="glyphicon glyphicon-chevron-down"></i>
- </a>
- </span>
- </th>
- <th ng-if="vm.config.actions">Actions:</th>
- </tr>
- </thead>
- <tbody ng-if="vm.config.filter == 'field'">
- <tr>
- <td ng-repeat="col in vm.columns">
- <input
- ng-if="col.type !== 'boolean' && col.type !== 'array' && col.type !== 'object' && col.type !== 'custom'"
- class="form-control"
- placeholder="Type to search by {{col.label}}"
- type="text"
- ng-model="vm.query[col.prop]"/>
- <select
- ng-if="col.type === 'boolean'"
- class="form-control"
- ng-model="vm.query[col.prop]">
- <option value="">-</option>
- <option value="true">True</option>
- <option value="false">False</option>
- </select>
- </td>
- <td ng-if="vm.config.actions"></td>
- </tr>
- </tbody>
- <tbody>
- <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">
- <td ng-repeat="col in vm.columns" xos-link-wrapper>
- <span ng-if="!col.type">{{item[col.prop]}}</span>
- <span ng-if="col.type === 'boolean'">
- <i class="glyphicon"
- ng-class="{'glyphicon-ok': item[col.prop], 'glyphicon-remove': !item[col.prop]}">
- </i>
- </span>
- <span ng-if="col.type === 'date'">
- {{item[col.prop] | date:'H:mm MMM d, yyyy'}}
- </span>
- <span ng-if="col.type === 'array'">
- {{item[col.prop] | arrayToList}}
- </span>
- <span ng-if="col.type === 'object'">
- <dl class="dl-horizontal">
- <span ng-repeat="(k,v) in item[col.prop]">
- <dt>{{k}}</dt>
- <dd>{{v}}</dd>
- </span>
- </dl>
- </span>
- <span ng-if="col.type === 'custom'">
- {{col.formatter(item)}}
- </span>
- <span ng-if="col.type === 'icon'">
- <i class="glyphicon glyphicon-{{col.formatter(item)}}">
- </i>
- </span>
- </td>
- <td ng-if="vm.config.actions">
- <a href=""
- ng-repeat="action in vm.config.actions"
- ng-click="action.cb(item)"
- title="{{action.label}}">
- <i
- class="glyphicon glyphicon-{{action.icon}}"
- style="color: {{action.color}};"></i>
+ </div>
+ <table ng-class="vm.classes" ng-hide="vm.data.length == 0">
+ <thead>
+ <tr>
+ <th ng-repeat="col in vm.columns">
+ {{col.label}}
+ <span ng-if="vm.config.order">
+ <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = false">
+ <i class="glyphicon glyphicon-chevron-up"></i>
</a>
- </td>
- </tr>
- </tbody>
- </table>
- <xos-pagination
- ng-if="vm.config.pagination"
- page-size="vm.config.pagination.pageSize"
- total-elements="vm.data.length"
- change="vm.goToPage">
- </xos-pagination>
- </div>
- <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">
- <xos-alert config="{type: 'info'}">
- No data to show.
- </xos-alert>
- </div>
- <div ng-show="vm.loader == true">
- <div class="loader"></div>
- </div>
- `,
- bindToController: true,
- controllerAs: 'vm',
- controller: function(_, $scope, Comparator){
+ <a href="" ng-click="vm.orderBy = col.prop; vm.reverse = true">
+ <i class="glyphicon glyphicon-chevron-down"></i>
+ </a>
+ </span>
+ </th>
+ <th ng-if="vm.config.actions">Actions:</th>
+ </tr>
+ </thead>
+ <tbody ng-if="vm.config.filter == 'field'">
+ <tr>
+ <td ng-repeat="col in vm.columns">
+ <input
+ ng-if="col.type !== 'boolean' && col.type !== 'array' && col.type !== 'object' && col.type !== 'custom'"
+ class="form-control"
+ placeholder="Type to search by {{col.label}}"
+ type="text"
+ ng-model="vm.query[col.prop]"/>
+ <select
+ ng-if="col.type === 'boolean'"
+ class="form-control"
+ ng-model="vm.query[col.prop]">
+ <option value="">-</option>
+ <option value="true">True</option>
+ <option value="false">False</option>
+ </select>
+ </td>
+ <td ng-if="vm.config.actions"></td>
+ </tr>
+ </tbody>
+ <tbody>
+ <tr ng-repeat="item in vm.data | filter:vm.query:vm.comparator | orderBy:vm.orderBy:vm.reverse | pagination:vm.currentPage * vm.config.pagination.pageSize | limitTo: (vm.config.pagination.pageSize || vm.data.length) track by $index">
+ <td ng-repeat="col in vm.columns" xos-link-wrapper>
+ <span ng-if="!col.type">{{item[col.prop]}}</span>
+ <span ng-if="col.type === 'boolean'">
+ <i class="glyphicon"
+ ng-class="{'glyphicon-ok': item[col.prop], 'glyphicon-remove': !item[col.prop]}">
+ </i>
+ </span>
+ <span ng-if="col.type === 'date'">
+ {{item[col.prop] | date:'H:mm MMM d, yyyy'}}
+ </span>
+ <span ng-if="col.type === 'array'">
+ {{item[col.prop] | arrayToList}}
+ </span>
+ <span ng-if="col.type === 'object'">
+ <dl class="dl-horizontal">
+ <span ng-repeat="(k,v) in item[col.prop]">
+ <dt>{{k}}</dt>
+ <dd>{{v}}</dd>
+ </span>
+ </dl>
+ </span>
+ <span ng-if="col.type === 'custom'">
+ {{col.formatter(item)}}
+ </span>
+ <span ng-if="col.type === 'icon'">
+ <i class="glyphicon glyphicon-{{col.formatter(item)}}">
+ </i>
+ </span>
+ </td>
+ <td ng-if="vm.config.actions">
+ <a href=""
+ ng-repeat="action in vm.config.actions"
+ ng-click="action.cb(item)"
+ title="{{action.label}}">
+ <i
+ class="glyphicon glyphicon-{{action.icon}}"
+ style="color: {{action.color}};"></i>
+ </a>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <xos-pagination
+ ng-if="vm.config.pagination"
+ page-size="vm.config.pagination.pageSize"
+ total-elements="vm.data.length"
+ change="vm.goToPage">
+ </xos-pagination>
+ </div>
+ <div ng-show="(vm.data.length == 0 || !vm.data) && vm.loader == false">
+ <xos-alert config="{type: 'info'}">
+ No data to show.
+ </xos-alert>
+ </div>
+ <div ng-show="vm.loader == true">
+ <div class="loader"></div>
+ </div>
+ `,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function(_, $scope, Comparator){
- this.comparator = Comparator;
+ this.comparator = Comparator;
- this.loader = true;
+ this.loader = true;
- $scope.$watch(() => this.data, data => {
- if(angular.isDefined(data)){
- this.loader = false;
+ $scope.$watch(() => this.data, data => {
+ if(angular.isDefined(data)){
+ this.loader = false;
+ }
+ });
+
+ if(!this.config){
+ throw new Error('[xosTable] Please provide a configuration via the "config" attribute');
+ }
+
+ if(!this.config.columns){
+ throw new Error('[xosTable] Please provide a columns list in the configuration');
+ }
+
+ // handle default ordering
+ if(this.config.order && angular.isObject(this.config.order)){
+ this.reverse = this.config.order.reverse || false;
+ this.orderBy = this.config.order.field || 'id';
+ }
+
+ // if columns with type 'custom' are provided
+ // check that a custom formatte3 is provided too
+ let customCols = _.filter(this.config.columns, {type: 'custom'});
+ if(angular.isArray(customCols) && customCols.length > 0){
+ _.forEach(customCols, (col) => {
+ if(!col.formatter || !angular.isFunction(col.formatter)){
+ throw new Error('[xosTable] You have provided a custom field type, a formatter function should provided too.');
}
- });
+ })
+ }
- if(!this.config){
- throw new Error('[xosTable] Please provide a configuration via the "config" attribute');
- }
+ // if columns with type 'icon' are provided
+ // check that a custom formatte3 is provided too
+ let iconCols = _.filter(this.config.columns, {type: 'icon'});
+ if(angular.isArray(iconCols) && iconCols.length > 0){
+ _.forEach(iconCols, (col) => {
+ if(!col.formatter || !angular.isFunction(col.formatter)){
+ throw new Error('[xosTable] You have provided an icon field type, a formatter function should provided too.');
+ }
+ })
+ }
- if(!this.config.columns){
- throw new Error('[xosTable] Please provide a columns list in the configuration');
- }
+ // if a link property is passed,
+ // it should be a function
+ let linkedColumns = _.filter(this.config.columns, col => angular.isDefined(col.link));
+ if(angular.isArray(linkedColumns) && linkedColumns.length > 0){
+ _.forEach(linkedColumns, (col) => {
+ if(!angular.isFunction(col.link)){
+ throw new Error('[xosTable] The link property should be a function.');
+ }
+ })
+ }
- // handle default ordering
- if(this.config.order && angular.isObject(this.config.order)){
- this.reverse = this.config.order.reverse || false;
- this.orderBy = this.config.order.field || 'id';
- }
+ this.columns = this.config.columns;
+ this.classes = this.config.classes || 'table table-striped table-bordered';
- // if columns with type 'custom' are provided
- // check that a custom formatte3 is provided too
- let customCols = _.filter(this.config.columns, {type: 'custom'});
- if(angular.isArray(customCols) && customCols.length > 0){
- _.forEach(customCols, (col) => {
- if(!col.formatter || !angular.isFunction(col.formatter)){
- throw new Error('[xosTable] You have provided a custom field type, a formatter function should provided too.');
- }
- })
- }
-
- // if columns with type 'icon' are provided
- // check that a custom formatte3 is provided too
- let iconCols = _.filter(this.config.columns, {type: 'icon'});
- if(angular.isArray(iconCols) && iconCols.length > 0){
- _.forEach(iconCols, (col) => {
- if(!col.formatter || !angular.isFunction(col.formatter)){
- throw new Error('[xosTable] You have provided an icon field type, a formatter function should provided too.');
- }
- })
- }
-
- // if a link property is passed,
- // it should be a function
- let linkedColumns = _.filter(this.config.columns, col => angular.isDefined(col.link));
- if(angular.isArray(linkedColumns) && linkedColumns.length > 0){
- _.forEach(linkedColumns, (col) => {
- if(!angular.isFunction(col.link)){
- throw new Error('[xosTable] The link property should be a function.');
- }
- })
- }
-
- this.columns = this.config.columns;
- this.classes = this.config.classes || 'table table-striped table-bordered';
-
- if(this.config.actions){
- // TODO validate action format
- }
- if(this.config.pagination){
- this.currentPage = 0;
- this.goToPage = (n) => {
- this.currentPage = n;
- };
- }
-
+ if(this.config.actions){
+ // TODO validate action format
+ }
+ if(this.config.pagination){
+ this.currentPage = 0;
+ this.goToPage = (n) => {
+ this.currentPage = n;
+ };
}
}
})
diff --git a/src/ui_components/dumbComponents/validation/validation.component.js b/src/ui_components/dumbComponents/validation/validation.component.js
index 91610e1..42deb4e 100644
--- a/src/ui_components/dumbComponents/validation/validation.component.js
+++ b/src/ui_components/dumbComponents/validation/validation.component.js
@@ -73,39 +73,37 @@
</example>
*/
- .directive('xosValidation', function(){
- return {
- restrict: 'E',
- scope: {
- field: '=',
- form: '='
- },
- template: `
- <div ng-cloak>
- <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">
- Field required
- </xos-alert>
- <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">
- This is not a valid email
- </xos-alert>
- <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">
- Too short
- </xos-alert>
- <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">
- Too long
- </xos-alert>
- <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">
- Field invalid
- </xos-alert>
- </div>
- `,
- transclude: true,
- bindToController: true,
- controllerAs: 'vm',
- controller: function(){
- this.config = {
- type: 'danger'
- }
+ .component('xosValidation', {
+ restrict: 'E',
+ bindings: {
+ field: '=',
+ form: '='
+ },
+ template: `
+ <div ng-cloak>
+ <xos-alert config="vm.config" show="vm.field.$error.required !== undefined && vm.field.$error.required !== false && (vm.field.$touched || vm.form.$submitted)">
+ Field required
+ </xos-alert>
+ <xos-alert config="vm.config" show="vm.field.$error.email !== undefined && vm.field.$error.email !== false && (vm.field.$touched || vm.form.$submitted)">
+ This is not a valid email
+ </xos-alert>
+ <xos-alert config="vm.config" show="vm.field.$error.minlength !== undefined && vm.field.$error.minlength !== false && (vm.field.$touched || vm.form.$submitted)">
+ Too short
+ </xos-alert>
+ <xos-alert config="vm.config" show="vm.field.$error.maxlength !== undefined && vm.field.$error.maxlength !== false && (vm.field.$touched || vm.form.$submitted)">
+ Too long
+ </xos-alert>
+ <xos-alert config="vm.config" show="vm.field.$error.custom !== undefined && vm.field.$error.custom !== false && (vm.field.$touched || vm.form.$submitted)">
+ Field invalid
+ </xos-alert>
+ </div>
+ `,
+ transclude: true,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function(){
+ this.config = {
+ type: 'danger'
}
}
})
diff --git a/src/ui_components/smartComponents/smartPie/smartPie.component.js b/src/ui_components/smartComponents/smartPie/smartPie.component.js
index f8a3985..2276b5d 100644
--- a/src/ui_components/smartComponents/smartPie/smartPie.component.js
+++ b/src/ui_components/smartComponents/smartPie/smartPie.component.js
@@ -172,77 +172,75 @@
</file>
</example>
*/
- .directive('xosSmartPie', function(){
- return {
- restrict: 'E',
- scope: {
- config: '='
- },
- template: `
- <canvas
- class="chart chart-pie {{vm.config.classes}}"
- chart-data="vm.data" chart-labels="vm.labels"
- chart-legend="{{vm.config.legend}}">
- </canvas>
- `,
- bindToController: true,
- controllerAs: 'vm',
- controller: function($injector, $interval, $scope, $timeout, _){
+ .component('xosSmartPie', {
+ restrict: 'E',
+ bindings: {
+ config: '='
+ },
+ template: `
+ <canvas
+ class="chart chart-pie {{vm.config.classes}}"
+ chart-data="vm.data" chart-labels="vm.labels"
+ chart-legend="{{vm.config.legend}}">
+ </canvas>
+ `,
+ bindToController: true,
+ controllerAs: 'vm',
+ controller: function($injector, $interval, $scope, $timeout, _){
- if(!this.config.resource && !this.config.data){
- throw new Error('[xosSmartPie] Please provide a resource or an array of data in the configuration');
- }
-
- const groupData = (data) => _.groupBy(data, this.config.groupBy);
- const formatData = (data) => _.reduce(Object.keys(data), (list, group) => list.concat(data[group].length), []);
- const formatLabels = (data) => angular.isFunction(this.config.labelFormatter) ? this.config.labelFormatter(Object.keys(data)) : Object.keys(data);
-
- const prepareData = (data) => {
- // group data
- let grouped = groupData(data);
- this.data = formatData(grouped);
- // create labels
- this.labels = formatLabels(grouped);
- }
-
- if(this.config.resource){
-
- this.Resource = $injector.get(this.config.resource);
- const getData = () => {
- this.Resource.query().$promise
- .then((res) => {
-
- if(!res[0]){
- return;
- }
-
- prepareData(res);
- });
- }
-
- getData();
-
- if(this.config.poll){
- $interval(() => {getData()}, this.config.poll * 1000)
- }
- }
- else {
- $scope.$watch(() => this.config.data, (data) => {
- if(data){
- prepareData(this.config.data);
- }
- }, true);
- }
-
- $scope.$on('create', function (event, chart) {
- console.log(`create: ${chart.id}`);
- });
-
- $scope.$on('destroy', function (event, chart) {
- console.log(`destroy: ${chart.id}`);
- });
-
+ if(!this.config.resource && !this.config.data){
+ throw new Error('[xosSmartPie] Please provide a resource or an array of data in the configuration');
}
- };
+
+ const groupData = (data) => _.groupBy(data, this.config.groupBy);
+ const formatData = (data) => _.reduce(Object.keys(data), (list, group) => list.concat(data[group].length), []);
+ const formatLabels = (data) => angular.isFunction(this.config.labelFormatter) ? this.config.labelFormatter(Object.keys(data)) : Object.keys(data);
+
+ const prepareData = (data) => {
+ // group data
+ let grouped = groupData(data);
+ this.data = formatData(grouped);
+ // create labels
+ this.labels = formatLabels(grouped);
+ }
+
+ if(this.config.resource){
+
+ this.Resource = $injector.get(this.config.resource);
+ const getData = () => {
+ this.Resource.query().$promise
+ .then((res) => {
+
+ if(!res[0]){
+ return;
+ }
+
+ prepareData(res);
+ });
+ }
+
+ getData();
+
+ if(this.config.poll){
+ $interval(() => {getData()}, this.config.poll * 1000)
+ }
+ }
+ else {
+ $scope.$watch(() => this.config.data, (data) => {
+ if(data){
+ prepareData(this.config.data);
+ }
+ }, true);
+ }
+
+ $scope.$on('create', function (event, chart) {
+ console.log(`create: ${chart.id}`);
+ });
+
+ $scope.$on('destroy', function (event, chart) {
+ console.log(`destroy: ${chart.id}`);
+ });
+
+ }
});
})();
diff --git a/src/ui_components/smartComponents/smartTable/smartTable.component.js b/src/ui_components/smartComponents/smartTable/smartTable.component.js
index 622952f..1fbc9d0 100644
--- a/src/ui_components/smartComponents/smartTable/smartTable.component.js
+++ b/src/ui_components/smartComponents/smartTable/smartTable.component.js
@@ -78,10 +78,9 @@
</example>
*/
- .directive('xosSmartTable', function(){
- return {
+ .component('xosSmartTable', {
restrict: 'E',
- scope: {
+ bindings: {
config: '='
},
template: `
@@ -121,7 +120,7 @@
bindToController: true,
controllerAs: 'vm',
controller: function($injector, LabelFormatter, _, XosFormHelpers){
-
+
// TODO
// - Validate the config (what if resource does not exist?)
@@ -264,6 +263,5 @@
getData();
}
- };
});
})();
\ No newline at end of file