diff --git a/public/config.js b/public/config.js index d21482bf..f1817748 100755 --- a/public/config.js +++ b/public/config.js @@ -4,7 +4,7 @@ var ApplicationConfiguration = (function() { // Init module configuration options var applicationModuleName = 'TellForm'; - var applicationModuleVendorDependencies = ['duScroll', 'ui.select', 'ngSanitize', 'vButton', 'ngResource', 'TellForm.templates', 'ui.router', 'ui.bootstrap', 'ui.utils', 'pascalprecht.translate', 'view-form']; + var applicationModuleVendorDependencies = ['ui.select', 'ngSanitize', 'vButton', 'ngResource', 'TellForm.templates', 'ui.router', 'ui.bootstrap', 'ui.utils', 'pascalprecht.translate', 'view-form']; // Add a new vertical module var registerModule = function(moduleName, dependencies) { diff --git a/public/dist/.placeholder b/public/dist/.placeholder deleted file mode 100644 index e69de29b..00000000 diff --git a/public/dist/application.js b/public/dist/application.js index de7c61a0..81b5fd43 100644 --- a/public/dist/application.js +++ b/public/dist/application.js @@ -592,7 +592,7 @@ angular.module('TellForm.templates', []).run(['$templateCache', function($templa " \n" + " \n" + "\n" + - "

{{ 'ADD_FIELD_LG' | translate }}

{{ 'ADD_FIELD_MD' | translate }}

{{ 'ADD_FIELD_SM' | translate }}

{{ 'WELCOME_SCREEN' | translate }}


{{field.title}} *

{{ 'CLICK_FIELDS_FOOTER' | translate }}


{{ 'END_SCREEN' | translate }}

"); + "

{{ 'ADD_FIELD_LG' | translate }}

{{ 'ADD_FIELD_MD' | translate }}

{{ 'ADD_FIELD_SM' | translate }}

{{ 'WELCOME_SCREEN' | translate }}


{{field.title}} *

{{ 'CLICK_FIELDS_FOOTER' | translate }}


{{ 'END_SCREEN' | translate }}

"); $templateCache.put("modules/forms/admin/views/directiveViews/form/edit-submissions-form.client.view.html", "
{{ 'TOTAL_VIEWS' | translate }}
{{ 'RESPONSES' | translate }}
{{ 'COMPLETION_RATE' | translate }}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{myform.analytics.visitors.length}}
{{myform.analytics.submissions}}
{{myform.analytics.conversionRate | number:0}}%
{{ AverageTimeElapsed | secondsToDateTime | date:'mm:ss'}}
{{ 'DESKTOP_AND_LAPTOP' | translate }}
{{ 'TABLETS' | translate }}
{{ 'PHONES' | translate }}
{{ 'OTHER' | translate }}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.desktop.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.other.visits}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.desktop.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.tablet.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.phone.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.other.responses}}
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.desktop.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.tablet.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.phone.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.other.completion}}%
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.desktop.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.tablet.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.phone.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.other.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'FIELD_TITLE' | translate }}
{{ 'FIELD_VIEWS' | translate }}
{{ 'FIELD_RESPONSES' | translate }}
{{ 'FIELD_DROPOFF' | translate }}
{{fieldStats.field.title}}
{{fieldStats.totalViews}}
{{fieldStats.responses}}
{{fieldStats.continueRate}}%

#{{value.title}}{{ 'PERCENTAGE_COMPLETE' | translate }}{{ 'TIME_ELAPSED' | translate }}{{ 'DEVICE' | translate }}{{ 'LOCATION' | translate }}{{ 'IP_ADDRESS' | translate }}{{ 'DATE_SUBMITTED' | translate }} (UTC)
{{$index+1}}{{field.fieldValue}}{{row.percentageComplete}}%{{row.timeElapsed | secondsToDateTime | date:'mm:ss'}}{{row.device.name}}, {{row.device.type}}{{row.geoLocation.City}}, {{row.geoLocation.Country}}{{row.ipAddr}}{{row.created | date:'yyyy-MM-dd HH:mm:ss'}}
"); $templateCache.put("modules/users/views/authentication/access-denied.client.view.html", @@ -624,28 +624,28 @@ angular.module('TellForm.templates', []).run(['$templateCache', function($templa $templateCache.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html", "

{{pageData.introTitle}}

{{pageData.introParagraph}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/date.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/dropdown.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/hidden.html", ""); $templateCache.put("form_modules/forms/base/views/directiveViews/field/legal.html", "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}


{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/radio.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/rating.html", "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/statement.html", "

{{field.title}}

{{field.description}}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textarea.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{ 'NEWLINE' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textfield.html", - "

{{index+1}} {{field.title}} ({{ 'OPTIONAL' | translate }})

{{field.description}}

{{ 'ENTER' | translate }}
"); + "

{{index+1}} {{field.title}} ({{ 'OPTIONAL' | translate }})

{{field.description}}

{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/yes_no.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html", - "

{{myform.startPage.introTitle}}

{{myform.startPage.introParagraph}}

{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

{{ 'FORM_SUCCESS' | translate }}

{{myform.endPage.title}}

{{myform.endPage.paragraph}}

"); + "

{{myform.startPage.introTitle}}

{{myform.startPage.introParagraph}}

{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

{{ 'FORM_SUCCESS' | translate }}

{{myform.endPage.title}}

{{myform.endPage.paragraph}}

"); $templateCache.put("form_modules/forms/base/views/form-not-found.client.view.html", "

404 - Form Does not Exist

The form you are trying to access does not exist. Sorry about that!
"); $templateCache.put("form_modules/forms/base/views/form-unauthorized.client.view.html", @@ -2185,7 +2185,7 @@ angular.module('forms').directive('editFormDirective', ['$rootScope', 'FormField // decides whether field options block will be shown (true for dropdown and radio fields) $scope.showAddOptions = function (field){ - if(field.fieldType === 'dropdown' || field.fieldType === 'checkbox' || field.fieldType === 'radio'){ + if($scope.field.fieldType === 'dropdown' || $scope.field.fieldType === 'checkbox' || $scope.field.fieldType === 'radio'){ return true; } else { return false; @@ -3510,7 +3510,7 @@ ApplicationConfiguration.registerModule('view-form', [ referrer: document.referrer, isSubmitted: form.submitted, formId: form._id, - lastActiveField: form.form_fields[lastActiveIndex]._id, + lastActiveField: form.form_fields[lastActiveIndex].globalId, timeElapsed: timeElapsed, language: lang, deviceType: deviceType, @@ -4123,7 +4123,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun ispreview: '=' }, controller: ["$document", "$window", "$scope", function($document, $window, $scope){ - var NOSCROLL = false; + $scope.disableScrollWatch = false; var FORM_ACTION_ID = 'submit_field'; $scope.forms = {}; @@ -4155,10 +4155,10 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $scope.error = ''; $scope.selected = { - _id: '', + globalId: '', index: 0 }; - $scope.setActiveField($scope.myform.visible_form_fields[0]._id, 0, false); + $scope.setActiveField($scope.myform.visible_form_fields[0].globalId, 0, false); //Reset Timer TimeCounter.restartClock(); @@ -4233,14 +4233,14 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun throw new Error('current active field is null'); } - if($scope.selected._id === FORM_ACTION_ID) { + if($scope.selected.globalId === FORM_ACTION_ID) { return $scope.myform.form_fields.length - 1; } return $scope.selected.index; }; $scope.isActiveField = function(field){ - if($scope.selected._id === field._id) { + if($scope.selected.globalId === field.globalId) { return true } return false; @@ -4252,7 +4252,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun } if(!field_id){ - field_id = $scope.myform.visible_form_fields[field_index]._id; + field_id = $scope.myform.visible_form_fields[field_index].globalId; } else if(field_index === null){ field_index = $scope.myform.visible_form_fields.length @@ -4265,14 +4265,13 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun } } - if($scope.selected._id === field_id){ + if($scope.selected.globalId === field_id){ return; } - $scope.selected._id = field_id; + $scope.selected.globalId = field_id; $scope.selected.index = field_index; - var nb_valid = $filter('formValidity')($scope.myform); $scope.translateAdvancementData = { done: nb_valid, @@ -4281,10 +4280,10 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun }; if(animateScroll){ - NOSCROLL=true; + $scope.disableScrollWatch = true; setTimeout(function() { - $document.scrollToElement(angular.element('.activeField'), -10, 200).then(function() { - NOSCROLL = false; + $document.scrollToElement(angular.element('#'+$scope.selected.globalId), -10, 200).then(function() { + $scope.disableScrollWatch = false; setTimeout(function() { if (document.querySelectorAll('.activeField .focusOn').length) { //Handle default case @@ -4296,6 +4295,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //Handle case for dropdown input document.querySelectorAll('.activeField .selectize-input')[0].focus(); } + $scope.$apply(); }); }); }); @@ -4307,14 +4307,14 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //Only send analytics data if form has not been submitted if(!$scope.myform.submitted){ console.log('SendVisitorData.send()'); - SendVisitorData.send($scope.myform, newValue, TimeCounter.getTimeElapsed()); + //SendVisitorData.send($scope.myform, newValue, TimeCounter.getTimeElapsed()); } } }); //Fire event when window is scrolled $window.onscroll = function(){ - if(!NOSCROLL){ + if(!$scope.disableScrollWatch ){ var scrollTop = $(window).scrollTop(); var elemBox = document.getElementsByClassName('activeField')[0].getBoundingClientRect(); @@ -4366,11 +4366,11 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $rootScope.nextField = $scope.nextField = function(){ if($scope.selected && $scope.selected.index > -1){ - if($scope.selected._id !== FORM_ACTION_ID){ + if($scope.selected.globalId !== FORM_ACTION_ID){ var currField = $scope.myform.visible_form_fields[$scope.selected.index]; //Jump to logicJump's destination if it is true - if(currField.logicJump && currField.logicJump.jumpTo && evaluateLogicJump(currField)){ + if(currField.logicJump.enabled && currField.logicJump.jumpTo && evaluateLogicJump(currField)){ $scope.setActiveField(currField.logicJump.jumpTo, null, true); } else if($scope.selected.index < $scope.myform.visible_form_fields.length-1){ $scope.setActiveField(null, $scope.selected.index+1, true); @@ -4385,12 +4385,9 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //If selected is not defined go to the first field $rootScope.setActiveField(null, 0, true); } - }; $rootScope.prevField = $scope.prevField = function(){ - console.log('prevField'); - console.log($scope.selected); var selected_index = $scope.selected.index - 1; if($scope.selected.index > 0){ $scope.setActiveField(null, selected_index, true); @@ -4408,7 +4405,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $scope.exitStartPage = function(){ $scope.myform.startPage.showStart = false; if($scope.myform.visible_form_fields.length > 0){ - $scope.selected._id = $scope.myform.visible_form_fields[0]._id; + $scope.selected.globalId = $scope.myform.visible_form_fields[0].globalId; } }; diff --git a/public/dist/application.min.js b/public/dist/application.min.js index 6545eb95..ad879218 100644 --- a/public/dist/application.min.js +++ b/public/dist/application.min.js @@ -1,5 +1,5 @@ -"use strict";var ApplicationConfiguration=function(){var a="TellForm",b=["duScroll","ui.select","ngSanitize","vButton","ngResource","TellForm.templates","ui.router","ui.bootstrap","ui.utils","pascalprecht.translate","view-form"],c=function(b,c){angular.module(b,c||[]),angular.module(a).requires.push(b)};return{applicationModuleName:a,applicationModuleVendorDependencies:b,registerModule:c}}();angular.module(ApplicationConfiguration.applicationModuleName,ApplicationConfiguration.applicationModuleVendorDependencies),angular.module(ApplicationConfiguration.applicationModuleName).config(["$locationProvider",function(a){a.hashPrefix("!")}]),angular.module(ApplicationConfiguration.applicationModuleName).constant("APP_PERMISSIONS",{viewAdminSettings:"viewAdminSettings",editAdminSettings:"editAdminSettings",editForm:"editForm",viewPrivateForm:"viewPrivateForm"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("USER_ROLES",{admin:"admin",normal:"user",superuser:"superuser"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("FORM_URL","/forms/:formId"),angular.element(document).ready(function(){"#_=_"===window.location.hash&&(window.location.hash="#!"),angular.bootstrap(document,[ApplicationConfiguration.applicationModuleName])}),angular.module("TellForm.templates",[]).run(["$templateCache",function(a){a.put("modules/core/views/header.client.view.html",''),a.put("modules/forms/admin/views/admin-form.client.view.html",'
{{ \'TELLFORM_URL\' | translate }}
{{ \'COPY_AND_PASTE\' | translate }}
{{ \'BACKGROUND_COLOR\' | translate }}
{{ \'QUESTION_TEXT_COLOR\' | translate }}
{{ \'ANSWER_TEXT_COLOR\' | translate }}
{{ \'BTN_BACKGROUND_COLOR\' | translate }}
{{ \'BTN_TEXT_COLOR\' | translate }}
'),a.put("modules/forms/admin/views/list-forms.client.view.html",'

{{ \'CREATE_A_NEW_FORM\' | translate }}
{{ \'NAME\' | translate }}
{{ \'LANGUAGE\' | translate }}

{{ form.numberOfResponses }} {{ \'RESPONSES\' | translate }}

{{ \'FORM_PAUSED\' | translate }}
'),a.put("modules/forms/admin/views/adminTabs/analyze.html",""),a.put("modules/forms/admin/views/adminTabs/configure.html",""),a.put("modules/forms/admin/views/adminTabs/create.html",""),a.put("modules/forms/admin/views/directiveViews/form/configure-form.client.view.html",'
{{ \'FORM_NAME\' | translate }}
{{ \'FORM_STATUS\' | translate }}
{{ \'LANGUAGE\' | translate }}
* {{ \'REQUIRED_FIELD\' | translate }}
{{ \'GA_TRACKING_CODE\' | translate }}
{{ \'DISPLAY_FOOTER\' | translate }}
{{ \'DISPLAY_START_PAGE\' | translate }}
{{ \'DISPLAY_END_PAGE\' | translate }}
'),a.put("modules/forms/admin/views/directiveViews/form/edit-form.client.view.html",'

{{ \'WELCOME_SCREEN\' | translate }}


{{field.title}} *

{{ \'CLICK_FIELDS_FOOTER\' | translate }}


{{ \'END_SCREEN\' | translate }}

'), -a.put("modules/forms/admin/views/directiveViews/form/edit-submissions-form.client.view.html","
{{ 'TOTAL_VIEWS' | translate }}
{{ 'RESPONSES' | translate }}
{{ 'COMPLETION_RATE' | translate }}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{myform.analytics.visitors.length}}
{{myform.analytics.submissions}}
{{myform.analytics.conversionRate | number:0}}%
{{ AverageTimeElapsed | secondsToDateTime | date:'mm:ss'}}
{{ 'DESKTOP_AND_LAPTOP' | translate }}
{{ 'TABLETS' | translate }}
{{ 'PHONES' | translate }}
{{ 'OTHER' | translate }}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.desktop.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.other.visits}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.desktop.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.tablet.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.phone.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.other.responses}}
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.desktop.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.tablet.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.phone.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.other.completion}}%
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.desktop.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.tablet.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.phone.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.other.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'FIELD_TITLE' | translate }}
{{ 'FIELD_VIEWS' | translate }}
{{ 'FIELD_RESPONSES' | translate }}
{{ 'FIELD_DROPOFF' | translate }}
{{fieldStats.field.title}}
{{fieldStats.totalViews}}
{{fieldStats.responses}}
{{fieldStats.continueRate}}%

#{{value.title}}{{ 'PERCENTAGE_COMPLETE' | translate }}{{ 'TIME_ELAPSED' | translate }}{{ 'DEVICE' | translate }}{{ 'LOCATION' | translate }}{{ 'IP_ADDRESS' | translate }}{{ 'DATE_SUBMITTED' | translate }} (UTC)
{{$index+1}}{{field.fieldValue}}{{row.percentageComplete}}%{{row.timeElapsed | secondsToDateTime | date:'mm:ss'}}{{row.device.name}}, {{row.device.type}}{{row.geoLocation.City}}, {{row.geoLocation.Country}}{{row.ipAddr}}{{row.created | date:'yyyy-MM-dd HH:mm:ss'}}
"),a.put("modules/users/views/authentication/access-denied.client.view.html","

{{ 'ACCESS_DENIED_TEXT' | translate }}

{{ 'SIGNIN_BTN' | translate }}
"),a.put("modules/users/views/authentication/signin.client.view.html",'
'),a.put("modules/users/views/authentication/signup-success.client.view.html",'

{{ \'SUCCESS_HEADER\' | translate }}

{{ \'SUCCESS_TEXT\' | translate }}

{{ \'NOT_ACTIVATED_YET\' | translate }}



{{ \'BEFORE_YOU_CONTINUE\' | translate }} polydaic@gmail.com

'),a.put("modules/users/views/authentication/signup.client.view.html",'
'),a.put("modules/users/views/password/forgot-password.client.view.html",'
Error: {{error}}
{{success}}
'),a.put("modules/users/views/password/reset-password-invalid.client.view.html","

{{ 'PASSWORD_RESET_INVALID' | translate }}

{{ 'ASK_FOR_NEW_PASSWORD' | translate }}
"),a.put("modules/users/views/password/reset-password-success.client.view.html","

{{ 'PASSWORD_RESET_SUCCESS' | translate }}

{{ 'CONTINUE_TO_LOGIN' | translate }}
"),a.put("modules/users/views/password/reset-password.client.view.html",'

{{ \'RESET_PASSWORD\' | translate }}

'),a.put("modules/users/views/settings/change-password.client.view.html",'

{{ \'CHANGE_PASSWORD\' | translate }}

'),a.put("modules/users/views/settings/edit-profile.client.view.html",'

{{ \'EDIT_PROFILE\' | translate }}

'),a.put("modules/users/views/settings/social-accounts.client.view.html",'

{{ \'CONNECTED_SOCIAL_ACCOUNTS\' | translate }}:

{{ \'CONNECT_OTHER_SOCIAL_ACCOUNTS\' | translate }}

'),a.put("modules/users/views/verify/resend-verify-email.client.view.html",'
{{error}}

{{ \'VERIFICATION_EMAIL_SENT\' | translate }}

{{ \'VERIFICATION_EMAIL_SENT_TO\' | translate }} {{username}}.
{{ \'NOT_ACTIVATED_YET\' | translate }}

{{ \'CHECK_YOUR_EMAIL\' | translate }} polydaic@gmail.com

'),a.put("modules/users/views/verify/verify-account.client.view.html",'

{{ \'VERIFY_SUCCESS\' | translate }}

'),a.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html",'

{{pageData.introTitle}}

{{pageData.introParagraph}}

'),a.put("form_modules/forms/base/views/directiveViews/field/date.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/dropdown.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/hidden.html",""),a.put("form_modules/forms/base/views/directiveViews/field/legal.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/radio.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/rating.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/statement.html",'

{{field.title}}

{{field.description}}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/textarea.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{ \'NEWLINE\' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/textfield.html",'

{{index+1}} {{field.title}} ({{ \'OPTIONAL\' | translate }})

{{field.description}}

{{ \'ENTER\' | translate }}
'), -a.put("form_modules/forms/base/views/directiveViews/field/yes_no.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",'

{{myform.startPage.introTitle}}

{{myform.startPage.introParagraph}}

{{ \'COMPLETING_NEEDED\' | translate:translateAdvancementData }}
{{ \'FORM_SUCCESS\' | translate }}

{{myform.endPage.title}}

{{myform.endPage.paragraph}}

'),a.put("form_modules/forms/base/views/form-not-found.client.view.html",'

404 - Form Does not Exist

The form you are trying to access does not exist. Sorry about that!
'),a.put("form_modules/forms/base/views/form-unauthorized.client.view.html",'

Not Authorized to Access Form

The form you are trying to access is currently private and not accesible publically.
If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
'),a.put("form_modules/forms/base/views/submit-form.client.view.html","
")}]),ApplicationConfiguration.registerModule("core",["users"]),ApplicationConfiguration.registerModule("forms",["ngFileUpload","ui.router.tabs","ui.date","ui.sortable","angular-input-stars","users","ngclipboard"]),ApplicationConfiguration.registerModule("users"),angular.module("core").config(["$stateProvider","$urlRouterProvider",function(a,b,c){b.otherwise("/forms")}]),angular.module(ApplicationConfiguration.applicationModuleName).run(["$rootScope","Auth","$state","$stateParams",function(a,b,c,d){a.$state=c,a.$stateParams=d,a.$on("$stateChangeSuccess",function(a,d,e,f){c.previous=f;var g=["home","signin","resendVerifyEmail","verify","signup","signup-success","forgot","reset-invalid","reset","reset-success"];g.indexOf(d.name)>0?b.isAuthenticated()&&(a.preventDefault(),c.go("listForms")):"access_denied"===d.name||b.isAuthenticated()||"submitForm"===d.name||(a.preventDefault(),c.go("listForms"))})}]),angular.module(ApplicationConfiguration.applicationModuleName).run(["$rootScope","Auth","User","Authorizer","$state","$stateParams",function(a,b,c,d,e,f){a.$on("$stateChangeStart",function(a,f){var g,h,i;h=f&&f.data&&f.data.permissions?f.data.permissions:null,b.ensureHasCurrentUser(c),i=b.currentUser,i&&(g=new d(i),null!==h&&(g.canAccess(h)||(a.preventDefault(),e.go("access_denied"))))})}]),angular.module("core").controller("HeaderController",["$rootScope","$scope","Menus","$state","Auth","User","$window","$translate","$locale",function(a,b,c,d,e,f,g,h,i){a.signupDisabled=g.signupDisabled,b.user=a.user=e.ensureHasCurrentUser(f),b.authentication=a.authentication=e,a.languages=b.languages=["en","fr","es","it","de"],b.authentication.isAuthenticated()?a.language=b.user.language:a.language=i.id.substring(0,2),h.use(a.language),b.isCollapsed=!1,a.hideNav=!1,b.menu=c.getMenu("topbar"),b.signout=function(){var c=f.logout();c.then(function(){e.logout(),e.ensureHasCurrentUser(f),b.user=a.user=null,d.go("listForms"),d.reload()},function(a){console.error("Logout Failed: "+a)})},b.toggleCollapsibleMenu=function(){b.isCollapsed=!b.isCollapsed},b.$on("$stateChangeSuccess",function(c,d,e,f,g){b.isCollapsed=!1,a.hideNav=!1,angular.isDefined(d.data)&&angular.isDefined(d.data.hideNav)&&(a.hideNav=d.data.hideNav)})}]),angular.module("core").service("Menus",[function(){this.defaultRoles=["*"],this.menus={};var a=function(a){if(a){if(~this.roles.indexOf("*"))return!0;for(var b in a.roles)for(var c in this.roles)if(this.roles[c]===a.roles[b])return!0;return!1}return this.isPublic};this.validateMenuExistance=function(a){if(a&&a.length){if(this.menus[a])return!0;throw new Error("Menu does not exists")}throw new Error("MenuId was not provided")},this.getMenu=function(a){return this.validateMenuExistance(a),this.menus[a]},this.addMenu=function(b,c,d){return this.menus[b]={isPublic:c||!1,roles:d||this.defaultRoles,items:[],shouldRender:a},this.menus[b]},this.removeMenu=function(a){this.validateMenuExistance(a),delete this.menus[a]},this.addMenuItem=function(b,c,d,e,f,g,h,i){return this.validateMenuExistance(b),this.menus[b].items.push({title:c,link:d,menuItemType:e||"item",menuItemClass:e,uiRoute:f||"/"+d,isPublic:null===g||"undefined"==typeof g?this.menus[b].isPublic:g,roles:null===h||"undefined"==typeof h?this.menus[b].roles:h,position:i||0,items:[],shouldRender:a}),this.menus[b]},this.addSubMenuItem=function(b,c,d,e,f,g,h,i){this.validateMenuExistance(b);for(var j in this.menus[b].items)this.menus[b].items[j].link===c&&this.menus[b].items[j].items.push({title:d,link:e,uiRoute:f||"/"+e,isPublic:null===g||"undefined"==typeof g?this.menus[b].items[j].isPublic:g,roles:null===h||"undefined"==typeof h?this.menus[b].items[j].roles:h,position:i||0,shouldRender:a});return this.menus[b]},this.removeMenuItem=function(a,b){this.validateMenuExistance(a);for(var c in this.menus[a].items)this.menus[a].items[c].link===b&&this.menus[a].items.splice(c,1);return this.menus[a]},this.removeSubMenuItem=function(a,b){this.validateMenuExistance(a);for(var c in this.menus[a].items)for(var d in this.menus[a].items[c].items)this.menus[a].items[c].items[d].link===b&&this.menus[a].items[c].items.splice(d,1);return this.menus[a]},this.addMenu("topbar",!1,["*"]),this.addMenu("bottombar",!1,["*"])}]),angular.module("core").factory("subdomain",["$location",function(a){var b=a.host();return b.indexOf(".")<0?null:b.split(".")[0]}]),angular.module("forms").run(["Menus",function(a){a.addMenuItem("topbar","My Forms","forms","","/forms",!1)}]).filter("secondsToDateTime",[function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}]).filter("formValidity",[function(){return function(a){if(a&&a.form_fields&&a.visible_form_fields){var b=Object.keys(a),c=(b.filter(function(a){return"$"!==a[0]}),a.form_fields),d=c.filter(function(a){return"object"==typeof a&&"statement"!==a.fieldType&&"rating"!==a.fieldType?!!a.fieldValue:"rating"===a.fieldType||void 0}).length;return d-(a.form_fields.length-a.visible_form_fields.length)}return 0}}]).filter("trustSrc",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]).config(["$provide",function(a){a.decorator("accordionDirective",["$delegate",function(a){var b=a[0];return b.replace=!0,a}])}]),angular.module("forms").config(["$stateProvider",function(a){a.state("listForms",{url:"/forms",templateUrl:"modules/forms/admin/views/list-forms.client.view.html",resolve:{Forms:"GetForms",myForms:["GetForms","$q",function(a,b){var c=b.defer();return a.query(function(a){c.resolve(a)}),c.promise}]},controller:"ListFormsController",controllerAs:"ctrl"}).state("submitForm",{url:"/forms/:formId",templateUrl:"/static/form_modules/forms/base/views/submit-form.client.view.html",data:{hideNav:!0},resolve:{Forms:"GetForms",myForm:["GetForms","$stateParams","$q",function(a,b,c){var d=c.defer();return a.get({formId:b.formId},function(a){d.resolve(a)}),d.promise}]},controller:"SubmitFormController",controllerAs:"ctrl"}).state("viewForm",{url:"/forms/:formId/admin",templateUrl:"modules/forms/admin/views/admin-form.client.view.html",data:{permissions:["editForm"]},resolve:{GetForms:"GetForms",myForm:["GetForms","$stateParams","$q",function(a,b,c){var d=c.defer();return a.get({formId:b.formId},function(a){d.resolve(a)}),d.promise}]},controller:"AdminFormController"}).state("viewForm.configure",{url:"/configure",templateUrl:"modules/forms/admin/views/adminTabs/configure.html"}).state("viewForm.design",{url:"/design",templateUrl:"modules/forms/admin/views/adminTabs/design.html"}).state("viewForm.analyze",{url:"/analyze",templateUrl:"modules/forms/admin/views/adminTabs/analyze.html"}).state("viewForm.create",{url:"/create",templateUrl:"modules/forms/admin/views/adminTabs/create.html"})}]),angular.module("forms").factory("GetForms",["$resource","FORM_URL",function(a,b){return a(b,{formId:"@_id"},{query:{method:"GET",isArray:!0},get:{method:"GET",transformResponse:function(a,b){var c=angular.fromJson(a);return c.visible_form_fields=_.filter(c.form_fields,function(a){return a.deletePreserved===!1}),c}},update:{method:"PUT"},save:{method:"POST"}})}]),angular.module("users").config(["$httpProvider",function(a){a.interceptors.push(["$q","$location",function(a,b){return{responseError:function(c){return"/users/me"!==b.path()&&c.config&&"/users/me"!==c.config.url&&(401===c.status?(b.nextAfterLogin=b.path(),b.path("/signin")):403===c.status&&b.path("/access_denied")),a.reject(c)}}}])}]),angular.module("users").config(["$stateProvider",function(a){var b=function(a,b,c,d,e){var f=a.defer();return e.currentUser&&e.currentUser.email?b(f.resolve):e.currentUser=d.getCurrent(function(){e.login(),b(f.resolve())},function(){e.logout(),b(f.reject()),c.go("signin",{reload:!0})}),f.promise};b.$inject=["$q","$timeout","$state","User","Auth"];var c=function(a,b,c){var d=c.defer();return b(a.signupDisabled?d.reject():d.resolve()),d.promise};c.$inject=["$window","$timeout","$q"],a.state("profile",{resolve:{loggedin:b},url:"/settings/profile",templateUrl:"modules/users/views/settings/edit-profile.client.view.html"}).state("password",{resolve:{loggedin:b},url:"/settings/password",templateUrl:"modules/users/views/settings/change-password.client.view.html"}).state("accounts",{resolve:{loggedin:b},url:"/settings/accounts",templateUrl:"modules/users/views/settings/social-accounts.client.view.html"}).state("signup",{resolve:{isDisabled:c},url:"/signup",templateUrl:"modules/users/views/authentication/signup.client.view.html"}).state("signup-success",{resolve:{isDisabled:c},url:"/signup-success",templateUrl:"modules/users/views/authentication/signup-success.client.view.html"}).state("signin",{url:"/signin",templateUrl:"modules/users/views/authentication/signin.client.view.html"}).state("access_denied",{url:"/access_denied",templateUrl:"modules/users/views/authentication/access-denied.client.view.html"}).state("verify",{resolve:{isDisabled:c},url:"/verify/:token",templateUrl:"modules/users/views/verify/verify-account.client.view.html"}).state("resendVerifyEmail",{resolve:{isDisabled:c},url:"/verify",templateUrl:"modules/users/views/verify/resend-verify-email.client.view.html"}).state("forgot",{url:"/password/forgot",templateUrl:"modules/users/views/password/forgot-password.client.view.html"}).state("reset-invalid",{url:"/password/reset/invalid",templateUrl:"modules/users/views/password/reset-password-invalid.client.view.html"}).state("reset-success",{url:"/password/reset/success",templateUrl:"modules/users/views/password/reset-password-success.client.view.html"}).state("reset",{url:"/password/reset/:token",templateUrl:"modules/users/views/password/reset-password.client.view.html"})}]),angular.module("users").controller("AuthenticationController",["$scope","$location","$state","$rootScope","User","Auth",function(a,b,c,d,e,f){a=d,a.credentials={},a.error="",a.signin=function(){e.login(a.credentials).then(function(b){f.login(b),a.user=d.user=f.ensureHasCurrentUser(e),"home"!==c.previous.name&&"verify"!==c.previous.name&&""!==c.previous.name?c.go(c.previous.name):c.go("listForms")},function(b){d.user=f.ensureHasCurrentUser(e),a.user=d.user,a.error=b,console.error("loginError: "+b)})},a.signup=function(){return"admin"===a.credentials?void(a.error="Username cannot be 'admin'. Please pick another username."):void e.signup(a.credentials).then(function(a){c.go("signup-success")},function(b){console.error(b),b?(a.error=b,console.error(b)):console.error("No response received")})}}]),angular.module("users").controller("PasswordController",["$scope","$stateParams","$state","User",function(a,b,c,d){a.error="",a.askForPasswordReset=function(){d.askForPasswordReset(a.credentials).then(function(b){a.success=b.message,a.credentials=null},function(b){a.error=b,a.credentials=null})},a.resetUserPassword=function(){a.success=a.error=null,d.resetPassword(a.passwordDetails,b.token).then(function(b){a.success=b.message,a.passwordDetails=null,c.go("reset-success")},function(b){a.error=b.message||b,a.passwordDetails=null})}}]),angular.module("users").controller("SettingsController",["$scope","$rootScope","$http","$state","Users","Auth",function(a,b,c,d,e,f){a.user=f.currentUser,a.hasConnectedAdditionalSocialAccounts=function(b){for(var c in a.user.additionalProvidersData)return!0;return!1},a.cancel=function(){a.user=f.currentUser},a.isConnectedSocialAccount=function(b){return a.user.provider===b||a.user.additionalProvidersData&&a.user.additionalProvidersData[b]},a.removeUserSocialAccount=function(b){a.success=a.error=null,c["delete"]("/users/accounts",{params:{provider:b}}).success(function(b){a.success=!0,a.user=b}).error(function(b){a.error=b.message})},a.updateUserProfile=function(b){if(b){a.success=a.error=null;var c=new e(a.user);c.$update(function(b){a.success=!0,a.user=b},function(b){a.error=b.data.message})}else a.submitted=!0},a.changeUserPassword=function(){a.success=a.error=null,c.post("/users/password",a.passwordDetails).success(function(b){a.success=!0,a.passwordDetails=null}).error(function(b){a.error=b.message})}}]),angular.module("users").controller("VerifyController",["$scope","$state","$rootScope","User","Auth","$stateParams",function(a,b,c,d,e,f){a.isResetSent=!1,a.credentials={},a.error="",a.resendVerifyEmail=function(){d.resendVerifyEmail(a.credentials.email).then(function(b){a.success=b.message,a.credentials=null,a.isResetSent=!0},function(b){a.error=b,a.credentials.email=null,a.isResetSent=!1})},a.validateVerifyToken=function(){f.token&&(console.log(f.token),d.validateVerifyToken(f.token).then(function(b){a.success=b.message,a.isResetSent=!0,a.credentials.email=null},function(b){a.isResetSent=!1,a.error=b,a.credentials.email=null}))}}]),angular.module("users").factory("Auth",["$window",function(a){var b={isLoggedIn:!1},c={_currentUser:null,get currentUser(){return this._currentUser},ensureHasCurrentUser:function(d){return c._currentUser&&c._currentUser.username?c._currentUser:a.user?(c._currentUser=a.user,c._currentUser):void d.getCurrent().then(function(d){return c._currentUser=d,b.isLoggedIn=!0,a.user=c._currentUser,c._currentUser},function(d){return b.isLoggedIn=!1,c._currentUser=null,a.user=null,null})},isAuthenticated:function(){return!!c._currentUser},getUserState:function(){return b},login:function(a){b.isLoggedIn=!0,c._currentUser=a},logout:function(){a.user=null,b.isLoggedIn=!1,c._currentUser=null}};return c}]),angular.module("users").service("Authorizer",["APP_PERMISSIONS","USER_ROLES",function(a,b){return function(c){return{canAccess:function(d){var e,f,g;for(angular.isArray(d)||(d=[d]),e=0,f=d.length;e-1;case a.viewPrivateForm:case a.editForm:return c.roles.indexOf(b.admin)>-1||c.roles.indexOf(b.normal)>-1}}return!1}}}}]),angular.module("users").factory("User",["$window","$q","$timeout","$http","$state",function(a,b,c,d,e){var f={getCurrent:function(){var a=b.defer();return d.get("/users/me").success(function(b){a.resolve(b)}).error(function(){a.reject("User's session has expired")}),a.promise},login:function(a){var c=b.defer();return d.post("/auth/signin",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},logout:function(){var a=b.defer();return d.get("/auth/signout").then(function(b){a.resolve(null)},function(b){a.reject(b.data.message||b.data)}),a.promise},signup:function(a){var c=b.defer();return d.post("/auth/signup",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},resendVerifyEmail:function(a){var c=b.defer();return d.post("/auth/verify",{email:a}).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},validateVerifyToken:function(a){var c=/^([A-Za-z0-9]{48})$/g;if(!c.test(a))throw new Error("Error token: "+a+" is not a valid verification token");var e=b.defer();return d.get("/auth/verify/"+a).then(function(a){e.resolve(a.data)},function(a){e.reject(a.data)}),e.promise},resetPassword:function(a,c){var e=b.defer();return d.post("/auth/reset/"+c,a).then(function(a){e.resolve(a)},function(a){e.reject(a.data.message||a.data)}),e.promise},askForPasswordReset:function(a){var c=b.defer();return d.post("/auth/forgot",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise}};return f}]),angular.module("users").factory("Users",["$resource",function(a){return a("users",{},{update:{method:"PUT"}})}]),angular.module("core").config(["$translateProvider",function(a){a.translations("en",{MENU:"MENU",SIGNUP_TAB:"Sign Up",SIGNIN_TAB:"Sign In",SIGNOUT_TAB:"Signout",EDIT_PROFILE:"Edit Profile",MY_FORMS:"My Forms",MY_SETTINGS:"My Settings",CHANGE_PASSWORD:"Change Password"}),a.preferredLanguage("en").fallbackLanguage("en").useSanitizeValueStrategy("escape")}]),angular.module("core").config(["$translateProvider",function(a){a.translations("fr",{MENU:"MENU",SIGNUP_TAB:"Créer un Compte",SIGNIN_TAB:"Connexion",SIGNOUT_TAB:"Créer un compte",EDIT_PROFILE:"Modifier Mon Profil",MY_FORMS:"Mes Formulaires",MY_SETTINGS:"Mes Paramètres",CHANGE_PASSWORD:"Changer mon Mot de Pass"})}]),angular.module("core").config(["$translateProvider",function(a){a.translations("es",{MENU:"MENU",SIGNUP_TAB:"Registrarse",SIGNIN_TAB:"Entrar",SIGNOUT_TAB:"Salir",EDIT_PROFILE:"Editar Perfil",MY_FORMS:"Mis formularios",MY_SETTINGS:"Mis configuraciones",CHANGE_PASSWORD:"Cambiar contraseña"})}]),angular.module("forms").controller("AdminFormController",["$rootScope","$window","$scope","$stateParams","$state","Forms","CurrentForm","$http","$uibModal","myForm","$filter",function(a,b,c,d,e,f,g,h,i,j,k){c.activePill=0,c.copied=!1,c.onCopySuccess=function(a){c.copied=!0},c=a,c.animationsEnabled=!0,c.myform=j,a.saveInProgress=!1,c.oldForm=_.cloneDeep(c.myform),g.setForm(c.myform),c.formURL="/#!/forms/"+c.myform._id,c.myform.isLive?b.subdomainsDisabled===!0?c.actualFormURL=window.location.protocol+"//"+window.location.host+"/view"+c.formURL:window.location.host.split(".").length<3?c.actualFormURL=window.location.protocol+"//"+c.myform.admin.username+"."+window.location.host+c.formURL:c.actualFormURL=window.location.protocol+"//"+c.myform.admin.username+"."+window.location.host.split(".").slice(1,3).join(".")+c.formURL:c.actualFormURL=window.location.protocol+"//"+window.location.host+c.formURL;var l=c.refreshFrame=function(){document.getElementById("iframe")&&document.getElementById("iframe").contentWindow.location.reload()};c.tabData=[{heading:k("translate")("CONFIGURE_TAB"),templateName:"configure"}],c.designTabActive=!1,c.deactivateDesignTab=function(){c.designTabActive=!1},c.activateDesignTab=function(){c.designTabActive=!0},c.setForm=function(a){c.myform=a},a.resetForm=function(){c.myform=f.get({formId:d.formId})},c.openDeleteModal=function(){c.deleteModal=i.open({animation:c.animationsEnabled,templateUrl:"formDeleteModal.html",controller:"AdminFormController",resolve:{myForm:function(){return c.myform}}}),c.deleteModal.result.then(function(a){c.selected=a})},c.cancelDeleteModal=function(){c.deleteModal&&c.deleteModal.dismiss("cancel")},c.removeCurrentForm=function(){if(c.deleteModal&&c.deleteModal.opened){c.deleteModal.close();var a=c.myform._id;if(!a)throw new Error("Error - removeCurrentForm(): $scope.myform._id does not exist");h["delete"]("/forms/"+a).then(function(a){e.go("listForms",{},{reload:!0})},function(a){console.error(a)})}},c.updateDesign=function(a,b,d,e){c.update(a,b,d,e,function(){l()})},c.update=a.update=function(b,d,e,f,g){var i=!0;if(b||(i=!a.saveInProgress),i){var j=null;if(b||(a.saveInProgress=!0),e){for(var k=new RegExp("^[0-9a-fA-F]{24}$"),l=0;l]+/i,test:function(a){return!this.regExp.test(a)}},b.openDeleteModal=function(a){b.deleteModal=h.open({animation:b.animationsEnabled,templateUrl:"deleteModalListForms.html",controller:["$uibModalInstance","items","$scope",function(a,b,c){c.content=b,c.cancel=c.cancelDeleteModal,c.deleteForm=function(){c.$parent.removeForm(b.formIndex)}}],resolve:{items:function(){return{currFormTitle:b.myforms[a].title,formIndex:a}}}})},b.cancelDeleteModal=function(){b.deleteModal&&b.deleteModal.dismiss("cancel")},b.openCreateModal=function(){b.showCreateModal||(b.showCreateModal=!0)},b.closeCreateModal=function(){b.showCreateModal&&(b.showCreateModal=!1)},b.setForm=function(a){b.myform=a},b.goToWithId=function(a,b){d.go(a,{formId:b},{reload:!0})},b.duplicateForm=function(a){var c=_.cloneDeep(b.myforms[a]);delete c._id,g.post("/forms",{form:c}).success(function(c,d,e){b.myforms.splice(a+1,0,c)}).error(function(a){console.error(a),null===a&&(b.error=a.data.message)})},b.createNewForm=function(){var a={};a.title=b.forms.createForm.title.$modelValue,a.language=b.forms.createForm.language.$modelValue,b.forms.createForm.$valid&&b.forms.createForm.$dirty&&g.post("/forms",{form:a}).success(function(a,c,d){b.goToWithId("viewForm.create",a._id+"")}).error(function(a){console.error(a),b.error=a.data.message})},b.removeForm=function(a){if(a>=b.myforms.length||a<0)throw new Error("Error: form_index in removeForm() must be between 0 and "+b.myforms.length-1);g["delete"]("/forms/"+b.myforms[a]._id).success(function(c,d,e){ -b.myforms.splice(a,1),b.cancelDeleteModal()}).error(function(a){console.error(a)})}}]),angular.module("forms").directive("configureFormDirective",["$rootScope","$http","Upload","CurrentForm",function(a,b,c,d){return{templateUrl:"modules/forms/admin/views/directiveViews/form/configure-form.client.view.html",restrict:"E",scope:{myform:"=",user:"=",pdfFields:"@",formFields:"@"},controller:["$scope",function(b){b.log="",b.languages=a.languages,b.resetForm=a.resetForm,b.update=a.update}]}}]),angular.module("forms").directive("editFormDirective",["$rootScope","FormFields","$uibModal",function(a,b,c){return{templateUrl:"modules/forms/admin/views/directiveViews/form/edit-form.client.view.html",restrict:"E",transclude:!0,scope:{myform:"="},controller:["$scope",function(d){var e;d.sortableOptions={appendTo:".dropzone",forceHelperSize:!0,forcePlaceholderSize:!0,update:function(a,b){d.update(!1,d.myform,!0,!1,function(a){})}},d.openEditModal=function(a,b,e){d.editFieldModal=c.open({animation:!0,templateUrl:"editFieldModal.html",windowClass:"edit-modal-window",controller:["$uibModalInstance","$scope",function(c,d){d.field=a,d.showLogicJump=!1,d.isEdit=b,d.showAddOptions=function(a){return"dropdown"===a.fieldType||"checkbox"===a.fieldType||"radio"===a.fieldType},d.validShapes=["Heart","Star","thumbs-up","thumbs-down","Circle","Square","Check Circle","Smile Outlined","Hourglass","bell","Paper Plane","Comment","Trash"],d.addOption=function(){if("checkbox"===d.field.fieldType||"dropdown"===d.field.fieldType||"radio"===d.field.fieldType){d.field.fieldOptions||(d.field.fieldOptions=[]);var a=d.field.fieldOptions.length+1,b={option_id:Math.floor(1e5*Math.random()),option_title:"Option "+a,option_value:"Option "+a};d.field.fieldOptions.push(b)}},d.deleteOption=function(a){if("checkbox"===d.field.fieldType||"dropdown"===d.field.fieldType||"radio"===d.field.fieldType)for(var b=0;b',restrict:"E",scope:{typeName:"@"},controller:["$scope",function(a){var b={textfield:"fa fa-pencil-square-o",dropdown:"fa fa-th-list",date:"fa fa-calendar",checkbox:"fa fa-check-square-o",radio:"fa fa-dot-circle-o",email:"fa fa-envelope-o",textarea:"fa fa-pencil-square",legal:"fa fa-legal",file:"fa fa-cloud-upload",rating:"fa fa-star-half-o",link:"fa fa-link",scale:"fa fa-sliders",stripe:"fa fa-credit-card",statement:"fa fa-quote-left",yes_no:"fa fa-toggle-on",number:"fa fa-slack"};a.typeIcon=b[a.typeName]}]}});var __indexOf=[].indexOf||function(a){for(var b=0,c=this.length;b=0&&(c=c+b+".html"),d.get(c)};return{template:"
{{field.title}}
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?a.field.fieldValue=a.field.fieldOptions[0].option_value:"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keyup keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(console.log("onTabAndShiftKey"),b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData","$translate","$timeout",function(a,b,c,d,e,f,g){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"=",ispreview:"="},controller:["$document","$window","$scope",function(f,g,h){var i=!1,j="submit_field";h.forms={},h.ispreview&&b.restartClock();var k=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,l=c("formValidity")(h.myform);h.translateAdvancementData={done:l,total:k,answers_not_completed:k-l},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={_id:"",index:0},h.setActiveField(h.myform.visible_form_fields[0]._id,0,!1),b.restartClock()};var m=function(a){var b=a.logicJump;if(b.enabled&&b.expressionString&&b.valueB&&a.fieldValue){var c,d,e=jsep(b.expressionString);if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},n=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return h.selected._id===j?h.myform.form_fields.length-1:h.selected.index};h.isActiveField=function(a){return h.selected._id===a._id},h.setActiveField=d.setActiveField=function(a,b,d){if(null!==h.selected&&(a||null!==b)){if(a){if(null===b){b=h.myform.visible_form_fields.length;for(var e=0;e .field-directive:nth-of-type("+String(h.myform.visible_form_fields.length-1)+")"),m=$(l).height(),n=k-g-1.2*m,o=.9;h.selected.index===h.myform.visible_form_fields.length?bn?(a=h.selected.index+1,h.setActiveField(j,a,!1)):ef*o&&(a=h.selected.index-1,h.setActiveField(null,a,!1))}h.$apply()},d.nextField=h.nextField=function(){if(h.selected&&h.selected.index>-1)if(h.selected._id!==j){var a=h.myform.visible_form_fields[h.selected.index];a.logicJump&&a.logicJump.jumpTo&&m(a)?h.setActiveField(a.logicJump.jumpTo,null,!0):h.selected.index0&&h.setActiveField(null,a,!0)},d.goToInvalid=h.goToInvalid=function(){var a=$(".row.field-directive .ng-invalid.focusOn, .row.field-directive .ng-untouched.focusOn:not(.ng-valid)").first().parents(".row.field-directive").first().attr("data-id");h.setActiveField(a,null,!0)},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected._id=h.myform.visible_form_fields[0]._id)};var o=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},p=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){if(h.forms.myForm.$invalid)return void h.goToInvalid();var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=o();f.device=g;var i=p();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.endPage,delete f.isLive,delete f.provider,delete f.startPage,delete f.visible_form_fields,delete f.analytics,delete f.design,delete f.submissions,delete f.submitted;for(var j=0;j'),a.put("modules/forms/admin/views/admin-form.client.view.html",'
{{ \'TELLFORM_URL\' | translate }}
{{ \'COPY_AND_PASTE\' | translate }}
{{ \'BACKGROUND_COLOR\' | translate }}
{{ \'QUESTION_TEXT_COLOR\' | translate }}
{{ \'ANSWER_TEXT_COLOR\' | translate }}
{{ \'BTN_BACKGROUND_COLOR\' | translate }}
{{ \'BTN_TEXT_COLOR\' | translate }}
'),a.put("modules/forms/admin/views/list-forms.client.view.html",'

{{ \'CREATE_A_NEW_FORM\' | translate }}
{{ \'NAME\' | translate }}
{{ \'LANGUAGE\' | translate }}

{{ form.numberOfResponses }} {{ \'RESPONSES\' | translate }}

{{ \'FORM_PAUSED\' | translate }}
'),a.put("modules/forms/admin/views/adminTabs/analyze.html",""),a.put("modules/forms/admin/views/adminTabs/configure.html",""),a.put("modules/forms/admin/views/adminTabs/create.html",""),a.put("modules/forms/admin/views/directiveViews/form/configure-form.client.view.html",'
{{ \'FORM_NAME\' | translate }}
{{ \'FORM_STATUS\' | translate }}
{{ \'LANGUAGE\' | translate }}
* {{ \'REQUIRED_FIELD\' | translate }}
{{ \'GA_TRACKING_CODE\' | translate }}
{{ \'DISPLAY_FOOTER\' | translate }}
{{ \'DISPLAY_START_PAGE\' | translate }}
{{ \'DISPLAY_END_PAGE\' | translate }}
'),a.put("modules/forms/admin/views/directiveViews/form/edit-form.client.view.html",'

{{ \'WELCOME_SCREEN\' | translate }}


{{field.title}} *

{{ \'CLICK_FIELDS_FOOTER\' | translate }}


{{ \'END_SCREEN\' | translate }}

'), +a.put("modules/forms/admin/views/directiveViews/form/edit-submissions-form.client.view.html","
{{ 'TOTAL_VIEWS' | translate }}
{{ 'RESPONSES' | translate }}
{{ 'COMPLETION_RATE' | translate }}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{myform.analytics.visitors.length}}
{{myform.analytics.submissions}}
{{myform.analytics.conversionRate | number:0}}%
{{ AverageTimeElapsed | secondsToDateTime | date:'mm:ss'}}
{{ 'DESKTOP_AND_LAPTOP' | translate }}
{{ 'TABLETS' | translate }}
{{ 'PHONES' | translate }}
{{ 'OTHER' | translate }}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.desktop.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.tablet.visits}}
{{ 'UNIQUE_VISITS' | translate }}
{{DeviceStatistics.other.visits}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.desktop.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.tablet.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.phone.responses}}
{{ 'RESPONSES' | translate }}
{{DeviceStatistics.other.responses}}
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.desktop.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.tablet.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.phone.completion}}%
{{ 'COMPLETION_RATE' | translate }}
{{DeviceStatistics.other.completion}}%
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.desktop.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.tablet.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.phone.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'AVERAGE_TIME_TO_COMPLETE' | translate }}
{{DeviceStatistics.other.average_time | secondsToDateTime | date:'mm:ss'}}
{{ 'FIELD_TITLE' | translate }}
{{ 'FIELD_VIEWS' | translate }}
{{ 'FIELD_RESPONSES' | translate }}
{{ 'FIELD_DROPOFF' | translate }}
{{fieldStats.field.title}}
{{fieldStats.totalViews}}
{{fieldStats.responses}}
{{fieldStats.continueRate}}%

#{{value.title}}{{ 'PERCENTAGE_COMPLETE' | translate }}{{ 'TIME_ELAPSED' | translate }}{{ 'DEVICE' | translate }}{{ 'LOCATION' | translate }}{{ 'IP_ADDRESS' | translate }}{{ 'DATE_SUBMITTED' | translate }} (UTC)
{{$index+1}}{{field.fieldValue}}{{row.percentageComplete}}%{{row.timeElapsed | secondsToDateTime | date:'mm:ss'}}{{row.device.name}}, {{row.device.type}}{{row.geoLocation.City}}, {{row.geoLocation.Country}}{{row.ipAddr}}{{row.created | date:'yyyy-MM-dd HH:mm:ss'}}
"),a.put("modules/users/views/authentication/access-denied.client.view.html","

{{ 'ACCESS_DENIED_TEXT' | translate }}

{{ 'SIGNIN_BTN' | translate }}
"),a.put("modules/users/views/authentication/signin.client.view.html",'
'),a.put("modules/users/views/authentication/signup-success.client.view.html",''),a.put("modules/users/views/authentication/signup.client.view.html",''),a.put("modules/users/views/password/forgot-password.client.view.html",'
Error: {{error}}
{{success}}
'),a.put("modules/users/views/password/reset-password-invalid.client.view.html","

{{ 'PASSWORD_RESET_INVALID' | translate }}

{{ 'ASK_FOR_NEW_PASSWORD' | translate }}
"),a.put("modules/users/views/password/reset-password-success.client.view.html","

{{ 'PASSWORD_RESET_SUCCESS' | translate }}

{{ 'CONTINUE_TO_LOGIN' | translate }}
"),a.put("modules/users/views/password/reset-password.client.view.html",'

{{ \'RESET_PASSWORD\' | translate }}

'),a.put("modules/users/views/settings/change-password.client.view.html",'

{{ \'CHANGE_PASSWORD\' | translate }}

'),a.put("modules/users/views/settings/edit-profile.client.view.html",'

{{ \'EDIT_PROFILE\' | translate }}

'),a.put("modules/users/views/settings/social-accounts.client.view.html",'

{{ \'CONNECTED_SOCIAL_ACCOUNTS\' | translate }}:

{{ \'CONNECT_OTHER_SOCIAL_ACCOUNTS\' | translate }}

'),a.put("modules/users/views/verify/resend-verify-email.client.view.html",'
{{error}}

{{ \'VERIFICATION_EMAIL_SENT\' | translate }}

{{ \'VERIFICATION_EMAIL_SENT_TO\' | translate }} {{username}}.
{{ \'NOT_ACTIVATED_YET\' | translate }}

{{ \'CHECK_YOUR_EMAIL\' | translate }} polydaic@gmail.com

'),a.put("modules/users/views/verify/verify-account.client.view.html",'

{{ \'VERIFY_SUCCESS\' | translate }}

'),a.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html",'

{{pageData.introTitle}}

{{pageData.introParagraph}}

'),a.put("form_modules/forms/base/views/directiveViews/field/date.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/dropdown.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/hidden.html",""),a.put("form_modules/forms/base/views/directiveViews/field/legal.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/radio.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/rating.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/statement.html",'

{{field.title}}

{{field.description}}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/textarea.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{ \'NEWLINE\' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/textfield.html",'

{{index+1}} {{field.title}} ({{ \'OPTIONAL\' | translate }})

{{field.description}}

{{ \'ENTER\' | translate }}
'), +a.put("form_modules/forms/base/views/directiveViews/field/yes_no.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",'
{{ \'COMPLETING_NEEDED\' | translate:translateAdvancementData }}
'),a.put("form_modules/forms/base/views/form-not-found.client.view.html",'

404 - Form Does not Exist

The form you are trying to access does not exist. Sorry about that!
'),a.put("form_modules/forms/base/views/form-unauthorized.client.view.html",'

Not Authorized to Access Form

The form you are trying to access is currently private and not accesible publically.
If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
'),a.put("form_modules/forms/base/views/submit-form.client.view.html","
")}]),ApplicationConfiguration.registerModule("core",["users"]),ApplicationConfiguration.registerModule("forms",["ngFileUpload","ui.router.tabs","ui.date","ui.sortable","angular-input-stars","users","ngclipboard"]),ApplicationConfiguration.registerModule("users"),angular.module("core").config(["$stateProvider","$urlRouterProvider",function(a,b,c){b.otherwise("/forms")}]),angular.module(ApplicationConfiguration.applicationModuleName).run(["$rootScope","Auth","$state","$stateParams",function(a,b,c,d){a.$state=c,a.$stateParams=d,a.$on("$stateChangeSuccess",function(a,d,e,f){c.previous=f;var g=["home","signin","resendVerifyEmail","verify","signup","signup-success","forgot","reset-invalid","reset","reset-success"];g.indexOf(d.name)>0?b.isAuthenticated()&&(a.preventDefault(),c.go("listForms")):"access_denied"===d.name||b.isAuthenticated()||"submitForm"===d.name||(a.preventDefault(),c.go("listForms"))})}]),angular.module(ApplicationConfiguration.applicationModuleName).run(["$rootScope","Auth","User","Authorizer","$state","$stateParams",function(a,b,c,d,e,f){a.$on("$stateChangeStart",function(a,f){var g,h,i;h=f&&f.data&&f.data.permissions?f.data.permissions:null,b.ensureHasCurrentUser(c),i=b.currentUser,i&&(g=new d(i),null!==h&&(g.canAccess(h)||(a.preventDefault(),e.go("access_denied"))))})}]),angular.module("core").controller("HeaderController",["$rootScope","$scope","Menus","$state","Auth","User","$window","$translate","$locale",function(a,b,c,d,e,f,g,h,i){a.signupDisabled=g.signupDisabled,b.user=a.user=e.ensureHasCurrentUser(f),b.authentication=a.authentication=e,a.languages=b.languages=["en","fr","es","it","de"],b.authentication.isAuthenticated()?a.language=b.user.language:a.language=i.id.substring(0,2),h.use(a.language),b.isCollapsed=!1,a.hideNav=!1,b.menu=c.getMenu("topbar"),b.signout=function(){var c=f.logout();c.then(function(){e.logout(),e.ensureHasCurrentUser(f),b.user=a.user=null,d.go("listForms"),d.reload()},function(a){console.error("Logout Failed: "+a)})},b.toggleCollapsibleMenu=function(){b.isCollapsed=!b.isCollapsed},b.$on("$stateChangeSuccess",function(c,d,e,f,g){b.isCollapsed=!1,a.hideNav=!1,angular.isDefined(d.data)&&angular.isDefined(d.data.hideNav)&&(a.hideNav=d.data.hideNav)})}]),angular.module("core").service("Menus",[function(){this.defaultRoles=["*"],this.menus={};var a=function(a){if(a){if(~this.roles.indexOf("*"))return!0;for(var b in a.roles)for(var c in this.roles)if(this.roles[c]===a.roles[b])return!0;return!1}return this.isPublic};this.validateMenuExistance=function(a){if(a&&a.length){if(this.menus[a])return!0;throw new Error("Menu does not exists")}throw new Error("MenuId was not provided")},this.getMenu=function(a){return this.validateMenuExistance(a),this.menus[a]},this.addMenu=function(b,c,d){return this.menus[b]={isPublic:c||!1,roles:d||this.defaultRoles,items:[],shouldRender:a},this.menus[b]},this.removeMenu=function(a){this.validateMenuExistance(a),delete this.menus[a]},this.addMenuItem=function(b,c,d,e,f,g,h,i){return this.validateMenuExistance(b),this.menus[b].items.push({title:c,link:d,menuItemType:e||"item",menuItemClass:e,uiRoute:f||"/"+d,isPublic:null===g||"undefined"==typeof g?this.menus[b].isPublic:g,roles:null===h||"undefined"==typeof h?this.menus[b].roles:h,position:i||0,items:[],shouldRender:a}),this.menus[b]},this.addSubMenuItem=function(b,c,d,e,f,g,h,i){this.validateMenuExistance(b);for(var j in this.menus[b].items)this.menus[b].items[j].link===c&&this.menus[b].items[j].items.push({title:d,link:e,uiRoute:f||"/"+e,isPublic:null===g||"undefined"==typeof g?this.menus[b].items[j].isPublic:g,roles:null===h||"undefined"==typeof h?this.menus[b].items[j].roles:h,position:i||0,shouldRender:a});return this.menus[b]},this.removeMenuItem=function(a,b){this.validateMenuExistance(a);for(var c in this.menus[a].items)this.menus[a].items[c].link===b&&this.menus[a].items.splice(c,1);return this.menus[a]},this.removeSubMenuItem=function(a,b){this.validateMenuExistance(a);for(var c in this.menus[a].items)for(var d in this.menus[a].items[c].items)this.menus[a].items[c].items[d].link===b&&this.menus[a].items[c].items.splice(d,1);return this.menus[a]},this.addMenu("topbar",!1,["*"]),this.addMenu("bottombar",!1,["*"])}]),angular.module("core").factory("subdomain",["$location",function(a){var b=a.host();return b.indexOf(".")<0?null:b.split(".")[0]}]),angular.module("forms").run(["Menus",function(a){a.addMenuItem("topbar","My Forms","forms","","/forms",!1)}]).filter("secondsToDateTime",[function(){return function(a){return new Date(1970,0,1).setSeconds(a)}}]).filter("formValidity",[function(){return function(a){if(a&&a.form_fields&&a.visible_form_fields){var b=Object.keys(a),c=(b.filter(function(a){return"$"!==a[0]}),a.form_fields),d=c.filter(function(a){return"object"==typeof a&&"statement"!==a.fieldType&&"rating"!==a.fieldType?!!a.fieldValue:"rating"===a.fieldType||void 0}).length;return d-(a.form_fields.length-a.visible_form_fields.length)}return 0}}]).filter("trustSrc",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]).config(["$provide",function(a){a.decorator("accordionDirective",["$delegate",function(a){var b=a[0];return b.replace=!0,a}])}]),angular.module("forms").config(["$stateProvider",function(a){a.state("listForms",{url:"/forms",templateUrl:"modules/forms/admin/views/list-forms.client.view.html",resolve:{Forms:"GetForms",myForms:["GetForms","$q",function(a,b){var c=b.defer();return a.query(function(a){c.resolve(a)}),c.promise}]},controller:"ListFormsController",controllerAs:"ctrl"}).state("submitForm",{url:"/forms/:formId",templateUrl:"/static/form_modules/forms/base/views/submit-form.client.view.html",data:{hideNav:!0},resolve:{Forms:"GetForms",myForm:["GetForms","$stateParams","$q",function(a,b,c){var d=c.defer();return a.get({formId:b.formId},function(a){d.resolve(a)}),d.promise}]},controller:"SubmitFormController",controllerAs:"ctrl"}).state("viewForm",{url:"/forms/:formId/admin",templateUrl:"modules/forms/admin/views/admin-form.client.view.html",data:{permissions:["editForm"]},resolve:{GetForms:"GetForms",myForm:["GetForms","$stateParams","$q",function(a,b,c){var d=c.defer();return a.get({formId:b.formId},function(a){d.resolve(a)}),d.promise}]},controller:"AdminFormController"}).state("viewForm.configure",{url:"/configure",templateUrl:"modules/forms/admin/views/adminTabs/configure.html"}).state("viewForm.design",{url:"/design",templateUrl:"modules/forms/admin/views/adminTabs/design.html"}).state("viewForm.analyze",{url:"/analyze",templateUrl:"modules/forms/admin/views/adminTabs/analyze.html"}).state("viewForm.create",{url:"/create",templateUrl:"modules/forms/admin/views/adminTabs/create.html"})}]),angular.module("forms").factory("GetForms",["$resource","FORM_URL",function(a,b){return a(b,{formId:"@_id"},{query:{method:"GET",isArray:!0},get:{method:"GET",transformResponse:function(a,b){var c=angular.fromJson(a);return c.visible_form_fields=_.filter(c.form_fields,function(a){return a.deletePreserved===!1}),c}},update:{method:"PUT"},save:{method:"POST"}})}]),angular.module("users").config(["$httpProvider",function(a){a.interceptors.push(["$q","$location",function(a,b){return{responseError:function(c){return"/users/me"!==b.path()&&c.config&&"/users/me"!==c.config.url&&(401===c.status?(b.nextAfterLogin=b.path(),b.path("/signin")):403===c.status&&b.path("/access_denied")),a.reject(c)}}}])}]),angular.module("users").config(["$stateProvider",function(a){var b=function(a,b,c,d,e){var f=a.defer();return e.currentUser&&e.currentUser.email?b(f.resolve):e.currentUser=d.getCurrent(function(){e.login(),b(f.resolve())},function(){e.logout(),b(f.reject()),c.go("signin",{reload:!0})}),f.promise};b.$inject=["$q","$timeout","$state","User","Auth"];var c=function(a,b,c){var d=c.defer();return b(a.signupDisabled?d.reject():d.resolve()),d.promise};c.$inject=["$window","$timeout","$q"],a.state("profile",{resolve:{loggedin:b},url:"/settings/profile",templateUrl:"modules/users/views/settings/edit-profile.client.view.html"}).state("password",{resolve:{loggedin:b},url:"/settings/password",templateUrl:"modules/users/views/settings/change-password.client.view.html"}).state("accounts",{resolve:{loggedin:b},url:"/settings/accounts",templateUrl:"modules/users/views/settings/social-accounts.client.view.html"}).state("signup",{resolve:{isDisabled:c},url:"/signup",templateUrl:"modules/users/views/authentication/signup.client.view.html"}).state("signup-success",{resolve:{isDisabled:c},url:"/signup-success",templateUrl:"modules/users/views/authentication/signup-success.client.view.html"}).state("signin",{url:"/signin",templateUrl:"modules/users/views/authentication/signin.client.view.html"}).state("access_denied",{url:"/access_denied",templateUrl:"modules/users/views/authentication/access-denied.client.view.html"}).state("verify",{resolve:{isDisabled:c},url:"/verify/:token",templateUrl:"modules/users/views/verify/verify-account.client.view.html"}).state("resendVerifyEmail",{resolve:{isDisabled:c},url:"/verify",templateUrl:"modules/users/views/verify/resend-verify-email.client.view.html"}).state("forgot",{url:"/password/forgot",templateUrl:"modules/users/views/password/forgot-password.client.view.html"}).state("reset-invalid",{url:"/password/reset/invalid",templateUrl:"modules/users/views/password/reset-password-invalid.client.view.html"}).state("reset-success",{url:"/password/reset/success",templateUrl:"modules/users/views/password/reset-password-success.client.view.html"}).state("reset",{url:"/password/reset/:token",templateUrl:"modules/users/views/password/reset-password.client.view.html"})}]),angular.module("users").controller("AuthenticationController",["$scope","$location","$state","$rootScope","User","Auth",function(a,b,c,d,e,f){a=d,a.credentials={},a.error="",a.signin=function(){e.login(a.credentials).then(function(b){f.login(b),a.user=d.user=f.ensureHasCurrentUser(e),"home"!==c.previous.name&&"verify"!==c.previous.name&&""!==c.previous.name?c.go(c.previous.name):c.go("listForms")},function(b){d.user=f.ensureHasCurrentUser(e),a.user=d.user,a.error=b,console.error("loginError: "+b)})},a.signup=function(){return"admin"===a.credentials?void(a.error="Username cannot be 'admin'. Please pick another username."):void e.signup(a.credentials).then(function(a){c.go("signup-success")},function(b){console.error(b),b?(a.error=b,console.error(b)):console.error("No response received")})}}]),angular.module("users").controller("PasswordController",["$scope","$stateParams","$state","User",function(a,b,c,d){a.error="",a.askForPasswordReset=function(){d.askForPasswordReset(a.credentials).then(function(b){a.success=b.message,a.credentials=null},function(b){a.error=b,a.credentials=null})},a.resetUserPassword=function(){a.success=a.error=null,d.resetPassword(a.passwordDetails,b.token).then(function(b){a.success=b.message,a.passwordDetails=null,c.go("reset-success")},function(b){a.error=b.message||b,a.passwordDetails=null})}}]),angular.module("users").controller("SettingsController",["$scope","$rootScope","$http","$state","Users","Auth",function(a,b,c,d,e,f){a.user=f.currentUser,a.hasConnectedAdditionalSocialAccounts=function(b){for(var c in a.user.additionalProvidersData)return!0;return!1},a.cancel=function(){a.user=f.currentUser},a.isConnectedSocialAccount=function(b){return a.user.provider===b||a.user.additionalProvidersData&&a.user.additionalProvidersData[b]},a.removeUserSocialAccount=function(b){a.success=a.error=null,c["delete"]("/users/accounts",{params:{provider:b}}).success(function(b){a.success=!0,a.user=b}).error(function(b){a.error=b.message})},a.updateUserProfile=function(b){if(b){a.success=a.error=null;var c=new e(a.user);c.$update(function(b){a.success=!0,a.user=b},function(b){a.error=b.data.message})}else a.submitted=!0},a.changeUserPassword=function(){a.success=a.error=null,c.post("/users/password",a.passwordDetails).success(function(b){a.success=!0,a.passwordDetails=null}).error(function(b){a.error=b.message})}}]),angular.module("users").controller("VerifyController",["$scope","$state","$rootScope","User","Auth","$stateParams",function(a,b,c,d,e,f){a.isResetSent=!1,a.credentials={},a.error="",a.resendVerifyEmail=function(){d.resendVerifyEmail(a.credentials.email).then(function(b){a.success=b.message,a.credentials=null,a.isResetSent=!0},function(b){a.error=b,a.credentials.email=null,a.isResetSent=!1})},a.validateVerifyToken=function(){f.token&&(console.log(f.token),d.validateVerifyToken(f.token).then(function(b){a.success=b.message,a.isResetSent=!0,a.credentials.email=null},function(b){a.isResetSent=!1,a.error=b,a.credentials.email=null}))}}]),angular.module("users").factory("Auth",["$window",function(a){var b={isLoggedIn:!1},c={_currentUser:null,get currentUser(){return this._currentUser},ensureHasCurrentUser:function(d){return c._currentUser&&c._currentUser.username?c._currentUser:a.user?(c._currentUser=a.user,c._currentUser):void d.getCurrent().then(function(d){return c._currentUser=d,b.isLoggedIn=!0,a.user=c._currentUser,c._currentUser},function(d){return b.isLoggedIn=!1,c._currentUser=null,a.user=null,null})},isAuthenticated:function(){return!!c._currentUser},getUserState:function(){return b},login:function(a){b.isLoggedIn=!0,c._currentUser=a},logout:function(){a.user=null,b.isLoggedIn=!1,c._currentUser=null}};return c}]),angular.module("users").service("Authorizer",["APP_PERMISSIONS","USER_ROLES",function(a,b){return function(c){return{canAccess:function(d){var e,f,g;for(angular.isArray(d)||(d=[d]),e=0,f=d.length;e-1;case a.viewPrivateForm:case a.editForm:return c.roles.indexOf(b.admin)>-1||c.roles.indexOf(b.normal)>-1}}return!1}}}}]),angular.module("users").factory("User",["$window","$q","$timeout","$http","$state",function(a,b,c,d,e){var f={getCurrent:function(){var a=b.defer();return d.get("/users/me").success(function(b){a.resolve(b)}).error(function(){a.reject("User's session has expired")}),a.promise},login:function(a){var c=b.defer();return d.post("/auth/signin",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},logout:function(){var a=b.defer();return d.get("/auth/signout").then(function(b){a.resolve(null)},function(b){a.reject(b.data.message||b.data)}),a.promise},signup:function(a){var c=b.defer();return d.post("/auth/signup",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},resendVerifyEmail:function(a){var c=b.defer();return d.post("/auth/verify",{email:a}).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise},validateVerifyToken:function(a){var c=/^([A-Za-z0-9]{48})$/g;if(!c.test(a))throw new Error("Error token: "+a+" is not a valid verification token");var e=b.defer();return d.get("/auth/verify/"+a).then(function(a){e.resolve(a.data)},function(a){e.reject(a.data)}),e.promise},resetPassword:function(a,c){var e=b.defer();return d.post("/auth/reset/"+c,a).then(function(a){e.resolve(a)},function(a){e.reject(a.data.message||a.data)}),e.promise},askForPasswordReset:function(a){var c=b.defer();return d.post("/auth/forgot",a).then(function(a){c.resolve(a.data)},function(a){c.reject(a.data.message||a.data)}),c.promise}};return f}]),angular.module("users").factory("Users",["$resource",function(a){return a("users",{},{update:{method:"PUT"}})}]),angular.module("core").config(["$translateProvider",function(a){a.translations("en",{MENU:"MENU",SIGNUP_TAB:"Sign Up",SIGNIN_TAB:"Sign In",SIGNOUT_TAB:"Signout",EDIT_PROFILE:"Edit Profile",MY_FORMS:"My Forms",MY_SETTINGS:"My Settings",CHANGE_PASSWORD:"Change Password"}),a.preferredLanguage("en").fallbackLanguage("en").useSanitizeValueStrategy("escape")}]),angular.module("core").config(["$translateProvider",function(a){a.translations("fr",{MENU:"MENU",SIGNUP_TAB:"Créer un Compte",SIGNIN_TAB:"Connexion",SIGNOUT_TAB:"Créer un compte",EDIT_PROFILE:"Modifier Mon Profil",MY_FORMS:"Mes Formulaires",MY_SETTINGS:"Mes Paramètres",CHANGE_PASSWORD:"Changer mon Mot de Pass"})}]),angular.module("core").config(["$translateProvider",function(a){a.translations("es",{MENU:"MENU",SIGNUP_TAB:"Registrarse",SIGNIN_TAB:"Entrar",SIGNOUT_TAB:"Salir",EDIT_PROFILE:"Editar Perfil",MY_FORMS:"Mis formularios",MY_SETTINGS:"Mis configuraciones",CHANGE_PASSWORD:"Cambiar contraseña"})}]),angular.module("forms").controller("AdminFormController",["$rootScope","$window","$scope","$stateParams","$state","Forms","CurrentForm","$http","$uibModal","myForm","$filter",function(a,b,c,d,e,f,g,h,i,j,k){c.activePill=0,c.copied=!1,c.onCopySuccess=function(a){c.copied=!0},c=a,c.animationsEnabled=!0,c.myform=j,a.saveInProgress=!1,c.oldForm=_.cloneDeep(c.myform),g.setForm(c.myform),c.formURL="/#!/forms/"+c.myform._id,c.myform.isLive?b.subdomainsDisabled===!0?c.actualFormURL=window.location.protocol+"//"+window.location.host+"/view"+c.formURL:window.location.host.split(".").length<3?c.actualFormURL=window.location.protocol+"//"+c.myform.admin.username+"."+window.location.host+c.formURL:c.actualFormURL=window.location.protocol+"//"+c.myform.admin.username+"."+window.location.host.split(".").slice(1,3).join(".")+c.formURL:c.actualFormURL=window.location.protocol+"//"+window.location.host+c.formURL;var l=c.refreshFrame=function(){document.getElementById("iframe")&&document.getElementById("iframe").contentWindow.location.reload()};c.tabData=[{heading:k("translate")("CONFIGURE_TAB"),templateName:"configure"}],c.designTabActive=!1,c.deactivateDesignTab=function(){c.designTabActive=!1},c.activateDesignTab=function(){c.designTabActive=!0},c.setForm=function(a){c.myform=a},a.resetForm=function(){c.myform=f.get({formId:d.formId})},c.openDeleteModal=function(){c.deleteModal=i.open({animation:c.animationsEnabled,templateUrl:"formDeleteModal.html",controller:"AdminFormController",resolve:{myForm:function(){return c.myform}}}),c.deleteModal.result.then(function(a){c.selected=a})},c.cancelDeleteModal=function(){c.deleteModal&&c.deleteModal.dismiss("cancel")},c.removeCurrentForm=function(){if(c.deleteModal&&c.deleteModal.opened){c.deleteModal.close();var a=c.myform._id;if(!a)throw new Error("Error - removeCurrentForm(): $scope.myform._id does not exist");h["delete"]("/forms/"+a).then(function(a){e.go("listForms",{},{reload:!0})},function(a){console.error(a)})}},c.updateDesign=function(a,b,d,e){c.update(a,b,d,e,function(){l()})},c.update=a.update=function(b,d,e,f,g){var i=!0;if(b||(i=!a.saveInProgress),i){var j=null;if(b||(a.saveInProgress=!0),e){for(var k=new RegExp("^[0-9a-fA-F]{24}$"),l=0;l]+/i,test:function(a){return!this.regExp.test(a)}},b.openDeleteModal=function(a){b.deleteModal=h.open({animation:b.animationsEnabled,templateUrl:"deleteModalListForms.html",controller:["$uibModalInstance","items","$scope",function(a,b,c){c.content=b,c.cancel=c.cancelDeleteModal,c.deleteForm=function(){c.$parent.removeForm(b.formIndex)}}],resolve:{items:function(){return{currFormTitle:b.myforms[a].title,formIndex:a}}}})},b.cancelDeleteModal=function(){b.deleteModal&&b.deleteModal.dismiss("cancel")},b.openCreateModal=function(){b.showCreateModal||(b.showCreateModal=!0)},b.closeCreateModal=function(){b.showCreateModal&&(b.showCreateModal=!1)},b.setForm=function(a){b.myform=a},b.goToWithId=function(a,b){d.go(a,{formId:b},{reload:!0})},b.duplicateForm=function(a){var c=_.cloneDeep(b.myforms[a]);delete c._id,g.post("/forms",{form:c}).success(function(c,d,e){b.myforms.splice(a+1,0,c)}).error(function(a){console.error(a),null===a&&(b.error=a.data.message)})},b.createNewForm=function(){var a={};a.title=b.forms.createForm.title.$modelValue,a.language=b.forms.createForm.language.$modelValue,b.forms.createForm.$valid&&b.forms.createForm.$dirty&&g.post("/forms",{form:a}).success(function(a,c,d){b.goToWithId("viewForm.create",a._id+"")}).error(function(a){console.error(a),b.error=a.data.message})},b.removeForm=function(a){if(a>=b.myforms.length||a<0)throw new Error("Error: form_index in removeForm() must be between 0 and "+b.myforms.length-1);g["delete"]("/forms/"+b.myforms[a]._id).success(function(c,d,e){ +b.myforms.splice(a,1),b.cancelDeleteModal()}).error(function(a){console.error(a)})}}]),angular.module("forms").directive("configureFormDirective",["$rootScope","$http","Upload","CurrentForm",function(a,b,c,d){return{templateUrl:"modules/forms/admin/views/directiveViews/form/configure-form.client.view.html",restrict:"E",scope:{myform:"=",user:"=",pdfFields:"@",formFields:"@"},controller:["$scope",function(b){b.log="",b.languages=a.languages,b.resetForm=a.resetForm,b.update=a.update}]}}]),angular.module("forms").directive("editFormDirective",["$rootScope","FormFields","$uibModal",function(a,b,c){return{templateUrl:"modules/forms/admin/views/directiveViews/form/edit-form.client.view.html",restrict:"E",transclude:!0,scope:{myform:"="},controller:["$scope",function(d){var e;d.sortableOptions={appendTo:".dropzone",forceHelperSize:!0,forcePlaceholderSize:!0,update:function(a,b){d.update(!1,d.myform,!0,!1,function(a){})}},d.openEditModal=function(a,b,e){d.editFieldModal=c.open({animation:!0,templateUrl:"editFieldModal.html",windowClass:"edit-modal-window",controller:["$uibModalInstance","$scope",function(c,d){d.field=a,d.showLogicJump=!1,d.isEdit=b,d.showAddOptions=function(a){return"dropdown"===d.field.fieldType||"checkbox"===d.field.fieldType||"radio"===d.field.fieldType},d.validShapes=["Heart","Star","thumbs-up","thumbs-down","Circle","Square","Check Circle","Smile Outlined","Hourglass","bell","Paper Plane","Comment","Trash"],d.addOption=function(){if("checkbox"===d.field.fieldType||"dropdown"===d.field.fieldType||"radio"===d.field.fieldType){d.field.fieldOptions||(d.field.fieldOptions=[]);var a=d.field.fieldOptions.length+1,b={option_id:Math.floor(1e5*Math.random()),option_title:"Option "+a,option_value:"Option "+a};d.field.fieldOptions.push(b)}},d.deleteOption=function(a){if("checkbox"===d.field.fieldType||"dropdown"===d.field.fieldType||"radio"===d.field.fieldType)for(var b=0;b',restrict:"E",scope:{typeName:"@"},controller:["$scope",function(a){var b={textfield:"fa fa-pencil-square-o",dropdown:"fa fa-th-list",date:"fa fa-calendar",checkbox:"fa fa-check-square-o",radio:"fa fa-dot-circle-o",email:"fa fa-envelope-o",textarea:"fa fa-pencil-square",legal:"fa fa-legal",file:"fa fa-cloud-upload",rating:"fa fa-star-half-o",link:"fa fa-link",scale:"fa fa-sliders",stripe:"fa fa-credit-card",statement:"fa fa-quote-left",yes_no:"fa fa-toggle-on",number:"fa fa-slack"};a.typeIcon=b[a.typeName]}]}});var __indexOf=[].indexOf||function(a){for(var b=0,c=this.length;b=0&&(c=c+b+".html"),d.get(c)};return{template:"
{{field.title}}
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?a.field.fieldValue=a.field.fieldOptions[0].option_value:"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keyup keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(console.log("onTabAndShiftKey"),b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData","$translate","$timeout",function(a,b,c,d,e,f,g){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"=",ispreview:"="},controller:["$document","$window","$scope",function(f,g,h){h.disableScrollWatch=!1;var i="submit_field";h.forms={},h.ispreview&&b.restartClock();var j=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,k=c("formValidity")(h.myform);h.translateAdvancementData={done:k,total:j,answers_not_completed:j-k},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={globalId:"",index:0},h.setActiveField(h.myform.visible_form_fields[0].globalId,0,!1),b.restartClock()};var l=function(a){var b=a.logicJump;if(b.enabled&&b.expressionString&&b.valueB&&a.fieldValue){var c,d,e=jsep(b.expressionString);if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},m=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return h.selected.globalId===i?h.myform.form_fields.length-1:h.selected.index};h.isActiveField=function(a){return h.selected.globalId===a.globalId},h.setActiveField=d.setActiveField=function(a,b,d){if(null!==h.selected&&(a||null!==b)){if(a){if(null===b){b=h.myform.visible_form_fields.length;for(var e=0;e .field-directive:nth-of-type("+String(h.myform.visible_form_fields.length-1)+")"),l=$(k).height(),m=j-g-1.2*l,n=.9;h.selected.index===h.myform.visible_form_fields.length?bm?(a=h.selected.index+1,h.setActiveField(i,a,!1)):ef*n&&(a=h.selected.index-1,h.setActiveField(null,a,!1))}h.$apply()},d.nextField=h.nextField=function(){if(h.selected&&h.selected.index>-1)if(h.selected.globalId!==i){var a=h.myform.visible_form_fields[h.selected.index];a.logicJump.enabled&&a.logicJump.jumpTo&&l(a)?h.setActiveField(a.logicJump.jumpTo,null,!0):h.selected.index0&&h.setActiveField(null,a,!0)},d.goToInvalid=h.goToInvalid=function(){var a=$(".row.field-directive .ng-invalid.focusOn, .row.field-directive .ng-untouched.focusOn:not(.ng-valid)").first().parents(".row.field-directive").first().attr("data-id");h.setActiveField(a,null,!0)},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected.globalId=h.myform.visible_form_fields[0].globalId)};var n=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},o=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){if(h.forms.myForm.$invalid)return void h.goToInvalid();var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=n();f.device=g;var i=o();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.endPage,delete f.isLive,delete f.provider,delete f.startPage,delete f.visible_form_fields,delete f.analytics,delete f.design,delete f.submissions,delete f.submitted;for(var j=0;j

{{pageData.introTitle}}

{{pageData.introParagraph}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/date.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/dropdown.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/hidden.html", ""); $templateCache.put("form_modules/forms/base/views/directiveViews/field/legal.html", "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}


{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/radio.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/rating.html", "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/statement.html", "

{{field.title}}

{{field.description}}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textarea.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{ 'NEWLINE' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textfield.html", - "

{{index+1}} {{field.title}} ({{ 'OPTIONAL' | translate }})

{{field.description}}

{{ 'ENTER' | translate }}
"); + "

{{index+1}} {{field.title}} ({{ 'OPTIONAL' | translate }})

{{field.description}}

{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/yes_no.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html", - "
{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

"); + "
{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

"); }]); 'use strict'; @@ -177,7 +177,7 @@ angular.module('view-form').config(['$stateProvider', referrer: document.referrer, isSubmitted: form.submitted, formId: form._id, - lastActiveField: form.form_fields[lastActiveIndex]._id, + lastActiveField: form.form_fields[lastActiveIndex].globalId, timeElapsed: timeElapsed, language: lang, deviceType: deviceType, @@ -608,7 +608,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun ispreview: '=' }, controller: ["$document", "$window", "$scope", function($document, $window, $scope){ - var NOSCROLL = false; + $scope.disableScrollWatch = false; var FORM_ACTION_ID = 'submit_field'; $scope.forms = {}; @@ -640,10 +640,10 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $scope.error = ''; $scope.selected = { - _id: '', + globalId: '', index: 0 }; - $scope.setActiveField($scope.myform.visible_form_fields[0]._id, 0, false); + $scope.setActiveField($scope.myform.visible_form_fields[0].globalId, 0, false); //Reset Timer TimeCounter.restartClock(); @@ -718,14 +718,14 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun throw new Error('current active field is null'); } - if($scope.selected._id === FORM_ACTION_ID) { + if($scope.selected.globalId === FORM_ACTION_ID) { return $scope.myform.form_fields.length - 1; } return $scope.selected.index; }; $scope.isActiveField = function(field){ - if($scope.selected._id === field._id) { + if($scope.selected.globalId === field.globalId) { return true } return false; @@ -737,7 +737,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun } if(!field_id){ - field_id = $scope.myform.visible_form_fields[field_index]._id; + field_id = $scope.myform.visible_form_fields[field_index].globalId; } else if(field_index === null){ field_index = $scope.myform.visible_form_fields.length @@ -750,14 +750,13 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun } } - if($scope.selected._id === field_id){ + if($scope.selected.globalId === field_id){ return; } - $scope.selected._id = field_id; + $scope.selected.globalId = field_id; $scope.selected.index = field_index; - var nb_valid = $filter('formValidity')($scope.myform); $scope.translateAdvancementData = { done: nb_valid, @@ -766,10 +765,10 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun }; if(animateScroll){ - NOSCROLL=true; + $scope.disableScrollWatch = true; setTimeout(function() { - $document.scrollToElement(angular.element('.activeField'), -10, 200).then(function() { - NOSCROLL = false; + $document.scrollToElement(angular.element('#'+$scope.selected.globalId), -10, 200).then(function() { + $scope.disableScrollWatch = false; setTimeout(function() { if (document.querySelectorAll('.activeField .focusOn').length) { //Handle default case @@ -781,6 +780,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //Handle case for dropdown input document.querySelectorAll('.activeField .selectize-input')[0].focus(); } + $scope.$apply(); }); }); }); @@ -792,14 +792,14 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //Only send analytics data if form has not been submitted if(!$scope.myform.submitted){ console.log('SendVisitorData.send()'); - SendVisitorData.send($scope.myform, newValue, TimeCounter.getTimeElapsed()); + //SendVisitorData.send($scope.myform, newValue, TimeCounter.getTimeElapsed()); } } }); //Fire event when window is scrolled $window.onscroll = function(){ - if(!NOSCROLL){ + if(!$scope.disableScrollWatch ){ var scrollTop = $(window).scrollTop(); var elemBox = document.getElementsByClassName('activeField')[0].getBoundingClientRect(); @@ -851,11 +851,11 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $rootScope.nextField = $scope.nextField = function(){ if($scope.selected && $scope.selected.index > -1){ - if($scope.selected._id !== FORM_ACTION_ID){ + if($scope.selected.globalId !== FORM_ACTION_ID){ var currField = $scope.myform.visible_form_fields[$scope.selected.index]; //Jump to logicJump's destination if it is true - if(currField.logicJump && currField.logicJump.jumpTo && evaluateLogicJump(currField)){ + if(currField.logicJump.enabled && currField.logicJump.jumpTo && evaluateLogicJump(currField)){ $scope.setActiveField(currField.logicJump.jumpTo, null, true); } else if($scope.selected.index < $scope.myform.visible_form_fields.length-1){ $scope.setActiveField(null, $scope.selected.index+1, true); @@ -870,12 +870,9 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun //If selected is not defined go to the first field $rootScope.setActiveField(null, 0, true); } - }; $rootScope.prevField = $scope.prevField = function(){ - console.log('prevField'); - console.log($scope.selected); var selected_index = $scope.selected.index - 1; if($scope.selected.index > 0){ $scope.setActiveField(null, selected_index, true); @@ -893,7 +890,7 @@ angular.module('view-form').directive('submitFormDirective', ['$http', 'TimeCoun $scope.exitStartPage = function(){ $scope.myform.startPage.showStart = false; if($scope.myform.visible_form_fields.length > 0){ - $scope.selected._id = $scope.myform.visible_form_fields[0]._id; + $scope.selected.globalId = $scope.myform.visible_form_fields[0].globalId; } }; diff --git a/public/dist/form-application.min.js b/public/dist/form-application.min.js index 2bd6ddf9..11ea255e 100644 --- a/public/dist/form-application.min.js +++ b/public/dist/form-application.min.js @@ -1,2 +1,2 @@ -"use strict";var ApplicationConfiguration=function(){var a="TellForm-Form",b=["duScroll","ui.select","ngSanitize","vButton","ngResource","TellForm-Form.form_templates","ui.router","ui.bootstrap","pascalprecht.translate"],c=function(b,c){angular.module(b,c||[]),angular.module(a).requires.push(b)};return{applicationModuleName:a,applicationModuleVendorDependencies:b,registerModule:c}}();angular.module(ApplicationConfiguration.applicationModuleName,ApplicationConfiguration.applicationModuleVendorDependencies),angular.module(ApplicationConfiguration.applicationModuleName).config(["$locationProvider",function(a){a.hashPrefix("!")}]),angular.module(ApplicationConfiguration.applicationModuleName).constant("APP_PERMISSIONS",{viewAdminSettings:"viewAdminSettings",editAdminSettings:"editAdminSettings",editForm:"editForm",viewPrivateForm:"viewPrivateForm"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("USER_ROLES",{admin:"admin",normal:"user",superuser:"superuser"}),angular.module(ApplicationConfiguration.applicationModuleName).constant("FORM_URL","/forms/:formId"),angular.element(document).ready(function(){"#_=_"===window.location.hash&&(window.location.hash="#!"),angular.bootstrap(document,[ApplicationConfiguration.applicationModuleName])}),angular.module("TellForm-Form.form_templates",[]).run(["$templateCache",function(a){a.put("form_modules/forms/base/views/form-not-found.client.view.html",'

404 - Form Does not Exist

The form you are trying to access does not exist. Sorry about that!
'),a.put("form_modules/forms/base/views/form-unauthorized.client.view.html",'

Not Authorized to Access Form

The form you are trying to access is currently private and not accesible publically.
If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
'),a.put("form_modules/forms/base/views/submit-form.client.view.html","
"),a.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html",'

{{pageData.introTitle}}

{{pageData.introParagraph}}

'),a.put("form_modules/forms/base/views/directiveViews/field/date.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/dropdown.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/hidden.html",""),a.put("form_modules/forms/base/views/directiveViews/field/legal.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/radio.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/rating.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/statement.html",'

{{field.title}}

{{field.description}}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/textarea.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{ \'NEWLINE\' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/textfield.html",'

{{index+1}} {{field.title}} ({{ \'OPTIONAL\' | translate }})

{{field.description}}

{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/yes_no.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",'
{{ \'COMPLETING_NEEDED\' | translate:translateAdvancementData }}
')}]),ApplicationConfiguration.registerModule("view-form",["ngFileUpload","ui.date","angular-input-stars"]),angular.module("view-form").config(["$stateProvider",function(a){a.state("submitForm",{url:"/forms/:formId",templateUrl:"/static/form_modules/forms/base/views/submit-form.client.view.html",resolve:{Forms:"Forms",myForm:["Forms","$q","$state","$stateParams",function(a,b,c,d){var e=b.defer();return a.get({formId:d.formId}).$promise.then(function(a){e.resolve(a)},function(a){c.go("unauthorizedFormAccess"),e.reject({redirectTo:"unauthorizedFormAccess"})}),e.promise}]},controller:"SubmitFormController",controllerAs:"ctrl"}).state("unauthorizedFormAccess",{url:"/forms/unauthorized",templateUrl:"/static/form_modules/forms/base/views/form-unauthorized.client.view.html"}).state("formNotFound",{url:"*path",templateUrl:"/static/form_modules/forms/base/views/form-not-found.client.view.html"})}]),function(){function a(a,b){function c(b,c,d){var e=window.navigator.userLanguage||window.navigator.language;e=e.slice(0,2);var f=navigator.userAgent,g=new MobileDetect(f),h="other";g.tablet()?h="tablet":g.mobile()?h="mobile":g.is("bot")||(h="desktop");var i={referrer:document.referrer,isSubmitted:b.submitted,formId:b._id,lastActiveField:b.form_fields[c]._id,timeElapsed:d,language:e,deviceType:h,ipAddr:null,geoLocation:null};a.emit("form-visitor-data",i)}function d(){a.socket||a.connect(),a.on("disconnect",function(){a.connect()})}var e={send:c};return d(),e}angular.module("view-form").factory("SendVisitorData",a),a.$inject=["Socket","$state"]}(),angular.module("view-form").directive("keyToOption",function(){return{restrict:"A",scope:{field:"="},link:function(a,b,c,d){b.bind("keydown keypress",function(b){var c=b.which||b.keyCode,d=parseInt(String.fromCharCode(c))-1;d',restrict:"E",scope:{typeName:"@"},controller:["$scope",function(a){var b={textfield:"fa fa-pencil-square-o",dropdown:"fa fa-th-list",date:"fa fa-calendar",checkbox:"fa fa-check-square-o",radio:"fa fa-dot-circle-o",email:"fa fa-envelope-o",textarea:"fa fa-pencil-square",legal:"fa fa-legal",file:"fa fa-cloud-upload",rating:"fa fa-star-half-o",link:"fa fa-link",scale:"fa fa-sliders",stripe:"fa fa-credit-card",statement:"fa fa-quote-left",yes_no:"fa fa-toggle-on",number:"fa fa-slack"};a.typeIcon=b[a.typeName]}]}});var __indexOf=[].indexOf||function(a){for(var b=0,c=this.length;b=0&&(c=c+b+".html"),d.get(c)};return{template:"
{{field.title}}
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?a.field.fieldValue=a.field.fieldOptions[0].option_value:"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keyup keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(console.log("onTabAndShiftKey"),b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData","$translate","$timeout",function(a,b,c,d,e,f,g){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"=",ispreview:"="},controller:["$document","$window","$scope",function(f,g,h){var i=!1,j="submit_field";h.forms={},h.ispreview&&b.restartClock();var k=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,l=c("formValidity")(h.myform);h.translateAdvancementData={done:l,total:k,answers_not_completed:k-l},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={_id:"",index:0},h.setActiveField(h.myform.visible_form_fields[0]._id,0,!1),b.restartClock()};var m=function(a){var b=a.logicJump;if(b.enabled&&b.expressionString&&b.valueB&&a.fieldValue){var c,d,e=jsep(b.expressionString); -if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},n=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return h.selected._id===j?h.myform.form_fields.length-1:h.selected.index};h.isActiveField=function(a){return h.selected._id===a._id},h.setActiveField=d.setActiveField=function(a,b,d){if(null!==h.selected&&(a||null!==b)){if(a){if(null===b){b=h.myform.visible_form_fields.length;for(var e=0;e .field-directive:nth-of-type("+String(h.myform.visible_form_fields.length-1)+")"),m=$(l).height(),n=k-g-1.2*m,o=.9;h.selected.index===h.myform.visible_form_fields.length?bn?(a=h.selected.index+1,h.setActiveField(j,a,!1)):ef*o&&(a=h.selected.index-1,h.setActiveField(null,a,!1))}h.$apply()},d.nextField=h.nextField=function(){if(h.selected&&h.selected.index>-1)if(h.selected._id!==j){var a=h.myform.visible_form_fields[h.selected.index];a.logicJump&&a.logicJump.jumpTo&&m(a)?h.setActiveField(a.logicJump.jumpTo,null,!0):h.selected.index0&&h.setActiveField(null,a,!0)},d.goToInvalid=h.goToInvalid=function(){var a=$(".row.field-directive .ng-invalid.focusOn, .row.field-directive .ng-untouched.focusOn:not(.ng-valid)").first().parents(".row.field-directive").first().attr("data-id");h.setActiveField(a,null,!0)},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected._id=h.myform.visible_form_fields[0]._id)};var o=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},p=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){if(h.forms.myForm.$invalid)return void h.goToInvalid();var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=o();f.device=g;var i=p();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.endPage,delete f.isLive,delete f.provider,delete f.startPage,delete f.visible_form_fields,delete f.analytics,delete f.design,delete f.submissions,delete f.submitted;for(var j=0;j$(".loader").fadeOut("slow");

404 - Form Does not Exist

The form you are trying to access does not exist. Sorry about that!
'),a.put("form_modules/forms/base/views/form-unauthorized.client.view.html",'

Not Authorized to Access Form

The form you are trying to access is currently private and not accesible publically.
If you are the owner of the form, you can set it to "Public" in the "Configuration" panel in the form admin.
'),a.put("form_modules/forms/base/views/submit-form.client.view.html","
"),a.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html",'

{{pageData.introTitle}}

{{pageData.introParagraph}}

'),a.put("form_modules/forms/base/views/directiveViews/field/date.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/dropdown.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/hidden.html",""),a.put("form_modules/forms/base/views/directiveViews/field/legal.html",'
'),a.put("form_modules/forms/base/views/directiveViews/field/radio.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/rating.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}

'),a.put("form_modules/forms/base/views/directiveViews/field/statement.html",'

{{field.title}}

{{field.description}}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/field/textarea.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{ \'NEWLINE\' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/textfield.html",'

{{index+1}} {{field.title}} ({{ \'OPTIONAL\' | translate }})

{{field.description}}

{{ \'ENTER\' | translate }}
'),a.put("form_modules/forms/base/views/directiveViews/field/yes_no.html",'

{{index+1}} {{field.title}} {{ \'OPTIONAL\' | translate }}

{{field.description}}


'),a.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",'
{{ \'COMPLETING_NEEDED\' | translate:translateAdvancementData }}
')}]),ApplicationConfiguration.registerModule("view-form",["ngFileUpload","ui.date","angular-input-stars"]),angular.module("view-form").config(["$stateProvider",function(a){a.state("submitForm",{url:"/forms/:formId",templateUrl:"/static/form_modules/forms/base/views/submit-form.client.view.html",resolve:{Forms:"Forms",myForm:["Forms","$q","$state","$stateParams",function(a,b,c,d){var e=b.defer();return a.get({formId:d.formId}).$promise.then(function(a){e.resolve(a)},function(a){c.go("unauthorizedFormAccess"),e.reject({redirectTo:"unauthorizedFormAccess"})}),e.promise}]},controller:"SubmitFormController",controllerAs:"ctrl"}).state("unauthorizedFormAccess",{url:"/forms/unauthorized",templateUrl:"/static/form_modules/forms/base/views/form-unauthorized.client.view.html"}).state("formNotFound",{url:"*path",templateUrl:"/static/form_modules/forms/base/views/form-not-found.client.view.html"})}]),function(){function a(a,b){function c(b,c,d){var e=window.navigator.userLanguage||window.navigator.language;e=e.slice(0,2);var f=navigator.userAgent,g=new MobileDetect(f),h="other";g.tablet()?h="tablet":g.mobile()?h="mobile":g.is("bot")||(h="desktop");var i={referrer:document.referrer,isSubmitted:b.submitted,formId:b._id,lastActiveField:b.form_fields[c].globalId,timeElapsed:d,language:e,deviceType:h,ipAddr:null,geoLocation:null};a.emit("form-visitor-data",i)}function d(){a.socket||a.connect(),a.on("disconnect",function(){a.connect()})}var e={send:c};return d(),e}angular.module("view-form").factory("SendVisitorData",a),a.$inject=["Socket","$state"]}(),angular.module("view-form").directive("keyToOption",function(){return{restrict:"A",scope:{field:"="},link:function(a,b,c,d){b.bind("keydown keypress",function(b){var c=b.which||b.keyCode,d=parseInt(String.fromCharCode(c))-1;d',restrict:"E",scope:{typeName:"@"},controller:["$scope",function(a){var b={textfield:"fa fa-pencil-square-o",dropdown:"fa fa-th-list",date:"fa fa-calendar",checkbox:"fa fa-check-square-o",radio:"fa fa-dot-circle-o",email:"fa fa-envelope-o",textarea:"fa fa-pencil-square",legal:"fa fa-legal",file:"fa fa-cloud-upload",rating:"fa fa-star-half-o",link:"fa fa-link",scale:"fa fa-sliders",stripe:"fa fa-credit-card",statement:"fa fa-quote-left",yes_no:"fa fa-toggle-on",number:"fa fa-slack"};a.typeIcon=b[a.typeName]}]}});var __indexOf=[].indexOf||function(a){for(var b=0,c=this.length;b=0&&(c=c+b+".html"),d.get(c)};return{template:"
{{field.title}}
",restrict:"E",scope:{field:"=",required:"&",design:"=",index:"=",forms:"="},link:function(a,d){c.chooseDefaultOption=a.chooseDefaultOption=function(b){"yes_no"===b?a.field.fieldValue="true":"rating"===b?a.field.fieldValue=0:"radio"===a.field.fieldType?a.field.fieldValue=a.field.fieldOptions[0].option_value:"legal"===b&&(a.field.fieldValue="true",c.nextField())},a.nextField=c.nextField,a.setActiveField=c.setActiveField,"date"===a.field.fieldType&&(a.dateOptions={changeYear:!0,changeMonth:!0,altFormat:"mm/dd/yyyy",yearRange:"1900:-0",defaultDate:0});var e=a.field.fieldType;if("number"===a.field.fieldType||"textfield"===a.field.fieldType||"email"===a.field.fieldType||"link"===a.field.fieldType){switch(a.field.fieldType){case"textfield":a.input_type="text";break;case"email":a.input_type="email",a.placeholder="joesmith@example.com";break;case"number":a.input_type="text",a.validateRegex=/^-?\d+$/;break;default:a.input_type="url",a.placeholder="http://example.com"}e="textfield"}var g=f(e);d.html(g).show();b(d.contents())(a)}}}]),angular.module("view-form").directive("onEnterKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode,e=!1;null!==d.onEnterKeyDisabled&&(e=d.onEnterKeyDisabled),13!==c||b.shiftKey||e||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterKey)}))})}}}]).directive("onTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keyup keypress",function(b){var c=b.which||b.keyCode;9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onTabKey)}))})}}}]).directive("onEnterOrTabKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;13!==c&&9!==c||b.shiftKey||(b.preventDefault(),a.$apply(function(){a.$eval(d.onEnterOrTabKey)}))})}}}]).directive("onTabAndShiftKey",["$rootScope",function(a){return{restrict:"A",link:function(b,c,d){c.bind("keydown keypress",function(b){var c=b.which||b.keyCode;9===c&&b.shiftKey&&(console.log("onTabAndShiftKey"),b.preventDefault(),a.$apply(function(){a.$eval(d.onTabAndShiftKey)}))})}}}]),angular.module("view-form").directive("onFinishRender",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(b,c,d){if(c.attr("ng-repeat")||c.attr("data-ng-repeat")){var e=d.onFinishRender||"ngRepeat";b.$first&&!b.$last?b.$evalAsync(function(){a.$broadcast(e+" Started")}):b.$last&&b.$evalAsync(function(){a.$broadcast(e+" Finished")})}}}}]),jsep.addBinaryOp("contains",10),jsep.addBinaryOp("!contains",10),jsep.addBinaryOp("begins",10),jsep.addBinaryOp("!begins",10),jsep.addBinaryOp("ends",10),jsep.addBinaryOp("!ends",10),angular.module("view-form").directive("submitFormDirective",["$http","TimeCounter","$filter","$rootScope","SendVisitorData","$translate","$timeout",function(a,b,c,d,e,f,g){return{templateUrl:"form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html",restrict:"E",scope:{myform:"=",ispreview:"="},controller:["$document","$window","$scope",function(f,g,h){h.disableScrollWatch=!1;var i="submit_field";h.forms={},h.ispreview&&b.restartClock();var j=h.myform.visible_form_fields.filter(function(a){return"statement"!==a.fieldType}).length,k=c("formValidity")(h.myform);h.translateAdvancementData={done:k,total:j,answers_not_completed:j-k},h.reloadForm=function(){h.myform.submitted=!1,h.myform.form_fields=_.chain(h.myform.visible_form_fields).map(function(a){return a.fieldValue="",a}).value(),h.loading=!1,h.error="",h.selected={globalId:"",index:0},h.setActiveField(h.myform.visible_form_fields[0].globalId,0,!1),b.restartClock()};var l=function(a){var b=a.logicJump;if(b.enabled&&b.expressionString&&b.valueB&&a.fieldValue){var c,d,e=jsep(b.expressionString); +if("field"===e.left.name?(c=a.fieldValue,d=b.valueB):(c=b.valueB,d=a.fieldValue),"number"===a.fieldType||"scale"===a.fieldType||"rating"===a.fieldType)switch(e.operator){case"==":return parseInt(c)===parseInt(d);case"!==":return parseInt(c)!==parseInt(d);case">":return parseInt(c)>parseInt(d);case">=":return parseInt(c)>parseInt(d);case"<":return parseInt(c)-1;case"!contains":return!(c.indexOf(d)>-1);case"begins":return c.startsWith(d);case"!begins":return!c.startsWith(d);case"ends":return c.endsWith(d);case"!ends":return c.endsWith(d);default:return!1}}},m=function(){if(null===h.selected)throw console.error("current active field is null"),new Error("current active field is null");return h.selected.globalId===i?h.myform.form_fields.length-1:h.selected.index};h.isActiveField=function(a){return h.selected.globalId===a.globalId},h.setActiveField=d.setActiveField=function(a,b,d){if(null!==h.selected&&(a||null!==b)){if(a){if(null===b){b=h.myform.visible_form_fields.length;for(var e=0;e .field-directive:nth-of-type("+String(h.myform.visible_form_fields.length-1)+")"),l=$(k).height(),m=j-g-1.2*l,n=.9;h.selected.index===h.myform.visible_form_fields.length?bm?(a=h.selected.index+1,h.setActiveField(i,a,!1)):ef*n&&(a=h.selected.index-1,h.setActiveField(null,a,!1))}h.$apply()},d.nextField=h.nextField=function(){if(h.selected&&h.selected.index>-1)if(h.selected.globalId!==i){var a=h.myform.visible_form_fields[h.selected.index];a.logicJump.enabled&&a.logicJump.jumpTo&&l(a)?h.setActiveField(a.logicJump.jumpTo,null,!0):h.selected.index0&&h.setActiveField(null,a,!0)},d.goToInvalid=h.goToInvalid=function(){var a=$(".row.field-directive .ng-invalid.focusOn, .row.field-directive .ng-untouched.focusOn:not(.ng-valid)").first().parents(".row.field-directive").first().attr("data-id");h.setActiveField(a,null,!0)},h.exitStartPage=function(){h.myform.startPage.showStart=!1,h.myform.visible_form_fields.length>0&&(h.selected.globalId=h.myform.visible_form_fields[0].globalId)};var n=function(){var a=new MobileDetect(window.navigator.userAgent),b="other";return a.tablet()?b="tablet":a.mobile()?b="mobile":a.is("bot")||(b="desktop"),{type:b,name:window.navigator.platform}},o=function(){$.ajaxSetup({async:!1});var a=$.getJSON("https://freegeoip.net/json/").responseJSON;return $.ajaxSetup({async:!0}),a&&a.ip||(a={ip:"Adblocker"}),{ipAddr:a.ip,geoLocation:{City:a.city,Country:a.country_name}}};d.submitForm=h.submitForm=function(){if(h.forms.myForm.$invalid)return void h.goToInvalid();var d=b.stopClock();h.loading=!0;var f=_.cloneDeep(h.myform),g=n();f.device=g;var i=o();f.ipAddr=i.ipAddr,f.geoLocation=i.geoLocation,f.timeElapsed=d,f.percentageComplete=c("formValidity")(h.myform)/h.myform.visible_form_fields.length*100,delete f.endPage,delete f.isLive,delete f.provider,delete f.startPage,delete f.visible_form_fields,delete f.analytics,delete f.design,delete f.submissions,delete f.submitted;for(var j=0;j$(\".loader\").fadeOut(\"slow\");

Not Authorized to Access Form

The form you are trying to access is currently private and not accesible publically.
If you are the owner of the form, you can set it to \"Public\" in the \"Configuration\" panel in the form admin.
"); $templateCache.put("form_modules/forms/base/views/submit-form.client.view.html", - "
"); $templateCache.put("form_modules/forms/base/views/directiveViews/entryPage/startPage.html", "

{{pageData.introTitle}}

{{pageData.introParagraph}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/date.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/dropdown.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/hidden.html", ""); $templateCache.put("form_modules/forms/base/views/directiveViews/field/legal.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}


{{field.description}}


"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}


{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/radio.html", - "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "
0\">

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/rating.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}

"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/statement.html", "

{{field.title}}

{{field.description}}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textarea.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{ 'NEWLINE' | translate }}

{{field.description}}

Press SHIFT+ENTER to add a newline
{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/textfield.html", "

{{index+1}} {{field.title}} ({{ 'OPTIONAL' | translate }})

{{field.description}}

{{ 'ENTER' | translate }}
"); $templateCache.put("form_modules/forms/base/views/directiveViews/field/yes_no.html", - "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); + "

{{index+1}} {{field.title}} {{ 'OPTIONAL' | translate }}

{{field.description}}


"); $templateCache.put("form_modules/forms/base/views/directiveViews/form/submit-form.client.view.html", - "
{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

"); + "
{{ 'COMPLETING_NEEDED' | translate:translateAdvancementData }}
{{ 'ENTER' | translate }}

{{ 'ADVANCEMENT' | translate:translateAdvancementData }}

"); }]); diff --git a/public/dist/page-loader.gif b/public/dist/page-loader.gif deleted file mode 100644 index ae90a507..00000000 Binary files a/public/dist/page-loader.gif and /dev/null differ diff --git a/public/dist/vendor.min.js.report.txt b/public/dist/vendor.min.js.report.txt deleted file mode 100644 index e69de29b..00000000 diff --git a/public/dist/vendor_forms_uglified.js b/public/dist/vendor_forms_uglified.js deleted file mode 100644 index 4a45840b..00000000 --- a/public/dist/vendor_forms_uglified.js +++ /dev/null @@ -1,20611 +0,0 @@ -"use strict"; - -!function(a, b, c) { - function d(a) { - return function() { - var b, c = arguments[0]; - for (b = "[" + (a ? a + ":" : "") + c + "] http://errors.angularjs.org/1.4.14/" + (a ? a + "/" : "") + c, - c = 1; c < arguments.length; c++) { - b = b + (1 == c ? "?" : "&") + "p" + (c - 1) + "="; - var d, e = encodeURIComponent; - d = arguments[c], d = "function" == typeof d ? d.toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof d ? "undefined" : "string" != typeof d ? JSON.stringify(d) : d, - b += e(d); - } - return Error(b); - }; - } - function e(a) { - if (null == a || B(a)) return !1; - if (ed(a) || w(a) || Qc && a instanceof Qc) return !0; - var b = "length" in Object(a) && a.length; - return x(b) && (0 <= b && (b - 1 in a || a instanceof Array) || "function" == typeof a.item); - } - function f(a, b, c) { - var d, g; - if (a) if (z(a)) for (d in a) "prototype" == d || "length" == d || "name" == d || a.hasOwnProperty && !a.hasOwnProperty(d) || b.call(c, a[d], d, a); else if (ed(a) || e(a)) { - var h = "object" != typeof a; - for (d = 0, g = a.length; d < g; d++) (h || d in a) && b.call(c, a[d], d, a); - } else if (a.forEach && a.forEach !== f) a.forEach(b, c, a); else if (v(a)) for (d in a) b.call(c, a[d], d, a); else if ("function" == typeof a.hasOwnProperty) for (d in a) a.hasOwnProperty(d) && b.call(c, a[d], d, a); else for (d in a) Vc.call(a, d) && b.call(c, a[d], d, a); - return a; - } - function g(a, b, c) { - for (var d = Object.keys(a).sort(), e = 0; e < d.length; e++) b.call(c, a[d[e]], d[e]); - return d; - } - function h(a) { - return function(b, c) { - a(c, b); - }; - } - function i() { - return ++cd; - } - function j(a, b, c) { - for (var d = a.$$hashKey, e = 0, f = b.length; e < f; ++e) { - var g = b[e]; - if (u(g) || z(g)) for (var h = Object.keys(g), i = 0, k = h.length; i < k; i++) { - var l = h[i], m = g[l]; - c && u(m) ? y(m) ? a[l] = new Date(m.valueOf()) : A(m) ? a[l] = new RegExp(m) : m.nodeName ? a[l] = m.cloneNode(!0) : F(m) ? a[l] = m.clone() : (u(a[l]) || (a[l] = ed(m) ? [] : {}), - j(a[l], [ m ], !0)) : a[l] = m; - } - } - return d ? a.$$hashKey = d : delete a.$$hashKey, a; - } - function k(a) { - return j(a, Xc.call(arguments, 1), !1); - } - function l(a) { - return j(a, Xc.call(arguments, 1), !0); - } - function m(a) { - return parseInt(a, 10); - } - function n(a, b) { - return k(Object.create(a), b); - } - function o() {} - function p(a) { - return a; - } - function q(a) { - return function() { - return a; - }; - } - function r(a) { - return z(a.toString) && a.toString !== $c; - } - function s(a) { - return "undefined" == typeof a; - } - function t(a) { - return "undefined" != typeof a; - } - function u(a) { - return null !== a && "object" == typeof a; - } - function v(a) { - return null !== a && "object" == typeof a && !_c(a); - } - function w(a) { - return "string" == typeof a; - } - function x(a) { - return "number" == typeof a; - } - function y(a) { - return "[object Date]" === $c.call(a); - } - function z(a) { - return "function" == typeof a; - } - function A(a) { - return "[object RegExp]" === $c.call(a); - } - function B(a) { - return a && a.window === a; - } - function C(a) { - return a && a.$evalAsync && a.$watch; - } - function D(a) { - return "boolean" == typeof a; - } - function E(a) { - return a && x(a.length) && fd.test($c.call(a)); - } - function F(a) { - return !(!a || !(a.nodeName || a.prop && a.attr && a.find)); - } - function G(a) { - var b = {}; - a = a.split(","); - var c; - for (c = 0; c < a.length; c++) b[a[c]] = !0; - return b; - } - function H(a) { - return Uc(a.nodeName || a[0] && a[0].nodeName); - } - function I(a, b) { - var c = a.indexOf(b); - return 0 <= c && a.splice(c, 1), c; - } - function J(a, b) { - function c(a, b) { - var c, e = b.$$hashKey; - if (ed(a)) { - c = 0; - for (var f = a.length; c < f; c++) b.push(d(a[c])); - } else if (v(a)) for (c in a) b[c] = d(a[c]); else if (a && "function" == typeof a.hasOwnProperty) for (c in a) a.hasOwnProperty(c) && (b[c] = d(a[c])); else for (c in a) Vc.call(a, c) && (b[c] = d(a[c])); - return e ? b.$$hashKey = e : delete b.$$hashKey, b; - } - function d(a) { - if (!u(a)) return a; - var b = e.indexOf(a); - if (-1 !== b) return g[b]; - if (B(a) || C(a)) throw ad("cpws"); - var d, b = !1; - return ed(a) ? (d = [], b = !0) : E(a) ? d = new a.constructor(a) : y(a) ? d = new Date(a.getTime()) : A(a) ? (d = new RegExp(a.source, a.toString().match(/[^\/]*$/)[0]), - d.lastIndex = a.lastIndex) : "[object Blob]" === $c.call(a) ? d = new a.constructor([ a ], { - type: a.type - }) : z(a.cloneNode) ? d = a.cloneNode(!0) : (d = Object.create(_c(a)), b = !0), - e.push(a), g.push(d), b ? c(a, d) : d; - } - var e = [], g = []; - if (b) { - if (E(b)) throw ad("cpta"); - if (a === b) throw ad("cpi"); - return ed(b) ? b.length = 0 : f(b, function(a, c) { - "$$hashKey" !== c && delete b[c]; - }), e.push(a), g.push(b), c(a, b); - } - return d(a); - } - function K(a, b) { - if (ed(a)) { - b = b || []; - for (var c = 0, d = a.length; c < d; c++) b[c] = a[c]; - } else if (u(a)) for (c in b = b || {}, a) "$" === c.charAt(0) && "$" === c.charAt(1) || (b[c] = a[c]); - return b || a; - } - function L(a, b) { - if (a === b) return !0; - if (null === a || null === b) return !1; - if (a !== a && b !== b) return !0; - var c, d = typeof a; - if (d == typeof b && "object" == d) { - if (!ed(a)) { - if (y(a)) return !!y(b) && L(a.getTime(), b.getTime()); - if (A(a)) return !!A(b) && a.toString() == b.toString(); - if (C(a) || C(b) || B(a) || B(b) || ed(b) || y(b) || A(b)) return !1; - d = ja(); - for (c in a) if ("$" !== c.charAt(0) && !z(a[c])) { - if (!L(a[c], b[c])) return !1; - d[c] = !0; - } - for (c in b) if (!(c in d) && "$" !== c.charAt(0) && t(b[c]) && !z(b[c])) return !1; - return !0; - } - if (!ed(b)) return !1; - if ((d = a.length) == b.length) { - for (c = 0; c < d; c++) if (!L(a[c], b[c])) return !1; - return !0; - } - } - return !1; - } - function M(a, b, c) { - return a.concat(Xc.call(b, c)); - } - function N(a, b) { - var c = 2 < arguments.length ? Xc.call(arguments, 2) : []; - return !z(b) || b instanceof RegExp ? b : c.length ? function() { - return arguments.length ? b.apply(a, M(c, arguments, 0)) : b.apply(a, c); - } : function() { - return arguments.length ? b.apply(a, arguments) : b.call(a); - }; - } - function O(a, d) { - var e = d; - return "string" == typeof a && "$" === a.charAt(0) && "$" === a.charAt(1) ? e = c : B(d) ? e = "$WINDOW" : d && b === d ? e = "$DOCUMENT" : C(d) && (e = "$SCOPE"), - e; - } - function P(a, b) { - return s(a) ? c : (x(b) || (b = b ? 2 : null), JSON.stringify(a, O, b)); - } - function Q(a) { - return w(a) ? JSON.parse(a) : a; - } - function R(a, b) { - a = a.replace(kd, ""); - var c = Date.parse("Jan 01, 1970 00:00:00 " + a) / 6e4; - return isNaN(c) ? b : c; - } - function S(a, b, c) { - c = c ? -1 : 1; - var d = a.getTimezoneOffset(); - return b = R(b, d), c *= b - d, a = new Date(a.getTime()), a.setMinutes(a.getMinutes() + c), - a; - } - function T(a) { - a = Qc(a).clone(); - try { - a.empty(); - } catch (b) {} - var c = Qc("
").append(a).html(); - try { - return a[0].nodeType === od ? Uc(c) : c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(a, b) { - return "<" + Uc(b); - }); - } catch (d) { - return Uc(c); - } - } - function U(a) { - try { - return decodeURIComponent(a); - } catch (b) {} - } - function V(a) { - var b = {}; - return f((a || "").split("&"), function(a) { - var c, d, e; - a && (d = a = a.replace(/\+/g, "%20"), c = a.indexOf("="), -1 !== c && (d = a.substring(0, c), - e = a.substring(c + 1)), d = U(d), t(d) && (e = !t(e) || U(e), Vc.call(b, d) ? ed(b[d]) ? b[d].push(e) : b[d] = [ b[d], e ] : b[d] = e)); - }), b; - } - function W(a) { - var b = []; - return f(a, function(a, c) { - ed(a) ? f(a, function(a) { - b.push(Y(c, !0) + (!0 === a ? "" : "=" + Y(a, !0))); - }) : b.push(Y(c, !0) + (!0 === a ? "" : "=" + Y(a, !0))); - }), b.length ? b.join("&") : ""; - } - function X(a) { - return Y(a, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+"); - } - function Y(a, b) { - return encodeURIComponent(a).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, b ? "%20" : "+"); - } - function Z(a, b) { - var c, d, e = ld.length; - for (d = 0; d < e; ++d) if (c = ld[d] + b, w(c = a.getAttribute(c))) return c; - return null; - } - function $(a, b) { - var c, d, e = {}; - f(ld, function(b) { - b += "app", !c && a.hasAttribute && a.hasAttribute(b) && (c = a, d = a.getAttribute(b)); - }), f(ld, function(b) { - b += "app"; - var e; - !c && (e = a.querySelector("[" + b.replace(":", "\\:") + "]")) && (c = e, d = e.getAttribute(b)); - }), c && (e.strictDi = null !== Z(c, "strict-di"), b(c, d ? [ d ] : [], e)); - } - function _(c, d, e) { - u(e) || (e = {}), e = k({ - strictDi: !1 - }, e); - var g = function() { - if (c = Qc(c), c.injector()) { - var a = c[0] === b ? "document" : T(c); - throw ad("btstrpd", a.replace(//, ">")); - } - return d = d || [], d.unshift([ "$provide", function(a) { - a.value("$rootElement", c); - } ]), e.debugInfoEnabled && d.push([ "$compileProvider", function(a) { - a.debugInfoEnabled(!0); - } ]), d.unshift("ng"), a = Oa(d, e.strictDi), a.invoke([ "$rootScope", "$rootElement", "$compile", "$injector", function(a, b, c, d) { - a.$apply(function() { - b.data("$injector", d), c(b)(a); - }); - } ]), a; - }, h = /^NG_ENABLE_DEBUG_INFO!/, i = /^NG_DEFER_BOOTSTRAP!/; - return a && h.test(a.name) && (e.debugInfoEnabled = !0, a.name = a.name.replace(h, "")), - a && !i.test(a.name) ? g() : (a.name = a.name.replace(i, ""), bd.resumeBootstrap = function(a) { - return f(a, function(a) { - d.push(a); - }), g(); - }, void (z(bd.resumeDeferredBootstrap) && bd.resumeDeferredBootstrap())); - } - function aa() { - a.name = "NG_ENABLE_DEBUG_INFO!" + a.name, a.location.reload(); - } - function ba(a) { - if (a = bd.element(a).injector(), !a) throw ad("test"); - return a.get("$$testability"); - } - function ca(a, b) { - return b = b || "_", a.replace(md, function(a, c) { - return (c ? b : "") + a.toLowerCase(); - }); - } - function da() { - var b; - if (!nd) { - var d = jd(); - (Rc = s(d) ? a.jQuery : d ? a[d] : c) && Rc.fn.on ? (Qc = Rc, k(Rc.fn, { - scope: Cd.scope, - isolateScope: Cd.isolateScope, - controller: Cd.controller, - injector: Cd.injector, - inheritedData: Cd.inheritedData - }), b = Rc.cleanData, Rc.cleanData = function(a) { - var c; - if (dd) dd = !1; else for (var d, e = 0; null != (d = a[e]); e++) (c = Rc._data(d, "events")) && c.$destroy && Rc(d).triggerHandler("$destroy"); - b(a); - }) : Qc = qa, bd.element = Qc, nd = !0; - } - } - function ea(a, b, c) { - if (!a) throw ad("areq", b || "?", c || "required"); - return a; - } - function fa(a, b, c) { - return c && ed(a) && (a = a[a.length - 1]), ea(z(a), b, "not a function, got " + (a && "object" == typeof a ? a.constructor.name || "Object" : typeof a)), - a; - } - function ga(a, b) { - if ("hasOwnProperty" === a) throw ad("badname", b); - } - function ha(a, b, c) { - if (!b) return a; - b = b.split("."); - for (var d, e = a, f = b.length, g = 0; g < f; g++) d = b[g], a && (a = (e = a)[d]); - return !c && z(a) ? N(e, a) : a; - } - function ia(a) { - for (var b, c = a[0], d = a[a.length - 1], e = 1; c !== d && (c = c.nextSibling); e++) (b || a[e] !== c) && (b || (b = Qc(Xc.call(a, 0, e))), - b.push(c)); - return b || a; - } - function ja() { - return Object.create(null); - } - function ka(a) { - function b(a, b, c) { - return a[b] || (a[b] = c()); - } - var c = d("$injector"), e = d("ng"); - return a = b(a, "angular", Object), a.$$minErr = a.$$minErr || d, b(a, "module", function() { - var a = {}; - return function(d, f, g) { - if ("hasOwnProperty" === d) throw e("badname", "module"); - return f && a.hasOwnProperty(d) && (a[d] = null), b(a, d, function() { - function a(a, b, c, d) { - return d || (d = e), function() { - return d[c || "push"]([ a, b, arguments ]), k; - }; - } - function b(a, b) { - return function(c, f) { - return f && z(f) && (f.$$moduleName = d), e.push([ a, b, arguments ]), k; - }; - } - if (!f) throw c("nomod", d); - var e = [], h = [], i = [], j = a("$injector", "invoke", "push", h), k = { - _invokeQueue: e, - _configBlocks: h, - _runBlocks: i, - requires: f, - name: d, - provider: b("$provide", "provider"), - factory: b("$provide", "factory"), - service: b("$provide", "service"), - value: a("$provide", "value"), - constant: a("$provide", "constant", "unshift"), - decorator: b("$provide", "decorator"), - animation: b("$animateProvider", "register"), - filter: b("$filterProvider", "register"), - controller: b("$controllerProvider", "register"), - directive: b("$compileProvider", "directive"), - config: j, - run: function(a) { - return i.push(a), this; - } - }; - return g && j(g), k; - }); - }; - }); - } - function la(b) { - k(b, { - bootstrap: _, - copy: J, - extend: k, - merge: l, - equals: L, - element: Qc, - forEach: f, - injector: Oa, - noop: o, - bind: N, - toJson: P, - fromJson: Q, - identity: p, - isUndefined: s, - isDefined: t, - isString: w, - isFunction: z, - isObject: u, - isNumber: x, - isElement: F, - isArray: ed, - version: pd, - isDate: y, - lowercase: Uc, - uppercase: Wc, - callbacks: { - counter: 0 - }, - getTestability: ba, - $$minErr: d, - $$csp: id, - reloadWithDebugInfo: aa - }), (Sc = ka(a))("ng", [ "ngLocale" ], [ "$provide", function(a) { - a.provider({ - $$sanitizeUri: Yb - }), a.provider("$compile", Xa).directive({ - a: Ee, - input: Ve, - textarea: Ve, - form: Ie, - script: Kf, - select: Nf, - style: Pf, - option: Of, - ngBind: Ye, - ngBindHtml: $e, - ngBindTemplate: Ze, - ngClass: af, - ngClassEven: cf, - ngClassOdd: bf, - ngCloak: df, - ngController: ef, - ngForm: Je, - ngHide: Ef, - ngIf: hf, - ngInclude: jf, - ngInit: lf, - ngNonBindable: xf, - ngPluralize: Bf, - ngRepeat: Cf, - ngShow: Df, - ngStyle: Ff, - ngSwitch: Gf, - ngSwitchWhen: Hf, - ngSwitchDefault: If, - ngOptions: Af, - ngTransclude: Jf, - ngModel: uf, - ngList: mf, - ngChange: _e, - pattern: Rf, - ngPattern: Rf, - required: Qf, - ngRequired: Qf, - minlength: Tf, - ngMinlength: Tf, - maxlength: Sf, - ngMaxlength: Sf, - ngValue: Xe, - ngModelOptions: wf - }).directive({ - ngInclude: kf - }).directive(Fe).directive(ff), a.provider({ - $anchorScroll: Pa, - $animate: Pd, - $animateCss: Sd, - $$animateJs: Nd, - $$animateQueue: Od, - $$AnimateRunner: Rd, - $$animateAsyncRun: Qd, - $browser: Ua, - $cacheFactory: Va, - $controller: _a, - $document: ab, - $exceptionHandler: bb, - $filter: kc, - $$forceReflow: Xd, - $interpolate: nb, - $interval: ob, - $http: jb, - $httpParamSerializer: db, - $httpParamSerializerJQLike: eb, - $httpBackend: lb, - $xhrFactory: kb, - $location: Ab, - $log: Bb, - $parse: Sb, - $rootScope: Xb, - $q: Tb, - $$q: Ub, - $sce: ac, - $sceDelegate: _b, - $sniffer: bc, - $templateCache: Wa, - $templateRequest: cc, - $$testability: dc, - $timeout: ec, - $window: hc, - $$rAF: Wb, - $$jqLite: Ka, - $$HashMap: Gd, - $$cookieReader: jc - }); - } ]); - } - function ma(a) { - return a.replace(sd, function(a, b, c, d) { - return d ? c.toUpperCase() : c; - }).replace(td, "Moz$1"); - } - function na(a) { - return a = a.nodeType, 1 === a || !a || 9 === a; - } - function oa(a, b) { - var c, d, e = b.createDocumentFragment(), g = []; - if (xd.test(a)) { - for (c = c || e.appendChild(b.createElement("div")), d = (yd.exec(a) || [ "", "" ])[1].toLowerCase(), - d = Ad[d] || Ad._default, c.innerHTML = d[1] + a.replace(zd, "<$1>") + d[2], - d = d[0]; d--; ) c = c.lastChild; - g = M(g, c.childNodes), c = e.firstChild, c.textContent = ""; - } else g.push(b.createTextNode(a)); - return e.textContent = "", e.innerHTML = "", f(g, function(a) { - e.appendChild(a); - }), e; - } - function pa(a, b) { - var c = a.parentNode; - c && c.replaceChild(b, a), b.appendChild(a); - } - function qa(a) { - if (a instanceof qa) return a; - var c; - if (w(a) && (a = gd(a), c = !0), !(this instanceof qa)) { - if (c && "<" != a.charAt(0)) throw vd("nosel"); - return new qa(a); - } - if (c) { - c = b; - var d; - a = (d = wd.exec(a)) ? [ c.createElement(d[1]) ] : (d = oa(a, c)) ? d.childNodes : []; - } - Aa(this, a); - } - function ra(a) { - return a.cloneNode(!0); - } - function sa(a, b) { - if (b || ua(a), a.querySelectorAll) for (var c = a.querySelectorAll("*"), d = 0, e = c.length; d < e; d++) ua(c[d]); - } - function ta(a, b, c, d) { - if (t(d)) throw vd("offargs"); - var e = (d = va(a)) && d.events, g = d && d.handle; - if (g) if (b) { - var h = function(b) { - var d = e[b]; - t(c) && I(d || [], c), t(c) && d && 0 < d.length || (a.removeEventListener(b, g, !1), - delete e[b]); - }; - f(b.split(" "), function(a) { - h(a), ud[a] && h(ud[a]); - }); - } else for (b in e) "$destroy" !== b && a.removeEventListener(b, g, !1), delete e[b]; - } - function ua(a, b) { - var d = a.ng339, e = d && qd[d]; - e && (b ? delete e.data[b] : (e.handle && (e.events.$destroy && e.handle({}, "$destroy"), - ta(a)), delete qd[d], a.ng339 = c)); - } - function va(a, b) { - var d = a.ng339, d = d && qd[d]; - return b && !d && (a.ng339 = d = ++rd, d = qd[d] = { - events: {}, - data: {}, - handle: c - }), d; - } - function wa(a, b, c) { - if (na(a)) { - var d = t(c), e = !d && b && !u(b), f = !b; - if (a = (a = va(a, !e)) && a.data, d) a[b] = c; else { - if (f) return a; - if (e) return a && a[b]; - k(a, b); - } - } - } - function xa(a, b) { - return !!a.getAttribute && -1 < (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + b + " "); - } - function ya(a, b) { - b && a.setAttribute && f(b.split(" "), function(b) { - a.setAttribute("class", gd((" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + gd(b) + " ", " "))); - }); - } - function za(a, b) { - if (b && a.setAttribute) { - var c = (" " + (a.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "); - f(b.split(" "), function(a) { - a = gd(a), -1 === c.indexOf(" " + a + " ") && (c += a + " "); - }), a.setAttribute("class", gd(c)); - } - } - function Aa(a, b) { - if (b) if (b.nodeType) a[a.length++] = b; else { - var c = b.length; - if ("number" == typeof c && b.window !== b) { - if (c) for (var d = 0; d < c; d++) a[a.length++] = b[d]; - } else a[a.length++] = b; - } - } - function Ba(a, b) { - return Ca(a, "$" + (b || "ngController") + "Controller"); - } - function Ca(a, b, c) { - for (9 == a.nodeType && (a = a.documentElement), b = ed(b) ? b : [ b ]; a; ) { - for (var d = 0, e = b.length; d < e; d++) if (t(c = Qc.data(a, b[d]))) return c; - a = a.parentNode || 11 === a.nodeType && a.host; - } - } - function Da(a) { - for (sa(a, !0); a.firstChild; ) a.removeChild(a.firstChild); - } - function Ea(a, b) { - b || sa(a); - var c = a.parentNode; - c && c.removeChild(a); - } - function Fa(b, c) { - c = c || a, "complete" === c.document.readyState ? c.setTimeout(b) : Qc(c).on("load", b); - } - function Ga(a, b) { - var c = Dd[b.toLowerCase()]; - return c && Ed[H(a)] && c; - } - function Ha(a, b) { - var c = function(c, d) { - c.isDefaultPrevented = function() { - return c.defaultPrevented; - }; - var e = b[d || c.type], f = e ? e.length : 0; - if (f) { - if (s(c.immediatePropagationStopped)) { - var g = c.stopImmediatePropagation; - c.stopImmediatePropagation = function() { - c.immediatePropagationStopped = !0, c.stopPropagation && c.stopPropagation(), g && g.call(c); - }; - } - c.isImmediatePropagationStopped = function() { - return !0 === c.immediatePropagationStopped; - }; - var h = e.specialHandlerWrapper || Ia; - 1 < f && (e = K(e)); - for (var i = 0; i < f; i++) c.isImmediatePropagationStopped() || h(a, c, e[i]); - } - }; - return c.elem = a, c; - } - function Ia(a, b, c) { - c.call(a, b); - } - function Ja(a, b, c) { - var d = b.relatedTarget; - d && (d === a || Bd.call(a, d)) || c.call(a, b); - } - function Ka() { - this.$get = function() { - return k(qa, { - hasClass: function(a, b) { - return a.attr && (a = a[0]), xa(a, b); - }, - addClass: function(a, b) { - return a.attr && (a = a[0]), za(a, b); - }, - removeClass: function(a, b) { - return a.attr && (a = a[0]), ya(a, b); - } - }); - }; - } - function La(a, b) { - var c = a && a.$$hashKey; - return c ? ("function" == typeof c && (c = a.$$hashKey()), c) : (c = typeof a, c = "function" == c || "object" == c && null !== a ? a.$$hashKey = c + ":" + (b || i)() : c + ":" + a); - } - function Ma(a, b) { - if (b) { - var c = 0; - this.nextUid = function() { - return ++c; - }; - } - f(a, this.put, this); - } - function Na(a) { - return (a = a.toString().replace(Kd, "").match(Hd)) ? "function(" + (a[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn"; - } - function Oa(a, b) { - function d(a) { - return function(b, c) { - return u(b) ? void f(b, h(a)) : a(b, c); - }; - } - function e(a, b) { - if (ga(a, "service"), (z(b) || ed(b)) && (b = p.instantiate(b)), !b.$get) throw Ld("pget", a); - return o[a + "Provider"] = b; - } - function g(a, b) { - return function() { - var c = t.invoke(b, this); - if (s(c)) throw Ld("undef", a); - return c; - }; - } - function i(a, b, c) { - return e(a, { - $get: !1 !== c ? g(a, b) : b - }); - } - function j(a) { - ea(s(a) || ed(a), "modulesToLoad", "not an array"); - var b, c = []; - return f(a, function(a) { - function d(a) { - var b, c; - for (b = 0, c = a.length; b < c; b++) { - var d = a[b], e = p.get(d[0]); - e[d[1]].apply(e, d[2]); - } - } - if (!n.get(a)) { - n.put(a, !0); - try { - w(a) ? (b = Sc(a), c = c.concat(j(b.requires)).concat(b._runBlocks), d(b._invokeQueue), - d(b._configBlocks)) : z(a) ? c.push(p.invoke(a)) : ed(a) ? c.push(p.invoke(a)) : fa(a, "module"); - } catch (e) { - throw ed(a) && (a = a[a.length - 1]), e.message && e.stack && -1 == e.stack.indexOf(e.message) && (e = e.message + "\n" + e.stack), - Ld("modulerr", a, e.stack || e.message || e); - } - } - }), c; - } - function k(a, c) { - function d(b, d) { - if (a.hasOwnProperty(b)) { - if (a[b] === l) throw Ld("cdep", b + " <- " + m.join(" <- ")); - return a[b]; - } - try { - return m.unshift(b), a[b] = l, a[b] = c(b, d); - } catch (e) { - throw a[b] === l && delete a[b], e; - } finally { - m.shift(); - } - } - function e(a, c, e, f) { - "string" == typeof e && (f = e, e = null); - var g, h, i, j = [], k = Oa.$$annotate(a, b, f); - for (h = 0, g = k.length; h < g; h++) { - if (i = k[h], "string" != typeof i) throw Ld("itkn", i); - j.push(e && e.hasOwnProperty(i) ? e[i] : d(i, f)); - } - return ed(a) && (a = a[g]), a.apply(c, j); - } - return { - invoke: e, - instantiate: function(a, b, c) { - var d = Object.create((ed(a) ? a[a.length - 1] : a).prototype || null); - return a = e(a, d, b, c), u(a) || z(a) ? a : d; - }, - get: d, - annotate: Oa.$$annotate, - has: function(b) { - return o.hasOwnProperty(b + "Provider") || a.hasOwnProperty(b); - } - }; - } - b = !0 === b; - var l = {}, m = [], n = new Ma([], (!0)), o = { - $provide: { - provider: d(e), - factory: d(i), - service: d(function(a, b) { - return i(a, [ "$injector", function(a) { - return a.instantiate(b); - } ]); - }), - value: d(function(a, b) { - return i(a, q(b), !1); - }), - constant: d(function(a, b) { - ga(a, "constant"), o[a] = b, r[a] = b; - }), - decorator: function(a, b) { - var c = p.get(a + "Provider"), d = c.$get; - c.$get = function() { - var a = t.invoke(d, c); - return t.invoke(b, null, { - $delegate: a - }); - }; - } - } - }, p = o.$injector = k(o, function(a, b) { - throw bd.isString(b) && m.push(b), Ld("unpr", m.join(" <- ")); - }), r = {}, t = r.$injector = k(r, function(a, b) { - var d = p.get(a + "Provider", b); - return t.invoke(d.$get, d, c, a); - }); - return f(j(a), function(a) { - a && t.invoke(a); - }), t; - } - function Pa() { - var a = !0; - this.disableAutoScrolling = function() { - a = !1; - }, this.$get = [ "$window", "$location", "$rootScope", function(b, c, d) { - function e(a) { - var b = null; - return Array.prototype.some.call(a, function(a) { - if ("a" === H(a)) return b = a, !0; - }), b; - } - function f(a) { - if (a) { - a.scrollIntoView(); - var c; - c = g.yOffset, z(c) ? c = c() : F(c) ? (c = c[0], c = "fixed" !== b.getComputedStyle(c).position ? 0 : c.getBoundingClientRect().bottom) : x(c) || (c = 0), - c && (a = a.getBoundingClientRect().top, b.scrollBy(0, a - c)); - } else b.scrollTo(0, 0); - } - function g(a) { - a = w(a) ? a : c.hash(); - var b; - a ? (b = h.getElementById(a)) ? f(b) : (b = e(h.getElementsByName(a))) ? f(b) : "top" === a && f(null) : f(null); - } - var h = b.document; - return a && d.$watch(function() { - return c.hash(); - }, function(a, b) { - a === b && "" === a || Fa(function() { - d.$evalAsync(g); - }); - }), g; - } ]; - } - function Qa(a, b) { - return a || b ? a ? b ? (ed(a) && (a = a.join(" ")), ed(b) && (b = b.join(" ")), - a + " " + b) : a : b : ""; - } - function Ra(a) { - w(a) && (a = a.split(" ")); - var b = ja(); - return f(a, function(a) { - a.length && (b[a] = !0); - }), b; - } - function Sa(a) { - return u(a) ? a : {}; - } - function Ta(a, b, c, d) { - function e(a) { - try { - a.apply(null, Xc.call(arguments, 1)); - } finally { - if (q--, 0 === q) for (;r.length; ) try { - r.pop()(); - } catch (b) { - c.error(b); - } - } - } - function g() { - x = null, h(), i(); - } - function h() { - a: { - try { - t = l.state; - break a; - } catch (a) {} - t = void 0; - } - t = s(t) ? null : t, L(t, A) && (t = A), A = t; - } - function i() { - v === j.url() && u === t || (v = j.url(), u = t, f(y, function(a) { - a(j.url(), t); - })); - } - var j = this, k = a.location, l = a.history, m = a.setTimeout, n = a.clearTimeout, p = {}; - j.isMock = !1; - var q = 0, r = []; - j.$$completeOutstandingRequest = e, j.$$incOutstandingRequestCount = function() { - q++; - }, j.notifyWhenNoOutstandingRequests = function(a) { - 0 === q ? a() : r.push(a); - }; - var t, u, v = k.href, w = b.find("base"), x = null; - h(), u = t, j.url = function(b, c, e) { - if (s(e) && (e = null), k !== a.location && (k = a.location), l !== a.history && (l = a.history), - b) { - var f = u === e; - if (v === b && (!d.history || f)) return j; - var g = v && tb(v) === tb(b); - return v = b, u = e, !d.history || g && f ? (g && !x || (x = b), c ? k.replace(b) : g ? (c = k, - e = b.indexOf("#"), e = -1 === e ? "" : b.substr(e), c.hash = e) : k.href = b, k.href !== b && (x = b)) : (l[c ? "replaceState" : "pushState"](e, "", b), - h(), u = t), j; - } - return x || k.href.replace(/%27/g, "'"); - }, j.state = function() { - return t; - }; - var y = [], z = !1, A = null; - j.onUrlChange = function(b) { - return z || (d.history && Qc(a).on("popstate", g), Qc(a).on("hashchange", g), z = !0), - y.push(b), b; - }, j.$$applicationDestroyed = function() { - Qc(a).off("hashchange popstate", g); - }, j.$$checkUrlChange = i, j.baseHref = function() { - var a = w.attr("href"); - return a ? a.replace(/^(https?\:)?\/\/[^\/]*/, "") : ""; - }, j.defer = function(a, b) { - var c; - return q++, c = m(function() { - delete p[c], e(a); - }, b || 0), p[c] = !0, c; - }, j.defer.cancel = function(a) { - return !!p[a] && (delete p[a], n(a), e(o), !0); - }; - } - function Ua() { - this.$get = [ "$window", "$log", "$sniffer", "$document", function(a, b, c, d) { - return new Ta(a, d, b, c); - } ]; - } - function Va() { - this.$get = function() { - function a(a, c) { - function e(a) { - a != m && (n ? n == a && (n = a.n) : n = a, f(a.n, a.p), f(a, m), m = a, m.n = null); - } - function f(a, b) { - a != b && (a && (a.p = b), b && (b.n = a)); - } - if (a in b) throw d("$cacheFactory")("iid", a); - var g = 0, h = k({}, c, { - id: a - }), i = ja(), j = c && c.capacity || Number.MAX_VALUE, l = ja(), m = null, n = null; - return b[a] = { - put: function(a, b) { - if (!s(b)) { - if (j < Number.MAX_VALUE) { - var c = l[a] || (l[a] = { - key: a - }); - e(c); - } - return a in i || g++, i[a] = b, g > j && this.remove(n.key), b; - } - }, - get: function(a) { - if (j < Number.MAX_VALUE) { - var b = l[a]; - if (!b) return; - e(b); - } - return i[a]; - }, - remove: function(a) { - if (j < Number.MAX_VALUE) { - var b = l[a]; - if (!b) return; - b == m && (m = b.p), b == n && (n = b.n), f(b.n, b.p), delete l[a]; - } - a in i && (delete i[a], g--); - }, - removeAll: function() { - i = ja(), g = 0, l = ja(), m = n = null; - }, - destroy: function() { - l = h = i = null, delete b[a]; - }, - info: function() { - return k({}, h, { - size: g - }); - } - }; - } - var b = {}; - return a.info = function() { - var a = {}; - return f(b, function(b, c) { - a[c] = b.info(); - }), a; - }, a.get = function(a) { - return b[a]; - }, a; - }; - } - function Wa() { - this.$get = [ "$cacheFactory", function(a) { - return a("templates"); - } ]; - } - function Xa(a, d) { - function e(a, b, c) { - var d = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/, e = ja(); - return f(a, function(a, f) { - if (a in x) e[f] = x[a]; else { - var g = a.match(d); - if (!g) throw Td("iscp", b, f, a, c ? "controller bindings definition" : "isolate scope definition"); - e[f] = { - mode: g[1][0], - collection: "*" === g[2], - optional: "?" === g[3], - attrName: g[4] || f - }, g[4] && (x[a] = e[f]); - } - }), e; - } - function g(a) { - var b = a.charAt(0); - if (!b || b !== Uc(b)) throw Td("baddir", a); - if (a !== a.trim()) throw Td("baddir", a); - } - var i = {}, j = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/, l = /(([\w\-]+)(?:\:([^;]+))?;?)/, m = G("ngSrc,ngSrcset,src,srcset"), r = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, v = /^(on[a-z]+|formaction)$/, x = ja(); - this.directive = function A(b, c) { - return ga(b, "directive"), w(b) ? (g(b), ea(c, "directiveFactory"), i.hasOwnProperty(b) || (i[b] = [], - a.factory(b + "Directive", [ "$injector", "$exceptionHandler", function(a, c) { - var d = []; - return f(i[b], function(e, f) { - try { - var g = a.invoke(e); - z(g) ? g = { - compile: q(g) - } : !g.compile && g.link && (g.compile = q(g.link)), g.priority = g.priority || 0, - g.index = f, g.name = g.name || b, g.require = g.require || g.controller && g.name, - g.restrict = g.restrict || "EA", g.$$moduleName = e.$$moduleName, d.push(g); - } catch (h) { - c(h); - } - }), d; - } ])), i[b].push(c)) : f(b, h(A)), this; - }, this.aHrefSanitizationWhitelist = function(a) { - return t(a) ? (d.aHrefSanitizationWhitelist(a), this) : d.aHrefSanitizationWhitelist(); - }, this.imgSrcSanitizationWhitelist = function(a) { - return t(a) ? (d.imgSrcSanitizationWhitelist(a), this) : d.imgSrcSanitizationWhitelist(); - }; - var y = !0; - this.debugInfoEnabled = function(a) { - return t(a) ? (y = a, this) : y; - }, this.$get = [ "$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$sce", "$animate", "$$sanitizeUri", function(a, d, g, h, q, x, A, B, E, F) { - function G(a, b) { - try { - a.addClass(b); - } catch (c) {} - } - function J(a, c, d, e, f) { - a instanceof Qc || (a = Qc(a)); - for (var g = /\S+/, h = 0, i = a.length; h < i; h++) { - var j = a[h]; - j.nodeType === od && j.nodeValue.match(g) && pa(j, a[h] = b.createElement("span")); - } - var k = K(a, c, a, d, e, f); - J.$$addScopeClass(a); - var l = null; - return function(b, c, d) { - ea(b, "scope"), f && f.needsNewScope && (b = b.$parent.$new()), d = d || {}; - var e = d.parentBoundTranscludeFn, g = d.transcludeControllers; - if (d = d.futureParentElement, e && e.$$boundTransclude && (e = e.$$boundTransclude), - l || (l = (d = d && d[0]) && "foreignobject" !== H(d) && d.toString().match(/SVG/) ? "svg" : "html"), - d = "html" !== l ? Qc($(l, Qc("
").append(a).html())) : c ? Cd.clone.call(a) : a, - g) for (var h in g) d.data("$" + h + "Controller", g[h].instance); - return J.$$addScopeInfo(d, b), c && c(d, b), k && k(b, d, d, e), d; - }; - } - function K(a, b, d, e, f, g) { - function h(a, d, e, f) { - var g, h, i, j, k, l, o; - if (m) for (o = Array(d.length), j = 0; j < n.length; j += 3) g = n[j], o[g] = d[g]; else o = d; - for (j = 0, k = n.length; j < k; ) h = o[n[j++]], d = n[j++], g = n[j++], d ? (d.scope ? (i = a.$new(), - J.$$addScopeInfo(Qc(h), i)) : i = a, l = d.transcludeOnThisElement ? M(a, d.transclude, f) : !d.templateOnThisElement && f ? f : !f && b ? M(a, b) : null, - d(g, i, h, e, l)) : g && g(a, h.childNodes, c, f); - } - for (var i, j, k, l, m, n = [], o = 0; o < a.length; o++) i = new ha(), j = N(a[o], [], i, 0 === o ? e : c, f), - (g = j.length ? Q(j, a[o], i, b, d, null, [], [], g) : null) && g.scope && J.$$addScopeClass(i.$$element), - i = g && g.terminal || !(k = a[o].childNodes) || !k.length ? null : K(k, g ? (g.transcludeOnThisElement || !g.templateOnThisElement) && g.transclude : b), - (g || i) && (n.push(o, g, i), l = !0, m = m || g), g = null; - return l ? h : null; - } - function M(a, b, c) { - return function(d, e, f, g, h) { - return d || (d = a.$new(!1, h), d.$$transcluded = !0), b(d, e, { - parentBoundTranscludeFn: c, - transcludeControllers: f, - futureParentElement: g - }); - }; - } - function N(a, b, c, d, e) { - var f, g = c.$attr; - switch (a.nodeType) { - case 1: - f = H(a), S(b, Ya(f), "E", d, e); - for (var h, i, k, m, n = a.attributes, o = 0, p = n && n.length; o < p; o++) { - var q = !1, r = !1; - h = n[o], i = h.name, k = gd(h.value), h = Ya(i), (m = ma.test(h)) && (i = i.replace(Ud, "").substr(8).replace(/_(.)/g, function(a, b) { - return b.toUpperCase(); - })), (h = h.match(na)) && U(h[1]) && (q = i, r = i.substr(0, i.length - 5) + "end", - i = i.substr(0, i.length - 6)), h = Ya(i.toLowerCase()), g[h] = i, !m && c.hasOwnProperty(h) || (c[h] = k, - Ga(a, h) && (c[h] = !0)), aa(a, b, k, h, m), S(b, h, "A", d, e, q, r); - } - if ("input" === f && "hidden" === a.getAttribute("type") && a.setAttribute("autocomplete", "off"), - a = a.className, u(a) && (a = a.animVal), w(a) && "" !== a) for (;f = l.exec(a); ) h = Ya(f[2]), - S(b, h, "C", d, e) && (c[h] = gd(f[3])), a = a.substr(f.index + f[0].length); - break; - - case od: - if (11 === Pc) for (;a.parentNode && a.nextSibling && a.nextSibling.nodeType === od; ) a.nodeValue += a.nextSibling.nodeValue, - a.parentNode.removeChild(a.nextSibling); - Z(b, a.nodeValue); - break; - - case 8: - try { - (f = j.exec(a.nodeValue)) && (h = Ya(f[1]), S(b, h, "M", d, e) && (c[h] = gd(f[2]))); - } catch (s) {} - } - return b.sort(X), b; - } - function O(a, b, c) { - var d = [], e = 0; - if (b && a.hasAttribute && a.hasAttribute(b)) { - do { - if (!a) throw Td("uterdir", b, c); - 1 == a.nodeType && (a.hasAttribute(b) && e++, a.hasAttribute(c) && e--), d.push(a), - a = a.nextSibling; - } while (0 < e); - } else d.push(a); - return Qc(d); - } - function P(a, b, c) { - return function(d, e, f, g, h) { - return e = O(e[0], b, c), a(d, e, f, g, h); - }; - } - function Q(a, d, e, f, h, i, j, k, l) { - function m(a, b, c, d) { - a && (c && (a = P(a, c, d)), a.require = q.require, a.directiveName = s, (D === q || q.$$isolateScope) && (a = da(a, { - isolateScope: !0 - })), j.push(a)), b && (c && (b = P(b, c, d)), b.require = q.require, b.directiveName = s, - (D === q || q.$$isolateScope) && (b = da(b, { - isolateScope: !0 - })), k.push(b)); - } - function n(a, b, c, d) { - var e; - if (w(b)) { - var f = b.match(r); - b = b.substring(f[0].length); - var g = f[1] || f[3], f = "?" === f[2]; - if ("^^" === g ? c = c.parent() : e = (e = d && d[b]) && e.instance, e || (d = "$" + b + "Controller", - e = g ? c.inheritedData(d) : c.data(d)), !e && !f) throw Td("ctreq", b, a); - } else if (ed(b)) for (e = [], g = 0, f = b.length; g < f; g++) e[g] = n(a, b[g], c, d); - return e || null; - } - function o(a, b, c, d, e, f) { - var g, h = ja(); - for (g in d) { - var i = d[g], j = { - $scope: i === D || i.$$isolateScope ? e : f, - $element: a, - $attrs: b, - $transclude: c - }, k = i.controller; - "@" == k && (k = b[i.name]), j = x(k, j, !0, i.controllerAs), h[i.name] = j, a.data("$" + i.name + "Controller", j.instance); - } - return h; - } - function p(a, b, f, g, h) { - function i(a, b, d) { - var e; - return C(a) || (d = b, b = a, a = c), I && (e = q), d || (d = I ? s.parent() : s), - h(a, b, e, d, y); - } - var l, m, p, q, r, s, t; - d === f ? (g = e, s = e.$$element) : (s = Qc(f), g = new ha(s, e)), p = b, D ? m = b.$new(!0) : A && (p = b.$parent), - h && (r = i, r.$$boundTransclude = h), B && (q = o(s, g, r, B, m, b)), D && (J.$$addScopeInfo(s, m, !0, !(E && (E === D || E === D.$$originalDirective))), - J.$$addScopeClass(s, !0), m.$$isolateBindings = D.$$isolateBindings, (t = ga(b, g, m, m.$$isolateBindings, D)) && m.$on("$destroy", t)); - for (var u in q) { - t = B[u]; - var v = q[u], w = t.$$bindings.bindToController; - v.identifier && w && (l = ga(p, g, v.instance, w, t)); - var x = v(); - x !== v.instance && (v.instance = x, s.data("$" + t.name + "Controller", x), l && l(), - l = ga(p, g, v.instance, w, t)); - } - for (M = 0, Q = j.length; M < Q; M++) l = j[M], fa(l, l.isolateScope ? m : b, s, g, l.require && n(l.directiveName, l.require, s, q), r); - var y = b; - for (D && (D.template || null === D.templateUrl) && (y = m), a && a(y, f.childNodes, c, h), - M = k.length - 1; 0 <= M; M--) l = k[M], fa(l, l.isolateScope ? m : b, s, g, l.require && n(l.directiveName, l.require, s, q), r); - } - l = l || {}; - for (var q, s, t, v, y = -Number.MAX_VALUE, A = l.newScopeDirective, B = l.controllerDirectives, D = l.newIsolateScopeDirective, E = l.templateDirective, F = l.nonTlbTranscludeDirective, G = !1, H = !1, I = l.hasElementTranscludeDirective, K = e.$$element = Qc(d), L = f, M = 0, Q = a.length; M < Q; M++) { - q = a[M]; - var S = q.$$start, U = q.$$end; - if (S && (K = O(d, S, U)), t = c, y > q.priority) break; - if ((t = q.scope) && (q.templateUrl || (u(t) ? (Y("new/isolated scope", D || A, q, K), - D = q) : Y("new/isolated scope", D, q, K)), A = A || q), s = q.name, !q.templateUrl && q.controller && (t = q.controller, - B = B || ja(), Y("'" + s + "' controller", B[s], q, K), B[s] = q), (t = q.transclude) && (G = !0, - q.$$tlb || (Y("transclusion", F, q, K), F = q), "element" == t ? (I = !0, y = q.priority, - t = K, K = e.$$element = Qc(b.createComment(" " + s + ": " + e[s] + " ")), d = K[0], - ba(h, Xc.call(t, 0), d), L = J(t, f, y, i && i.name, { - nonTlbTranscludeDirective: F - })) : (t = Qc(ra(d)).contents(), K.empty(), L = J(t, f, c, c, { - needsNewScope: q.$$isolateScope || q.$$newScope - }))), q.template) if (H = !0, Y("template", E, q, K), E = q, t = z(q.template) ? q.template(K, e) : q.template, - t = la(t), q.replace) { - if (i = q, t = xd.test(t) ? $a($(q.templateNamespace, gd(t))) : [], d = t[0], 1 != t.length || 1 !== d.nodeType) throw Td("tplrt", s, ""); - ba(h, K, d), t = { - $attr: {} - }; - var X = N(d, [], t), Z = a.splice(M + 1, a.length - (M + 1)); - (D || A) && R(X, D, A), a = a.concat(X).concat(Z), V(e, t), Q = a.length; - } else K.html(t); - if (q.templateUrl) H = !0, Y("template", E, q, K), E = q, q.replace && (i = q), - p = W(a.splice(M, a.length - M), K, e, h, G && L, j, k, { - controllerDirectives: B, - newScopeDirective: A !== q && A, - newIsolateScopeDirective: D, - templateDirective: E, - nonTlbTranscludeDirective: F - }), Q = a.length; else if (q.compile) try { - v = q.compile(K, e, L), z(v) ? m(null, v, S, U) : v && m(v.pre, v.post, S, U); - } catch (_) { - g(_, T(K)); - } - q.terminal && (p.terminal = !0, y = Math.max(y, q.priority)); - } - return p.scope = A && !0 === A.scope, p.transcludeOnThisElement = G, p.templateOnThisElement = H, - p.transclude = L, l.hasElementTranscludeDirective = I, p; - } - function R(a, b, c) { - for (var d = 0, e = a.length; d < e; d++) a[d] = n(a[d], { - $$isolateScope: b, - $$newScope: c - }); - } - function S(b, c, d, f, h, j, k) { - if (c === h) return null; - if (h = null, i.hasOwnProperty(c)) { - var l; - c = a.get(c + "Directive"); - for (var m = 0, o = c.length; m < o; m++) try { - if (l = c[m], (s(f) || f > l.priority) && -1 != l.restrict.indexOf(d)) { - if (j && (l = n(l, { - $$start: j, - $$end: k - })), !l.$$bindings) { - var p = l, q = l, r = l.name, t = { - isolateScope: null, - bindToController: null - }; - if (u(q.scope) && (!0 === q.bindToController ? (t.bindToController = e(q.scope, r, !0), - t.isolateScope = {}) : t.isolateScope = e(q.scope, r, !1)), u(q.bindToController) && (t.bindToController = e(q.bindToController, r, !0)), - u(t.bindToController)) { - var v = q.controller, x = q.controllerAs; - if (!v) throw Td("noctrl", r); - var y; - a: { - var q = v, z = x; - if (z && w(z)) y = z; else { - if (w(q)) { - var A = Wd.exec(q); - if (A) { - y = A[3]; - break a; - } - } - y = void 0; - } - } - if (!y) throw Td("noident", r); - } - var B = p.$$bindings = t; - u(B.isolateScope) && (l.$$isolateBindings = B.isolateScope); - } - b.push(l), h = l; - } - } catch (C) { - g(C); - } - } - return h; - } - function U(b) { - if (i.hasOwnProperty(b)) for (var c = a.get(b + "Directive"), d = 0, e = c.length; d < e; d++) if (b = c[d], - b.multiElement) return !0; - return !1; - } - function V(a, b) { - var c = b.$attr, d = a.$attr, e = a.$$element; - f(a, function(d, e) { - "$" != e.charAt(0) && (b[e] && b[e] !== d && (d += ("style" === e ? ";" : " ") + b[e]), - a.$set(e, d, !0, c[e])); - }), f(b, function(b, f) { - "class" == f ? (G(e, b), a["class"] = (a["class"] ? a["class"] + " " : "") + b) : "style" == f ? (e.attr("style", e.attr("style") + ";" + b), - a.style = (a.style ? a.style + ";" : "") + b) : "$" == f.charAt(0) || a.hasOwnProperty(f) || (a[f] = b, - d[f] = c[f]); - }); - } - function W(a, b, c, d, e, g, i, j) { - var k, l, m = [], o = b[0], p = a.shift(), q = n(p, { - templateUrl: null, - transclude: null, - replace: null, - $$originalDirective: p - }), r = z(p.templateUrl) ? p.templateUrl(b, c) : p.templateUrl, s = p.templateNamespace; - return b.empty(), h(r).then(function(h) { - var n, t; - if (h = la(h), p.replace) { - if (h = xd.test(h) ? $a($(s, gd(h))) : [], n = h[0], 1 != h.length || 1 !== n.nodeType) throw Td("tplrt", p.name, r); - h = { - $attr: {} - }, ba(d, b, n); - var v = N(n, [], h); - u(p.scope) && R(v, !0), a = v.concat(a), V(c, h); - } else n = o, b.html(h); - for (a.unshift(q), k = Q(a, n, c, e, b, p, g, i, j), f(d, function(a, c) { - a == n && (d[c] = b[0]); - }), l = K(b[0].childNodes, e); m.length; ) { - h = m.shift(), t = m.shift(); - var w = m.shift(), x = m.shift(), v = b[0]; - if (!h.$$destroyed) { - if (t !== o) { - var y = t.className; - j.hasElementTranscludeDirective && p.replace || (v = ra(n)), ba(w, Qc(t), v), G(Qc(v), y); - } - t = k.transcludeOnThisElement ? M(h, k.transclude, x) : x, k(l, h, v, d, t); - } - } - m = null; - }), function(a, b, c, d, e) { - a = e, b.$$destroyed || (m ? m.push(b, c, d, a) : (k.transcludeOnThisElement && (a = M(b, k.transclude, e)), - k(l, b, c, d, a))); - }; - } - function X(a, b) { - var c = b.priority - a.priority; - return 0 !== c ? c : a.name !== b.name ? a.name < b.name ? -1 : 1 : a.index - b.index; - } - function Y(a, b, c, d) { - function e(a) { - return a ? " (module: " + a + ")" : ""; - } - if (b) throw Td("multidir", b.name, e(b.$$moduleName), c.name, e(c.$$moduleName), a, T(d)); - } - function Z(a, b) { - var c = d(b, !0); - c && a.push({ - priority: 0, - compile: function(a) { - a = a.parent(); - var b = !!a.length; - return b && J.$$addBindingClass(a), function(a, d) { - var e = d.parent(); - b || J.$$addBindingClass(e), J.$$addBindingInfo(e, c.expressions), a.$watch(c, function(a) { - d[0].nodeValue = a; - }); - }; - } - }); - } - function $(a, c) { - switch (a = Uc(a || "html")) { - case "svg": - case "math": - var d = b.createElement("div"); - return d.innerHTML = "<" + a + ">" + c + "", d.childNodes[0].childNodes; - - default: - return c; - } - } - function _(a, b) { - if ("srcdoc" == b) return B.HTML; - var c = H(a); - return "xlinkHref" == b || "form" == c && "action" == b || "img" != c && ("src" == b || "ngSrc" == b) ? B.RESOURCE_URL : void 0; - } - function aa(a, b, c, e, f) { - var g = _(a, e); - f = m[e] || f; - var h = d(c, !0, g, f); - if (h) { - if ("multiple" === e && "select" === H(a)) throw Td("selmulti", T(a)); - b.push({ - priority: 100, - compile: function() { - return { - pre: function(a, b, i) { - if (b = i.$$observers || (i.$$observers = ja()), v.test(e)) throw Td("nodomevents"); - var j = i[e]; - j !== c && (h = j && d(j, !0, g, f), c = j), h && (i[e] = h(a), (b[e] || (b[e] = [])).$$inter = !0, - (i.$$observers && i.$$observers[e].$$scope || a).$watch(h, function(a, b) { - "class" === e && a != b ? i.$updateClass(a, b) : i.$set(e, a); - })); - } - }; - } - }); - } - } - function ba(a, c, d) { - var e, f, g = c[0], h = c.length, i = g.parentNode; - if (a) for (e = 0, f = a.length; e < f; e++) if (a[e] == g) { - a[e++] = d, f = e + h - 1; - for (var j = a.length; e < j; e++, f++) f < j ? a[e] = a[f] : delete a[e]; - a.length -= h - 1, a.context === g && (a.context = d); - break; - } - for (i && i.replaceChild(d, g), a = b.createDocumentFragment(), a.appendChild(g), - Qc.hasData(g) && (Qc.data(d, Qc.data(g)), Rc ? (dd = !0, Rc.cleanData([ g ])) : delete Qc.cache[g[Qc.expando]]), - g = 1, h = c.length; g < h; g++) i = c[g], Qc(i).remove(), a.appendChild(i), delete c[g]; - c[0] = d, c.length = 1; - } - function da(a, b) { - return k(function() { - return a.apply(null, arguments); - }, a, b); - } - function fa(a, b, c, d, e, f) { - try { - a(b, c, d, e, f); - } catch (h) { - g(h, T(c)); - } - } - function ga(a, b, c, e, g) { - var h = []; - return f(e, function(e, f) { - var i, j, k, l, m = e.attrName, n = e.optional; - switch (e.mode) { - case "@": - n || Vc.call(b, m) || (c[f] = b[m] = void 0), b.$observe(m, function(a) { - w(a) && (c[f] = a); - }), b.$$observers[m].$$scope = a, i = b[m], w(i) ? c[f] = d(i)(a) : D(i) && (c[f] = i); - break; - - case "=": - if (!Vc.call(b, m)) { - if (n) break; - b[m] = void 0; - } - if (n && !b[m]) break; - j = q(b[m]), l = j.literal ? L : function(a, b) { - return a === b || a !== a && b !== b; - }, k = j.assign || function() { - throw i = c[f] = j(a), Td("nonassign", b[m], m, g.name); - }, i = c[f] = j(a), n = function(b) { - return l(b, c[f]) || (l(b, i) ? k(a, b = c[f]) : c[f] = b), i = b; - }, n.$stateful = !0, n = e.collection ? a.$watchCollection(b[m], n) : a.$watch(q(b[m], n), null, j.literal), - h.push(n); - break; - - case "&": - if (j = b.hasOwnProperty(m) ? q(b[m]) : o, j === o && n) break; - c[f] = function(b) { - return j(a, b); - }; - } - }), h.length && function() { - for (var a = 0, b = h.length; a < b; ++a) h[a](); - }; - } - var ha = function(a, b) { - if (b) { - var c, d, e, f = Object.keys(b); - for (c = 0, d = f.length; c < d; c++) e = f[c], this[e] = b[e]; - } else this.$attr = {}; - this.$$element = a; - }; - ha.prototype = { - $normalize: Ya, - $addClass: function(a) { - a && 0 < a.length && E.addClass(this.$$element, a); - }, - $removeClass: function(a) { - a && 0 < a.length && E.removeClass(this.$$element, a); - }, - $updateClass: function(a, b) { - var c = Za(a, b); - c && c.length && E.addClass(this.$$element, c), (c = Za(b, a)) && c.length && E.removeClass(this.$$element, c); - }, - $set: function(a, b, c, d) { - var e = Ga(this.$$element[0], a), h = Fd[a], i = a; - if (e ? (this.$$element.prop(a, b), d = e) : h && (this[h] = b, i = h), this[a] = b, - d ? this.$attr[a] = d : (d = this.$attr[a]) || (this.$attr[a] = d = ca(a, "-")), - e = H(this.$$element), "a" === e && "href" === a || "img" === e && "src" === a) this[a] = b = F(b, "src" === a); else if ("img" === e && "srcset" === a && t(b)) { - for (var e = "", h = gd(b), j = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, j = /\s/.test(h) ? j : /(,)/, h = h.split(j), j = Math.floor(h.length / 2), k = 0; k < j; k++) var l = 2 * k, e = e + F(gd(h[l]), !0), e = e + (" " + gd(h[l + 1])); - h = gd(h[2 * k]).split(/\s/), e += F(gd(h[0]), !0), 2 === h.length && (e += " " + gd(h[1])), - this[a] = b = e; - } - !1 !== c && (null === b || s(b) ? this.$$element.removeAttr(d) : this.$$element.attr(d, b)), - (a = this.$$observers) && f(a[i], function(a) { - try { - a(b); - } catch (c) { - g(c); - } - }); - }, - $observe: function(a, b) { - var c = this, d = c.$$observers || (c.$$observers = ja()), e = d[a] || (d[a] = []); - return e.push(b), A.$evalAsync(function() { - e.$$inter || !c.hasOwnProperty(a) || s(c[a]) || b(c[a]); - }), function() { - I(e, b); - }; - } - }; - var ia = d.startSymbol(), ka = d.endSymbol(), la = "{{" == ia && "}}" == ka ? p : function(a) { - return a.replace(/\{\{/g, ia).replace(/}}/g, ka); - }, ma = /^ngAttr[A-Z]/, na = /^(.+)Start$/; - return J.$$addBindingInfo = y ? function(a, b) { - var c = a.data("$binding") || []; - ed(b) ? c = c.concat(b) : c.push(b), a.data("$binding", c); - } : o, J.$$addBindingClass = y ? function(a) { - G(a, "ng-binding"); - } : o, J.$$addScopeInfo = y ? function(a, b, c, d) { - a.data(c ? d ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope", b); - } : o, J.$$addScopeClass = y ? function(a, b) { - G(a, b ? "ng-isolate-scope" : "ng-scope"); - } : o, J; - } ]; - } - function Ya(a) { - return ma(a.replace(Ud, "")); - } - function Za(a, b) { - var c = "", d = a.split(/\s+/), e = b.split(/\s+/), f = 0; - a: for (;f < d.length; f++) { - for (var g = d[f], h = 0; h < e.length; h++) if (g == e[h]) continue a; - c += (0 < c.length ? " " : "") + g; - } - return c; - } - function $a(a) { - a = Qc(a); - var b = a.length; - if (1 >= b) return a; - for (;b--; ) 8 === a[b].nodeType && Yc.call(a, b, 1); - return a; - } - function _a() { - var a = {}, b = !1; - this.register = function(b, c) { - ga(b, "controller"), u(b) ? k(a, b) : a[b] = c; - }, this.allowGlobals = function() { - b = !0; - }, this.$get = [ "$injector", "$window", function(e, f) { - function g(a, b, c, e) { - if (!a || !u(a.$scope)) throw d("$controller")("noscp", e, b); - a.$scope[b] = c; - } - return function(d, h, i, j) { - var l, m, n; - if (i = !0 === i, j && w(j) && (n = j), w(d)) { - if (j = d.match(Wd), !j) throw Vd("ctrlfmt", d); - m = j[1], n = n || j[3], d = a.hasOwnProperty(m) ? a[m] : ha(h.$scope, m, !0) || (b ? ha(f, m, !0) : c), - fa(d, m, !0); - } - return i ? (i = (ed(d) ? d[d.length - 1] : d).prototype, l = Object.create(i || null), - n && g(h, n, l, m || d.name), k(function() { - var a = e.invoke(d, l, h, m); - return a !== l && (u(a) || z(a)) && (l = a, n && g(h, n, l, m || d.name)), l; - }, { - instance: l, - identifier: n - })) : (l = e.instantiate(d, h, m), n && g(h, n, l, m || d.name), l); - }; - } ]; - } - function ab() { - this.$get = [ "$window", function(a) { - return Qc(a.document); - } ]; - } - function bb() { - this.$get = [ "$log", function(a) { - return function(b, c) { - a.error.apply(a, arguments); - }; - } ]; - } - function cb(a) { - return u(a) ? y(a) ? a.toISOString() : P(a) : a; - } - function db() { - this.$get = function() { - return function(a) { - if (!a) return ""; - var b = []; - return g(a, function(a, c) { - null === a || s(a) || (ed(a) ? f(a, function(a, d) { - b.push(Y(c) + "=" + Y(cb(a))); - }) : b.push(Y(c) + "=" + Y(cb(a)))); - }), b.join("&"); - }; - }; - } - function eb() { - this.$get = function() { - return function(a) { - function b(a, d, e) { - null === a || s(a) || (ed(a) ? f(a, function(a, c) { - b(a, d + "[" + (u(a) ? c : "") + "]"); - }) : u(a) && !y(a) ? g(a, function(a, c) { - b(a, d + (e ? "" : "[") + c + (e ? "" : "]")); - }) : c.push(Y(d) + "=" + Y(cb(a)))); - } - if (!a) return ""; - var c = []; - return b(a, "", !0), c.join("&"); - }; - }; - } - function fb(a, b) { - if (w(a)) { - var c = a.replace(ae, "").trim(); - if (c) { - var d = b("Content-Type"); - (d = d && 0 === d.indexOf(Yd)) || (d = (d = c.match($d)) && _d[d[0]].test(c)), d && (a = Q(c)); - } - } - return a; - } - function gb(a) { - var b, c = ja(); - return w(a) ? f(a.split("\n"), function(a) { - b = a.indexOf(":"); - var d = Uc(gd(a.substr(0, b))); - a = gd(a.substr(b + 1)), d && (c[d] = c[d] ? c[d] + ", " + a : a); - }) : u(a) && f(a, function(a, b) { - var d = Uc(b), e = gd(a); - d && (c[d] = c[d] ? c[d] + ", " + e : e); - }), c; - } - function hb(a) { - var b; - return function(c) { - return b || (b = gb(a)), c ? (c = b[Uc(c)], void 0 === c && (c = null), c) : b; - }; - } - function ib(a, b, c, d) { - return z(d) ? d(a, b, c) : (f(d, function(d) { - a = d(a, b, c); - }), a); - } - function jb() { - var a = this.defaults = { - transformResponse: [ fb ], - transformRequest: [ function(a) { - return u(a) && "[object File]" !== $c.call(a) && "[object Blob]" !== $c.call(a) && "[object FormData]" !== $c.call(a) ? P(a) : a; - } ], - headers: { - common: { - Accept: "application/json, text/plain, */*" - }, - post: K(Zd), - put: K(Zd), - patch: K(Zd) - }, - xsrfCookieName: "XSRF-TOKEN", - xsrfHeaderName: "X-XSRF-TOKEN", - paramSerializer: "$httpParamSerializer" - }, b = !1; - this.useApplyAsync = function(a) { - return t(a) ? (b = !!a, this) : b; - }; - var e = !0; - this.useLegacyPromiseExtensions = function(a) { - return t(a) ? (e = !!a, this) : e; - }; - var g = this.interceptors = []; - this.$get = [ "$httpBackend", "$$cookieReader", "$cacheFactory", "$rootScope", "$q", "$injector", function(h, i, j, l, m, n) { - function o(b) { - function g(a) { - var b = k({}, a); - return b.data = ib(a.data, a.headers, a.status, i.transformResponse), a = a.status, - 200 <= a && 300 > a ? b : m.reject(b); - } - function h(a, b) { - var c, d = {}; - return f(a, function(a, e) { - z(a) ? (c = a(b), null != c && (d[e] = c)) : d[e] = a; - }), d; - } - if (!bd.isObject(b)) throw d("$http")("badreq", b); - if (!w(b.url)) throw d("$http")("badreq", b.url); - var i = k({ - method: "get", - transformRequest: a.transformRequest, - transformResponse: a.transformResponse, - paramSerializer: a.paramSerializer - }, b); - i.headers = function(b) { - var c, d, e, f = a.headers, g = k({}, b.headers), f = k({}, f.common, f[Uc(b.method)]); - a: for (c in f) { - d = Uc(c); - for (e in g) if (Uc(e) === d) continue a; - g[c] = f[c]; - } - return h(g, K(b)); - }(b), i.method = Wc(i.method), i.paramSerializer = w(i.paramSerializer) ? n.get(i.paramSerializer) : i.paramSerializer; - var j = [ function(b) { - var d = b.headers, e = ib(b.data, hb(d), c, b.transformRequest); - return s(e) && f(d, function(a, b) { - "content-type" === Uc(b) && delete d[b]; - }), s(b.withCredentials) && !s(a.withCredentials) && (b.withCredentials = a.withCredentials), - p(b, e).then(g, g); - }, c ], l = m.when(i); - for (f(v, function(a) { - (a.request || a.requestError) && j.unshift(a.request, a.requestError), (a.response || a.responseError) && j.push(a.response, a.responseError); - }); j.length; ) { - b = j.shift(); - var o = j.shift(), l = l.then(b, o); - } - return e ? (l.success = function(a) { - return fa(a, "fn"), l.then(function(b) { - a(b.data, b.status, b.headers, i); - }), l; - }, l.error = function(a) { - return fa(a, "fn"), l.then(null, function(b) { - a(b.data, b.status, b.headers, i); - }), l; - }) : (l.success = ce("success"), l.error = ce("error")), l; - } - function p(d, e) { - function f(a, c, d, e) { - function f() { - g(c, a, d, e); - } - n && (200 <= a && 300 > a ? n.put(y, [ a, c, gb(d), e ]) : n.remove(y)), b ? l.$applyAsync(f) : (f(), - l.$$phase || l.$apply()); - } - function g(a, b, c, e) { - b = -1 <= b ? b : 0, (200 <= b && 300 > b ? v.resolve : v.reject)({ - data: a, - status: b, - headers: hb(c), - config: d, - statusText: e - }); - } - function j(a) { - g(a.data, a.status, K(a.headers()), a.statusText); - } - function k() { - var a = o.pendingRequests.indexOf(d); - -1 !== a && o.pendingRequests.splice(a, 1); - } - var n, p, v = m.defer(), w = v.promise, x = d.headers, y = q(d.url, d.paramSerializer(d.params)); - return o.pendingRequests.push(d), w.then(k, k), !d.cache && !a.cache || !1 === d.cache || "GET" !== d.method && "JSONP" !== d.method || (n = u(d.cache) ? d.cache : u(a.cache) ? a.cache : r), - n && (p = n.get(y), t(p) ? p && z(p.then) ? p.then(j, j) : ed(p) ? g(p[1], p[0], K(p[2]), p[3]) : g(p, 200, {}, "OK") : n.put(y, w)), - s(p) && ((p = gc(d.url) ? i()[d.xsrfCookieName || a.xsrfCookieName] : c) && (x[d.xsrfHeaderName || a.xsrfHeaderName] = p), - h(d.method, y, e, f, x, d.timeout, d.withCredentials, d.responseType)), w; - } - function q(a, b) { - return 0 < b.length && (a += (-1 == a.indexOf("?") ? "?" : "&") + b), a; - } - var r = j("$http"); - a.paramSerializer = w(a.paramSerializer) ? n.get(a.paramSerializer) : a.paramSerializer; - var v = []; - return f(g, function(a) { - v.unshift(w(a) ? n.get(a) : n.invoke(a)); - }), o.pendingRequests = [], function(a) { - f(arguments, function(a) { - o[a] = function(b, c) { - return o(k({}, c || {}, { - method: a, - url: b - })); - }; - }); - }("get", "delete", "head", "jsonp"), function(a) { - f(arguments, function(a) { - o[a] = function(b, c, d) { - return o(k({}, d || {}, { - method: a, - url: b, - data: c - })); - }; - }); - }("post", "put", "patch"), o.defaults = a, o; - } ]; - } - function kb() { - this.$get = function() { - return function() { - return new a.XMLHttpRequest(); - }; - }; - } - function lb() { - this.$get = [ "$browser", "$window", "$document", "$xhrFactory", function(a, b, c, d) { - return mb(a, d, a.defer, b.angular.callbacks, c[0]); - } ]; - } - function mb(a, b, c, d, e) { - function g(a, b, c) { - var f = e.createElement("script"), g = null; - return f.type = "text/javascript", f.src = a, f.async = !0, g = function(a) { - f.removeEventListener("load", g, !1), f.removeEventListener("error", g, !1), e.body.removeChild(f), - f = null; - var h = -1, i = "unknown"; - a && ("load" !== a.type || d[b].called || (a = { - type: "error" - }), i = a.type, h = "error" === a.type ? 404 : 200), c && c(h, i); - }, f.addEventListener("load", g, !1), f.addEventListener("error", g, !1), e.body.appendChild(f), - g; - } - return function(e, h, i, j, k, l, m, n) { - function p() { - u && u(), v && v.abort(); - } - function q(b, d, e, f, g) { - t(x) && c.cancel(x), u = v = null, b(d, e, f, g), a.$$completeOutstandingRequest(o); - } - if (a.$$incOutstandingRequestCount(), h = h || a.url(), "jsonp" == Uc(e)) { - var r = "_" + (d.counter++).toString(36); - d[r] = function(a) { - d[r].data = a, d[r].called = !0; - }; - var u = g(h.replace("JSON_CALLBACK", "angular.callbacks." + r), r, function(a, b) { - q(j, a, d[r].data, "", b), d[r] = o; - }); - } else { - var v = b(e, h); - if (v.open(e, h, !0), f(k, function(a, b) { - t(a) && v.setRequestHeader(b, a); - }), v.onload = function() { - var a = v.statusText || "", b = "response" in v ? v.response : v.responseText, c = 1223 === v.status ? 204 : v.status; - 0 === c && (c = b ? 200 : "file" == fc(h).protocol ? 404 : 0), q(j, c, b, v.getAllResponseHeaders(), a); - }, e = function() { - q(j, -1, null, null, ""); - }, v.onerror = e, v.onabort = e, m && (v.withCredentials = !0), n) try { - v.responseType = n; - } catch (w) { - if ("json" !== n) throw w; - } - v.send(s(i) ? null : i); - } - if (0 < l) var x = c(p, l); else l && z(l.then) && l.then(p); - }; - } - function nb() { - var a = "{{", b = "}}"; - this.startSymbol = function(b) { - return b ? (a = b, this) : a; - }, this.endSymbol = function(a) { - return a ? (b = a, this) : b; - }, this.$get = [ "$parse", "$exceptionHandler", "$sce", function(c, d, e) { - function f(a) { - return "\\\\\\" + a; - } - function g(c) { - return c.replace(l, a).replace(m, b); - } - function h(f, h, l, m) { - function n(a) { - try { - var b = a; - a = l ? e.getTrusted(l, b) : e.valueOf(b); - var c; - if (m && !t(a)) c = a; else if (null == a) c = ""; else { - switch (typeof a) { - case "string": - break; - - case "number": - a = "" + a; - break; - - default: - a = P(a); - } - c = a; - } - return c; - } catch (g) { - d(de.interr(f, g)); - } - } - m = !!m; - for (var o, p, q = 0, r = [], u = [], v = f.length, w = [], x = []; q < v; ) { - if (-1 == (o = f.indexOf(a, q)) || -1 == (p = f.indexOf(b, o + i))) { - q !== v && w.push(g(f.substring(q))); - break; - } - q !== o && w.push(g(f.substring(q, o))), q = f.substring(o + i, p), r.push(q), u.push(c(q, n)), - q = p + j, x.push(w.length), w.push(""); - } - if (l && 1 < w.length && de.throwNoconcat(f), !h || r.length) { - var y = function(a) { - for (var b = 0, c = r.length; b < c; b++) { - if (m && s(a[b])) return; - w[x[b]] = a[b]; - } - return w.join(""); - }; - return k(function(a) { - var b = 0, c = r.length, e = Array(c); - try { - for (;b < c; b++) e[b] = u[b](a); - return y(e); - } catch (g) { - d(de.interr(f, g)); - } - }, { - exp: f, - expressions: r, - $$watchDelegate: function(a, b) { - var c; - return a.$watchGroup(u, function(d, e) { - var f = y(d); - z(b) && b.call(this, f, d !== e ? c : f, a), c = f; - }); - } - }); - } - } - var i = a.length, j = b.length, l = new RegExp(a.replace(/./g, f), "g"), m = new RegExp(b.replace(/./g, f), "g"); - return h.startSymbol = function() { - return a; - }, h.endSymbol = function() { - return b; - }, h; - } ]; - } - function ob() { - this.$get = [ "$rootScope", "$window", "$q", "$$q", function(a, b, c, d) { - function e(e, g, h, i) { - var j = 4 < arguments.length, k = j ? Xc.call(arguments, 4) : [], l = b.setInterval, m = b.clearInterval, n = 0, o = t(i) && !i, p = (o ? d : c).defer(), q = p.promise; - return h = t(h) ? h : 0, q.then(null, null, j ? function() { - e.apply(null, k); - } : e), q.$$intervalId = l(function() { - p.notify(n++), 0 < h && n >= h && (p.resolve(n), m(q.$$intervalId), delete f[q.$$intervalId]), - o || a.$apply(); - }, g), f[q.$$intervalId] = p, q; - } - var f = {}; - return e.cancel = function(a) { - return !!(a && a.$$intervalId in f) && (f[a.$$intervalId].reject("canceled"), b.clearInterval(a.$$intervalId), - delete f[a.$$intervalId], !0); - }, e; - } ]; - } - function pb(a) { - a = a.split("/"); - for (var b = a.length; b--; ) a[b] = X(a[b]); - return a.join("/"); - } - function qb(a, b) { - var c = fc(a); - b.$$protocol = c.protocol, b.$$host = c.hostname, b.$$port = m(c.port) || fe[c.protocol] || null; - } - function rb(a, b) { - var c = "/" !== a.charAt(0); - c && (a = "/" + a); - var d = fc(a); - b.$$path = decodeURIComponent(c && "/" === d.pathname.charAt(0) ? d.pathname.substring(1) : d.pathname), - b.$$search = V(d.search), b.$$hash = decodeURIComponent(d.hash), b.$$path && "/" != b.$$path.charAt(0) && (b.$$path = "/" + b.$$path); - } - function sb(a, b) { - if (0 === b.indexOf(a)) return b.substr(a.length); - } - function tb(a) { - var b = a.indexOf("#"); - return -1 == b ? a : a.substr(0, b); - } - function ub(a) { - return a.replace(/(#.+)|#$/, "$1"); - } - function vb(a, b, c) { - this.$$html5 = !0, c = c || "", qb(a, this), this.$$parse = function(a) { - var c = sb(b, a); - if (!w(c)) throw ge("ipthprfx", a, b); - rb(c, this), this.$$path || (this.$$path = "/"), this.$$compose(); - }, this.$$compose = function() { - var a = W(this.$$search), c = this.$$hash ? "#" + X(this.$$hash) : ""; - this.$$url = pb(this.$$path) + (a ? "?" + a : "") + c, this.$$absUrl = b + this.$$url.substr(1); - }, this.$$parseLinkUrl = function(d, e) { - if (e && "#" === e[0]) return this.hash(e.slice(1)), !0; - var f, g; - return t(f = sb(a, d)) ? (g = f, g = t(f = sb(c, f)) ? b + (sb("/", f) || f) : a + g) : t(f = sb(b, d)) ? g = b + f : b == d + "/" && (g = b), - g && this.$$parse(g), !!g; - }; - } - function wb(a, b, c) { - qb(a, this), this.$$parse = function(d) { - var e, f = sb(a, d) || sb(b, d); - s(f) || "#" !== f.charAt(0) ? this.$$html5 ? e = f : (e = "", s(f) && (a = d, this.replace())) : (e = sb(c, f), - s(e) && (e = f)), rb(e, this), d = this.$$path; - var f = a, g = /^\/[A-Z]:(\/.*)/; - 0 === e.indexOf(f) && (e = e.replace(f, "")), g.exec(e) || (d = (e = g.exec(d)) ? e[1] : d), - this.$$path = d, this.$$compose(); - }, this.$$compose = function() { - var b = W(this.$$search), d = this.$$hash ? "#" + X(this.$$hash) : ""; - this.$$url = pb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + (this.$$url ? c + this.$$url : ""); - }, this.$$parseLinkUrl = function(b, c) { - return tb(a) == tb(b) && (this.$$parse(b), !0); - }; - } - function xb(a, b, c) { - this.$$html5 = !0, wb.apply(this, arguments), this.$$parseLinkUrl = function(d, e) { - if (e && "#" === e[0]) return this.hash(e.slice(1)), !0; - var f, g; - return a == tb(d) ? f = d : (g = sb(b, d)) ? f = a + c + g : b === d + "/" && (f = b), - f && this.$$parse(f), !!f; - }, this.$$compose = function() { - var b = W(this.$$search), d = this.$$hash ? "#" + X(this.$$hash) : ""; - this.$$url = pb(this.$$path) + (b ? "?" + b : "") + d, this.$$absUrl = a + c + this.$$url; - }; - } - function yb(a) { - return function() { - return this[a]; - }; - } - function zb(a, b) { - return function(c) { - return s(c) ? this[a] : (this[a] = b(c), this.$$compose(), this); - }; - } - function Ab() { - var a = "", b = { - enabled: !1, - requireBase: !0, - rewriteLinks: !0 - }; - this.hashPrefix = function(b) { - return t(b) ? (a = b, this) : a; - }, this.html5Mode = function(a) { - return D(a) ? (b.enabled = a, this) : u(a) ? (D(a.enabled) && (b.enabled = a.enabled), - D(a.requireBase) && (b.requireBase = a.requireBase), D(a.rewriteLinks) && (b.rewriteLinks = a.rewriteLinks), - this) : b; - }, this.$get = [ "$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function(c, d, e, f, g) { - function h(a, b, c) { - var e = j.url(), f = j.$$state; - try { - d.url(a, b, c), j.$$state = d.state(); - } catch (g) { - throw j.url(e), j.$$state = f, g; - } - } - function i(a, b) { - c.$broadcast("$locationChangeSuccess", j.absUrl(), a, j.$$state, b); - } - var j, k; - k = d.baseHref(); - var l, m = d.url(); - if (b.enabled) { - if (!k && b.requireBase) throw ge("nobase"); - l = m.substring(0, m.indexOf("/", m.indexOf("//") + 2)) + (k || "/"), k = e.history ? vb : xb; - } else l = tb(m), k = wb; - var n = l.substr(0, tb(l).lastIndexOf("/") + 1); - j = new k(l, n, "#" + a), j.$$parseLinkUrl(m, m), j.$$state = d.state(); - var o = /^\s*(javascript|mailto):/i; - f.on("click", function(a) { - if (b.rewriteLinks && !a.ctrlKey && !a.metaKey && !a.shiftKey && 2 != a.which && 2 != a.button) { - for (var e = Qc(a.target); "a" !== H(e[0]); ) if (e[0] === f[0] || !(e = e.parent())[0]) return; - var h = e.prop("href"), i = e.attr("href") || e.attr("xlink:href"); - u(h) && "[object SVGAnimatedString]" === h.toString() && (h = fc(h.animVal).href), - o.test(h) || !h || e.attr("target") || a.isDefaultPrevented() || !j.$$parseLinkUrl(h, i) || (a.preventDefault(), - j.absUrl() != d.url() && (c.$apply(), g.angular["ff-684208-preventDefault"] = !0)); - } - }), ub(j.absUrl()) != ub(m) && d.url(j.absUrl(), !0); - var p = !0; - return d.onUrlChange(function(a, b) { - s(sb(n, a)) ? g.location.href = a : (c.$evalAsync(function() { - var d, e = j.absUrl(), f = j.$$state; - a = ub(a), j.$$parse(a), j.$$state = b, d = c.$broadcast("$locationChangeStart", a, e, b, f).defaultPrevented, - j.absUrl() === a && (d ? (j.$$parse(e), j.$$state = f, h(e, !1, f)) : (p = !1, i(e, f))); - }), c.$$phase || c.$digest()); - }), c.$watch(function() { - var a = ub(d.url()), b = ub(j.absUrl()), f = d.state(), g = j.$$replace, k = a !== b || j.$$html5 && e.history && f !== j.$$state; - (p || k) && (p = !1, c.$evalAsync(function() { - var b = j.absUrl(), d = c.$broadcast("$locationChangeStart", b, a, j.$$state, f).defaultPrevented; - j.absUrl() === b && (d ? (j.$$parse(a), j.$$state = f) : (k && h(b, g, f === j.$$state ? null : j.$$state), - i(a, f))); - })), j.$$replace = !1; - }), j; - } ]; - } - function Bb() { - var a = !0, b = this; - this.debugEnabled = function(b) { - return t(b) ? (a = b, this) : a; - }, this.$get = [ "$window", function(c) { - function d(a) { - return a instanceof Error && (a.stack ? a = a.message && -1 === a.stack.indexOf(a.message) ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line)), - a; - } - function e(a) { - var b = c.console || {}, e = b[a] || b.log || o; - a = !1; - try { - a = !!e.apply; - } catch (g) {} - return a ? function() { - var a = []; - return f(arguments, function(b) { - a.push(d(b)); - }), e.apply(b, a); - } : function(a, b) { - e(a, null == b ? "" : b); - }; - } - return { - log: e("log"), - info: e("info"), - warn: e("warn"), - error: e("error"), - debug: function() { - var c = e("debug"); - return function() { - a && c.apply(b, arguments); - }; - }() - }; - } ]; - } - function Cb(a, b) { - if ("__defineGetter__" === a || "__defineSetter__" === a || "__lookupGetter__" === a || "__lookupSetter__" === a || "__proto__" === a) throw ie("isecfld", b); - return a; - } - function Db(a, b) { - if (a += "", !w(a)) throw ie("iseccst", b); - return a; - } - function Eb(a, b) { - if (a) { - if (a.constructor === a) throw ie("isecfn", b); - if (a.window === a) throw ie("isecwindow", b); - if (a.children && (a.nodeName || a.prop && a.attr && a.find)) throw ie("isecdom", b); - if (a === Object) throw ie("isecobj", b); - } - return a; - } - function Fb(a, b) { - if (a) { - if (a.constructor === a) throw ie("isecfn", b); - if (a === je || a === ke || a === le) throw ie("isecff", b); - } - } - function Gb(a, b) { - if (a && (a === (0).constructor || a === (!1).constructor || a === "".constructor || a === {}.constructor || a === [].constructor || a === Function.constructor)) throw ie("isecaf", b); - } - function Hb(a, b) { - return "undefined" != typeof a ? a : b; - } - function Ib(a, b) { - return "undefined" == typeof a ? b : "undefined" == typeof b ? a : a + b; - } - function Jb(a, b) { - var c, d; - switch (a.type) { - case pe.Program: - c = !0, f(a.body, function(a) { - Jb(a.expression, b), c = c && a.expression.constant; - }), a.constant = c; - break; - - case pe.Literal: - a.constant = !0, a.toWatch = []; - break; - - case pe.UnaryExpression: - Jb(a.argument, b), a.constant = a.argument.constant, a.toWatch = a.argument.toWatch; - break; - - case pe.BinaryExpression: - Jb(a.left, b), Jb(a.right, b), a.constant = a.left.constant && a.right.constant, - a.toWatch = a.left.toWatch.concat(a.right.toWatch); - break; - - case pe.LogicalExpression: - Jb(a.left, b), Jb(a.right, b), a.constant = a.left.constant && a.right.constant, - a.toWatch = a.constant ? [] : [ a ]; - break; - - case pe.ConditionalExpression: - Jb(a.test, b), Jb(a.alternate, b), Jb(a.consequent, b), a.constant = a.test.constant && a.alternate.constant && a.consequent.constant, - a.toWatch = a.constant ? [] : [ a ]; - break; - - case pe.Identifier: - a.constant = !1, a.toWatch = [ a ]; - break; - - case pe.MemberExpression: - Jb(a.object, b), a.computed && Jb(a.property, b), a.constant = a.object.constant && (!a.computed || a.property.constant), - a.toWatch = [ a ]; - break; - - case pe.CallExpression: - c = !!a.filter && !b(a.callee.name).$stateful, d = [], f(a.arguments, function(a) { - Jb(a, b), c = c && a.constant, a.constant || d.push.apply(d, a.toWatch); - }), a.constant = c, a.toWatch = a.filter && !b(a.callee.name).$stateful ? d : [ a ]; - break; - - case pe.AssignmentExpression: - Jb(a.left, b), Jb(a.right, b), a.constant = a.left.constant && a.right.constant, - a.toWatch = [ a ]; - break; - - case pe.ArrayExpression: - c = !0, d = [], f(a.elements, function(a) { - Jb(a, b), c = c && a.constant, a.constant || d.push.apply(d, a.toWatch); - }), a.constant = c, a.toWatch = d; - break; - - case pe.ObjectExpression: - c = !0, d = [], f(a.properties, function(a) { - Jb(a.value, b), c = c && a.value.constant, a.value.constant || d.push.apply(d, a.value.toWatch); - }), a.constant = c, a.toWatch = d; - break; - - case pe.ThisExpression: - a.constant = !1, a.toWatch = []; - } - } - function Kb(a) { - if (1 == a.length) { - a = a[0].expression; - var b = a.toWatch; - return 1 !== b.length ? b : b[0] !== a ? b : c; - } - } - function Lb(a) { - return a.type === pe.Identifier || a.type === pe.MemberExpression; - } - function Mb(a) { - if (1 === a.body.length && Lb(a.body[0].expression)) return { - type: pe.AssignmentExpression, - left: a.body[0].expression, - right: { - type: pe.NGValueParameter - }, - operator: "=" - }; - } - function Nb(a) { - return 0 === a.body.length || 1 === a.body.length && (a.body[0].expression.type === pe.Literal || a.body[0].expression.type === pe.ArrayExpression || a.body[0].expression.type === pe.ObjectExpression); - } - function Ob(a, b) { - this.astBuilder = a, this.$filter = b; - } - function Pb(a, b) { - this.astBuilder = a, this.$filter = b; - } - function Qb(a) { - return "constructor" == a; - } - function Rb(a) { - return z(a.valueOf) ? a.valueOf() : re.call(a); - } - function Sb() { - var a = ja(), b = ja(); - this.$get = [ "$filter", function(d) { - function e(c, e, f) { - var h, n, s; - switch (f = f || r, typeof c) { - case "string": - s = c = c.trim(); - var t = f ? b : a; - if (h = t[s], !h) { - ":" === c.charAt(0) && ":" === c.charAt(1) && (n = !0, c = c.substring(2)), h = f ? q : p; - var u = new oe(h); - h = new qe(u, d, h).parse(c), h.constant ? h.$$watchDelegate = l : n ? h.$$watchDelegate = h.literal ? k : j : h.inputs && (h.$$watchDelegate = i), - f && (h = g(h)), t[s] = h; - } - return m(h, e); - - case "function": - return m(c, e); - - default: - return m(o, e); - } - } - function g(a) { - function b(b, c, d, e) { - var f = r; - r = !0; - try { - return a(b, c, d, e); - } finally { - r = f; - } - } - if (!a) return a; - b.$$watchDelegate = a.$$watchDelegate, b.assign = g(a.assign), b.constant = a.constant, - b.literal = a.literal; - for (var c = 0; a.inputs && c < a.inputs.length; ++c) a.inputs[c] = g(a.inputs[c]); - return b.inputs = a.inputs, b; - } - function h(a, b) { - return null == a || null == b ? a === b : ("object" != typeof a || (a = Rb(a), "object" != typeof a)) && (a === b || a !== a && b !== b); - } - function i(a, b, d, e, f) { - var g, i = e.inputs; - if (1 === i.length) { - var j = h, i = i[0]; - return a.$watch(function(a) { - var b = i(a); - return h(b, j) || (g = e(a, c, c, [ b ]), j = b && Rb(b)), g; - }, b, d, f); - } - for (var k = [], l = [], m = 0, n = i.length; m < n; m++) k[m] = h, l[m] = null; - return a.$watch(function(a) { - for (var b = !1, d = 0, f = i.length; d < f; d++) { - var j = i[d](a); - (b || (b = !h(j, k[d]))) && (l[d] = j, k[d] = j && Rb(j)); - } - return b && (g = e(a, c, c, l)), g; - }, b, d, f); - } - function j(a, b, c, d) { - var e, f; - return e = a.$watch(function(a) { - return d(a); - }, function(a, c, d) { - f = a, z(b) && b.apply(this, arguments), t(a) && d.$$postDigest(function() { - t(f) && e(); - }); - }, c); - } - function k(a, b, c, d) { - function e(a) { - var b = !0; - return f(a, function(a) { - t(a) || (b = !1); - }), b; - } - var g, h; - return g = a.$watch(function(a) { - return d(a); - }, function(a, c, d) { - h = a, z(b) && b.call(this, a, c, d), e(a) && d.$$postDigest(function() { - e(h) && g(); - }); - }, c); - } - function l(a, b, c, d) { - var e; - return e = a.$watch(function(a) { - return d(a); - }, function(a, c, d) { - z(b) && b.apply(this, arguments), e(); - }, c); - } - function m(a, b) { - if (!b) return a; - var c = a.$$watchDelegate, d = !1, c = c !== k && c !== j ? function(c, e, f, g) { - return f = d && g ? g[0] : a(c, e, f, g), b(f, c, e); - } : function(c, d, e, f) { - return e = a(c, d, e, f), c = b(e, c, d), t(e) ? c : e; - }; - return a.$$watchDelegate && a.$$watchDelegate !== i ? c.$$watchDelegate = a.$$watchDelegate : b.$stateful || (c.$$watchDelegate = i, - d = !a.inputs, c.inputs = a.inputs ? a.inputs : [ a ]), c; - } - var n = id().noUnsafeEval, p = { - csp: n, - expensiveChecks: !1 - }, q = { - csp: n, - expensiveChecks: !0 - }, r = !1; - return e.$$runningExpensiveChecks = function() { - return r; - }, e; - } ]; - } - function Tb() { - this.$get = [ "$rootScope", "$exceptionHandler", function(a, b) { - return Vb(function(b) { - a.$evalAsync(b); - }, b); - } ]; - } - function Ub() { - this.$get = [ "$browser", "$exceptionHandler", function(a, b) { - return Vb(function(b) { - a.defer(b); - }, b); - } ]; - } - function Vb(a, b) { - function e(a, b, c) { - function d(b) { - return function(c) { - e || (e = !0, b.call(a, c)); - }; - } - var e = !1; - return [ d(b), d(c) ]; - } - function g() { - this.$$state = { - status: 0 - }; - } - function h(a, b) { - return function(c) { - b.call(a, c); - }; - } - function i(d) { - !d.processScheduled && d.pending && (d.processScheduled = !0, a(function() { - var a, e, f; - f = d.pending, d.processScheduled = !1, d.pending = c; - for (var g = 0, h = f.length; g < h; ++g) { - e = f[g][0], a = f[g][d.status]; - try { - z(a) ? e.resolve(a(d.value)) : 1 === d.status ? e.resolve(d.value) : e.reject(d.value); - } catch (i) { - e.reject(i), b(i); - } - } - })); - } - function j() { - this.promise = new g(), this.resolve = h(this, this.resolve), this.reject = h(this, this.reject), - this.notify = h(this, this.notify); - } - var l = d("$q", TypeError); - k(g.prototype, { - then: function(a, b, c) { - if (s(a) && s(b) && s(c)) return this; - var d = new j(); - return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([ d, a, b, c ]), - 0 < this.$$state.status && i(this.$$state), d.promise; - }, - "catch": function(a) { - return this.then(null, a); - }, - "finally": function(a, b) { - return this.then(function(b) { - return n(b, !0, a); - }, function(b) { - return n(b, !1, a); - }, b); - } - }), k(j.prototype, { - resolve: function(a) { - this.promise.$$state.status || (a === this.promise ? this.$$reject(l("qcycle", a)) : this.$$resolve(a)); - }, - $$resolve: function(a) { - var c, d; - d = e(this, this.$$resolve, this.$$reject); - try { - (u(a) || z(a)) && (c = a && a.then), z(c) ? (this.promise.$$state.status = -1, c.call(a, d[0], d[1], this.notify)) : (this.promise.$$state.value = a, - this.promise.$$state.status = 1, i(this.promise.$$state)); - } catch (f) { - d[1](f), b(f); - } - }, - reject: function(a) { - this.promise.$$state.status || this.$$reject(a); - }, - $$reject: function(a) { - this.promise.$$state.value = a, this.promise.$$state.status = 2, i(this.promise.$$state); - }, - notify: function(c) { - var d = this.promise.$$state.pending; - 0 >= this.promise.$$state.status && d && d.length && a(function() { - for (var a, e, f = 0, g = d.length; f < g; f++) { - e = d[f][0], a = d[f][3]; - try { - e.notify(z(a) ? a(c) : c); - } catch (h) { - b(h); - } - } - }); - } - }); - var m = function(a, b) { - var c = new j(); - return b ? c.resolve(a) : c.reject(a), c.promise; - }, n = function(a, b, c) { - var d = null; - try { - z(c) && (d = c()); - } catch (e) { - return m(e, !1); - } - return d && z(d.then) ? d.then(function() { - return m(a, b); - }, function(a) { - return m(a, !1); - }) : m(a, b); - }, o = function(a, b, c, d) { - var e = new j(); - return e.resolve(a), e.promise.then(b, c, d); - }, p = function q(a) { - if (!z(a)) throw l("norslvr", a); - if (!(this instanceof q)) return new q(a); - var b = new j(); - return a(function(a) { - b.resolve(a); - }, function(a) { - b.reject(a); - }), b.promise; - }; - return p.defer = function() { - return new j(); - }, p.reject = function(a) { - var b = new j(); - return b.reject(a), b.promise; - }, p.when = o, p.resolve = o, p.all = function(a) { - var b = new j(), c = 0, d = ed(a) ? [] : {}; - return f(a, function(a, e) { - c++, o(a).then(function(a) { - d.hasOwnProperty(e) || (d[e] = a, --c || b.resolve(d)); - }, function(a) { - d.hasOwnProperty(e) || b.reject(a); - }); - }), 0 === c && b.resolve(d), b.promise; - }, p; - } - function Wb() { - this.$get = [ "$window", "$timeout", function(a, b) { - var c = a.requestAnimationFrame || a.webkitRequestAnimationFrame, d = a.cancelAnimationFrame || a.webkitCancelAnimationFrame || a.webkitCancelRequestAnimationFrame, e = !!c, f = e ? function(a) { - var b = c(a); - return function() { - d(b); - }; - } : function(a) { - var c = b(a, 16.66, !1); - return function() { - b.cancel(c); - }; - }; - return f.supported = e, f; - } ]; - } - function Xb() { - function a(a) { - function b() { - this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, - this.$$listeners = {}, this.$$listenerCount = {}, this.$$watchersCount = 0, this.$id = ++cd, - this.$$ChildScope = null; - } - return b.prototype = a, b; - } - var b = 10, c = d("$rootScope"), g = null, h = null; - this.digestTtl = function(a) { - return arguments.length && (b = a), b; - }, this.$get = [ "$injector", "$exceptionHandler", "$parse", "$browser", function(d, i, j, k) { - function l(a) { - a.currentScope.$$destroyed = !0; - } - function m(a) { - 9 === Pc && (a.$$childHead && m(a.$$childHead), a.$$nextSibling && m(a.$$nextSibling)), - a.$parent = a.$$nextSibling = a.$$prevSibling = a.$$childHead = a.$$childTail = a.$root = a.$$watchers = null; - } - function n() { - this.$id = ++cd, 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 p(a) { - if (x.$$phase) throw c("inprog", x.$$phase); - x.$$phase = a; - } - function q(a, b) { - do a.$$watchersCount += b; while (a = a.$parent); - } - function r(a, b, c) { - do a.$$listenerCount[c] -= b, 0 === a.$$listenerCount[c] && delete a.$$listenerCount[c]; while (a = a.$parent); - } - function t() {} - function v() { - for (;B.length; ) try { - B.shift()(); - } catch (a) { - i(a); - } - h = null; - } - function w() { - null === h && (h = k.defer(function() { - x.$apply(v); - })); - } - n.prototype = { - constructor: n, - $new: function(b, c) { - var d; - return c = c || this, b ? (d = new n(), d.$root = this.$root) : (this.$$ChildScope || (this.$$ChildScope = a(this)), - d = new this.$$ChildScope()), d.$parent = c, d.$$prevSibling = c.$$childTail, c.$$childHead ? (c.$$childTail.$$nextSibling = d, - c.$$childTail = d) : c.$$childHead = c.$$childTail = d, (b || c != this) && d.$on("$destroy", l), - d; - }, - $watch: function(a, b, c, d) { - var e = j(a); - if (e.$$watchDelegate) return e.$$watchDelegate(this, b, c, e, a); - var f = this, h = f.$$watchers, i = { - fn: b, - last: t, - get: e, - exp: d || a, - eq: !!c - }; - return g = null, z(b) || (i.fn = o), h || (h = f.$$watchers = []), h.unshift(i), - q(this, 1), function() { - 0 <= I(h, i) && q(f, -1), g = null; - }; - }, - $watchGroup: function(a, b) { - function c() { - i = !1, j ? (j = !1, b(e, e, h)) : b(e, d, h); - } - var d = Array(a.length), e = Array(a.length), g = [], h = this, i = !1, j = !0; - if (!a.length) { - var k = !0; - return h.$evalAsync(function() { - k && b(e, e, h); - }), function() { - k = !1; - }; - } - return 1 === a.length ? this.$watch(a[0], function(a, c, f) { - e[0] = a, d[0] = c, b(e, a === c ? e : d, f); - }) : (f(a, function(a, b) { - var f = h.$watch(a, function(a, f) { - e[b] = a, d[b] = f, i || (i = !0, h.$evalAsync(c)); - }); - g.push(f); - }), function() { - for (;g.length; ) g.shift()(); - }); - }, - $watchCollection: function(a, b) { - function c(a) { - d = a; - var b, c, g, h; - if (!s(d)) { - if (u(d)) if (e(d)) for (f !== m && (f = m, p = f.length = 0, k++), a = d.length, - p !== a && (k++, f.length = p = a), b = 0; b < a; b++) h = f[b], g = d[b], c = h !== h && g !== g, - c || h === g || (k++, f[b] = g); else { - f !== n && (f = n = {}, p = 0, k++), a = 0; - for (b in d) Vc.call(d, b) && (a++, g = d[b], h = f[b], b in f ? (c = h !== h && g !== g, - c || h === g || (k++, f[b] = g)) : (p++, f[b] = g, k++)); - if (p > a) for (b in k++, f) Vc.call(d, b) || (p--, delete f[b]); - } else f !== d && (f = d, k++); - return k; - } - } - c.$stateful = !0; - var d, f, g, h = this, i = 1 < b.length, k = 0, l = j(a, c), m = [], n = {}, o = !0, p = 0; - return this.$watch(l, function() { - if (o ? (o = !1, b(d, d, h)) : b(d, g, h), i) if (u(d)) if (e(d)) { - g = Array(d.length); - for (var a = 0; a < d.length; a++) g[a] = d[a]; - } else for (a in g = {}, d) Vc.call(d, a) && (g[a] = d[a]); else g = d; - }); - }, - $digest: function() { - var a, d, e, f, j, l, m, n, o, q, r, s = b, u = []; - p("$digest"), k.$$checkUrlChange(), this === x && null !== h && (k.defer.cancel(h), - v()), g = null; - do { - for (n = !1, o = this; y.length; ) { - try { - r = y.shift(), r.scope.$eval(r.expression, r.locals); - } catch (w) { - i(w); - } - g = null; - } - a: do { - if (l = o.$$watchers) for (m = l.length; m--; ) try { - if (a = l[m]) if (j = a.get, (d = j(o)) === (e = a.last) || (a.eq ? L(d, e) : "number" == typeof d && "number" == typeof e && isNaN(d) && isNaN(e))) { - if (a === g) { - n = !1; - break a; - } - } else n = !0, g = a, a.last = a.eq ? J(d, null) : d, f = a.fn, f(d, e === t ? d : e, o), - 5 > s && (q = 4 - s, u[q] || (u[q] = []), u[q].push({ - msg: z(a.exp) ? "fn: " + (a.exp.name || a.exp.toString()) : a.exp, - newVal: d, - oldVal: e - })); - } catch (B) { - i(B); - } - if (!(l = o.$$watchersCount && o.$$childHead || o !== this && o.$$nextSibling)) for (;o !== this && !(l = o.$$nextSibling); ) o = o.$parent; - } while (o = l); - if ((n || y.length) && !s--) throw x.$$phase = null, c("infdig", b, u); - } while (n || y.length); - for (x.$$phase = null; A.length; ) try { - A.shift()(); - } catch (C) { - i(C); - } - }, - $destroy: function() { - if (!this.$$destroyed) { - var a = this.$parent; - this.$broadcast("$destroy"), this.$$destroyed = !0, this === x && k.$$applicationDestroyed(), - q(this, -this.$$watchersCount); - for (var b in this.$$listenerCount) r(this, this.$$listenerCount[b], b); - a && a.$$childHead == this && (a.$$childHead = this.$$nextSibling), a && a.$$childTail == this && (a.$$childTail = this.$$prevSibling), - this.$$prevSibling && (this.$$prevSibling.$$nextSibling = this.$$nextSibling), this.$$nextSibling && (this.$$nextSibling.$$prevSibling = this.$$prevSibling), - this.$destroy = this.$digest = this.$apply = this.$evalAsync = this.$applyAsync = o, - this.$on = this.$watch = this.$watchGroup = function() { - return o; - }, this.$$listeners = {}, this.$$nextSibling = null, m(this); - } - }, - $eval: function(a, b) { - return j(a)(this, b); - }, - $evalAsync: function(a, b) { - x.$$phase || y.length || k.defer(function() { - y.length && x.$digest(); - }), y.push({ - scope: this, - expression: j(a), - locals: b - }); - }, - $$postDigest: function(a) { - A.push(a); - }, - $apply: function(a) { - try { - p("$apply"); - try { - return this.$eval(a); - } finally { - x.$$phase = null; - } - } catch (b) { - i(b); - } finally { - try { - x.$digest(); - } catch (c) { - throw i(c), c; - } - } - }, - $applyAsync: function(a) { - function b() { - c.$eval(a); - } - var c = this; - a && B.push(b), a = j(a), w(); - }, - $on: function(a, b) { - var c = this.$$listeners[a]; - c || (this.$$listeners[a] = c = []), c.push(b); - var d = this; - do d.$$listenerCount[a] || (d.$$listenerCount[a] = 0), d.$$listenerCount[a]++; while (d = d.$parent); - var e = this; - return function() { - var d = c.indexOf(b); - -1 !== d && (c[d] = null, r(e, 1, a)); - }; - }, - $emit: function(a, b) { - var c, d, e, f = [], g = this, h = !1, j = { - name: a, - targetScope: g, - stopPropagation: function() { - h = !0; - }, - preventDefault: function() { - j.defaultPrevented = !0; - }, - defaultPrevented: !1 - }, k = M([ j ], arguments, 1); - do { - for (c = g.$$listeners[a] || f, j.currentScope = g, d = 0, e = c.length; d < e; d++) if (c[d]) try { - c[d].apply(null, k); - } catch (l) { - i(l); - } else c.splice(d, 1), d--, e--; - if (h) return j.currentScope = null, j; - g = g.$parent; - } while (g); - return j.currentScope = null, j; - }, - $broadcast: function(a, b) { - var c = this, d = this, e = { - name: a, - targetScope: this, - preventDefault: function() { - e.defaultPrevented = !0; - }, - defaultPrevented: !1 - }; - if (!this.$$listenerCount[a]) return e; - for (var f, g, h = M([ e ], arguments, 1); c = d; ) { - for (e.currentScope = c, d = c.$$listeners[a] || [], f = 0, g = d.length; f < g; f++) if (d[f]) try { - d[f].apply(null, h); - } catch (j) { - i(j); - } else d.splice(f, 1), f--, g--; - if (!(d = c.$$listenerCount[a] && c.$$childHead || c !== this && c.$$nextSibling)) for (;c !== this && !(d = c.$$nextSibling); ) c = c.$parent; - } - return e.currentScope = null, e; - } - }; - var x = new n(), y = x.$$asyncQueue = [], A = x.$$postDigestQueue = [], B = x.$$applyAsyncQueue = []; - return x; - } ]; - } - function Yb() { - var a = /^\s*(https?|ftp|mailto|tel|file):/, b = /^\s*((https?|ftp|file|blob):|data:image\/)/; - this.aHrefSanitizationWhitelist = function(b) { - return t(b) ? (a = b, this) : a; - }, this.imgSrcSanitizationWhitelist = function(a) { - return t(a) ? (b = a, this) : b; - }, this.$get = function() { - return function(c, d) { - var e, f = d ? b : a; - return e = fc(c).href, "" === e || e.match(f) ? c : "unsafe:" + e; - }; - }; - } - function Zb(a) { - if ("self" === a) return a; - if (w(a)) { - if (-1 < a.indexOf("***")) throw se("iwcard", a); - return a = hd(a).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"), new RegExp("^" + a + "$"); - } - if (A(a)) return new RegExp("^" + a.source + "$"); - throw se("imatcher"); - } - function $b(a) { - var b = []; - return t(a) && f(a, function(a) { - b.push(Zb(a)); - }), b; - } - function _b() { - this.SCE_CONTEXTS = te; - var a = [ "self" ], b = []; - this.resourceUrlWhitelist = function(b) { - return arguments.length && (a = $b(b)), a; - }, this.resourceUrlBlacklist = function(a) { - return arguments.length && (b = $b(a)), b; - }, this.$get = [ "$injector", function(c) { - function d(a, b) { - return "self" === a ? gc(b) : !!a.exec(b.href); - } - function e(a) { - var b = function(a) { - this.$$unwrapTrustedValue = function() { - return a; - }; - }; - return a && (b.prototype = new a()), b.prototype.valueOf = function() { - return this.$$unwrapTrustedValue(); - }, b.prototype.toString = function() { - return this.$$unwrapTrustedValue().toString(); - }, b; - } - var f = function(a) { - throw se("unsafe"); - }; - c.has("$sanitize") && (f = c.get("$sanitize")); - var g = e(), h = {}; - return h[te.HTML] = e(g), h[te.CSS] = e(g), h[te.URL] = e(g), h[te.JS] = e(g), h[te.RESOURCE_URL] = e(h[te.URL]), - { - trustAs: function(a, b) { - var c = h.hasOwnProperty(a) ? h[a] : null; - if (!c) throw se("icontext", a, b); - if (null === b || s(b) || "" === b) return b; - if ("string" != typeof b) throw se("itype", a); - return new c(b); - }, - getTrusted: function(c, e) { - if (null === e || s(e) || "" === e) return e; - var g = h.hasOwnProperty(c) ? h[c] : null; - if (g && e instanceof g) return e.$$unwrapTrustedValue(); - if (c === te.RESOURCE_URL) { - var i, j, g = fc(e.toString()), k = !1; - for (i = 0, j = a.length; i < j; i++) if (d(a[i], g)) { - k = !0; - break; - } - if (k) for (i = 0, j = b.length; i < j; i++) if (d(b[i], g)) { - k = !1; - break; - } - if (k) return e; - throw se("insecurl", e.toString()); - } - if (c === te.HTML) return f(e); - throw se("unsafe"); - }, - valueOf: function(a) { - return a instanceof g ? a.$$unwrapTrustedValue() : a; - } - }; - } ]; - } - function ac() { - var a = !0; - this.enabled = function(b) { - return arguments.length && (a = !!b), a; - }, this.$get = [ "$parse", "$sceDelegate", function(b, c) { - if (a && 8 > Pc) throw se("iequirks"); - var d = K(te); - d.isEnabled = function() { - return a; - }, d.trustAs = c.trustAs, d.getTrusted = c.getTrusted, d.valueOf = c.valueOf, a || (d.trustAs = d.getTrusted = function(a, b) { - return b; - }, d.valueOf = p), d.parseAs = function(a, c) { - var e = b(c); - return e.literal && e.constant ? e : b(c, function(b) { - return d.getTrusted(a, b); - }); - }; - var e = d.parseAs, g = d.getTrusted, h = d.trustAs; - return f(te, function(a, b) { - var c = Uc(b); - d[ma("parse_as_" + c)] = function(b) { - return e(a, b); - }, d[ma("get_trusted_" + c)] = function(b) { - return g(a, b); - }, d[ma("trust_as_" + c)] = function(b) { - return h(a, b); - }; - }), d; - } ]; - } - function bc() { - this.$get = [ "$window", "$document", function(a, b) { - var c, d = {}, e = m((/android (\d+)/.exec(Uc((a.navigator || {}).userAgent)) || [])[1]), f = /Boxee/i.test((a.navigator || {}).userAgent), g = b[0] || {}, h = /^(Moz|webkit|ms)(?=[A-Z])/, i = g.body && g.body.style, j = !1, k = !1; - if (i) { - for (var l in i) if (j = h.exec(l)) { - c = j[0], c = c.substr(0, 1).toUpperCase() + c.substr(1); - break; - } - c || (c = "WebkitOpacity" in i && "webkit"), j = !!("transition" in i || c + "Transition" in i), - k = !!("animation" in i || c + "Animation" in i), !e || j && k || (j = w(i.webkitTransition), - k = w(i.webkitAnimation)); - } - return { - history: !(!a.history || !a.history.pushState || 4 > e || f), - hasEvent: function(a) { - if ("input" === a && 11 >= Pc) return !1; - if (s(d[a])) { - var b = g.createElement("div"); - d[a] = "on" + a in b; - } - return d[a]; - }, - csp: id(), - vendorPrefix: c, - transitions: j, - animations: k, - android: e - }; - } ]; - } - function cc() { - this.$get = [ "$templateCache", "$http", "$q", "$sce", function(a, b, c, d) { - function e(f, g) { - e.totalPendingRequests++, w(f) && !s(a.get(f)) || (f = d.getTrustedResourceUrl(f)); - var h = b.defaults && b.defaults.transformResponse; - return ed(h) ? h = h.filter(function(a) { - return a !== fb; - }) : h === fb && (h = null), b.get(f, { - cache: a, - transformResponse: h - })["finally"](function() { - e.totalPendingRequests--; - }).then(function(b) { - return a.put(f, b.data), b.data; - }, function(a) { - if (!g) throw Td("tpload", f, a.status, a.statusText); - return c.reject(a); - }); - } - return e.totalPendingRequests = 0, e; - } ]; - } - function dc() { - this.$get = [ "$rootScope", "$browser", "$location", function(a, b, c) { - return { - findBindings: function(a, b, c) { - a = a.getElementsByClassName("ng-binding"); - var d = []; - return f(a, function(a) { - var e = bd.element(a).data("$binding"); - e && f(e, function(e) { - c ? new RegExp("(^|\\s)" + hd(b) + "(\\s|\\||$)").test(e) && d.push(a) : -1 != e.indexOf(b) && d.push(a); - }); - }), d; - }, - findModels: function(a, b, c) { - for (var d = [ "ng-", "data-ng-", "ng\\:" ], e = 0; e < d.length; ++e) { - var f = a.querySelectorAll("[" + d[e] + "model" + (c ? "=" : "*=") + '"' + b + '"]'); - if (f.length) return f; - } - }, - getLocation: function() { - return c.url(); - }, - setLocation: function(b) { - b !== c.url() && (c.url(b), a.$digest()); - }, - whenStable: function(a) { - b.notifyWhenNoOutstandingRequests(a); - } - }; - } ]; - } - function ec() { - this.$get = [ "$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function(a, b, c, d, e) { - function f(f, h, i) { - z(f) || (i = h, h = f, f = o); - var j, k = Xc.call(arguments, 3), l = t(i) && !i, m = (l ? d : c).defer(), n = m.promise; - return j = b.defer(function() { - try { - m.resolve(f.apply(null, k)); - } catch (b) { - m.reject(b), e(b); - } finally { - delete g[n.$$timeoutId]; - } - l || a.$apply(); - }, h), n.$$timeoutId = j, g[j] = m, n; - } - var g = {}; - return f.cancel = function(a) { - return !!(a && a.$$timeoutId in g) && (g[a.$$timeoutId].reject("canceled"), delete g[a.$$timeoutId], - b.defer.cancel(a.$$timeoutId)); - }, f; - } ]; - } - function fc(a) { - return Pc && (ue.setAttribute("href", a), a = ue.href), ue.setAttribute("href", a), - { - href: ue.href, - protocol: ue.protocol ? ue.protocol.replace(/:$/, "") : "", - host: ue.host, - search: ue.search ? ue.search.replace(/^\?/, "") : "", - hash: ue.hash ? ue.hash.replace(/^#/, "") : "", - hostname: ue.hostname, - port: ue.port, - pathname: "/" === ue.pathname.charAt(0) ? ue.pathname : "/" + ue.pathname - }; - } - function gc(a) { - return a = w(a) ? fc(a) : a, a.protocol === ve.protocol && a.host === ve.host; - } - function hc() { - this.$get = q(a); - } - function ic(a) { - function b(a) { - try { - return decodeURIComponent(a); - } catch (b) { - return a; - } - } - var c = a[0] || {}, d = {}, e = ""; - return function() { - var a, f, g, h, i; - if (a = c.cookie || "", a !== e) for (e = a, a = e.split("; "), d = {}, g = 0; g < a.length; g++) f = a[g], - h = f.indexOf("="), 0 < h && (i = b(f.substring(0, h)), s(d[i]) && (d[i] = b(f.substring(h + 1)))); - return d; - }; - } - function jc() { - this.$get = ic; - } - function kc(a) { - function b(c, d) { - if (u(c)) { - var e = {}; - return f(c, function(a, c) { - e[c] = b(c, a); - }), e; - } - return a.factory(c + "Filter", d); - } - this.register = b, this.$get = [ "$injector", function(a) { - return function(b) { - return a.get(b + "Filter"); - }; - } ], b("currency", pc), b("date", Ac), b("filter", lc), b("json", Bc), b("limitTo", Cc), - b("lowercase", Ce), b("number", qc), b("orderBy", Dc), b("uppercase", De); - } - function lc() { - return function(a, b, c) { - if (!e(a)) { - if (null == a) return a; - throw d("filter")("notarray", a); - } - var f; - switch (oc(b)) { - case "function": - break; - - case "boolean": - case "null": - case "number": - case "string": - f = !0; - - case "object": - b = mc(b, c, f); - break; - - default: - return a; - } - return Array.prototype.filter.call(a, b); - }; - } - function mc(a, b, c) { - var d = u(a) && "$" in a; - return !0 === b ? b = L : z(b) || (b = function(a, b) { - return !s(a) && (null === a || null === b ? a === b : !(u(b) || u(a) && !r(a)) && (a = Uc("" + a), - b = Uc("" + b), -1 !== a.indexOf(b))); - }), function(e) { - return d && !u(e) ? nc(e, a.$, b, !1) : nc(e, a, b, c); - }; - } - function nc(a, b, c, d, e) { - var f = oc(a), g = oc(b); - if ("string" === g && "!" === b.charAt(0)) return !nc(a, b.substring(1), c, d); - if (ed(a)) return a.some(function(a) { - return nc(a, b, c, d); - }); - switch (f) { - case "object": - var h; - if (d) { - for (h in a) if ("$" !== h.charAt(0) && nc(a[h], b, c, !0)) return !0; - return !e && nc(a, b, c, !1); - } - if ("object" === g) { - for (h in b) if (e = b[h], !z(e) && !s(e) && (f = "$" === h, !nc(f ? a : a[h], e, c, f, f))) return !1; - return !0; - } - return c(a, b); - - case "function": - return !1; - - default: - return c(a, b); - } - } - function oc(a) { - return null === a ? "null" : typeof a; - } - function pc(a) { - var b = a.NUMBER_FORMATS; - return function(a, c, d) { - return s(c) && (c = b.CURRENCY_SYM), s(d) && (d = b.PATTERNS[1].maxFrac), null == a ? a : tc(a, b.PATTERNS[1], b.GROUP_SEP, b.DECIMAL_SEP, d).replace(/\u00A4/g, c); - }; - } - function qc(a) { - var b = a.NUMBER_FORMATS; - return function(a, c) { - return null == a ? a : tc(a, b.PATTERNS[0], b.GROUP_SEP, b.DECIMAL_SEP, c); - }; - } - function rc(a) { - var b, c, d, e, f, g = 0; - for (-1 < (c = a.indexOf(xe)) && (a = a.replace(xe, "")), 0 < (d = a.search(/e/i)) ? (0 > c && (c = d), - c += +a.slice(d + 1), a = a.substring(0, d)) : 0 > c && (c = a.length), d = 0; a.charAt(d) == ye; d++) ; - if (d == (f = a.length)) b = [ 0 ], c = 1; else { - for (f--; a.charAt(f) == ye; ) f--; - for (c -= d, b = [], e = 0; d <= f; d++, e++) b[e] = +a.charAt(d); - } - return c > we && (b = b.splice(0, we - 1), g = c - 1, c = 1), { - d: b, - e: g, - i: c - }; - } - function sc(a, b, c, d) { - var e = a.d, f = e.length - a.i; - if (b = s(b) ? Math.min(Math.max(c, f), d) : +b, c = b + a.i, d = e[c], 0 < c) e.splice(c); else { - a.i = 1, e.length = c = b + 1; - for (var g = 0; g < c; g++) e[g] = 0; - } - for (5 <= d && e[c - 1]++; f < b; f++) e.push(0); - (b = e.reduceRight(function(a, b, c, d) { - return b += a, d[c] = b % 10, Math.floor(b / 10); - }, 0)) && (e.unshift(b), a.i++); - } - function tc(a, b, c, d, e) { - if (!w(a) && !x(a) || isNaN(a)) return ""; - var f = !isFinite(a), g = !1, h = Math.abs(a) + "", i = ""; - if (f) i = "∞"; else { - for (g = rc(h), sc(g, e, b.minFrac, b.maxFrac), i = g.d, h = g.i, e = g.e, f = [], - g = i.reduce(function(a, b) { - return a && !b; - }, !0); 0 > h; ) i.unshift(0), h++; - for (0 < h ? f = i.splice(h, i.length) : (f = i, i = [ 0 ]), h = [], i.length >= b.lgSize && h.unshift(i.splice(-b.lgSize, i.length).join("")); i.length > b.gSize; ) h.unshift(i.splice(-b.gSize, i.length).join("")); - i.length && h.unshift(i.join("")), i = h.join(c), f.length && (i += d + f.join("")), - e && (i += "e+" + e); - } - return 0 > a && !g ? b.negPre + i + b.negSuf : b.posPre + i + b.posSuf; - } - function uc(a, b, c) { - var d = ""; - for (0 > a && (d = "-", a = -a), a = "" + a; a.length < b; ) a = ye + a; - return c && (a = a.substr(a.length - b)), d + a; - } - function vc(a, b, c, d) { - return c = c || 0, function(e) { - return e = e["get" + a](), (0 < c || e > -c) && (e += c), 0 === e && -12 == c && (e = 12), - uc(e, b, d); - }; - } - function wc(a, b) { - return function(c, d) { - var e = c["get" + a](), f = Wc(b ? "SHORT" + a : a); - return d[f][e]; - }; - } - function xc(a) { - var b = new Date(a, 0, 1).getDay(); - return new Date(a, 0, (4 >= b ? 5 : 12) - b); - } - function yc(a) { - return function(b) { - var c = xc(b.getFullYear()); - return b = +new Date(b.getFullYear(), b.getMonth(), b.getDate() + (4 - b.getDay())) - +c, - b = 1 + Math.round(b / 6048e5), uc(b, a); - }; - } - function zc(a, b) { - return 0 >= a.getFullYear() ? b.ERAS[0] : b.ERAS[1]; - } - function Ac(a) { - function b(a) { - var b; - if (b = a.match(c)) { - a = new Date(0); - var d = 0, e = 0, f = b[8] ? a.setUTCFullYear : a.setFullYear, g = b[8] ? a.setUTCHours : a.setHours; - b[9] && (d = m(b[9] + b[10]), e = m(b[9] + b[11])), f.call(a, m(b[1]), m(b[2]) - 1, m(b[3])), - d = m(b[4] || 0) - d, e = m(b[5] || 0) - e, f = m(b[6] || 0), b = Math.round(1e3 * parseFloat("0." + (b[7] || 0))), - g.call(a, d, e, f, b); - } - return a; - } - var c = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; - return function(c, d, e) { - var g, h, i = "", j = []; - if (d = d || "mediumDate", d = a.DATETIME_FORMATS[d] || d, w(c) && (c = Be.test(c) ? m(c) : b(c)), - x(c) && (c = new Date(c)), !y(c) || !isFinite(c.getTime())) return c; - for (;d; ) (h = Ae.exec(d)) ? (j = M(j, h, 1), d = j.pop()) : (j.push(d), d = null); - var k = c.getTimezoneOffset(); - return e && (k = R(e, k), c = S(c, e, !0)), f(j, function(b) { - g = ze[b], i += g ? g(c, a.DATETIME_FORMATS, k) : "''" === b ? "'" : b.replace(/(^'|'$)/g, "").replace(/''/g, "'"); - }), i; - }; - } - function Bc() { - return function(a, b) { - return s(b) && (b = 2), P(a, b); - }; - } - function Cc() { - return function(a, b, c) { - return b = 1 / 0 === Math.abs(Number(b)) ? Number(b) : m(b), isNaN(b) ? a : (x(a) && (a = a.toString()), - ed(a) || w(a) ? (c = !c || isNaN(c) ? 0 : m(c), c = 0 > c ? Math.max(0, a.length + c) : c, - 0 <= b ? a.slice(c, c + b) : 0 === c ? a.slice(b, a.length) : a.slice(Math.max(0, c + b), c)) : a); - }; - } - function Dc(a) { - function b(b, c) { - return c = c ? -1 : 1, b.map(function(b) { - var d = 1, e = p; - if (z(b)) e = b; else if (w(b) && ("+" != b.charAt(0) && "-" != b.charAt(0) || (d = "-" == b.charAt(0) ? -1 : 1, - b = b.substring(1)), "" !== b && (e = a(b), e.constant))) var f = e(), e = function(a) { - return a[f]; - }; - return { - get: e, - descending: d * c - }; - }); - } - function c(a) { - switch (typeof a) { - case "number": - case "boolean": - case "string": - return !0; - - default: - return !1; - } - } - return function(a, d, f) { - if (!e(a)) return a; - ed(d) || (d = [ d ]), 0 === d.length && (d = [ "+" ]); - var g = b(d, f); - return g.push({ - get: function() { - return {}; - }, - descending: f ? -1 : 1 - }), a = Array.prototype.map.call(a, function(a, b) { - return { - value: a, - predicateValues: g.map(function(d) { - var e = d.get(a); - return d = typeof e, null === e ? (d = "string", e = "null") : "string" === d ? e = e.toLowerCase() : "object" === d && ("function" == typeof e.valueOf && (e = e.valueOf(), - c(e)) || r(e) && (e = e.toString(), c(e)) || (e = b)), { - value: e, - type: d - }; - }) - }; - }), a.sort(function(a, b) { - for (var c = 0, d = 0, e = g.length; d < e; ++d) { - var c = a.predicateValues[d], f = b.predicateValues[d], h = 0; - if (c.type === f.type ? c.value !== f.value && (h = c.value < f.value ? -1 : 1) : h = c.type < f.type ? -1 : 1, - c = h * g[d].descending) break; - } - return c; - }), a = a.map(function(a) { - return a.value; - }); - }; - } - function Ec(a) { - return z(a) && (a = { - link: a - }), a.restrict = a.restrict || "AC", q(a); - } - function Fc(a, b, d, e, g) { - var h = this, i = []; - h.$error = {}, h.$$success = {}, h.$pending = c, h.$name = g(b.name || b.ngForm || "")(d), - h.$dirty = !1, h.$pristine = !0, h.$valid = !0, h.$invalid = !1, h.$submitted = !1, - h.$$parentForm = Ge, h.$rollbackViewValue = function() { - f(i, function(a) { - a.$rollbackViewValue(); - }); - }, h.$commitViewValue = function() { - f(i, function(a) { - a.$commitViewValue(); - }); - }, h.$addControl = function(a) { - ga(a.$name, "input"), i.push(a), a.$name && (h[a.$name] = a), a.$$parentForm = h; - }, h.$$renameControl = function(a, b) { - var c = a.$name; - h[c] === a && delete h[c], h[b] = a, a.$name = b; - }, h.$removeControl = function(a) { - a.$name && h[a.$name] === a && delete h[a.$name], f(h.$pending, function(b, c) { - h.$setValidity(c, null, a); - }), f(h.$error, function(b, c) { - h.$setValidity(c, null, a); - }), f(h.$$success, function(b, c) { - h.$setValidity(c, null, a); - }), I(i, a), a.$$parentForm = Ge; - }, Nc({ - ctrl: this, - $element: a, - set: function(a, b, c) { - var d = a[b]; - d ? -1 === d.indexOf(c) && d.push(c) : a[b] = [ c ]; - }, - unset: function(a, b, c) { - var d = a[b]; - d && (I(d, c), 0 === d.length && delete a[b]); - }, - $animate: e - }), h.$setDirty = function() { - e.removeClass(a, pf), e.addClass(a, qf), h.$dirty = !0, h.$pristine = !1, h.$$parentForm.$setDirty(); - }, h.$setPristine = function() { - e.setClass(a, pf, qf + " ng-submitted"), h.$dirty = !1, h.$pristine = !0, h.$submitted = !1, - f(i, function(a) { - a.$setPristine(); - }); - }, h.$setUntouched = function() { - f(i, function(a) { - a.$setUntouched(); - }); - }, h.$setSubmitted = function() { - e.addClass(a, "ng-submitted"), h.$submitted = !0, h.$$parentForm.$setSubmitted(); - }; - } - function Gc(a) { - a.$formatters.push(function(b) { - return a.$isEmpty(b) ? b : b.toString(); - }); - } - function Hc(a, b, c, d, e, f) { - var g = Uc(b[0].type); - if (!e.android) { - var h = !1; - b.on("compositionstart", function(a) { - h = !0; - }), b.on("compositionend", function() { - h = !1, j(); - }); - } - var i, j = function(a) { - if (i && (f.defer.cancel(i), i = null), !h) { - var e = b.val(); - a = a && a.type, "password" === g || c.ngTrim && "false" === c.ngTrim || (e = gd(e)), - (d.$viewValue !== e || "" === e && d.$$hasNativeValidators) && d.$setViewValue(e, a); - } - }; - if (e.hasEvent("input")) b.on("input", j); else { - var k = function(a, b, c) { - i || (i = f.defer(function() { - i = null, b && b.value === c || j(a); - })); - }; - b.on("keydown", function(a) { - var b = a.keyCode; - 91 === b || 15 < b && 19 > b || 37 <= b && 40 >= b || k(a, this, this.value); - }), e.hasEvent("paste") && b.on("paste cut", k); - } - b.on("change", j), Te[g] && d.$$hasNativeValidators && g === c.type && b.on("keydown wheel mousedown", function(a) { - if (!i) { - var b = this.validity, c = b.badInput, d = b.typeMismatch; - i = f.defer(function() { - i = null, b.badInput === c && b.typeMismatch === d || j(a); - }); - } - }), d.$render = function() { - var a = d.$isEmpty(d.$viewValue) ? "" : d.$viewValue; - b.val() !== a && b.val(a); - }; - } - function Ic(a, b) { - return function(c, d) { - var e, g; - if (y(c)) return c; - if (w(c)) { - if ('"' == c.charAt(0) && '"' == c.charAt(c.length - 1) && (c = c.substring(1, c.length - 1)), - Ke.test(c)) return new Date(c); - if (a.lastIndex = 0, e = a.exec(c)) return e.shift(), g = d ? { - yyyy: d.getFullYear(), - MM: d.getMonth() + 1, - dd: d.getDate(), - HH: d.getHours(), - mm: d.getMinutes(), - ss: d.getSeconds(), - sss: d.getMilliseconds() / 1e3 - } : { - yyyy: 1970, - MM: 1, - dd: 1, - HH: 0, - mm: 0, - ss: 0, - sss: 0 - }, f(e, function(a, c) { - c < b.length && (g[b[c]] = +a); - }), new Date(g.yyyy, g.MM - 1, g.dd, g.HH, g.mm, g.ss || 0, 1e3 * g.sss || 0); - } - return NaN; - }; - } - function Jc(a, b, d, e) { - return function(f, g, h, i, j, k, l) { - function m(a) { - return a && !(a.getTime && a.getTime() !== a.getTime()); - } - function n(a) { - return t(a) && !y(a) ? d(a) || c : a; - } - Kc(f, g, h, i), Hc(f, g, h, i, j, k); - var o, p = i && i.$options && i.$options.timezone; - if (i.$$parserName = a, i.$parsers.push(function(a) { - return i.$isEmpty(a) ? null : b.test(a) ? (a = d(a, o), p && (a = S(a, p)), a) : c; - }), i.$formatters.push(function(a) { - if (a && !y(a)) throw sf("datefmt", a); - return m(a) ? ((o = a) && p && (o = S(o, p, !0)), l("date")(a, e, p)) : (o = null, - ""); - }), t(h.min) || h.ngMin) { - var q; - i.$validators.min = function(a) { - return !m(a) || s(q) || d(a) >= q; - }, h.$observe("min", function(a) { - q = n(a), i.$validate(); - }); - } - if (t(h.max) || h.ngMax) { - var r; - i.$validators.max = function(a) { - return !m(a) || s(r) || d(a) <= r; - }, h.$observe("max", function(a) { - r = n(a), i.$validate(); - }); - } - }; - } - function Kc(a, b, d, e) { - (e.$$hasNativeValidators = u(b[0].validity)) && e.$parsers.push(function(a) { - var d = b.prop("validity") || {}; - return d.badInput && !d.typeMismatch ? c : a; - }); - } - function Lc(a, b, c, d, e) { - if (t(d)) { - if (a = a(d), !a.constant) throw sf("constexpr", c, d); - return a(b); - } - return e; - } - function Mc(a, b) { - return a = "ngClass" + a, [ "$animate", function(c) { - function d(a, b) { - var c = [], d = 0; - a: for (;d < a.length; d++) { - for (var e = a[d], f = 0; f < b.length; f++) if (e == b[f]) continue a; - c.push(e); - } - return c; - } - function e(a) { - var b = []; - return ed(a) ? (f(a, function(a) { - b = b.concat(e(a)); - }), b) : w(a) ? a.split(" ") : u(a) ? (f(a, function(a, c) { - a && (b = b.concat(c.split(" "))); - }), b) : a; - } - return { - restrict: "AC", - link: function(g, h, i) { - function j(a) { - a = k(a, 1), i.$addClass(a); - } - function k(a, b) { - var c = h.data("$classCounts") || ja(), d = []; - return f(a, function(a) { - (0 < b || c[a]) && (c[a] = (c[a] || 0) + b, c[a] === +(0 < b) && d.push(a)); - }), h.data("$classCounts", c), d.join(" "); - } - function l(a, b) { - var e = d(b, a), f = d(a, b), e = k(e, 1), f = k(f, -1); - e && e.length && c.addClass(h, e), f && f.length && c.removeClass(h, f); - } - function m(a) { - if (!0 === b || g.$index % 2 === b) { - var c = e(a || []); - if (n) { - if (!L(a, n)) { - var d = e(n); - l(d, c); - } - } else j(c); - } - n = ed(a) ? a.map(function(a) { - return K(a); - }) : K(a); - } - var n; - g.$watch(i[a], m, !0), i.$observe("class", function(b) { - m(g.$eval(i[a])); - }), "ngClass" !== a && g.$watch("$index", function(c, d) { - var f = 1 & c; - if (f !== (1 & d)) { - var h = e(g.$eval(i[a])); - f === b ? j(h) : (f = k(h, -1), i.$removeClass(f)); - } - }); - } - }; - } ]; - } - function Nc(a) { - function b(a, b) { - b && !g[a] ? (j.addClass(f, a), g[a] = !0) : !b && g[a] && (j.removeClass(f, a), - g[a] = !1); - } - function d(a, c) { - a = a ? "-" + ca(a, "-") : "", b(nf + a, !0 === c), b(of + a, !1 === c); - } - var e = a.ctrl, f = a.$element, g = {}, h = a.set, i = a.unset, j = a.$animate; - g[of] = !(g[nf] = f.hasClass(nf)), e.$setValidity = function(a, f, g) { - s(f) ? (e.$pending || (e.$pending = {}), h(e.$pending, a, g)) : (e.$pending && i(e.$pending, a, g), - Oc(e.$pending) && (e.$pending = c)), D(f) ? f ? (i(e.$error, a, g), h(e.$$success, a, g)) : (h(e.$error, a, g), - i(e.$$success, a, g)) : (i(e.$error, a, g), i(e.$$success, a, g)), e.$pending ? (b(rf, !0), - e.$valid = e.$invalid = c, d("", null)) : (b(rf, !1), e.$valid = Oc(e.$error), e.$invalid = !e.$valid, - d("", e.$valid)), f = e.$pending && e.$pending[a] ? c : !e.$error[a] && (!!e.$$success[a] || null), - d(a, f), e.$$parentForm.$setValidity(a, f, e); - }; - } - function Oc(a) { - if (a) for (var b in a) if (a.hasOwnProperty(b)) return !1; - return !0; - } - var Pc, Qc, Rc, Sc, Tc = /^\/(.+)\/([a-z]*)$/, Uc = function(a) { - return w(a) ? a.toLowerCase() : a; - }, Vc = Object.prototype.hasOwnProperty, Wc = function(a) { - return w(a) ? a.toUpperCase() : a; - }, Xc = [].slice, Yc = [].splice, Zc = [].push, $c = Object.prototype.toString, _c = Object.getPrototypeOf, ad = d("ng"), bd = a.angular || (a.angular = {}), cd = 0; - Pc = b.documentMode, o.$inject = [], p.$inject = []; - var dd, ed = Array.isArray, fd = /^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array\]$/, gd = function(a) { - return w(a) ? a.trim() : a; - }, hd = function(a) { - return a.replace(/([-()\[\]{}+?*.$\^|,:#(?:<\/\1>|)$/, xd = /<|&#?\w+;/, yd = /<([\w:-]+)/, zd = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, Ad = { - option: [ 1, '" ], - thead: [ 1, "", "
" ], - col: [ 2, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - _default: [ 0, "", "" ] - }; - Ad.optgroup = Ad.option, Ad.tbody = Ad.tfoot = Ad.colgroup = Ad.caption = Ad.thead, - Ad.th = Ad.td; - var Bd = Node.prototype.contains || function(a) { - return !!(16 & this.compareDocumentPosition(a)); - }, Cd = qa.prototype = { - ready: function(c) { - function d() { - e || (e = !0, c()); - } - var e = !1; - "complete" === b.readyState ? setTimeout(d) : (this.on("DOMContentLoaded", d), qa(a).on("load", d)); - }, - toString: function() { - var a = []; - return f(this, function(b) { - a.push("" + b); - }), "[" + a.join(", ") + "]"; - }, - eq: function(a) { - return Qc(0 <= a ? this[a] : this[this.length + a]); - }, - length: 0, - push: Zc, - sort: [].sort, - splice: [].splice - }, Dd = {}; - f("multiple selected checked disabled readOnly required open".split(" "), function(a) { - Dd[Uc(a)] = a; - }); - var Ed = {}; - f("input select option textarea button form details".split(" "), function(a) { - Ed[a] = !0; - }); - var Fd = { - ngMinlength: "minlength", - ngMaxlength: "maxlength", - ngMin: "min", - ngMax: "max", - ngPattern: "pattern" - }; - f({ - data: wa, - removeData: ua, - hasData: function(a) { - for (var b in qd[a.ng339]) return !0; - return !1; - } - }, function(a, b) { - qa[b] = a; - }), f({ - data: wa, - inheritedData: Ca, - scope: function(a) { - return Qc.data(a, "$scope") || Ca(a.parentNode || a, [ "$isolateScope", "$scope" ]); - }, - isolateScope: function(a) { - return Qc.data(a, "$isolateScope") || Qc.data(a, "$isolateScopeNoTemplate"); - }, - controller: Ba, - injector: function(a) { - return Ca(a, "$injector"); - }, - removeAttr: function(a, b) { - a.removeAttribute(b); - }, - hasClass: xa, - css: function(a, b, c) { - return b = ma(b), t(c) ? void (a.style[b] = c) : a.style[b]; - }, - attr: function(a, b, d) { - var e = a.nodeType; - if (e !== od && 2 !== e && 8 !== e) if (e = Uc(b), Dd[e]) { - if (!t(d)) return a[b] || (a.attributes.getNamedItem(b) || o).specified ? e : c; - d ? (a[b] = !0, a.setAttribute(b, e)) : (a[b] = !1, a.removeAttribute(e)); - } else if (t(d)) a.setAttribute(b, d); else if (a.getAttribute) return a = a.getAttribute(b, 2), - null === a ? c : a; - }, - prop: function(a, b, c) { - return t(c) ? void (a[b] = c) : a[b]; - }, - text: function() { - function a(a, b) { - if (s(b)) { - var c = a.nodeType; - return 1 === c || c === od ? a.textContent : ""; - } - a.textContent = b; - } - return a.$dv = "", a; - }(), - val: function(a, b) { - if (s(b)) { - if (a.multiple && "select" === H(a)) { - var c = []; - return f(a.options, function(a) { - a.selected && c.push(a.value || a.text); - }), 0 === c.length ? null : c; - } - return a.value; - } - a.value = b; - }, - html: function(a, b) { - return s(b) ? a.innerHTML : (sa(a, !0), void (a.innerHTML = b)); - }, - empty: Da - }, function(a, b) { - qa.prototype[b] = function(b, c) { - var d, e, f = this.length; - if (a !== Da && s(2 == a.length && a !== xa && a !== Ba ? b : c)) { - if (u(b)) { - for (d = 0; d < f; d++) if (a === wa) a(this[d], b); else for (e in b) a(this[d], e, b[e]); - return this; - } - for (d = a.$dv, f = s(d) ? Math.min(f, 1) : f, e = 0; e < f; e++) { - var g = a(this[e], b, c); - d = d ? d + g : g; - } - return d; - } - for (d = 0; d < f; d++) a(this[d], b, c); - return this; - }; - }), f({ - removeData: ua, - on: function(a, b, d, e) { - if (t(e)) throw vd("onargs"); - if (na(a)) { - e = va(a, !0); - var f = e.events, g = e.handle; - g || (g = e.handle = Ha(a, f)), e = 0 <= b.indexOf(" ") ? b.split(" ") : [ b ]; - for (var h = e.length, i = function(b, c, e) { - var h = f[b]; - h || (h = f[b] = [], h.specialHandlerWrapper = c, "$destroy" === b || e || a.addEventListener(b, g, !1)), - h.push(d); - }; h--; ) b = e[h], ud[b] ? (i(ud[b], Ja), i(b, c, !0)) : i(b); - } - }, - off: ta, - one: function(a, b, c) { - a = Qc(a), a.on(b, function d() { - a.off(b, c), a.off(b, d); - }), a.on(b, c); - }, - replaceWith: function(a, b) { - var c, d = a.parentNode; - sa(a), f(new qa(b), function(b) { - c ? d.insertBefore(b, c.nextSibling) : d.replaceChild(b, a), c = b; - }); - }, - children: function(a) { - var b = []; - return f(a.childNodes, function(a) { - 1 === a.nodeType && b.push(a); - }), b; - }, - contents: function(a) { - return a.contentDocument || a.childNodes || []; - }, - append: function(a, b) { - var c = a.nodeType; - if (1 === c || 11 === c) { - b = new qa(b); - for (var c = 0, d = b.length; c < d; c++) a.appendChild(b[c]); - } - }, - prepend: function(a, b) { - if (1 === a.nodeType) { - var c = a.firstChild; - f(new qa(b), function(b) { - a.insertBefore(b, c); - }); - } - }, - wrap: function(a, b) { - pa(a, Qc(b).eq(0).clone()[0]); - }, - remove: Ea, - detach: function(a) { - Ea(a, !0); - }, - after: function(a, b) { - var c = a, d = a.parentNode; - b = new qa(b); - for (var e = 0, f = b.length; e < f; e++) { - var g = b[e]; - d.insertBefore(g, c.nextSibling), c = g; - } - }, - addClass: za, - removeClass: ya, - toggleClass: function(a, b, c) { - b && f(b.split(" "), function(b) { - var d = c; - s(d) && (d = !xa(a, b)), (d ? za : ya)(a, b); - }); - }, - parent: function(a) { - return (a = a.parentNode) && 11 !== a.nodeType ? a : null; - }, - next: function(a) { - return a.nextElementSibling; - }, - find: function(a, b) { - return a.getElementsByTagName ? a.getElementsByTagName(b) : []; - }, - clone: ra, - triggerHandler: function(a, b, c) { - var d, e, g = b.type || b, h = va(a); - (h = (h = h && h.events) && h[g]) && (d = { - preventDefault: function() { - this.defaultPrevented = !0; - }, - isDefaultPrevented: function() { - return !0 === this.defaultPrevented; - }, - stopImmediatePropagation: function() { - this.immediatePropagationStopped = !0; - }, - isImmediatePropagationStopped: function() { - return !0 === this.immediatePropagationStopped; - }, - stopPropagation: o, - type: g, - target: a - }, b.type && (d = k(d, b)), b = K(h), e = c ? [ d ].concat(c) : [ d ], f(b, function(b) { - d.isImmediatePropagationStopped() || b.apply(a, e); - })); - } - }, function(a, b) { - qa.prototype[b] = function(b, c, d) { - for (var e, f = 0, g = this.length; f < g; f++) s(e) ? (e = a(this[f], b, c, d), - t(e) && (e = Qc(e))) : Aa(e, a(this[f], b, c, d)); - return t(e) ? e : this; - }, qa.prototype.bind = qa.prototype.on, qa.prototype.unbind = qa.prototype.off; - }), Ma.prototype = { - put: function(a, b) { - this[La(a, this.nextUid)] = b; - }, - get: function(a) { - return this[La(a, this.nextUid)]; - }, - remove: function(a) { - var b = this[a = La(a, this.nextUid)]; - return delete this[a], b; - } - }; - var Gd = [ function() { - this.$get = [ function() { - return Ma; - } ]; - } ], Hd = /^[^\(]*\(\s*([^\)]*)\)/m, Id = /,/, Jd = /^\s*(_?)(\S+?)\1\s*$/, Kd = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, Ld = d("$injector"); - Oa.$$annotate = function(a, b, c) { - var d; - if ("function" == typeof a) { - if (!(d = a.$inject)) { - if (d = [], a.length) { - if (b) throw w(c) && c || (c = a.name || Na(a)), Ld("strictdi", c); - b = a.toString().replace(Kd, ""), b = b.match(Hd), f(b[1].split(Id), function(a) { - a.replace(Jd, function(a, b, c) { - d.push(c); - }); - }); - } - a.$inject = d; - } - } else ed(a) ? (b = a.length - 1, fa(a[b], "fn"), d = a.slice(0, b)) : fa(a, "fn", !0); - return d; - }; - var Md = d("$animate"), Nd = function() { - this.$get = function() {}; - }, Od = function() { - var a = new Ma(), b = []; - this.$get = [ "$$AnimateRunner", "$rootScope", function(c, d) { - function e(a, b, c) { - var d = !1; - return b && (b = w(b) ? b.split(" ") : ed(b) ? b : [], f(b, function(b) { - b && (d = !0, a[b] = c); - })), d; - } - function g() { - f(b, function(b) { - var c = a.get(b); - if (c) { - var d = Ra(b.attr("class")), e = "", g = ""; - f(c, function(a, b) { - a !== !!d[b] && (a ? e += (e.length ? " " : "") + b : g += (g.length ? " " : "") + b); - }), f(b, function(a) { - e && za(a, e), g && ya(a, g); - }), a.remove(b); - } - }), b.length = 0; - } - return { - enabled: o, - on: o, - off: o, - pin: o, - push: function(f, h, i, j) { - return j && j(), i = i || {}, i.from && f.css(i.from), i.to && f.css(i.to), (i.addClass || i.removeClass) && (h = i.addClass, - j = i.removeClass, i = a.get(f) || {}, h = e(i, h, !0), j = e(i, j, !1), (h || j) && (a.put(f, i), - b.push(f), 1 === b.length && d.$$postDigest(g))), f = new c(), f.complete(), f; - } - }; - } ]; - }, Pd = [ "$provide", function(a) { - var b = this; - this.$$registeredAnimations = Object.create(null), this.register = function(c, d) { - if (c && "." !== c.charAt(0)) throw Md("notcsel", c); - var e = c + "-animation"; - b.$$registeredAnimations[c.substr(1)] = e, a.factory(e, d); - }, this.classNameFilter = function(a) { - if (1 === arguments.length && (this.$$classNameFilter = a instanceof RegExp ? a : null) && /(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString())) throw Md("nongcls", "ng-animate"); - return this.$$classNameFilter; - }, this.$get = [ "$$animateQueue", function(a) { - function b(a, b, c) { - if (c) { - var d; - a: { - for (d = 0; d < c.length; d++) { - var e = c[d]; - if (1 === e.nodeType) { - d = e; - break a; - } - } - d = void 0; - } - !d || d.parentNode || d.previousElementSibling || (c = null); - } - c ? c.after(a) : b.prepend(a); - } - return { - on: a.on, - off: a.off, - pin: a.pin, - enabled: a.enabled, - cancel: function(a) { - a.end && a.end(); - }, - enter: function(c, d, e, f) { - return d = d && Qc(d), e = e && Qc(e), d = d || e.parent(), b(c, d, e), a.push(c, "enter", Sa(f)); - }, - move: function(c, d, e, f) { - return d = d && Qc(d), e = e && Qc(e), d = d || e.parent(), b(c, d, e), a.push(c, "move", Sa(f)); - }, - leave: function(b, c) { - return a.push(b, "leave", Sa(c), function() { - b.remove(); - }); - }, - addClass: function(b, c, d) { - return d = Sa(d), d.addClass = Qa(d.addclass, c), a.push(b, "addClass", d); - }, - removeClass: function(b, c, d) { - return d = Sa(d), d.removeClass = Qa(d.removeClass, c), a.push(b, "removeClass", d); - }, - setClass: function(b, c, d, e) { - return e = Sa(e), e.addClass = Qa(e.addClass, c), e.removeClass = Qa(e.removeClass, d), - a.push(b, "setClass", e); - }, - animate: function(b, c, d, e, f) { - return f = Sa(f), f.from = f.from ? k(f.from, c) : c, f.to = f.to ? k(f.to, d) : d, - f.tempClasses = Qa(f.tempClasses, e || "ng-inline-animate"), a.push(b, "animate", f); - } - }; - } ]; - } ], Qd = function() { - this.$get = [ "$$rAF", function(a) { - function b(b) { - c.push(b), 1 < c.length || a(function() { - for (var a = 0; a < c.length; a++) c[a](); - c = []; - }); - } - var c = []; - return function() { - var a = !1; - return b(function() { - a = !0; - }), function(c) { - a ? c() : b(c); - }; - }; - } ]; - }, Rd = function() { - this.$get = [ "$q", "$sniffer", "$$animateAsyncRun", "$document", "$timeout", function(a, b, c, d, e) { - function g(a) { - this.setHost(a); - var b = c(); - this._doneCallbacks = [], this._tick = function(a) { - var c = d[0]; - c && c.hidden ? e(a, 0, !1) : b(a); - }, this._state = 0; - } - return g.chain = function(a, b) { - function c() { - d === a.length ? b(!0) : a[d](function(a) { - !1 === a ? b(!1) : (d++, c()); - }); - } - var d = 0; - c(); - }, g.all = function(a, b) { - function c(c) { - e = e && c, ++d === a.length && b(e); - } - var d = 0, e = !0; - f(a, function(a) { - a.done(c); - }); - }, g.prototype = { - setHost: function(a) { - this.host = a || {}; - }, - done: function(a) { - 2 === this._state ? a() : this._doneCallbacks.push(a); - }, - progress: o, - getPromise: function() { - if (!this.promise) { - var b = this; - this.promise = a(function(a, c) { - b.done(function(b) { - !1 === b ? c() : a(); - }); - }); - } - return this.promise; - }, - then: function(a, b) { - return this.getPromise().then(a, b); - }, - "catch": function(a) { - return this.getPromise()["catch"](a); - }, - "finally": function(a) { - return this.getPromise()["finally"](a); - }, - 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(a) { - var b = this; - 0 === b._state && (b._state = 1, b._tick(function() { - b._resolve(a); - })); - }, - _resolve: function(a) { - 2 !== this._state && (f(this._doneCallbacks, function(b) { - b(a); - }), this._doneCallbacks.length = 0, this._state = 2); - } - }, g; - } ]; - }, Sd = function() { - this.$get = [ "$$rAF", "$q", "$$AnimateRunner", function(a, b, c) { - return function(b, d) { - function e() { - return a(function() { - f.addClass && (b.addClass(f.addClass), f.addClass = null), f.removeClass && (b.removeClass(f.removeClass), - f.removeClass = null), f.to && (b.css(f.to), f.to = null), g || h.complete(), g = !0; - }), h; - } - var f = d || {}; - f.$$prepared || (f = J(f)), f.cleanupStyles && (f.from = f.to = null), f.from && (b.css(f.from), - f.from = null); - var g, h = new c(); - return { - start: e, - end: e - }; - }; - } ]; - }, Td = d("$compile"); - Xa.$inject = [ "$provide", "$$sanitizeUriProvider" ]; - var Ud = /^((?:x|data)[\:\-_])/i, Vd = d("$controller"), Wd = /^(\S+)(\s+as\s+([\w$]+))?$/, Xd = function() { - this.$get = [ "$document", function(a) { - return function(b) { - return b ? !b.nodeType && b instanceof Qc && (b = b[0]) : b = a[0].body, b.offsetWidth + 1; - }; - } ]; - }, Yd = "application/json", Zd = { - "Content-Type": Yd + ";charset=utf-8" - }, $d = /^\[|^\{(?!\{)/, _d = { - "[": /]$/, - "{": /}$/ - }, ae = /^\)\]\}',?\n/, be = d("$http"), ce = function(a) { - return function() { - throw be("legacy", a); - }; - }, de = bd.$interpolateMinErr = d("$interpolate"); - de.throwNoconcat = function(a) { - throw de("noconcat", a); - }, de.interr = function(a, b) { - return de("interr", a, b.toString()); - }; - var ee = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, fe = { - http: 80, - https: 443, - ftp: 21 - }, ge = d("$location"), he = { - $$html5: !1, - $$replace: !1, - absUrl: yb("$$absUrl"), - url: function(a) { - if (s(a)) return this.$$url; - var b = ee.exec(a); - return (b[1] || "" === a) && this.path(decodeURIComponent(b[1])), (b[2] || b[1] || "" === a) && this.search(b[3] || ""), - this.hash(b[5] || ""), this; - }, - protocol: yb("$$protocol"), - host: yb("$$host"), - port: yb("$$port"), - path: zb("$$path", function(a) { - return a = null !== a ? a.toString() : "", "/" == a.charAt(0) ? a : "/" + a; - }), - search: function(a, b) { - switch (arguments.length) { - case 0: - return this.$$search; - - case 1: - if (w(a) || x(a)) a = a.toString(), this.$$search = V(a); else { - if (!u(a)) throw ge("isrcharg"); - a = J(a, {}), f(a, function(b, c) { - null == b && delete a[c]; - }), this.$$search = a; - } - break; - - default: - s(b) || null === b ? delete this.$$search[a] : this.$$search[a] = b; - } - return this.$$compose(), this; - }, - hash: zb("$$hash", function(a) { - return null !== a ? a.toString() : ""; - }), - replace: function() { - return this.$$replace = !0, this; - } - }; - f([ xb, wb, vb ], function(a) { - a.prototype = Object.create(he), a.prototype.state = function(b) { - if (!arguments.length) return this.$$state; - if (a !== vb || !this.$$html5) throw ge("nostate"); - return this.$$state = s(b) ? null : b, this; - }; - }); - var ie = d("$parse"), je = Function.prototype.call, ke = Function.prototype.apply, le = Function.prototype.bind, me = ja(); - f("+ - * / % === !== == != < > <= >= && || ! = |".split(" "), function(a) { - me[a] = !0; - }); - var ne = { - n: "\n", - f: "\f", - r: "\r", - t: "\t", - v: "\x0B", - "'": "'", - '"': '"' - }, oe = function(a) { - this.options = a; - }; - oe.prototype = { - constructor: oe, - lex: function(a) { - for (this.text = a, this.index = 0, this.tokens = []; this.index < this.text.length; ) if (a = this.text.charAt(this.index), - '"' === a || "'" === a) this.readString(a); else if (this.isNumber(a) || "." === a && this.isNumber(this.peek())) this.readNumber(); else if (this.isIdent(a)) this.readIdent(); else if (this.is(a, "(){}[].,;:?")) this.tokens.push({ - index: this.index, - text: a - }), this.index++; else if (this.isWhitespace(a)) this.index++; else { - var b = a + this.peek(), c = b + this.peek(2), d = me[b], e = me[c]; - me[a] || d || e ? (a = e ? c : d ? b : a, this.tokens.push({ - index: this.index, - text: a, - operator: !0 - }), this.index += a.length) : this.throwError("Unexpected next character ", this.index, this.index + 1); - } - return this.tokens; - }, - is: function(a, b) { - return -1 !== b.indexOf(a); - }, - peek: function(a) { - return a = a || 1, this.index + a < this.text.length && this.text.charAt(this.index + a); - }, - isNumber: function(a) { - return "0" <= a && "9" >= a && "string" == typeof a; - }, - isWhitespace: function(a) { - return " " === a || "\r" === a || "\t" === a || "\n" === a || "\x0B" === a || " " === a; - }, - isIdent: function(a) { - return "a" <= a && "z" >= a || "A" <= a && "Z" >= a || "_" === a || "$" === a; - }, - isExpOperator: function(a) { - return "-" === a || "+" === a || this.isNumber(a); - }, - throwError: function(a, b, c) { - throw c = c || this.index, b = t(b) ? "s " + b + "-" + this.index + " [" + this.text.substring(b, c) + "]" : " " + c, - ie("lexerr", a, b, this.text); - }, - readNumber: function() { - for (var a = "", b = this.index; this.index < this.text.length; ) { - var c = Uc(this.text.charAt(this.index)); - if ("." == c || this.isNumber(c)) a += c; else { - var d = this.peek(); - if ("e" == c && this.isExpOperator(d)) a += c; else if (this.isExpOperator(c) && d && this.isNumber(d) && "e" == a.charAt(a.length - 1)) a += c; else { - if (!this.isExpOperator(c) || d && this.isNumber(d) || "e" != a.charAt(a.length - 1)) break; - this.throwError("Invalid exponent"); - } - } - this.index++; - } - this.tokens.push({ - index: b, - text: a, - constant: !0, - value: Number(a) - }); - }, - readIdent: function() { - for (var a = this.index; this.index < this.text.length; ) { - var b = this.text.charAt(this.index); - if (!this.isIdent(b) && !this.isNumber(b)) break; - this.index++; - } - this.tokens.push({ - index: a, - text: this.text.slice(a, this.index), - identifier: !0 - }); - }, - readString: function(a) { - var b = this.index; - this.index++; - for (var c = "", d = a, e = !1; this.index < this.text.length; ) { - var f = this.text.charAt(this.index), d = d + f; - if (e) "u" === f ? (e = this.text.substring(this.index + 1, this.index + 5), e.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + e + "]"), - this.index += 4, c += String.fromCharCode(parseInt(e, 16))) : c += ne[f] || f, e = !1; else if ("\\" === f) e = !0; else { - if (f === a) return this.index++, void this.tokens.push({ - index: b, - text: d, - constant: !0, - value: c - }); - c += f; - } - this.index++; - } - this.throwError("Unterminated quote", b); - } - }; - var pe = function(a, b) { - this.lexer = a, this.options = b; - }; - pe.Program = "Program", pe.ExpressionStatement = "ExpressionStatement", pe.AssignmentExpression = "AssignmentExpression", - pe.ConditionalExpression = "ConditionalExpression", pe.LogicalExpression = "LogicalExpression", - pe.BinaryExpression = "BinaryExpression", pe.UnaryExpression = "UnaryExpression", - pe.CallExpression = "CallExpression", pe.MemberExpression = "MemberExpression", - pe.Identifier = "Identifier", pe.Literal = "Literal", pe.ArrayExpression = "ArrayExpression", - pe.Property = "Property", pe.ObjectExpression = "ObjectExpression", pe.ThisExpression = "ThisExpression", - pe.NGValueParameter = "NGValueParameter", pe.prototype = { - ast: function(a) { - return this.text = a, this.tokens = this.lexer.lex(a), a = this.program(), 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), - a; - }, - program: function() { - for (var a = []; ;) if (0 < this.tokens.length && !this.peek("}", ")", ";", "]") && a.push(this.expressionStatement()), - !this.expect(";")) return { - type: pe.Program, - body: a - }; - }, - expressionStatement: function() { - return { - type: pe.ExpressionStatement, - expression: this.filterChain() - }; - }, - filterChain: function() { - for (var a = this.expression(); this.expect("|"); ) a = this.filter(a); - return a; - }, - expression: function() { - return this.assignment(); - }, - assignment: function() { - var a = this.ternary(); - return this.expect("=") && (a = { - type: pe.AssignmentExpression, - left: a, - right: this.assignment(), - operator: "=" - }), a; - }, - ternary: function() { - var a, b, c = this.logicalOR(); - return this.expect("?") && (a = this.expression(), this.consume(":")) ? (b = this.expression(), - { - type: pe.ConditionalExpression, - test: c, - alternate: a, - consequent: b - }) : c; - }, - logicalOR: function() { - for (var a = this.logicalAND(); this.expect("||"); ) a = { - type: pe.LogicalExpression, - operator: "||", - left: a, - right: this.logicalAND() - }; - return a; - }, - logicalAND: function() { - for (var a = this.equality(); this.expect("&&"); ) a = { - type: pe.LogicalExpression, - operator: "&&", - left: a, - right: this.equality() - }; - return a; - }, - equality: function() { - for (var a, b = this.relational(); a = this.expect("==", "!=", "===", "!=="); ) b = { - type: pe.BinaryExpression, - operator: a.text, - left: b, - right: this.relational() - }; - return b; - }, - relational: function() { - for (var a, b = this.additive(); a = this.expect("<", ">", "<=", ">="); ) b = { - type: pe.BinaryExpression, - operator: a.text, - left: b, - right: this.additive() - }; - return b; - }, - additive: function() { - for (var a, b = this.multiplicative(); a = this.expect("+", "-"); ) b = { - type: pe.BinaryExpression, - operator: a.text, - left: b, - right: this.multiplicative() - }; - return b; - }, - multiplicative: function() { - for (var a, b = this.unary(); a = this.expect("*", "/", "%"); ) b = { - type: pe.BinaryExpression, - operator: a.text, - left: b, - right: this.unary() - }; - return b; - }, - unary: function() { - var a; - return (a = this.expect("+", "-", "!")) ? { - type: pe.UnaryExpression, - operator: a.text, - prefix: !0, - argument: this.unary() - } : this.primary(); - }, - primary: function() { - var a; - this.expect("(") ? (a = this.filterChain(), this.consume(")")) : this.expect("[") ? a = this.arrayDeclaration() : this.expect("{") ? a = this.object() : this.constants.hasOwnProperty(this.peek().text) ? a = J(this.constants[this.consume().text]) : this.peek().identifier ? a = this.identifier() : this.peek().constant ? a = this.constant() : this.throwError("not a primary expression", this.peek()); - for (var b; b = this.expect("(", "[", "."); ) "(" === b.text ? (a = { - type: pe.CallExpression, - callee: a, - arguments: this.parseArguments() - }, this.consume(")")) : "[" === b.text ? (a = { - type: pe.MemberExpression, - object: a, - property: this.expression(), - computed: !0 - }, this.consume("]")) : "." === b.text ? a = { - type: pe.MemberExpression, - object: a, - property: this.identifier(), - computed: !1 - } : this.throwError("IMPOSSIBLE"); - return a; - }, - filter: function(a) { - a = [ a ]; - for (var b = { - type: pe.CallExpression, - callee: this.identifier(), - arguments: a, - filter: !0 - }; this.expect(":"); ) a.push(this.expression()); - return b; - }, - parseArguments: function() { - var a = []; - if (")" !== this.peekToken().text) do a.push(this.expression()); while (this.expect(",")); - return a; - }, - identifier: function() { - var a = this.consume(); - return a.identifier || this.throwError("is not a valid identifier", a), { - type: pe.Identifier, - name: a.text - }; - }, - constant: function() { - return { - type: pe.Literal, - value: this.consume().value - }; - }, - arrayDeclaration: function() { - var a = []; - if ("]" !== this.peekToken().text) do { - if (this.peek("]")) break; - a.push(this.expression()); - } while (this.expect(",")); - return this.consume("]"), { - type: pe.ArrayExpression, - elements: a - }; - }, - object: function() { - var a, b = []; - if ("}" !== this.peekToken().text) do { - if (this.peek("}")) break; - a = { - type: pe.Property, - kind: "init" - }, this.peek().constant ? a.key = this.constant() : this.peek().identifier ? a.key = this.identifier() : this.throwError("invalid key", this.peek()), - this.consume(":"), a.value = this.expression(), b.push(a); - } while (this.expect(",")); - return this.consume("}"), { - type: pe.ObjectExpression, - properties: b - }; - }, - throwError: function(a, b) { - throw ie("syntax", b.text, a, b.index + 1, this.text, this.text.substring(b.index)); - }, - consume: function(a) { - if (0 === this.tokens.length) throw ie("ueoe", this.text); - var b = this.expect(a); - return b || this.throwError("is unexpected, expecting [" + a + "]", this.peek()), - b; - }, - peekToken: function() { - if (0 === this.tokens.length) throw ie("ueoe", this.text); - return this.tokens[0]; - }, - peek: function(a, b, c, d) { - return this.peekAhead(0, a, b, c, d); - }, - peekAhead: function(a, b, c, d, e) { - if (this.tokens.length > a) { - a = this.tokens[a]; - var f = a.text; - if (f === b || f === c || f === d || f === e || !(b || c || d || e)) return a; - } - return !1; - }, - expect: function(a, b, c, d) { - return !!(a = this.peek(a, b, c, d)) && (this.tokens.shift(), a); - }, - constants: { - "true": { - type: pe.Literal, - value: !0 - }, - "false": { - type: pe.Literal, - value: !1 - }, - "null": { - type: pe.Literal, - value: null - }, - undefined: { - type: pe.Literal, - value: c - }, - "this": { - type: pe.ThisExpression - } - } - }, Ob.prototype = { - compile: function(a, b) { - var d = this, e = this.astBuilder.ast(a); - this.state = { - nextId: 0, - filters: {}, - expensiveChecks: b, - fn: { - vars: [], - body: [], - own: {} - }, - assign: { - vars: [], - body: [], - own: {} - }, - inputs: [] - }, Jb(e, d.$filter); - var g, h = ""; - return this.stage = "assign", (g = Mb(e)) && (this.state.computing = "assign", h = this.nextId(), - this.recurse(g, h), this.return_(h), h = "fn.assign=" + this.generateFunction("assign", "s,v,l")), - g = Kb(e.body), d.stage = "inputs", f(g, function(a, b) { - var c = "fn" + b; - d.state[c] = { - vars: [], - body: [], - own: {} - }, d.state.computing = c; - var e = d.nextId(); - d.recurse(a, e), d.return_(e), d.state.inputs.push(c), a.watchId = b; - }), this.state.computing = "fn", this.stage = "main", this.recurse(e), h = '"' + this.USE + " " + this.STRICT + '";\n' + this.filterPrefix() + "var fn=" + this.generateFunction("fn", "s,l,a,i") + h + this.watchFns() + "return fn;", - h = new Function("$filter", "ensureSafeMemberName", "ensureSafeObject", "ensureSafeFunction", "getStringValue", "ensureSafeAssignContext", "ifDefined", "plus", "text", h)(this.$filter, Cb, Eb, Fb, Db, Gb, Hb, Ib, a), - this.state = this.stage = c, h.literal = Nb(e), h.constant = e.constant, h; - }, - USE: "use", - STRICT: "strict", - watchFns: function() { - var a = [], b = this.state.inputs, c = this; - return f(b, function(b) { - a.push("var " + b + "=" + c.generateFunction(b, "s")); - }), b.length && a.push("fn.inputs=[" + b.join(",") + "];"), a.join(""); - }, - generateFunction: function(a, b) { - return "function(" + b + "){" + this.varsPrefix(a) + this.body(a) + "};"; - }, - filterPrefix: function() { - var a = [], b = this; - return f(this.state.filters, function(c, d) { - a.push(c + "=$filter(" + b.escape(d) + ")"); - }), a.length ? "var " + a.join(",") + ";" : ""; - }, - varsPrefix: function(a) { - return this.state[a].vars.length ? "var " + this.state[a].vars.join(",") + ";" : ""; - }, - body: function(a) { - return this.state[a].body.join(""); - }, - recurse: function(a, b, d, e, g, h) { - var i, j, k, l, m = this; - if (e = e || o, !h && t(a.watchId)) b = b || this.nextId(), this.if_("i", this.lazyAssign(b, this.computedMember("i", a.watchId)), this.lazyRecurse(a, b, d, e, g, !0)); else switch (a.type) { - case pe.Program: - f(a.body, function(b, d) { - m.recurse(b.expression, c, c, function(a) { - j = a; - }), d !== a.body.length - 1 ? m.current().body.push(j, ";") : m.return_(j); - }); - break; - - case pe.Literal: - l = this.escape(a.value), this.assign(b, l), e(l); - break; - - case pe.UnaryExpression: - this.recurse(a.argument, c, c, function(a) { - j = a; - }), l = a.operator + "(" + this.ifDefined(j, 0) + ")", this.assign(b, l), e(l); - break; - - case pe.BinaryExpression: - this.recurse(a.left, c, c, function(a) { - i = a; - }), this.recurse(a.right, c, c, function(a) { - j = a; - }), l = "+" === a.operator ? this.plus(i, j) : "-" === a.operator ? this.ifDefined(i, 0) + a.operator + this.ifDefined(j, 0) : "(" + i + ")" + a.operator + "(" + j + ")", - this.assign(b, l), e(l); - break; - - case pe.LogicalExpression: - b = b || this.nextId(), m.recurse(a.left, b), m.if_("&&" === a.operator ? b : m.not(b), m.lazyRecurse(a.right, b)), - e(b); - break; - - case pe.ConditionalExpression: - b = b || this.nextId(), m.recurse(a.test, b), m.if_(b, m.lazyRecurse(a.alternate, b), m.lazyRecurse(a.consequent, b)), - e(b); - break; - - case pe.Identifier: - b = b || this.nextId(), d && (d.context = "inputs" === m.stage ? "s" : this.assign(this.nextId(), this.getHasOwnProperty("l", a.name) + "?l:s"), - d.computed = !1, d.name = a.name), Cb(a.name), m.if_("inputs" === m.stage || m.not(m.getHasOwnProperty("l", a.name)), function() { - m.if_("inputs" === m.stage || "s", function() { - g && 1 !== g && m.if_(m.not(m.nonComputedMember("s", a.name)), m.lazyAssign(m.nonComputedMember("s", a.name), "{}")), - m.assign(b, m.nonComputedMember("s", a.name)); - }); - }, b && m.lazyAssign(b, m.nonComputedMember("l", a.name))), (m.state.expensiveChecks || Qb(a.name)) && m.addEnsureSafeObject(b), - e(b); - break; - - case pe.MemberExpression: - i = d && (d.context = this.nextId()) || this.nextId(), b = b || this.nextId(), m.recurse(a.object, i, c, function() { - m.if_(m.notNull(i), function() { - g && 1 !== g && m.addEnsureSafeAssignContext(i), a.computed ? (j = m.nextId(), m.recurse(a.property, j), - m.getStringValue(j), m.addEnsureSafeMemberName(j), g && 1 !== g && m.if_(m.not(m.computedMember(i, j)), m.lazyAssign(m.computedMember(i, j), "{}")), - l = m.ensureSafeObject(m.computedMember(i, j)), m.assign(b, l), d && (d.computed = !0, - d.name = j)) : (Cb(a.property.name), g && 1 !== g && m.if_(m.not(m.nonComputedMember(i, a.property.name)), m.lazyAssign(m.nonComputedMember(i, a.property.name), "{}")), - l = m.nonComputedMember(i, a.property.name), (m.state.expensiveChecks || Qb(a.property.name)) && (l = m.ensureSafeObject(l)), - m.assign(b, l), d && (d.computed = !1, d.name = a.property.name)); - }, function() { - m.assign(b, "undefined"); - }), e(b); - }, !!g); - break; - - case pe.CallExpression: - b = b || this.nextId(), a.filter ? (j = m.filter(a.callee.name), k = [], f(a.arguments, function(a) { - var b = m.nextId(); - m.recurse(a, b), k.push(b); - }), l = j + "(" + k.join(",") + ")", m.assign(b, l), e(b)) : (j = m.nextId(), i = {}, - k = [], m.recurse(a.callee, j, i, function() { - m.if_(m.notNull(j), function() { - m.addEnsureSafeFunction(j), f(a.arguments, function(a) { - m.recurse(a, m.nextId(), c, function(a) { - k.push(m.ensureSafeObject(a)); - }); - }), i.name ? (m.state.expensiveChecks || m.addEnsureSafeObject(i.context), l = m.member(i.context, i.name, i.computed) + "(" + k.join(",") + ")") : l = j + "(" + k.join(",") + ")", - l = m.ensureSafeObject(l), m.assign(b, l); - }, function() { - m.assign(b, "undefined"); - }), e(b); - })); - break; - - case pe.AssignmentExpression: - if (j = this.nextId(), i = {}, !Lb(a.left)) throw ie("lval"); - this.recurse(a.left, c, i, function() { - m.if_(m.notNull(i.context), function() { - m.recurse(a.right, j), m.addEnsureSafeObject(m.member(i.context, i.name, i.computed)), - m.addEnsureSafeAssignContext(i.context), l = m.member(i.context, i.name, i.computed) + a.operator + j, - m.assign(b, l), e(b || l); - }); - }, 1); - break; - - case pe.ArrayExpression: - k = [], f(a.elements, function(a) { - m.recurse(a, m.nextId(), c, function(a) { - k.push(a); - }); - }), l = "[" + k.join(",") + "]", this.assign(b, l), e(l); - break; - - case pe.ObjectExpression: - k = [], f(a.properties, function(a) { - m.recurse(a.value, m.nextId(), c, function(b) { - k.push(m.escape(a.key.type === pe.Identifier ? a.key.name : "" + a.key.value) + ":" + b); - }); - }), l = "{" + k.join(",") + "}", this.assign(b, l), e(l); - break; - - case pe.ThisExpression: - this.assign(b, "s"), e("s"); - break; - - case pe.NGValueParameter: - this.assign(b, "v"), e("v"); - } - }, - getHasOwnProperty: function(a, b) { - var c = a + "." + b, d = this.current().own; - return d.hasOwnProperty(c) || (d[c] = this.nextId(!1, a + "&&(" + this.escape(b) + " in " + a + ")")), - d[c]; - }, - assign: function(a, b) { - if (a) return this.current().body.push(a, "=", b, ";"), a; - }, - filter: function(a) { - return this.state.filters.hasOwnProperty(a) || (this.state.filters[a] = this.nextId(!0)), - this.state.filters[a]; - }, - ifDefined: function(a, b) { - return "ifDefined(" + a + "," + this.escape(b) + ")"; - }, - plus: function(a, b) { - return "plus(" + a + "," + b + ")"; - }, - return_: function(a) { - this.current().body.push("return ", a, ";"); - }, - if_: function(a, b, c) { - if (!0 === a) b(); else { - var d = this.current().body; - d.push("if(", a, "){"), b(), d.push("}"), c && (d.push("else{"), c(), d.push("}")); - } - }, - not: function(a) { - return "!(" + a + ")"; - }, - notNull: function(a) { - return a + "!=null"; - }, - nonComputedMember: function(a, b) { - return a + "." + b; - }, - computedMember: function(a, b) { - return a + "[" + b + "]"; - }, - member: function(a, b, c) { - return c ? this.computedMember(a, b) : this.nonComputedMember(a, b); - }, - addEnsureSafeObject: function(a) { - this.current().body.push(this.ensureSafeObject(a), ";"); - }, - addEnsureSafeMemberName: function(a) { - this.current().body.push(this.ensureSafeMemberName(a), ";"); - }, - addEnsureSafeFunction: function(a) { - this.current().body.push(this.ensureSafeFunction(a), ";"); - }, - addEnsureSafeAssignContext: function(a) { - this.current().body.push(this.ensureSafeAssignContext(a), ";"); - }, - ensureSafeObject: function(a) { - return "ensureSafeObject(" + a + ",text)"; - }, - ensureSafeMemberName: function(a) { - return "ensureSafeMemberName(" + a + ",text)"; - }, - ensureSafeFunction: function(a) { - return "ensureSafeFunction(" + a + ",text)"; - }, - getStringValue: function(a) { - this.assign(a, "getStringValue(" + a + ",text)"); - }, - ensureSafeAssignContext: function(a) { - return "ensureSafeAssignContext(" + a + ",text)"; - }, - lazyRecurse: function(a, b, c, d, e, f) { - var g = this; - return function() { - g.recurse(a, b, c, d, e, f); - }; - }, - lazyAssign: function(a, b) { - var c = this; - return function() { - c.assign(a, b); - }; - }, - stringEscapeRegex: /[^ a-zA-Z0-9]/g, - stringEscapeFn: function(a) { - return "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4); - }, - escape: function(a) { - if (w(a)) return "'" + a.replace(this.stringEscapeRegex, this.stringEscapeFn) + "'"; - if (x(a)) return a.toString(); - if (!0 === a) return "true"; - if (!1 === a) return "false"; - if (null === a) return "null"; - if ("undefined" == typeof a) return "undefined"; - throw ie("esc"); - }, - nextId: function(a, b) { - var c = "v" + this.state.nextId++; - return a || this.current().vars.push(c + (b ? "=" + b : "")), c; - }, - current: function() { - return this.state[this.state.computing]; - } - }, Pb.prototype = { - compile: function(a, b) { - var c = this, d = this.astBuilder.ast(a); - this.expression = a, this.expensiveChecks = b, Jb(d, c.$filter); - var e, g; - (e = Mb(d)) && (g = this.recurse(e)), e = Kb(d.body); - var h; - e && (h = [], f(e, function(a, b) { - var d = c.recurse(a); - a.input = d, h.push(d), a.watchId = b; - })); - var i = []; - return f(d.body, function(a) { - i.push(c.recurse(a.expression)); - }), e = 0 === d.body.length ? function() {} : 1 === d.body.length ? i[0] : function(a, b) { - var c; - return f(i, function(d) { - c = d(a, b); - }), c; - }, g && (e.assign = function(a, b, c) { - return g(a, c, b); - }), h && (e.inputs = h), e.literal = Nb(d), e.constant = d.constant, e; - }, - recurse: function(a, b, d) { - var e, g, h, i = this; - if (a.input) return this.inputs(a.input, a.watchId); - switch (a.type) { - case pe.Literal: - return this.value(a.value, b); - - case pe.UnaryExpression: - return g = this.recurse(a.argument), this["unary" + a.operator](g, b); - - case pe.BinaryExpression: - return e = this.recurse(a.left), g = this.recurse(a.right), this["binary" + a.operator](e, g, b); - - case pe.LogicalExpression: - return e = this.recurse(a.left), g = this.recurse(a.right), this["binary" + a.operator](e, g, b); - - case pe.ConditionalExpression: - return this["ternary?:"](this.recurse(a.test), this.recurse(a.alternate), this.recurse(a.consequent), b); - - case pe.Identifier: - return Cb(a.name, i.expression), i.identifier(a.name, i.expensiveChecks || Qb(a.name), b, d, i.expression); - - case pe.MemberExpression: - return e = this.recurse(a.object, !1, !!d), a.computed || (Cb(a.property.name, i.expression), - g = a.property.name), a.computed && (g = this.recurse(a.property)), a.computed ? this.computedMember(e, g, b, d, i.expression) : this.nonComputedMember(e, g, i.expensiveChecks, b, d, i.expression); - - case pe.CallExpression: - return h = [], f(a.arguments, function(a) { - h.push(i.recurse(a)); - }), a.filter && (g = this.$filter(a.callee.name)), a.filter || (g = this.recurse(a.callee, !0)), - a.filter ? function(a, d, e, f) { - for (var i = [], j = 0; j < h.length; ++j) i.push(h[j](a, d, e, f)); - return a = g.apply(c, i, f), b ? { - context: c, - name: c, - value: a - } : a; - } : function(a, c, d, e) { - var f, j = g(a, c, d, e); - if (null != j.value) { - Eb(j.context, i.expression), Fb(j.value, i.expression), f = []; - for (var k = 0; k < h.length; ++k) f.push(Eb(h[k](a, c, d, e), i.expression)); - f = Eb(j.value.apply(j.context, f), i.expression); - } - return b ? { - value: f - } : f; - }; - - case pe.AssignmentExpression: - return e = this.recurse(a.left, !0, 1), g = this.recurse(a.right), function(a, c, d, f) { - var h = e(a, c, d, f); - return a = g(a, c, d, f), Eb(h.value, i.expression), Gb(h.context), h.context[h.name] = a, - b ? { - value: a - } : a; - }; - - case pe.ArrayExpression: - return h = [], f(a.elements, function(a) { - h.push(i.recurse(a)); - }), function(a, c, d, e) { - for (var f = [], g = 0; g < h.length; ++g) f.push(h[g](a, c, d, e)); - return b ? { - value: f - } : f; - }; - - case pe.ObjectExpression: - return h = [], f(a.properties, function(a) { - h.push({ - key: a.key.type === pe.Identifier ? a.key.name : "" + a.key.value, - value: i.recurse(a.value) - }); - }), function(a, c, d, e) { - for (var f = {}, g = 0; g < h.length; ++g) f[h[g].key] = h[g].value(a, c, d, e); - return b ? { - value: f - } : f; - }; - - case pe.ThisExpression: - return function(a) { - return b ? { - value: a - } : a; - }; - - case pe.NGValueParameter: - return function(a, c, d, e) { - return b ? { - value: d - } : d; - }; - } - }, - "unary+": function(a, b) { - return function(c, d, e, f) { - return c = a(c, d, e, f), c = t(c) ? +c : 0, b ? { - value: c - } : c; - }; - }, - "unary-": function(a, b) { - return function(c, d, e, f) { - return c = a(c, d, e, f), c = t(c) ? -c : 0, b ? { - value: c - } : c; - }; - }, - "unary!": function(a, b) { - return function(c, d, e, f) { - return c = !a(c, d, e, f), b ? { - value: c - } : c; - }; - }, - "binary+": function(a, b, c) { - return function(d, e, f, g) { - var h = a(d, e, f, g); - return d = b(d, e, f, g), h = Ib(h, d), c ? { - value: h - } : h; - }; - }, - "binary-": function(a, b, c) { - return function(d, e, f, g) { - var h = a(d, e, f, g); - return d = b(d, e, f, g), h = (t(h) ? h : 0) - (t(d) ? d : 0), c ? { - value: h - } : h; - }; - }, - "binary*": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) * b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary/": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) / b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary%": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) % b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary===": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) === b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary!==": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) !== b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary==": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) == b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary!=": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) != b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary<": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) < b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary>": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) > b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary<=": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) <= b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary>=": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) >= b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary&&": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) && b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "binary||": function(a, b, c) { - return function(d, e, f, g) { - return d = a(d, e, f, g) || b(d, e, f, g), c ? { - value: d - } : d; - }; - }, - "ternary?:": function(a, b, c, d) { - return function(e, f, g, h) { - return e = a(e, f, g, h) ? b(e, f, g, h) : c(e, f, g, h), d ? { - value: e - } : e; - }; - }, - value: function(a, b) { - return function() { - return b ? { - context: c, - name: c, - value: a - } : a; - }; - }, - identifier: function(a, b, d, e, f) { - return function(g, h, i, j) { - return g = h && a in h ? h : g, e && 1 !== e && g && !g[a] && (g[a] = {}), h = g ? g[a] : c, - b && Eb(h, f), d ? { - context: g, - name: a, - value: h - } : h; - }; - }, - computedMember: function(a, b, c, d, e) { - return function(f, g, h, i) { - var j, k, l = a(f, g, h, i); - return null != l && (j = b(f, g, h, i), j = Db(j), Cb(j, e), d && 1 !== d && (Gb(l), - l && !l[j] && (l[j] = {})), k = l[j], Eb(k, e)), c ? { - context: l, - name: j, - value: k - } : k; - }; - }, - nonComputedMember: function(a, b, d, e, f, g) { - return function(h, i, j, k) { - return h = a(h, i, j, k), f && 1 !== f && (Gb(h), h && !h[b] && (h[b] = {})), i = null != h ? h[b] : c, - (d || Qb(b)) && Eb(i, g), e ? { - context: h, - name: b, - value: i - } : i; - }; - }, - inputs: function(a, b) { - return function(c, d, e, f) { - return f ? f[b] : a(c, d, e); - }; - } - }; - var qe = function(a, b, c) { - this.lexer = a, this.$filter = b, this.options = c, this.ast = new pe(this.lexer), - this.astCompiler = c.csp ? new Pb(this.ast, b) : new Ob(this.ast, b); - }; - qe.prototype = { - constructor: qe, - parse: function(a) { - return this.astCompiler.compile(a, this.options.expensiveChecks); - } - }; - var re = Object.prototype.valueOf, se = d("$sce"), te = { - HTML: "html", - CSS: "css", - URL: "url", - RESOURCE_URL: "resourceUrl", - JS: "js" - }, Td = d("$compile"), ue = b.createElement("a"), ve = fc(a.location.href); - ic.$inject = [ "$document" ], kc.$inject = [ "$provide" ]; - var we = 22, xe = ".", ye = "0"; - pc.$inject = [ "$locale" ], qc.$inject = [ "$locale" ]; - var ze = { - yyyy: vc("FullYear", 4), - yy: vc("FullYear", 2, 0, !0), - y: vc("FullYear", 1), - MMMM: wc("Month"), - MMM: wc("Month", !0), - MM: vc("Month", 2, 1), - M: vc("Month", 1, 1), - dd: vc("Date", 2), - d: vc("Date", 1), - HH: vc("Hours", 2), - H: vc("Hours", 1), - hh: vc("Hours", 2, -12), - h: vc("Hours", 1, -12), - mm: vc("Minutes", 2), - m: vc("Minutes", 1), - ss: vc("Seconds", 2), - s: vc("Seconds", 1), - sss: vc("Milliseconds", 3), - EEEE: wc("Day"), - EEE: wc("Day", !0), - a: function(a, b) { - return 12 > a.getHours() ? b.AMPMS[0] : b.AMPMS[1]; - }, - Z: function(a, b, c) { - return a = -1 * c, a = (0 <= a ? "+" : "") + (uc(Math[0 < a ? "floor" : "ceil"](a / 60), 2) + uc(Math.abs(a % 60), 2)); - }, - ww: yc(2), - w: yc(1), - G: zc, - GG: zc, - GGG: zc, - GGGG: function(a, b) { - return 0 >= a.getFullYear() ? b.ERANAMES[0] : b.ERANAMES[1]; - } - }, Ae = /((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/, Be = /^\-?\d+$/; - Ac.$inject = [ "$locale" ]; - var Ce = q(Uc), De = q(Wc); - Dc.$inject = [ "$parse" ]; - var Ee = q({ - restrict: "E", - compile: function(a, b) { - if (!b.href && !b.xlinkHref) return function(a, b) { - if ("a" === b[0].nodeName.toLowerCase()) { - var c = "[object SVGAnimatedString]" === $c.call(b.prop("href")) ? "xlink:href" : "href"; - b.on("click", function(a) { - b.attr(c) || a.preventDefault(); - }); - } - }; - } - }), Fe = {}; - f(Dd, function(a, b) { - function c(a, c, e) { - a.$watch(e[d], function(a) { - e.$set(b, !!a); - }); - } - if ("multiple" != a) { - var d = Ya("ng-" + b), e = c; - "checked" === a && (e = function(a, b, e) { - e.ngModel !== e[d] && c(a, b, e); - }), Fe[d] = function() { - return { - restrict: "A", - priority: 100, - link: e - }; - }; - } - }), f(Fd, function(a, b) { - Fe[b] = function() { - return { - priority: 100, - link: function(a, c, d) { - return "ngPattern" === b && "/" == d.ngPattern.charAt(0) && (c = d.ngPattern.match(Tc)) ? void d.$set("ngPattern", new RegExp(c[1], c[2])) : void a.$watch(d[b], function(a) { - d.$set(b, a); - }); - } - }; - }; - }), f([ "src", "srcset", "href" ], function(a) { - var b = Ya("ng-" + a); - Fe[b] = function() { - return { - priority: 99, - link: function(c, d, e) { - var f = a, g = a; - "href" === a && "[object SVGAnimatedString]" === $c.call(d.prop("href")) && (g = "xlinkHref", - e.$attr[g] = "xlink:href", f = null), e.$observe(b, function(b) { - b ? (e.$set(g, b), Pc && f && d.prop(f, e[g])) : "href" === a && e.$set(g, null); - }); - } - }; - }; - }); - var Ge = { - $addControl: o, - $$renameControl: function(a, b) { - a.$name = b; - }, - $removeControl: o, - $setValidity: o, - $setDirty: o, - $setPristine: o, - $setSubmitted: o - }; - Fc.$inject = [ "$element", "$attrs", "$scope", "$animate", "$interpolate" ]; - var He = function(a) { - return [ "$timeout", "$parse", function(b, d) { - function e(a) { - return "" === a ? d('this[""]').assign : d(a).assign || o; - } - return { - name: "form", - restrict: a ? "EAC" : "E", - require: [ "form", "^^?form" ], - controller: Fc, - compile: function(d, f) { - d.addClass(pf).addClass(nf); - var g = f.name ? "name" : !(!a || !f.ngForm) && "ngForm"; - return { - pre: function(a, d, f, h) { - var i = h[0]; - if (!("action" in f)) { - var j = function(b) { - a.$apply(function() { - i.$commitViewValue(), i.$setSubmitted(); - }), b.preventDefault(); - }; - d[0].addEventListener("submit", j, !1), d.on("$destroy", function() { - b(function() { - d[0].removeEventListener("submit", j, !1); - }, 0, !1); - }); - } - (h[1] || i.$$parentForm).$addControl(i); - var l = g ? e(i.$name) : o; - g && (l(a, i), f.$observe(g, function(b) { - i.$name !== b && (l(a, c), i.$$parentForm.$$renameControl(i, b), (l = e(i.$name))(a, i)); - })), d.on("$destroy", function() { - i.$$parentForm.$removeControl(i), l(a, c), k(i, Ge); - }); - } - }; - } - }; - } ]; - }, Ie = He(), Je = He(!0), Ke = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/, Le = /^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+\])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i, Me = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i, Ne = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/, Oe = /^(\d{4})-(\d{2})-(\d{2})$/, Pe = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Qe = /^(\d{4})-W(\d\d)$/, Re = /^(\d{4})-(\d\d)$/, Se = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Te = ja(); - f([ "date", "datetime-local", "month", "time", "week" ], function(a) { - Te[a] = !0; - }); - var Ue = { - text: function(a, b, c, d, e, f) { - Hc(a, b, c, d, e, f), Gc(d); - }, - date: Jc("date", Oe, Ic(Oe, [ "yyyy", "MM", "dd" ]), "yyyy-MM-dd"), - "datetime-local": Jc("datetimelocal", Pe, Ic(Pe, "yyyy MM dd HH mm ss sss".split(" ")), "yyyy-MM-ddTHH:mm:ss.sss"), - time: Jc("time", Se, Ic(Se, [ "HH", "mm", "ss", "sss" ]), "HH:mm:ss.sss"), - week: Jc("week", Qe, function(a, b) { - if (y(a)) return a; - if (w(a)) { - Qe.lastIndex = 0; - var c = Qe.exec(a); - if (c) { - var d = +c[1], e = +c[2], f = c = 0, g = 0, h = 0, i = xc(d), e = 7 * (e - 1); - return b && (c = b.getHours(), f = b.getMinutes(), g = b.getSeconds(), h = b.getMilliseconds()), - new Date(d, 0, i.getDate() + e, c, f, g, h); - } - } - return NaN; - }, "yyyy-Www"), - month: Jc("month", Re, Ic(Re, [ "yyyy", "MM" ]), "yyyy-MM"), - number: function(a, b, d, e, f, g) { - if (Kc(a, b, d, e), Hc(a, b, d, e, f, g), e.$$parserName = "number", e.$parsers.push(function(a) { - return e.$isEmpty(a) ? null : Ne.test(a) ? parseFloat(a) : c; - }), e.$formatters.push(function(a) { - if (!e.$isEmpty(a)) { - if (!x(a)) throw sf("numfmt", a); - a = a.toString(); - } - return a; - }), t(d.min) || d.ngMin) { - var h; - e.$validators.min = function(a) { - return e.$isEmpty(a) || s(h) || a >= h; - }, d.$observe("min", function(a) { - t(a) && !x(a) && (a = parseFloat(a, 10)), h = x(a) && !isNaN(a) ? a : c, e.$validate(); - }); - } - if (t(d.max) || d.ngMax) { - var i; - e.$validators.max = function(a) { - return e.$isEmpty(a) || s(i) || a <= i; - }, d.$observe("max", function(a) { - t(a) && !x(a) && (a = parseFloat(a, 10)), i = x(a) && !isNaN(a) ? a : c, e.$validate(); - }); - } - }, - url: function(a, b, c, d, e, f) { - Hc(a, b, c, d, e, f), Gc(d), d.$$parserName = "url", d.$validators.url = function(a, b) { - var c = a || b; - return d.$isEmpty(c) || Le.test(c); - }; - }, - email: function(a, b, c, d, e, f) { - Hc(a, b, c, d, e, f), Gc(d), d.$$parserName = "email", d.$validators.email = function(a, b) { - var c = a || b; - return d.$isEmpty(c) || Me.test(c); - }; - }, - radio: function(a, b, c, d) { - s(c.name) && b.attr("name", ++cd), b.on("click", function(a) { - b[0].checked && d.$setViewValue(c.value, a && a.type); - }), d.$render = function() { - b[0].checked = c.value == d.$viewValue; - }, c.$observe("value", d.$render); - }, - checkbox: function(a, b, c, d, e, f, g, h) { - var i = Lc(h, a, "ngTrueValue", c.ngTrueValue, !0), j = Lc(h, a, "ngFalseValue", c.ngFalseValue, !1); - b.on("click", function(a) { - d.$setViewValue(b[0].checked, a && a.type); - }), d.$render = function() { - b[0].checked = d.$viewValue; - }, d.$isEmpty = function(a) { - return !1 === a; - }, d.$formatters.push(function(a) { - return L(a, i); - }), d.$parsers.push(function(a) { - return a ? i : j; - }); - }, - hidden: o, - button: o, - submit: o, - reset: o, - file: o - }, Ve = [ "$browser", "$sniffer", "$filter", "$parse", function(a, b, c, d) { - return { - restrict: "E", - require: [ "?ngModel" ], - link: { - pre: function(e, f, g, h) { - h[0] && (Ue[Uc(g.type)] || Ue.text)(e, f, g, h[0], b, a, c, d); - } - } - }; - } ], We = /^(true|false|\d+)$/, Xe = function() { - return { - restrict: "A", - priority: 100, - compile: function(a, b) { - return We.test(b.ngValue) ? function(a, b, c) { - c.$set("value", a.$eval(c.ngValue)); - } : function(a, b, c) { - a.$watch(c.ngValue, function(a) { - c.$set("value", a); - }); - }; - } - }; - }, Ye = [ "$compile", function(a) { - return { - restrict: "AC", - compile: function(b) { - return a.$$addBindingClass(b), function(b, c, d) { - a.$$addBindingInfo(c, d.ngBind), c = c[0], b.$watch(d.ngBind, function(a) { - c.textContent = s(a) ? "" : a; - }); - }; - } - }; - } ], Ze = [ "$interpolate", "$compile", function(a, b) { - return { - compile: function(c) { - return b.$$addBindingClass(c), function(c, d, e) { - c = a(d.attr(e.$attr.ngBindTemplate)), b.$$addBindingInfo(d, c.expressions), d = d[0], - e.$observe("ngBindTemplate", function(a) { - d.textContent = s(a) ? "" : a; - }); - }; - } - }; - } ], $e = [ "$sce", "$parse", "$compile", function(a, b, c) { - return { - restrict: "A", - compile: function(d, e) { - var f = b(e.ngBindHtml), g = b(e.ngBindHtml, function(b) { - return a.valueOf(b); - }); - return c.$$addBindingClass(d), function(b, d, e) { - c.$$addBindingInfo(d, e.ngBindHtml), b.$watch(g, function() { - var c = f(b); - d.html(a.getTrustedHtml(c) || ""); - }); - }; - } - }; - } ], _e = q({ - restrict: "A", - require: "ngModel", - link: function(a, b, c, d) { - d.$viewChangeListeners.push(function() { - a.$eval(c.ngChange); - }); - } - }), af = Mc("", !0), bf = Mc("Odd", 0), cf = Mc("Even", 1), df = Ec({ - compile: function(a, b) { - b.$set("ngCloak", c), a.removeClass("ng-cloak"); - } - }), ef = [ function() { - return { - restrict: "A", - scope: !0, - controller: "@", - priority: 500 - }; - } ], ff = {}, gf = { - blur: !0, - focus: !0 - }; - f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function(a) { - var b = Ya("ng-" + a); - ff[b] = [ "$parse", "$rootScope", function(c, d) { - return { - restrict: "A", - compile: function(e, f) { - var g = c(f[b], null, !0); - return function(b, c) { - c.on(a, function(c) { - var e = function() { - g(b, { - $event: c - }); - }; - gf[a] && d.$$phase ? b.$evalAsync(e) : b.$apply(e); - }); - }; - } - }; - } ]; - }); - var hf = [ "$animate", function(a) { - return { - multiElement: !0, - transclude: "element", - priority: 600, - terminal: !0, - restrict: "A", - $$tlb: !0, - link: function(c, d, e, f, g) { - var h, i, j; - c.$watch(e.ngIf, function(c) { - c ? i || g(function(c, f) { - i = f, c[c.length++] = b.createComment(" end ngIf: " + e.ngIf + " "), h = { - clone: c - }, a.enter(c, d.parent(), d); - }) : (j && (j.remove(), j = null), i && (i.$destroy(), i = null), h && (j = ia(h.clone), - a.leave(j).then(function() { - j = null; - }), h = null)); - }); - } - }; - } ], jf = [ "$templateRequest", "$anchorScroll", "$animate", function(a, b, c) { - return { - restrict: "ECA", - priority: 400, - terminal: !0, - transclude: "element", - controller: bd.noop, - compile: function(d, e) { - var f = e.ngInclude || e.src, g = e.onload || "", h = e.autoscroll; - return function(d, e, i, j, k) { - var l, m, n, o = 0, p = function() { - m && (m.remove(), m = null), l && (l.$destroy(), l = null), n && (c.leave(n).then(function() { - m = null; - }), m = n, n = null); - }; - d.$watch(f, function(f) { - var i = function() { - !t(h) || h && !d.$eval(h) || b(); - }, m = ++o; - f ? (a(f, !0).then(function(a) { - if (!d.$$destroyed && m === o) { - var b = d.$new(); - j.template = a, a = k(b, function(a) { - p(), c.enter(a, null, e).then(i); - }), l = b, n = a, l.$emit("$includeContentLoaded", f), d.$eval(g); - } - }, function() { - d.$$destroyed || m !== o || (p(), d.$emit("$includeContentError", f)); - }), d.$emit("$includeContentRequested", f)) : (p(), j.template = null); - }); - }; - } - }; - } ], kf = [ "$compile", function(a) { - return { - restrict: "ECA", - priority: -400, - require: "ngInclude", - link: function(c, d, e, f) { - /SVG/.test(d[0].toString()) ? (d.empty(), a(oa(f.template, b).childNodes)(c, function(a) { - d.append(a); - }, { - futureParentElement: d - })) : (d.html(f.template), a(d.contents())(c)); - } - }; - } ], lf = Ec({ - priority: 450, - compile: function() { - return { - pre: function(a, b, c) { - a.$eval(c.ngInit); - } - }; - } - }), mf = function() { - return { - restrict: "A", - priority: 100, - require: "ngModel", - link: function(a, b, d, e) { - var g = b.attr(d.$attr.ngList) || ", ", h = "false" !== d.ngTrim, i = h ? gd(g) : g; - e.$parsers.push(function(a) { - if (!s(a)) { - var b = []; - return a && f(a.split(i), function(a) { - a && b.push(h ? gd(a) : a); - }), b; - } - }), e.$formatters.push(function(a) { - return ed(a) ? a.join(g) : c; - }), e.$isEmpty = function(a) { - return !a || !a.length; - }; - } - }; - }, nf = "ng-valid", of = "ng-invalid", pf = "ng-pristine", qf = "ng-dirty", rf = "ng-pending", sf = d("ngModel"), tf = [ "$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function(a, b, d, e, g, h, i, j, k, l) { - this.$modelValue = this.$viewValue = Number.NaN, this.$$rawModelValue = c, this.$validators = {}, - this.$asyncValidators = {}, this.$parsers = [], this.$formatters = [], this.$viewChangeListeners = [], - this.$untouched = !0, this.$touched = !1, this.$pristine = !0, this.$dirty = !1, - this.$valid = !0, this.$invalid = !1, this.$error = {}, this.$$success = {}, this.$pending = c, - this.$name = l(d.name || "", !1)(a), this.$$parentForm = Ge; - var m, n = g(d.ngModel), p = n.assign, q = n, r = p, u = null, v = this; - this.$$setOptions = function(a) { - if ((v.$options = a) && a.getterSetter) { - var b = g(d.ngModel + "()"), c = g(d.ngModel + "($$$p)"); - q = function(a) { - var c = n(a); - return z(c) && (c = b(a)), c; - }, r = function(a, b) { - z(n(a)) ? c(a, { - $$$p: v.$modelValue - }) : p(a, v.$modelValue); - }; - } else if (!n.assign) throw sf("nonassign", d.ngModel, T(e)); - }, this.$render = o, this.$isEmpty = function(a) { - return s(a) || "" === a || null === a || a !== a; - }; - var w = 0; - Nc({ - ctrl: this, - $element: e, - set: function(a, b) { - a[b] = !0; - }, - unset: function(a, b) { - delete a[b]; - }, - $animate: h - }), this.$setPristine = function() { - v.$dirty = !1, v.$pristine = !0, h.removeClass(e, qf), h.addClass(e, pf); - }, this.$setDirty = function() { - v.$dirty = !0, v.$pristine = !1, h.removeClass(e, pf), h.addClass(e, qf), v.$$parentForm.$setDirty(); - }, this.$setUntouched = function() { - v.$touched = !1, v.$untouched = !0, h.setClass(e, "ng-untouched", "ng-touched"); - }, this.$setTouched = function() { - v.$touched = !0, v.$untouched = !1, h.setClass(e, "ng-touched", "ng-untouched"); - }, this.$rollbackViewValue = function() { - i.cancel(u), v.$viewValue = v.$$lastCommittedViewValue, v.$render(); - }, this.$validate = function() { - if (!x(v.$modelValue) || !isNaN(v.$modelValue)) { - var a = v.$$rawModelValue, b = v.$valid, d = v.$modelValue, e = v.$options && v.$options.allowInvalid; - v.$$runValidators(a, v.$$lastCommittedViewValue, function(f) { - e || b === f || (v.$modelValue = f ? a : c, v.$modelValue !== d && v.$$writeModelToScope()); - }); - } - }, this.$$runValidators = function(a, b, d) { - function e() { - var c = !0; - return f(v.$validators, function(d, e) { - var f = d(a, b); - c = c && f, h(e, f); - }), !!c || (f(v.$asyncValidators, function(a, b) { - h(b, null); - }), !1); - } - function g() { - var d = [], e = !0; - f(v.$asyncValidators, function(f, g) { - var i = f(a, b); - if (!i || !z(i.then)) throw sf("nopromise", i); - h(g, c), d.push(i.then(function() { - h(g, !0); - }, function(a) { - e = !1, h(g, !1); - })); - }), d.length ? k.all(d).then(function() { - i(e); - }, o) : i(!0); - } - function h(a, b) { - j === w && v.$setValidity(a, b); - } - function i(a) { - j === w && d(a); - } - w++; - var j = w; - (function() { - var a = v.$$parserName || "parse"; - return s(m) ? (h(a, null), !0) : (m || (f(v.$validators, function(a, b) { - h(b, null); - }), f(v.$asyncValidators, function(a, b) { - h(b, null); - })), h(a, m), m); - })() && e() ? g() : i(!1); - }, this.$commitViewValue = function() { - var a = v.$viewValue; - i.cancel(u), (v.$$lastCommittedViewValue !== a || "" === a && v.$$hasNativeValidators) && (v.$$lastCommittedViewValue = a, - v.$pristine && this.$setDirty(), this.$$parseAndValidate()); - }, this.$$parseAndValidate = function() { - var b = v.$$lastCommittedViewValue; - if (m = !s(b) || c) for (var d = 0; d < v.$parsers.length; d++) if (b = v.$parsers[d](b), - s(b)) { - m = !1; - break; - } - x(v.$modelValue) && isNaN(v.$modelValue) && (v.$modelValue = q(a)); - var e = v.$modelValue, f = v.$options && v.$options.allowInvalid; - v.$$rawModelValue = b, f && (v.$modelValue = b, v.$modelValue !== e && v.$$writeModelToScope()), - v.$$runValidators(b, v.$$lastCommittedViewValue, function(a) { - f || (v.$modelValue = a ? b : c, v.$modelValue !== e && v.$$writeModelToScope()); - }); - }, this.$$writeModelToScope = function() { - r(a, v.$modelValue), f(v.$viewChangeListeners, function(a) { - try { - a(); - } catch (c) { - b(c); - } - }); - }, this.$setViewValue = function(a, b) { - v.$viewValue = a, v.$options && !v.$options.updateOnDefault || v.$$debounceViewValueCommit(b); - }, this.$$debounceViewValueCommit = function(b) { - var c = 0, d = v.$options; - d && t(d.debounce) && (d = d.debounce, x(d) ? c = d : x(d[b]) ? c = d[b] : x(d["default"]) && (c = d["default"])), - i.cancel(u), c ? u = i(function() { - v.$commitViewValue(); - }, c) : j.$$phase ? v.$commitViewValue() : a.$apply(function() { - v.$commitViewValue(); - }); - }, a.$watch(function() { - var b = q(a); - if (b !== v.$modelValue && (v.$modelValue === v.$modelValue || b === b)) { - v.$modelValue = v.$$rawModelValue = b, m = c; - for (var d = v.$formatters, e = d.length, f = b; e--; ) f = d[e](f); - v.$viewValue !== f && (v.$viewValue = v.$$lastCommittedViewValue = f, v.$render(), - v.$$runValidators(b, f, o)); - } - return b; - }); - } ], uf = [ "$rootScope", function(a) { - return { - restrict: "A", - require: [ "ngModel", "^?form", "^?ngModelOptions" ], - controller: tf, - priority: 1, - compile: function(b) { - return b.addClass(pf).addClass("ng-untouched").addClass(nf), { - pre: function(a, b, c, d) { - var e = d[0]; - b = d[1] || e.$$parentForm, e.$$setOptions(d[2] && d[2].$options), b.$addControl(e), - c.$observe("name", function(a) { - e.$name !== a && e.$$parentForm.$$renameControl(e, a); - }), a.$on("$destroy", function() { - e.$$parentForm.$removeControl(e); - }); - }, - post: function(b, c, d, e) { - var f = e[0]; - f.$options && f.$options.updateOn && c.on(f.$options.updateOn, function(a) { - f.$$debounceViewValueCommit(a && a.type); - }), c.on("blur", function(c) { - f.$touched || (a.$$phase ? b.$evalAsync(f.$setTouched) : b.$apply(f.$setTouched)); - }); - } - }; - } - }; - } ], vf = /(\s+|^)default(\s+|$)/, wf = function() { - return { - restrict: "A", - controller: [ "$scope", "$attrs", function(a, b) { - var c = this; - this.$options = J(a.$eval(b.ngModelOptions)), t(this.$options.updateOn) ? (this.$options.updateOnDefault = !1, - this.$options.updateOn = gd(this.$options.updateOn.replace(vf, function() { - return c.$options.updateOnDefault = !0, " "; - }))) : this.$options.updateOnDefault = !0; - } ] - }; - }, xf = Ec({ - terminal: !0, - priority: 1e3 - }), yf = d("ngOptions"), zf = /^\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]+?))?$/, Af = [ "$compile", "$parse", function(a, c) { - function d(a, b, d) { - function f(a, b, c, d, e) { - this.selectValue = a, this.viewValue = b, this.label = c, this.group = d, this.disabled = e; - } - function g(a) { - var b; - if (!j && e(a)) b = a; else { - b = []; - for (var c in a) a.hasOwnProperty(c) && "$" !== c.charAt(0) && b.push(c); - } - return b; - } - var h = a.match(zf); - if (!h) throw yf("iexp", a, T(b)); - var i = h[5] || h[7], j = h[6]; - a = / as /.test(h[0]) && h[1]; - var k = h[9]; - b = c(h[2] ? h[1] : i); - var l = a && c(a) || b, m = k && c(k), n = k ? function(a, b) { - return m(d, b); - } : function(a) { - return La(a); - }, o = function(a, b) { - return n(a, u(a, b)); - }, p = c(h[2] || h[1]), q = c(h[3] || ""), r = c(h[4] || ""), s = c(h[8]), t = {}, u = j ? function(a, b) { - return t[j] = b, t[i] = a, t; - } : function(a) { - return t[i] = a, t; - }; - return { - trackBy: k, - getTrackByValue: o, - getWatchables: c(s, function(a) { - var b = []; - a = a || []; - for (var c = g(a), e = c.length, f = 0; f < e; f++) { - var i = a === c ? f : c[f], j = u(a[i], i), i = n(a[i], j); - b.push(i), (h[2] || h[1]) && (i = p(d, j), b.push(i)), h[4] && (j = r(d, j), b.push(j)); - } - return b; - }), - getOptions: function() { - for (var a = [], b = {}, c = s(d) || [], e = g(c), h = e.length, i = 0; i < h; i++) { - var j = c === e ? i : e[i], m = u(c[j], j), t = l(d, m), j = n(t, m), v = p(d, m), w = q(d, m), m = r(d, m), t = new f(j, t, v, w, m); - a.push(t), b[j] = t; - } - return { - items: a, - selectValueMap: b, - getOptionFromViewValue: function(a) { - return b[o(a)]; - }, - getViewValueFromOption: function(a) { - return k ? bd.copy(a.viewValue) : a.viewValue; - } - }; - } - }; - } - var g = b.createElement("option"), h = b.createElement("optgroup"); - return { - restrict: "A", - terminal: !0, - require: [ "select", "?ngModel" ], - link: { - pre: function(a, b, c, d) { - d[0].registerOption = o; - }, - post: function(b, c, e, i) { - function j(a, b) { - a.element = b, b.disabled = a.disabled, a.label !== b.label && (b.label = a.label, - b.textContent = a.label), a.value !== b.value && (b.value = a.selectValue); - } - function k(a, b, c, d) { - return b && Uc(b.nodeName) === c ? c = b : (c = d.cloneNode(!1), b ? a.insertBefore(c, b) : a.appendChild(c)), - c; - } - function l(a) { - for (var b; a; ) b = a.nextSibling, Ea(a), a = b; - } - function m(a) { - var b = p && p[0], c = v && v[0]; - if (b || c) for (;a && (a === b || a === c || 8 === a.nodeType || "option" === H(a) && "" === a.value); ) a = a.nextSibling; - return a; - } - function n() { - var a = w && q.readValue(); - w = x.getOptions(); - var b = {}, d = c[0].firstChild; - if (u && c.prepend(p), d = m(d), w.items.forEach(function(a) { - var e, f; - a.group ? (e = b[a.group], e || (e = k(c[0], d, "optgroup", h), d = e.nextSibling, - e.label = a.group, e = b[a.group] = { - groupElement: e, - currentOptionElement: e.firstChild - }), f = k(e.groupElement, e.currentOptionElement, "option", g), j(a, f), e.currentOptionElement = f.nextSibling) : (f = k(c[0], d, "option", g), - j(a, f), d = f.nextSibling); - }), Object.keys(b).forEach(function(a) { - l(b[a].currentOptionElement); - }), l(d), o.$render(), !o.$isEmpty(a)) { - var e = q.readValue(); - (x.trackBy || r ? L(a, e) : a === e) || (o.$setViewValue(e), o.$render()); - } - } - var o = i[1]; - if (o) { - var p, q = i[0], r = e.multiple; - i = 0; - for (var s = c.children(), t = s.length; i < t; i++) if ("" === s[i].value) { - p = s.eq(i); - break; - } - var u = !!p, v = Qc(g.cloneNode(!1)); - v.val("?"); - var w, x = d(e.ngOptions, c, b); - r ? (o.$isEmpty = function(a) { - return !a || 0 === a.length; - }, q.writeValue = function(a) { - w.items.forEach(function(a) { - a.element.selected = !1; - }), a && a.forEach(function(a) { - (a = w.getOptionFromViewValue(a)) && !a.disabled && (a.element.selected = !0); - }); - }, q.readValue = function() { - var a = c.val() || [], b = []; - return f(a, function(a) { - (a = w.selectValueMap[a]) && !a.disabled && b.push(w.getViewValueFromOption(a)); - }), b; - }, x.trackBy && b.$watchCollection(function() { - if (ed(o.$viewValue)) return o.$viewValue.map(function(a) { - return x.getTrackByValue(a); - }); - }, function() { - o.$render(); - })) : (q.writeValue = function(a) { - var b = w.getOptionFromViewValue(a); - b && !b.disabled ? (c[0].value !== b.selectValue && (v.remove(), u || p.remove(), - c[0].value = b.selectValue, b.element.selected = !0), b.element.setAttribute("selected", "selected")) : null === a || u ? (v.remove(), - u || c.prepend(p), c.val(""), p.prop("selected", !0), p.attr("selected", !0)) : (u || p.remove(), - c.prepend(v), c.val("?"), v.prop("selected", !0), v.attr("selected", !0)); - }, q.readValue = function() { - var a = w.selectValueMap[c.val()]; - return a && !a.disabled ? (u || p.remove(), v.remove(), w.getViewValueFromOption(a)) : null; - }, x.trackBy && b.$watch(function() { - return x.getTrackByValue(o.$viewValue); - }, function() { - o.$render(); - })), u ? (p.remove(), a(p)(b), p.removeClass("ng-scope")) : p = Qc(g.cloneNode(!1)), - n(), b.$watchCollection(x.getWatchables, n); - } - } - } - }; - } ], Bf = [ "$locale", "$interpolate", "$log", function(a, b, c) { - var d = /{}/g, e = /^when(Minus)?(.+)$/; - return { - link: function(g, h, i) { - function j(a) { - h.text(a || ""); - } - var k, l = i.count, m = i.$attr.when && h.attr(i.$attr.when), n = i.offset || 0, p = g.$eval(m) || {}, q = {}, r = b.startSymbol(), t = b.endSymbol(), u = r + l + "-" + n + t, v = bd.noop; - f(i, function(a, b) { - var c = e.exec(b); - c && (c = (c[1] ? "-" : "") + Uc(c[2]), p[c] = h.attr(i.$attr[b])); - }), f(p, function(a, c) { - q[c] = b(a.replace(d, u)); - }), g.$watch(l, function(b) { - var d = parseFloat(b), e = isNaN(d); - e || d in p || (d = a.pluralCat(d - n)), d === k || e && x(k) && isNaN(k) || (v(), - e = q[d], s(e) ? (null != b && c.debug("ngPluralize: no rule defined for '" + d + "' in " + m), - v = o, j()) : v = g.$watch(e, j), k = d); - }); - } - }; - } ], Cf = [ "$parse", "$animate", function(a, g) { - var h = d("ngRepeat"), i = function(a, b, c, d, e, f, g) { - a[c] = d, e && (a[e] = f), a.$index = b, a.$first = 0 === b, a.$last = b === g - 1, - a.$middle = !(a.$first || a.$last), a.$odd = !(a.$even = 0 === (1 & b)); - }; - return { - restrict: "A", - multiElement: !0, - transclude: "element", - priority: 1e3, - terminal: !0, - $$tlb: !0, - compile: function(d, j) { - var k = j.ngRepeat, l = b.createComment(" end ngRepeat: " + k + " "), m = k.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/); - if (!m) throw h("iexp", k); - var n = m[1], o = m[2], p = m[3], q = m[4], m = n.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/); - if (!m) throw h("iidexp", n); - var r = m[3] || m[1], s = m[2]; - if (p && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(p) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(p))) throw h("badident", p); - var t, u, v, w, x = { - $id: La - }; - return q ? t = a(q) : (v = function(a, b) { - return La(b); - }, w = function(a) { - return a; - }), function(a, b, d, j, m) { - t && (u = function(b, c, d) { - return s && (x[s] = b), x[r] = c, x.$index = d, t(a, x); - }); - var n = ja(); - a.$watchCollection(o, function(d) { - var j, o, q, t, x, y, z, A, B, C, D = b[0], E = ja(); - if (p && (a[p] = d), e(d)) A = d, o = u || v; else for (C in o = u || w, A = [], - d) Vc.call(d, C) && "$" !== C.charAt(0) && A.push(C); - for (t = A.length, C = Array(t), j = 0; j < t; j++) if (x = d === A ? j : A[j], - y = d[x], z = o(x, y, j), n[z]) B = n[z], delete n[z], E[z] = B, C[j] = B; else { - if (E[z]) throw f(C, function(a) { - a && a.scope && (n[a.id] = a); - }), h("dupes", k, z, y); - C[j] = { - id: z, - scope: c, - clone: c - }, E[z] = !0; - } - for (q in n) { - if (B = n[q], z = ia(B.clone), g.leave(z), z[0].parentNode) for (j = 0, o = z.length; j < o; j++) z[j].$$NG_REMOVED = !0; - B.scope.$destroy(); - } - for (j = 0; j < t; j++) if (x = d === A ? j : A[j], y = d[x], B = C[j], B.scope) { - q = D; - do q = q.nextSibling; while (q && q.$$NG_REMOVED); - B.clone[0] != q && g.move(ia(B.clone), null, D), D = B.clone[B.clone.length - 1], - i(B.scope, j, r, y, s, x, t); - } else m(function(a, b) { - B.scope = b; - var c = l.cloneNode(!1); - a[a.length++] = c, g.enter(a, null, D), D = c, B.clone = a, E[B.id] = B, i(B.scope, j, r, y, s, x, t); - }); - n = E; - }); - }; - } - }; - } ], Df = [ "$animate", function(a) { - return { - restrict: "A", - multiElement: !0, - link: function(b, c, d) { - b.$watch(d.ngShow, function(b) { - a[b ? "removeClass" : "addClass"](c, "ng-hide", { - tempClasses: "ng-hide-animate" - }); - }); - } - }; - } ], Ef = [ "$animate", function(a) { - return { - restrict: "A", - multiElement: !0, - link: function(b, c, d) { - b.$watch(d.ngHide, function(b) { - a[b ? "addClass" : "removeClass"](c, "ng-hide", { - tempClasses: "ng-hide-animate" - }); - }); - } - }; - } ], Ff = Ec(function(a, b, c) { - a.$watch(c.ngStyle, function(a, c) { - c && a !== c && f(c, function(a, c) { - b.css(c, ""); - }), a && b.css(a); - }, !0); - }), Gf = [ "$animate", function(a) { - return { - require: "ngSwitch", - controller: [ "$scope", function() { - this.cases = {}; - } ], - link: function(c, d, e, g) { - var h = [], i = [], j = [], k = [], l = function(a, b) { - return function() { - a.splice(b, 1); - }; - }; - c.$watch(e.ngSwitch || e.on, function(c) { - var d, e; - for (d = 0, e = j.length; d < e; ++d) a.cancel(j[d]); - for (d = j.length = 0, e = k.length; d < e; ++d) { - var m = ia(i[d].clone); - k[d].$destroy(), (j[d] = a.leave(m)).then(l(j, d)); - } - i.length = 0, k.length = 0, (h = g.cases["!" + c] || g.cases["?"]) && f(h, function(c) { - c.transclude(function(d, e) { - k.push(e); - var f = c.element; - d[d.length++] = b.createComment(" end ngSwitchWhen: "), i.push({ - clone: d - }), a.enter(d, f.parent(), f); - }); - }); - }); - } - }; - } ], Hf = Ec({ - transclude: "element", - priority: 1200, - require: "^ngSwitch", - multiElement: !0, - link: function(a, b, c, d, e) { - d.cases["!" + c.ngSwitchWhen] = d.cases["!" + c.ngSwitchWhen] || [], d.cases["!" + c.ngSwitchWhen].push({ - transclude: e, - element: b - }); - } - }), If = Ec({ - transclude: "element", - priority: 1200, - require: "^ngSwitch", - multiElement: !0, - link: function(a, b, c, d, e) { - d.cases["?"] = d.cases["?"] || [], d.cases["?"].push({ - transclude: e, - element: b - }); - } - }), Jf = Ec({ - restrict: "EAC", - link: function(a, b, c, e, f) { - if (!f) throw d("ngTransclude")("orphan", T(b)); - f(function(a) { - b.empty(), b.append(a); - }); - } - }), Kf = [ "$templateCache", function(a) { - return { - restrict: "E", - terminal: !0, - compile: function(b, c) { - "text/ng-template" == c.type && a.put(c.id, b[0].text); - } - }; - } ], Lf = { - $setViewValue: o, - $render: o - }, Mf = [ "$element", "$scope", "$attrs", function(a, d, e) { - var f = this, g = new Ma(); - f.ngModelCtrl = Lf, f.unknownOption = Qc(b.createElement("option")), f.renderUnknownOption = function(b) { - b = "? " + La(b) + " ?", f.unknownOption.val(b), a.prepend(f.unknownOption), a.val(b); - }, d.$on("$destroy", function() { - f.renderUnknownOption = o; - }), f.removeUnknownOption = function() { - f.unknownOption.parent() && f.unknownOption.remove(); - }, f.readValue = function() { - return f.removeUnknownOption(), a.val(); - }, f.writeValue = function(b) { - f.hasOption(b) ? (f.removeUnknownOption(), a.val(b), "" === b && f.emptyOption.prop("selected", !0)) : null == b && f.emptyOption ? (f.removeUnknownOption(), - a.val("")) : f.renderUnknownOption(b); - }, f.addOption = function(a, b) { - if (8 !== b[0].nodeType) { - ga(a, '"option value"'), "" === a && (f.emptyOption = b); - var c = g.get(a) || 0; - g.put(a, c + 1), f.ngModelCtrl.$render(), b[0].hasAttribute("selected") && (b[0].selected = !0); - } - }, f.removeOption = function(a) { - var b = g.get(a); - b && (1 === b ? (g.remove(a), "" === a && (f.emptyOption = c)) : g.put(a, b - 1)); - }, f.hasOption = function(a) { - return !!g.get(a); - }, f.registerOption = function(a, b, c, d, e) { - if (d) { - var g; - c.$observe("value", function(a) { - t(g) && f.removeOption(g), g = a, f.addOption(a, b); - }); - } else e ? a.$watch(e, function(a, d) { - c.$set("value", a), d !== a && f.removeOption(d), f.addOption(a, b); - }) : f.addOption(c.value, b); - b.on("$destroy", function() { - f.removeOption(c.value), f.ngModelCtrl.$render(); - }); - }; - } ], Nf = function() { - return { - restrict: "E", - require: [ "select", "?ngModel" ], - controller: Mf, - priority: 1, - link: { - pre: function(a, b, c, d) { - var e = d[1]; - if (e) { - var g = d[0]; - if (g.ngModelCtrl = e, b.on("change", function() { - a.$apply(function() { - e.$setViewValue(g.readValue()); - }); - }), c.multiple) { - g.readValue = function() { - var a = []; - return f(b.find("option"), function(b) { - b.selected && a.push(b.value); - }), a; - }, g.writeValue = function(a) { - var c = new Ma(a); - f(b.find("option"), function(a) { - a.selected = t(c.get(a.value)); - }); - }; - var h, i = NaN; - a.$watch(function() { - i !== e.$viewValue || L(h, e.$viewValue) || (h = K(e.$viewValue), e.$render()), - i = e.$viewValue; - }), e.$isEmpty = function(a) { - return !a || 0 === a.length; - }; - } - } - }, - post: function(a, b, c, d) { - var e = d[1]; - if (e) { - var f = d[0]; - e.$render = function() { - f.writeValue(e.$viewValue); - }; - } - } - } - }; - }, Of = [ "$interpolate", function(a) { - return { - restrict: "E", - priority: 100, - compile: function(b, c) { - if (t(c.value)) var d = a(c.value, !0); else { - var e = a(b.text(), !0); - e || c.$set("value", b.text()); - } - return function(a, b, c) { - var f = b.parent(); - (f = f.data("$selectController") || f.parent().data("$selectController")) && f.registerOption(a, b, c, d, e); - }; - } - }; - } ], Pf = q({ - restrict: "E", - terminal: !1 - }), Qf = function() { - return { - restrict: "A", - require: "?ngModel", - link: function(a, b, c, d) { - d && (c.required = !0, d.$validators.required = function(a, b) { - return !c.required || !d.$isEmpty(b); - }, c.$observe("required", function() { - d.$validate(); - })); - } - }; - }, Rf = function() { - return { - restrict: "A", - require: "?ngModel", - link: function(a, b, e, f) { - if (f) { - var g, h = e.ngPattern || e.pattern; - e.$observe("pattern", function(a) { - if (w(a) && 0 < a.length && (a = new RegExp("^" + a + "$")), a && !a.test) throw d("ngPattern")("noregexp", h, a, T(b)); - g = a || c, f.$validate(); - }), f.$validators.pattern = function(a, b) { - return f.$isEmpty(b) || s(g) || g.test(b); - }; - } - } - }; - }, Sf = function() { - return { - restrict: "A", - require: "?ngModel", - link: function(a, b, c, d) { - if (d) { - var e = -1; - c.$observe("maxlength", function(a) { - a = m(a), e = isNaN(a) ? -1 : a, d.$validate(); - }), d.$validators.maxlength = function(a, b) { - return 0 > e || d.$isEmpty(b) || b.length <= e; - }; - } - } - }; - }, Tf = function() { - return { - restrict: "A", - require: "?ngModel", - link: function(a, b, c, d) { - if (d) { - var e = 0; - c.$observe("minlength", function(a) { - e = m(a) || 0, d.$validate(); - }), d.$validators.minlength = function(a, b) { - return d.$isEmpty(b) || b.length >= e; - }; - } - } - }; - }; - a.angular.bootstrap ? a.console && console.log("WARNING: Tried to load angular more than once.") : (da(), - la(bd), bd.module("ngLocale", [], [ "$provide", function(a) { - function b(a) { - a += ""; - var b = a.indexOf("."); - return -1 == b ? 0 : a.length - b - 1; - } - a.value("$locale", { - DATETIME_FORMATS: { - AMPMS: [ "AM", "PM" ], - DAY: "Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), - ERANAMES: [ "Before Christ", "Anno Domini" ], - ERAS: [ "BC", "AD" ], - FIRSTDAYOFWEEK: 6, - MONTH: "January February March April May June July August September October November December".split(" "), - SHORTDAY: "Sun Mon Tue Wed Thu Fri Sat".split(" "), - SHORTMONTH: "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "), - STANDALONEMONTH: "January February March April May June July August September October November December".split(" "), - WEEKENDRANGE: [ 5, 6 ], - fullDate: "EEEE, MMMM d, y", - longDate: "MMMM d, y", - medium: "MMM d, y h:mm:ss a", - mediumDate: "MMM d, y", - mediumTime: "h:mm:ss a", - "short": "M/d/yy h:mm a", - shortDate: "M/d/yy", - shortTime: "h:mm a" - }, - NUMBER_FORMATS: { - CURRENCY_SYM: "$", - DECIMAL_SEP: ".", - GROUP_SEP: ",", - PATTERNS: [ { - gSize: 3, - lgSize: 3, - maxFrac: 3, - minFrac: 0, - minInt: 1, - negPre: "-", - negSuf: "", - posPre: "", - posSuf: "" - }, { - gSize: 3, - lgSize: 3, - maxFrac: 2, - minFrac: 2, - minInt: 1, - negPre: "-¤", - negSuf: "", - posPre: "¤", - posSuf: "" - } ] - }, - id: "en-us", - localeID: "en_US", - pluralCat: function(a, d) { - var e = 0 | a, f = d; - return c === f && (f = Math.min(b(a), 3)), Math.pow(10, f), 1 == e && 0 == f ? "one" : "other"; - } - }); - } ]), Qc(b).ready(function() { - $(b, _); - })); -}(window, document), !window.angular.$$csp().noInlineStyle && window.angular.element(document.head).prepend(''); - -var duScrollDefaultEasing = function(a) { - return .5 > a ? Math.pow(2 * a, 2) / 2 : 1 - Math.pow(2 * (1 - a), 2) / 2; -}, duScroll = angular.module("duScroll", [ "duScroll.scrollspy", "duScroll.smoothScroll", "duScroll.scrollContainer", "duScroll.spyContext", "duScroll.scrollHelpers" ]).value("duScrollDuration", 350).value("duScrollSpyWait", 100).value("duScrollGreedy", !1).value("duScrollOffset", 0).value("duScrollEasing", duScrollDefaultEasing).value("duScrollCancelOnEvents", "scroll mousedown mousewheel touchmove keydown").value("duScrollBottomSpy", !1).value("duScrollActiveClass", "active"); - -"undefined" != typeof module && module && module.exports && (module.exports = duScroll), -angular.module("duScroll.scrollHelpers", [ "duScroll.requestAnimation" ]).run([ "$window", "$q", "cancelAnimation", "requestAnimation", "duScrollEasing", "duScrollDuration", "duScrollOffset", "duScrollCancelOnEvents", function(a, b, c, d, e, f, g, h) { - var i = {}, j = function(a) { - return "undefined" != typeof HTMLDocument && a instanceof HTMLDocument || a.nodeType && a.nodeType === a.DOCUMENT_NODE; - }, k = function(a) { - return "undefined" != typeof HTMLElement && a instanceof HTMLElement || a.nodeType && a.nodeType === a.ELEMENT_NODE; - }, l = function(a) { - return k(a) || j(a) ? a : a[0]; - }; - i.duScrollTo = function(b, c, d, e) { - var f; - if (angular.isElement(b) ? f = this.duScrollToElement : angular.isDefined(d) && (f = this.duScrollToAnimated), - f) return f.apply(this, arguments); - var g = l(this); - return j(g) ? a.scrollTo(b, c) : (g.scrollLeft = b, void (g.scrollTop = c)); - }; - var m, n; - i.duScrollToAnimated = function(a, f, g, i) { - g && !i && (i = e); - var j = this.duScrollLeft(), k = this.duScrollTop(), l = Math.round(a - j), o = Math.round(f - k), p = null, q = 0, r = this, s = function(a) { - (!a || q && a.which > 0) && (h && r.unbind(h, s), c(m), n.reject(), m = null); - }; - if (m && s(), n = b.defer(), 0 === g || !l && !o) return 0 === g && r.duScrollTo(a, f), - n.resolve(), n.promise; - var t = function(a) { - null === p && (p = a), q = a - p; - var b = q >= g ? 1 : i(q / g); - r.scrollTo(j + Math.ceil(l * b), k + Math.ceil(o * b)), 1 > b ? m = d(t) : (h && r.unbind(h, s), - m = null, n.resolve()); - }; - return r.duScrollTo(j, k), h && r.bind(h, s), m = d(t), n.promise; - }, i.duScrollToElement = function(a, b, c, d) { - var e = l(this); - (!angular.isNumber(b) || isNaN(b)) && (b = g); - var f = this.duScrollTop() + l(a).getBoundingClientRect().top - b; - return k(e) && (f -= e.getBoundingClientRect().top), this.duScrollTo(0, f, c, d); - }, i.duScrollLeft = function(b, c, d) { - if (angular.isNumber(b)) return this.duScrollTo(b, this.duScrollTop(), c, d); - var e = l(this); - return j(e) ? a.scrollX || document.documentElement.scrollLeft || document.body.scrollLeft : e.scrollLeft; - }, i.duScrollTop = function(b, c, d) { - if (angular.isNumber(b)) return this.duScrollTo(this.duScrollLeft(), b, c, d); - var e = l(this); - return j(e) ? a.scrollY || document.documentElement.scrollTop || document.body.scrollTop : e.scrollTop; - }, i.duScrollToElementAnimated = function(a, b, c, d) { - return this.duScrollToElement(a, b, c || f, d); - }, i.duScrollTopAnimated = function(a, b, c) { - return this.duScrollTop(a, b || f, c); - }, i.duScrollLeftAnimated = function(a, b, c) { - return this.duScrollLeft(a, b || f, c); - }, angular.forEach(i, function(a, b) { - angular.element.prototype[b] = a; - var c = b.replace(/^duScroll/, "scroll"); - angular.isUndefined(angular.element.prototype[c]) && (angular.element.prototype[c] = a); - }); -} ]), angular.module("duScroll.polyfill", []).factory("polyfill", [ "$window", function(a) { - var b = [ "webkit", "moz", "o", "ms" ]; - return function(c, d) { - if (a[c]) return a[c]; - for (var e, f = c.substr(0, 1).toUpperCase() + c.substr(1), g = 0; g < b.length; g++) if (e = b[g] + f, - a[e]) return a[e]; - return d; - }; -} ]), angular.module("duScroll.requestAnimation", [ "duScroll.polyfill" ]).factory("requestAnimation", [ "polyfill", "$timeout", function(a, b) { - var c = 0, d = function(a, d) { - var e = new Date().getTime(), f = Math.max(0, 16 - (e - c)), g = b(function() { - a(e + f); - }, f); - return c = e + f, g; - }; - return a("requestAnimationFrame", d); -} ]).factory("cancelAnimation", [ "polyfill", "$timeout", function(a, b) { - var c = function(a) { - b.cancel(a); - }; - return a("cancelAnimationFrame", c); -} ]), angular.module("duScroll.spyAPI", [ "duScroll.scrollContainerAPI" ]).factory("spyAPI", [ "$rootScope", "$timeout", "$window", "$document", "scrollContainerAPI", "duScrollGreedy", "duScrollSpyWait", "duScrollBottomSpy", "duScrollActiveClass", function(a, b, c, d, e, f, g, h, i) { - var j = function(e) { - var j = !1, k = !1, l = function() { - k = !1; - var b, g = e.container, j = g[0], l = 0; - if ("undefined" != typeof HTMLElement && j instanceof HTMLElement || j.nodeType && j.nodeType === j.ELEMENT_NODE) l = j.getBoundingClientRect().top, - b = Math.round(j.scrollTop + j.clientHeight) >= j.scrollHeight; else { - var m = d[0].body.scrollHeight || d[0].documentElement.scrollHeight; - b = Math.round(c.pageYOffset + c.innerHeight) >= m; - } - var n, o, p, q, r, s, t = h && b ? "bottom" : "top"; - for (q = e.spies, o = e.currentlyActive, p = void 0, n = 0; n < q.length; n++) r = q[n], - s = r.getTargetPosition(), s && (h && b || s.top + r.offset - l < 20 && (f || -1 * s.top + l) < s.height) && (!p || p[t] < s[t]) && (p = { - spy: r - }, p[t] = s[t]); - p && (p = p.spy), o === p || f && !p || (o && (o.$element.removeClass(i), a.$broadcast("duScrollspy:becameInactive", o.$element, angular.element(o.getTargetElement()))), - p && (p.$element.addClass(i), a.$broadcast("duScrollspy:becameActive", p.$element, angular.element(p.getTargetElement()))), - e.currentlyActive = p); - }; - return g ? function() { - j ? k = !0 : (l(), j = b(function() { - j = !1, k && l(); - }, g, !1)); - } : l; - }, k = {}, l = function(a) { - var b = a.$id, c = { - spies: [] - }; - return c.handler = j(c), k[b] = c, a.$on("$destroy", function() { - m(a); - }), b; - }, m = function(a) { - var b = a.$id, c = k[b], d = c.container; - d && d.off("scroll", c.handler), delete k[b]; - }, n = l(a), o = function(a) { - return k[a.$id] ? k[a.$id] : a.$parent ? o(a.$parent) : k[n]; - }, p = function(a) { - var b, c, d = a.$scope; - if (d) return o(d); - for (c in k) if (b = k[c], -1 !== b.spies.indexOf(a)) return b; - }, q = function(a) { - for (;a.parentNode; ) if (a = a.parentNode, a === document) return !0; - return !1; - }, r = function(a) { - var b = p(a); - b && (b.spies.push(a), b.container && q(b.container) || (b.container && b.container.off("scroll", b.handler), - b.container = e.getContainer(a.$scope), b.container.on("scroll", b.handler).triggerHandler("scroll"))); - }, s = function(b) { - var c = p(b); - b === c.currentlyActive && (a.$broadcast("duScrollspy:becameInactive", c.currentlyActive.$element), - c.currentlyActive = null); - var d = c.spies.indexOf(b); - -1 !== d && c.spies.splice(d, 1), b.$element = null; - }; - return { - addSpy: r, - removeSpy: s, - createContext: l, - destroyContext: m, - getContextForScope: o - }; -} ]), angular.module("duScroll.scrollContainerAPI", []).factory("scrollContainerAPI", [ "$document", function(a) { - var b = {}, c = function(a, c) { - var d = a.$id; - return b[d] = c, d; - }, d = function(a) { - return b[a.$id] ? a.$id : a.$parent ? d(a.$parent) : void 0; - }, e = function(c) { - var e = d(c); - return e ? b[e] : a; - }, f = function(a) { - var c = d(a); - c && delete b[c]; - }; - return { - getContainerId: d, - getContainer: e, - setContainer: c, - removeContainer: f - }; -} ]), angular.module("duScroll.smoothScroll", [ "duScroll.scrollHelpers", "duScroll.scrollContainerAPI" ]).directive("duSmoothScroll", [ "duScrollDuration", "duScrollOffset", "scrollContainerAPI", function(a, b, c) { - return { - link: function(d, e, f) { - e.on("click", function(e) { - if (f.href && -1 !== f.href.indexOf("#") || "" !== f.duSmoothScroll) { - var g = f.href ? f.href.replace(/.*(?=#[^\s]+$)/, "").substring(1) : f.duSmoothScroll, h = document.getElementById(g) || document.getElementsByName(g)[0]; - if (h && h.getBoundingClientRect) { - e.stopPropagation && e.stopPropagation(), e.preventDefault && e.preventDefault(); - var i = f.offset ? parseInt(f.offset, 10) : b, j = f.duration ? parseInt(f.duration, 10) : a, k = c.getContainer(d); - k.duScrollToElement(angular.element(h), isNaN(i) ? 0 : i, isNaN(j) ? 0 : j); - } - } - }); - } - }; -} ]), angular.module("duScroll.spyContext", [ "duScroll.spyAPI" ]).directive("duSpyContext", [ "spyAPI", function(a) { - return { - restrict: "A", - scope: !0, - compile: function(b, c, d) { - return { - pre: function(b, c, d, e) { - a.createContext(b); - } - }; - } - }; -} ]), angular.module("duScroll.scrollContainer", [ "duScroll.scrollContainerAPI" ]).directive("duScrollContainer", [ "scrollContainerAPI", function(a) { - return { - restrict: "A", - scope: !0, - compile: function(b, c, d) { - return { - pre: function(b, c, d, e) { - d.$observe("duScrollContainer", function(d) { - angular.isString(d) && (d = document.getElementById(d)), d = angular.isElement(d) ? angular.element(d) : c, - a.setContainer(b, d), b.$on("$destroy", function() { - a.removeContainer(b); - }); - }); - } - }; - } - }; -} ]), angular.module("duScroll.scrollspy", [ "duScroll.spyAPI" ]).directive("duScrollspy", [ "spyAPI", "duScrollOffset", "$timeout", "$rootScope", function(a, b, c, d) { - var e = function(a, b, c, d) { - angular.isElement(a) ? this.target = a : angular.isString(a) && (this.targetId = a), - this.$scope = b, this.$element = c, this.offset = d; - }; - return e.prototype.getTargetElement = function() { - return !this.target && this.targetId && (this.target = document.getElementById(this.targetId) || document.getElementsByName(this.targetId)[0]), - this.target; - }, e.prototype.getTargetPosition = function() { - var a = this.getTargetElement(); - return a ? a.getBoundingClientRect() : void 0; - }, e.prototype.flushTargetCache = function() { - this.targetId && (this.target = void 0); - }, { - link: function(f, g, h) { - var i, j = h.ngHref || h.href; - if (j && -1 !== j.indexOf("#") ? i = j.replace(/.*(?=#[^\s]+$)/, "").substring(1) : h.duScrollspy ? i = h.duScrollspy : h.duSmoothScroll && (i = h.duSmoothScroll), - i) { - var k = c(function() { - var c = new e(i, f, g, (-(h.offset ? parseInt(h.offset, 10) : b))); - a.addSpy(c), f.$on("$locationChangeSuccess", c.flushTargetCache.bind(c)); - var j = d.$on("$stateChangeSuccess", c.flushTargetCache.bind(c)); - f.$on("$destroy", function() { - a.removeSpy(c), j(); - }); - }, 0, !1); - f.$on("$destroy", function() { - c.cancel(k); - }); - } - } - }; -} ]), !function() { - var a = { - TAB: 9, - ENTER: 13, - ESC: 27, - SPACE: 32, - LEFT: 37, - UP: 38, - RIGHT: 39, - DOWN: 40, - SHIFT: 16, - CTRL: 17, - ALT: 18, - PAGE_UP: 33, - PAGE_DOWN: 34, - HOME: 36, - END: 35, - BACKSPACE: 8, - DELETE: 46, - COMMAND: 91, - MAP: { - 91: "COMMAND", - 8: "BACKSPACE", - 9: "TAB", - 13: "ENTER", - 16: "SHIFT", - 17: "CTRL", - 18: "ALT", - 19: "PAUSEBREAK", - 20: "CAPSLOCK", - 27: "ESC", - 32: "SPACE", - 33: "PAGE_UP", - 34: "PAGE_DOWN", - 35: "END", - 36: "HOME", - 37: "LEFT", - 38: "UP", - 39: "RIGHT", - 40: "DOWN", - 43: "+", - 44: "PRINTSCREEN", - 45: "INSERT", - 46: "DELETE", - 48: "0", - 49: "1", - 50: "2", - 51: "3", - 52: "4", - 53: "5", - 54: "6", - 55: "7", - 56: "8", - 57: "9", - 59: ";", - 61: "=", - 65: "A", - 66: "B", - 67: "C", - 68: "D", - 69: "E", - 70: "F", - 71: "G", - 72: "H", - 73: "I", - 74: "J", - 75: "K", - 76: "L", - 77: "M", - 78: "N", - 79: "O", - 80: "P", - 81: "Q", - 82: "R", - 83: "S", - 84: "T", - 85: "U", - 86: "V", - 87: "W", - 88: "X", - 89: "Y", - 90: "Z", - 96: "0", - 97: "1", - 98: "2", - 99: "3", - 100: "4", - 101: "5", - 102: "6", - 103: "7", - 104: "8", - 105: "9", - 106: "*", - 107: "+", - 109: "-", - 110: ".", - 111: "/", - 112: "F1", - 113: "F2", - 114: "F3", - 115: "F4", - 116: "F5", - 117: "F6", - 118: "F7", - 119: "F8", - 120: "F9", - 121: "F10", - 122: "F11", - 123: "F12", - 144: "NUMLOCK", - 145: "SCROLLLOCK", - 186: ";", - 187: "=", - 188: ",", - 189: "-", - 190: ".", - 191: "/", - 192: "`", - 219: "[", - 220: "\\", - 221: "]", - 222: "'" - }, - isControl: function(b) { - var c = b.which; - switch (c) { - case a.COMMAND: - case a.SHIFT: - case a.CTRL: - case a.ALT: - return !0; - } - return !!(b.metaKey || b.ctrlKey || b.altKey); - }, - isFunctionKey: function(a) { - return a = a.which ? a.which : a, a >= 112 && 123 >= a; - }, - isVerticalMovement: function(b) { - return ~[ a.UP, a.DOWN ].indexOf(b); - }, - isHorizontalMovement: function(b) { - return ~[ a.LEFT, a.RIGHT, a.BACKSPACE, a.DELETE ].indexOf(b); - }, - toSeparator: function(b) { - var c = { - ENTER: "\n", - TAB: "\t", - SPACE: " " - }[b]; - return c ? c : a[b] ? void 0 : b; - } - }; - void 0 === angular.element.prototype.querySelectorAll && (angular.element.prototype.querySelectorAll = function(a) { - return angular.element(this[0].querySelectorAll(a)); - }), void 0 === angular.element.prototype.closest && (angular.element.prototype.closest = function(a) { - for (var b = this[0], c = b.matches || b.webkitMatchesSelector || b.mozMatchesSelector || b.msMatchesSelector; b; ) { - if (c.bind(b)(a)) return b; - b = b.parentElement; - } - return !1; - }); - var b = 0, c = angular.module("ui.select", []).constant("uiSelectConfig", { - theme: "bootstrap", - searchEnabled: !0, - sortable: !1, - placeholder: "", - refreshDelay: 1e3, - closeOnSelect: !0, - skipFocusser: !1, - dropdownPosition: "auto", - removeSelected: !0, - generateId: function() { - return b++; - }, - appendToBody: !1 - }).service("uiSelectMinErr", function() { - var a = angular.$$minErr("ui.select"); - return function() { - var b = a.apply(this, arguments), c = b.message.replace(new RegExp("\nhttp://errors.angularjs.org/.*"), ""); - return new Error(c); - }; - }).directive("uisTranscludeAppend", function() { - return { - link: function(a, b, c, d, e) { - e(a, function(a) { - b.append(a); - }); - } - }; - }).filter("highlight", function() { - function a(a) { - return ("" + a).replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - } - return function(b, c) { - return c && b ? ("" + b).replace(new RegExp(a(c), "gi"), '$&') : b; - }; - }).factory("uisOffset", [ "$document", "$window", function(a, b) { - return function(c) { - var d = c[0].getBoundingClientRect(); - return { - width: d.width || c.prop("offsetWidth"), - height: d.height || c.prop("offsetHeight"), - top: d.top + (b.pageYOffset || a[0].documentElement.scrollTop), - left: d.left + (b.pageXOffset || a[0].documentElement.scrollLeft) - }; - }; - } ]); - c.directive("uiSelectChoices", [ "uiSelectConfig", "uisRepeatParser", "uiSelectMinErr", "$compile", "$window", function(a, b, c, d, e) { - return { - restrict: "EA", - require: "^uiSelect", - replace: !0, - transclude: !0, - templateUrl: function(b) { - b.addClass("ui-select-choices"); - var c = b.parent().attr("theme") || a.theme; - return c + "/choices.tpl.html"; - }, - compile: function(d, f) { - if (!f.repeat) throw c("repeat", "Expected 'repeat' expression."); - var g = f.groupBy, h = f.groupFilter; - if (g) { - var i = d.querySelectorAll(".ui-select-choices-group"); - if (1 !== i.length) throw c("rows", "Expected 1 .ui-select-choices-group but got '{0}'.", i.length); - i.attr("ng-repeat", b.getGroupNgRepeatExpression()); - } - var j = b.parse(f.repeat), k = d.querySelectorAll(".ui-select-choices-row"); - if (1 !== k.length) throw c("rows", "Expected 1 .ui-select-choices-row but got '{0}'.", k.length); - k.attr("ng-repeat", j.repeatExpression(g)).attr("ng-if", "$select.open"); - var l = d.querySelectorAll(".ui-select-choices-row-inner"); - if (1 !== l.length) throw c("rows", "Expected 1 .ui-select-choices-row-inner but got '{0}'.", l.length); - l.attr("uis-transclude-append", ""); - var m = e.document.addEventListener ? k : l; - return m.attr("ng-click", "$select.select(" + j.itemName + ",$select.skipFocusser,$event)"), - function(b, c, d, e) { - e.parseRepeatAttr(d.repeat, g, h), e.disableChoiceExpression = d.uiDisableChoice, - e.onHighlightCallback = d.onHighlight, e.dropdownPosition = d.position ? d.position.toLowerCase() : a.dropdownPosition, - b.$on("$destroy", function() { - k.remove(); - }), b.$watch("$select.search", function(a) { - a && !e.open && e.multiple && e.activate(!1, !0), e.activeIndex = e.tagging.isActivated ? -1 : 0, - !d.minimumInputLength || e.search.length >= d.minimumInputLength ? e.refresh(d.refresh) : e.items = []; - }), d.$observe("refreshDelay", function() { - var c = b.$eval(d.refreshDelay); - e.refreshDelay = void 0 !== c ? c : a.refreshDelay; - }); - }; - } - }; - } ]), c.controller("uiSelectCtrl", [ "$scope", "$element", "$timeout", "$filter", "$$uisDebounce", "uisRepeatParser", "uiSelectMinErr", "uiSelectConfig", "$parse", "$injector", "$window", function(b, c, d, e, f, g, h, i, j, k, l) { - function m(a, b, c) { - if (a.findIndex) return a.findIndex(b, c); - for (var d, e = Object(a), f = e.length >>> 0, g = 0; f > g; g++) if (d = e[g], - b.call(c, d, g, e)) return g; - return -1; - } - function n() { - (s.resetSearchInput || void 0 === s.resetSearchInput && i.resetSearchInput) && (s.search = t, - s.selected && s.items.length && !s.multiple && (s.activeIndex = m(s.items, function(a) { - return angular.equals(this, a); - }, s.selected))); - } - function o() { - (s.setSearchToAnswer || void 0 === s.setSearchToAnswer && i.setSearchToAnswer) && (console.log("searchBy: " + s.searchBy), - s.searchBy && (console.log("_setSearchToAnswer"), s.resetSearchInput = !1, s.search = s.selected[s.searchBy])); - } - function p(a, b) { - var c, d, e = []; - for (c = 0; c < b.length; c++) for (d = 0; d < a.length; d++) a[d].name == [ b[c] ] && e.push(a[d]); - return e; - } - function q(b) { - var c = !0; - switch (b) { - case a.DOWN: - !s.open && s.multiple ? s.activate(!1, !0) : s.activeIndex < s.items.length - 1 && s.activeIndex++; - break; - - case a.UP: - !s.open && s.multiple ? s.activate(!1, !0) : (s.activeIndex > 0 || 0 === s.search.length && s.tagging.isActivated && s.activeIndex > -1) && s.activeIndex--; - break; - - case a.TAB: - s.multiple && !s.open || s.select(s.items[s.activeIndex], !0); - break; - - case a.ENTER: - s.open && (s.tagging.isActivated || s.activeIndex >= 0) ? s.select(s.items[s.activeIndex], s.skipFocusser) : s.activate(!1, !0); - break; - - case a.ESC: - s.close(); - break; - - default: - c = !1; - } - return c; - } - function r() { - var a = c.querySelectorAll(".ui-select-choices-content"), b = a.querySelectorAll(".ui-select-choices-row"); - if (b.length < 1) throw h("choices", "Expected multiple .ui-select-choices-row but got '{0}'.", b.length); - if (!(s.activeIndex < 0)) { - var d = b[s.activeIndex], e = d.offsetTop + d.clientHeight - a[0].scrollTop, f = a[0].offsetHeight; - e > f ? a[0].scrollTop += e - f : e < d.clientHeight && (s.isGrouped && 0 === s.activeIndex ? a[0].scrollTop = 0 : a[0].scrollTop -= d.clientHeight - e); - } - } - var s = this, t = ""; - if (s.placeholder = i.placeholder, s.searchEnabled = i.searchEnabled, s.sortable = i.sortable, - s.refreshDelay = i.refreshDelay, s.paste = i.paste, s.removeSelected = i.removeSelected, - s.closeOnSelect = !0, s.skipFocusser = !1, s.search = t, s.activeIndex = 0, s.items = [], - s.open = !1, s.focus = !1, s.disabled = !1, s.selected = void 0, s.dropdownPosition = "auto", - s.focusser = void 0, s.resetSearchInput = !0, s.setSearchToAnswer = !1, s.searchBy = void 0, - s.multiple = void 0, s.disableChoiceExpression = void 0, s.tagging = { - isActivated: !1, - fct: void 0 - }, s.taggingTokens = { - isActivated: !1, - tokens: void 0 - }, s.lockChoiceExpression = void 0, s.clickTriggeredSelect = !1, s.$filter = e, - s.$element = c, s.$animate = function() { - try { - return k.get("$animate"); - } catch (a) { - return null; - } - }(), s.searchInput = c.querySelectorAll("input.ui-select-search"), 1 !== s.searchInput.length) throw h("searchInput", "Expected 1 input.ui-select-search but got '{0}'.", s.searchInput.length); - s.isEmpty = function() { - return angular.isUndefined(s.selected) || null === s.selected || "" === s.selected || s.multiple && 0 === s.selected.length; - }, s.activate = function(a, e) { - if (!s.disabled && !s.open) { - e || n(), b.$broadcast("uis:activate"), s.open = !0, s.activeIndex = s.activeIndex >= s.items.length ? 0 : s.activeIndex, - -1 === s.activeIndex && s.taggingLabel !== !1 && (s.activeIndex = 0); - var f = c.querySelectorAll(".ui-select-choices-content"), g = c.querySelectorAll(".ui-select-search"); - if (s.$animate && s.$animate.on && s.$animate.enabled(f[0])) { - var h = function(b, c) { - "start" === c && 0 === s.items.length ? (s.$animate.off("removeClass", g[0], h), - d(function() { - s.focusSearchInput(a); - })) : "close" === c && (s.$animate.off("enter", f[0], h), d(function() { - s.focusSearchInput(a); - })); - }; - s.items.length > 0 ? s.$animate.on("enter", f[0], h) : s.$animate.on("removeClass", g[0], h); - } else d(function() { - s.focusSearchInput(a), !s.tagging.isActivated && s.items.length > 1 && r(); - }); - } - }, s.focusSearchInput = function(a) { - s.search = a || s.search, s.searchInput[0].focus(); - }, s.findGroupByName = function(a) { - return s.groups && s.groups.filter(function(b) { - return b.name === a; - })[0]; - }, s.parseRepeatAttr = function(a, c, d) { - function e(a) { - var e = b.$eval(c); - if (s.groups = [], angular.forEach(a, function(a) { - var b = angular.isFunction(e) ? e(a) : a[e], c = s.findGroupByName(b); - c ? c.items.push(a) : s.groups.push({ - name: b, - items: [ a ] - }); - }), d) { - var f = b.$eval(d); - angular.isFunction(f) ? s.groups = f(s.groups) : angular.isArray(f) && (s.groups = p(s.groups, f)); - } - s.items = [], s.groups.forEach(function(a) { - s.items = s.items.concat(a.items); - }); - } - function f(a) { - s.items = a; - } - s.setItemsFn = c ? e : f, s.parserResult = g.parse(a), s.isGrouped = !!c, s.itemProperty = s.parserResult.itemName; - var i = s.parserResult.source, k = function() { - var a = i(b); - b.$uisSource = Object.keys(a).map(function(b) { - var c = {}; - return c[s.parserResult.keyName] = b, c.value = a[b], c; - }); - }; - s.parserResult.keyName && (k(), s.parserResult.source = j("$uisSource" + s.parserResult.filters), - b.$watch(i, function(a, b) { - a !== b && k(); - }, !0)), s.refreshItems = function(a) { - a = a || s.parserResult.source(b); - var c = s.selected; - if (s.isEmpty() || angular.isArray(c) && !c.length || !s.removeSelected) s.setItemsFn(a); else if (void 0 !== a) { - var d = a.filter(function(a) { - return angular.isArray(c) ? c.every(function(b) { - return !angular.equals(a, b); - }) : !angular.equals(a, c); - }); - s.setItemsFn(d); - } - "auto" !== s.dropdownPosition && "up" !== s.dropdownPosition || b.calculateDropdownPos(), - b.$broadcast("uis:refresh"); - }, b.$watchCollection(s.parserResult.source, function(a) { - if (void 0 === a || null === a) s.items = []; else { - if (!angular.isArray(a)) throw h("items", "Expected an array but got '{0}'.", a); - s.refreshItems(a), angular.isDefined(s.ngModel.$modelValue) && (s.ngModel.$modelValue = null); - } - }); - }; - var u; - s.refresh = function(a) { - void 0 !== a && (u && d.cancel(u), u = d(function() { - b.$eval(a); - }, s.refreshDelay)); - }, s.isActive = function(a) { - if (!s.open) return !1; - var b = s.items.indexOf(a[s.itemProperty]), c = b == s.activeIndex; - return !(!c || 0 > b) && (c && !angular.isUndefined(s.onHighlightCallback) && a.$eval(s.onHighlightCallback), - c); - }; - var v = function(a) { - return s.selected && angular.isArray(s.selected) && s.selected.filter(function(b) { - return angular.equals(b, a); - }).length > 0; - }; - s.isDisabled = function(a) { - if (s.open) { - var b, c = s.items.indexOf(a[s.itemProperty]), d = !1; - return c >= 0 && (!angular.isUndefined(s.disableChoiceExpression) || s.multiple) && (b = s.items[c], - d = !!a.$eval(s.disableChoiceExpression) || v(b), b._uiSelectChoiceDisabled = d), - d; - } - }, s.select = function(a, c, e) { - if (void 0 === a || !a._uiSelectChoiceDisabled) { - if (!s.items && !s.search && !s.tagging.isActivated) return; - if (!a || !a._uiSelectChoiceDisabled) { - if (s.tagging.isActivated) { - if (s.taggingLabel === !1) if (s.activeIndex < 0) { - if (a = void 0 !== s.tagging.fct ? s.tagging.fct(s.search) : s.search, !a || angular.equals(s.items[0], a)) return; - } else a = s.items[s.activeIndex]; else if (0 === s.activeIndex) { - if (void 0 === a) return; - if (void 0 !== s.tagging.fct && "string" == typeof a) { - if (a = s.tagging.fct(a), !a) return; - } else "string" == typeof a && (a = a.replace(s.taggingLabel, "").trim()); - } - if (v(a)) return void s.close(c); - } - b.$broadcast("uis:select", a); - var f = {}; - f[s.parserResult.itemName] = a, d(function() { - s.onSelectCallback(b, { - $item: a, - $model: s.parserResult.modelMapper(b, f) - }); - }), s.closeOnSelect && s.close(c), e && "click" === e.type && (s.clickTriggeredSelect = !0); - } - } - }, s.close = function(a) { - s.open && (s.ngModel && s.ngModel.$setTouched && s.ngModel.$setTouched(), n(), o(), - s.open = !1, b.$broadcast("uis:close", a)); - }, s.setFocus = function() { - s.focus || s.focusInput[0].focus(); - }, s.clear = function(a) { - s.select(void 0), a.stopPropagation(), d(function() { - s.focusser[0].focus(); - }, 0, !1); - }, s.toggle = function(a) { - s.open ? (s.close(), a.preventDefault(), a.stopPropagation()) : s.activate(); - }, s.isLocked = function(a, b) { - var c, d = s.selected[b]; - return d && !angular.isUndefined(s.lockChoiceExpression) && (c = !!a.$eval(s.lockChoiceExpression), - d._uiSelectChoiceLocked = c), c; - }; - var w = null, x = !1; - s.sizeSearchInput = function() { - var a = s.searchInput[0], c = s.searchInput.parent().parent()[0], e = function() { - return c.clientWidth * !!a.offsetParent; - }, f = function(b) { - if (0 === b) return !1; - var c = b - a.offsetLeft - 10; - return 50 > c && (c = b), s.searchInput.css("width", c + "px"), !0; - }; - s.searchInput.css("width", "10px"), d(function() { - null !== w || f(e()) || (w = b.$watch(function() { - x || (x = !0, b.$$postDigest(function() { - x = !1, f(e()) && (w(), w = null); - })); - }, angular.noop)); - }); - }, s.searchInput.on("keydown", function(c) { - var e = c.which; - ~[ a.ENTER, a.ESC ].indexOf(e) && (c.preventDefault(), c.stopPropagation()), b.$apply(function() { - var b = !1; - if ((s.items.length > 0 || s.tagging.isActivated) && (q(e), s.taggingTokens.isActivated)) { - for (var f = 0; f < s.taggingTokens.tokens.length; f++) s.taggingTokens.tokens[f] === a.MAP[c.keyCode] && s.search.length > 0 && (b = !0); - b && d(function() { - s.searchInput.triggerHandler("tagged"); - var b = s.search.replace(a.MAP[c.keyCode], "").trim(); - s.tagging.fct && (b = s.tagging.fct(b)), b && s.select(b, !0); - }); - } - }), a.isVerticalMovement(e) && s.items.length > 0 && r(), e !== a.ENTER && e !== a.ESC || (c.preventDefault(), - c.stopPropagation()); - }), s.searchInput.on("paste", function(b) { - var c; - if (c = window.clipboardData && window.clipboardData.getData ? window.clipboardData.getData("Text") : (b.originalEvent || b).clipboardData.getData("text/plain"), - c = s.search + c, c && c.length > 0) if (s.taggingTokens.isActivated) { - for (var d = [], e = 0; e < s.taggingTokens.tokens.length; e++) { - var f = a.toSeparator(s.taggingTokens.tokens[e]) || s.taggingTokens.tokens[e]; - if (c.indexOf(f) > -1) { - d = c.split(f); - break; - } - } - if (0 === d.length && (d = [ c ]), d.length > 0) { - var g = s.search; - angular.forEach(d, function(a) { - var b = s.tagging.fct ? s.tagging.fct(a) : a; - b && s.select(b, !0); - }), s.search = g || t, b.preventDefault(), b.stopPropagation(); - } - } else s.paste && (s.paste(c), s.search = t, b.preventDefault(), b.stopPropagation()); - }), s.searchInput.on("tagged", function() { - d(function() { - n(); - }); - }); - var y = f(function() { - s.sizeSearchInput(); - }, 50); - angular.element(l).bind("resize", y), b.$on("$destroy", function() { - s.searchInput.off("keyup keydown tagged blur paste"), angular.element(l).off("resize", y); - }); - } ]), c.directive("uiSelect", [ "$document", "uiSelectConfig", "uiSelectMinErr", "uisOffset", "$compile", "$parse", "$timeout", function(a, b, c, d, e, f, g) { - return { - restrict: "EA", - templateUrl: function(a, c) { - var d = c.theme || b.theme; - return d + (angular.isDefined(c.multiple) ? "/select-multiple.tpl.html" : "/select.tpl.html"); - }, - replace: !0, - transclude: !0, - require: [ "uiSelect", "^ngModel" ], - scope: !0, - controller: "uiSelectCtrl", - controllerAs: "$select", - compile: function(e, h) { - var i = /{(.*)}\s*{(.*)}/.exec(h.ngClass); - if (i) { - var j = "{" + i[1] + ", " + i[2] + "}"; - h.ngClass = j, e.attr("ng-class", j); - } - return angular.isDefined(h.multiple) ? e.append("").removeAttr("multiple") : e.append(""), - h.inputId && (e.querySelectorAll("input.ui-select-search")[0].id = h.inputId), function(e, h, i, j, k) { - function l(a) { - if (o.open) { - var b = !1; - if (b = window.jQuery ? window.jQuery.contains(h[0], a.target) : h[0].contains(a.target), - !b && !o.clickTriggeredSelect) { - var c; - if (o.skipFocusser) c = !0; else { - var d = [ "input", "button", "textarea", "select" ], f = angular.element(a.target).controller("uiSelect"); - c = f && f !== o, c || (c = ~d.indexOf(a.target.tagName.toLowerCase())); - } - o.close(c), e.$digest(); - } - o.clickTriggeredSelect = !1; - } - } - function m() { - var b = d(h); - r = angular.element('
'), r[0].style.width = b.width + "px", - r[0].style.height = b.height + "px", h.after(r), s = h[0].style.width, a.find("body").append(h), - h[0].style.position = "absolute", h[0].style.left = b.left + "px", h[0].style.top = b.top + "px", - h[0].style.width = b.width + "px"; - } - function n() { - null !== r && (r.replaceWith(h), r = null, h[0].style.position = "", h[0].style.left = "", - h[0].style.top = "", h[0].style.width = s, o.setFocus()); - } - var o = j[0], p = j[1]; - o.generatedId = b.generateId(), o.baseTitle = i.title || "Select box", o.focusserTitle = o.baseTitle + " focus", - o.focusserId = "focusser-" + o.generatedId, o.closeOnSelect = function() { - return angular.isDefined(i.closeOnSelect) ? f(i.closeOnSelect)() : b.closeOnSelect; - }(), e.$watch("skipFocusser", function() { - var a = e.$eval(i.skipFocusser); - o.skipFocusser = void 0 !== a ? a : b.skipFocusser; - }), o.onSelectCallback = f(i.onSelect), o.onRemoveCallback = f(i.onRemove), o.ngModel = p, - o.choiceGrouped = function(a) { - return o.isGrouped && a && a.name; - }, i.tabindex && i.$observe("tabindex", function(a) { - o.focusInput.attr("tabindex", a), h.removeAttr("tabindex"); - }), e.$watch("searchEnabled", function() { - var a = e.$eval(i.searchEnabled); - o.searchEnabled = void 0 !== a ? a : b.searchEnabled; - }), e.$watch("sortable", function() { - var a = e.$eval(i.sortable); - o.sortable = void 0 !== a ? a : b.sortable; - }), i.$observe("limit", function() { - o.limit = angular.isDefined(i.limit) ? parseInt(i.limit, 10) : void 0; - }), e.$watch("removeSelected", function() { - var a = e.$eval(i.removeSelected); - o.removeSelected = void 0 !== a ? a : b.removeSelected; - }), i.$observe("disabled", function() { - o.disabled = void 0 !== i.disabled && i.disabled; - }), i.$observe("resetSearchInput", function() { - var a = e.$eval(i.resetSearchInput); - o.resetSearchInput = void 0 === a || a; - }), i.$observe("setSearchToAnswer", function() { - var a = e.$eval(i.setSearchToAnswer); - o.setSearchToAnswer = void 0 === a || a; - }), i.$observe("searchBy", function() { - o.searchBy = i.searchBy; - }), i.$observe("paste", function() { - o.paste = e.$eval(i.paste); - }), i.$observe("tagging", function() { - if (void 0 !== i.tagging) { - var a = e.$eval(i.tagging); - o.tagging = { - isActivated: !0, - fct: a !== !0 ? a : void 0 - }; - } else o.tagging = { - isActivated: !1, - fct: void 0 - }; - }), i.$observe("taggingLabel", function() { - void 0 !== i.tagging && ("false" === i.taggingLabel ? o.taggingLabel = !1 : o.taggingLabel = void 0 !== i.taggingLabel ? i.taggingLabel : "(new)"); - }), i.$observe("taggingTokens", function() { - if (void 0 !== i.tagging) { - var a = void 0 !== i.taggingTokens ? i.taggingTokens.split("|") : [ ",", "ENTER" ]; - o.taggingTokens = { - isActivated: !0, - tokens: a - }; - } - }), angular.isDefined(i.autofocus) && g(function() { - o.setFocus(); - }), angular.isDefined(i.focusOn) && e.$on(i.focusOn, function() { - g(function() { - o.setFocus(); - }); - }), a.on("click", l), e.$on("$destroy", function() { - a.off("click", l); - }), k(e, function(a) { - var b = angular.element("
").append(a), d = b.querySelectorAll(".ui-select-match"); - if (d.removeAttr("ui-select-match"), d.removeAttr("data-ui-select-match"), 1 !== d.length) throw c("transcluded", "Expected 1 .ui-select-match but got '{0}'.", d.length); - h.querySelectorAll(".ui-select-match").replaceWith(d); - var e = b.querySelectorAll(".ui-select-choices"); - if (e.removeAttr("ui-select-choices"), e.removeAttr("data-ui-select-choices"), 1 !== e.length) throw c("transcluded", "Expected 1 .ui-select-choices but got '{0}'.", e.length); - h.querySelectorAll(".ui-select-choices").replaceWith(e); - var f = b.querySelectorAll(".ui-select-no-choice"); - f.removeAttr("ui-select-no-choice"), f.removeAttr("data-ui-select-no-choice"), 1 == f.length && h.querySelectorAll(".ui-select-no-choice").replaceWith(f); - }); - var q = e.$eval(i.appendToBody); - (void 0 !== q ? q : b.appendToBody) && (e.$watch("$select.open", function(a) { - a ? m() : n(); - }), e.$on("$destroy", function() { - n(); - })); - var r = null, s = "", t = null, u = "direction-up"; - e.$watch("$select.open", function() { - "auto" !== o.dropdownPosition && "up" !== o.dropdownPosition || e.calculateDropdownPos(); - }); - var v = function(a, b) { - a = a || d(h), b = b || d(t), t[0].style.position = "absolute", t[0].style.top = -1 * b.height + "px", - h.addClass(u); - }, w = function(a, b) { - h.removeClass(u), a = a || d(h), b = b || d(t), t[0].style.position = "", t[0].style.top = ""; - }, x = function() { - g(function() { - if ("up" === o.dropdownPosition) v(); else { - h.removeClass(u); - var b = d(h), c = d(t), e = a[0].documentElement.scrollTop || a[0].body.scrollTop; - b.top + b.height + c.height > e + a[0].documentElement.clientHeight ? v(b, c) : w(b, c); - } - t[0].style.opacity = 1; - }); - }; - e.calculateDropdownPos = function() { - if (o.open) { - if (t = angular.element(h).querySelectorAll(".ui-select-dropdown"), 0 === t.length) return; - if (t[0].style.opacity = 0, !d(t).height && o.$animate && o.$animate.on && o.$animate.enabled(t)) { - var a = !0; - o.$animate.on("enter", t, function(b, c) { - "close" === c && a && (x(), a = !1); - }); - } else x(); - } else { - if (null === t || 0 === t.length) return; - t[0].style.opacity = 0, t[0].style.position = "", t[0].style.top = "", h.removeClass(u); - } - }; - }; - } - }; - } ]), c.directive("uiSelectMatch", [ "uiSelectConfig", function(a) { - function b(a, b) { - return a[0].hasAttribute(b) ? a.attr(b) : a[0].hasAttribute("data-" + b) ? a.attr("data-" + b) : a[0].hasAttribute("x-" + b) ? a.attr("x-" + b) : void 0; - } - return { - restrict: "EA", - require: "^uiSelect", - replace: !0, - transclude: !0, - templateUrl: function(c) { - c.addClass("ui-select-match"); - var d = c.parent(), e = b(d, "theme") || a.theme, f = angular.isDefined(b(d, "multiple")); - return e + (f ? "/match-multiple.tpl.html" : "/match.tpl.html"); - }, - link: function(b, c, d, e) { - function f(a) { - e.allowClear = !!angular.isDefined(a) && ("" === a || "true" === a.toLowerCase()); - } - e.lockChoiceExpression = d.uiLockChoice, d.$observe("placeholder", function(b) { - e.placeholder = void 0 !== b ? b : a.placeholder; - }), d.$observe("allowClear", f), f(d.allowClear), e.multiple && e.sizeSearchInput(); - } - }; - } ]), c.directive("uiSelectMultiple", [ "uiSelectMinErr", "$timeout", function(b, c) { - return { - restrict: "EA", - require: [ "^uiSelect", "^ngModel" ], - controller: [ "$scope", "$timeout", function(a, b) { - var c, d = this, e = a.$select; - angular.isUndefined(e.selected) && (e.selected = []), a.$evalAsync(function() { - c = a.ngModel; - }), d.activeMatchIndex = -1, d.updateModel = function() { - c.$setViewValue(Date.now()), d.refreshComponent(); - }, d.refreshComponent = function() { - e.refreshItems(), e.sizeSearchInput(); - }, d.removeChoice = function(c) { - var f = e.selected[c]; - if (!f._uiSelectChoiceLocked) { - var g = {}; - g[e.parserResult.itemName] = f, e.selected.splice(c, 1), d.activeMatchIndex = -1, - e.sizeSearchInput(), b(function() { - e.onRemoveCallback(a, { - $item: f, - $model: e.parserResult.modelMapper(a, g) - }); - }), d.updateModel(); - } - }, d.getPlaceholder = function() { - return e.selected && e.selected.length ? void 0 : e.placeholder; - }; - } ], - controllerAs: "$selectMultiple", - link: function(d, e, f, g) { - function h(a) { - return angular.isNumber(a.selectionStart) ? a.selectionStart : a.value.length; - } - function i(b) { - function c() { - switch (b) { - case a.LEFT: - return ~n.activeMatchIndex ? k : g; - - case a.RIGHT: - return ~n.activeMatchIndex && i !== g ? j : (l.activate(), !1); - - case a.BACKSPACE: - return ~n.activeMatchIndex ? (n.removeChoice(i), k) : g; - - case a.DELETE: - return !!~n.activeMatchIndex && (n.removeChoice(n.activeMatchIndex), i); - } - } - var d = h(l.searchInput[0]), e = l.selected.length, f = 0, g = e - 1, i = n.activeMatchIndex, j = n.activeMatchIndex + 1, k = n.activeMatchIndex - 1, m = i; - return !(d > 0 || l.search.length && b == a.RIGHT) && (l.close(), m = c(), l.selected.length && m !== !1 ? n.activeMatchIndex = Math.min(g, Math.max(f, m)) : n.activeMatchIndex = -1, - !0); - } - function j(a) { - if (void 0 === a || void 0 === l.search) return !1; - var b = a.filter(function(a) { - return void 0 !== l.search.toUpperCase() && void 0 !== a && a.toUpperCase() === l.search.toUpperCase(); - }).length > 0; - return b; - } - function k(a, b) { - var c = -1; - if (angular.isArray(a)) for (var d = angular.copy(a), e = 0; e < d.length; e++) if (void 0 === l.tagging.fct) d[e] + " " + l.taggingLabel === b && (c = e); else { - var f = d[e]; - angular.isObject(f) && (f.isTag = !0), angular.equals(f, b) && (c = e); - } - return c; - } - var l = g[0], m = d.ngModel = g[1], n = d.$selectMultiple; - l.multiple = !0, l.focusInput = l.searchInput, m.$isEmpty = function(a) { - return !a || 0 === a.length; - }, m.$parsers.unshift(function() { - for (var a, b = {}, c = [], e = l.selected.length - 1; e >= 0; e--) b = {}, b[l.parserResult.itemName] = l.selected[e], - a = l.parserResult.modelMapper(d, b), c.unshift(a); - return c; - }), m.$formatters.unshift(function(a) { - var b, c = l.parserResult && l.parserResult.source(d, { - $select: { - search: "" - } - }), e = {}; - if (!c) return a; - var f = [], g = function(a, c) { - if (a && a.length) { - for (var g = a.length - 1; g >= 0; g--) { - if (e[l.parserResult.itemName] = a[g], b = l.parserResult.modelMapper(d, e), l.parserResult.trackByExp) { - var h = /(\w*)\./.exec(l.parserResult.trackByExp), i = /\.([^\s]+)/.exec(l.parserResult.trackByExp); - if (h && h.length > 0 && h[1] == l.parserResult.itemName && i && i.length > 0 && b[i[1]] == c[i[1]]) return f.unshift(a[g]), - !0; - } - if (angular.equals(b, c)) return f.unshift(a[g]), !0; - } - return !1; - } - }; - if (!a) return f; - for (var h = a.length - 1; h >= 0; h--) g(l.selected, a[h]) || g(c, a[h]) || f.unshift(a[h]); - return f; - }), d.$watchCollection(function() { - return m.$modelValue; - }, function(a, b) { - b != a && (angular.isDefined(m.$modelValue) && (m.$modelValue = null), n.refreshComponent()); - }), m.$render = function() { - if (!angular.isArray(m.$viewValue)) { - if (!angular.isUndefined(m.$viewValue) && null !== m.$viewValue) throw b("multiarr", "Expected model value to be array but got '{0}'", m.$viewValue); - l.selected = []; - } - l.selected = m.$viewValue, n.refreshComponent(), d.$evalAsync(); - }, d.$on("uis:select", function(a, b) { - l.selected.length >= l.limit || (l.selected.push(b), n.updateModel()); - }), d.$on("uis:activate", function() { - n.activeMatchIndex = -1; - }), d.$watch("$select.disabled", function(a, b) { - b && !a && l.sizeSearchInput(); - }), l.searchInput.on("keydown", function(b) { - var c = b.which; - d.$apply(function() { - var d = !1; - a.isHorizontalMovement(c) && (d = i(c)), d && c != a.TAB && (b.preventDefault(), - b.stopPropagation()); - }); - }), l.searchInput.on("keyup", function(b) { - if (a.isVerticalMovement(b.which) || d.$evalAsync(function() { - l.activeIndex = l.taggingLabel === !1 ? -1 : 0; - }), l.tagging.isActivated && l.search.length > 0) { - if (b.which === a.TAB || a.isControl(b) || a.isFunctionKey(b) || b.which === a.ESC || a.isVerticalMovement(b.which)) return; - if (l.activeIndex = l.taggingLabel === !1 ? -1 : 0, l.taggingLabel === !1) return; - var c, e, f, g, h = angular.copy(l.items), i = angular.copy(l.items), m = !1, n = -1; - if (void 0 !== l.tagging.fct) { - if (f = l.$filter("filter")(h, { - isTag: !0 - }), f.length > 0 && (g = f[0]), h.length > 0 && g && (m = !0, h = h.slice(1, h.length), - i = i.slice(1, i.length)), c = l.tagging.fct(l.search), i.some(function(a) { - return angular.equals(a, c); - }) || l.selected.some(function(a) { - return angular.equals(a, c); - })) return void d.$evalAsync(function() { - l.activeIndex = 0, l.items = h; - }); - c && (c.isTag = !0); - } else { - if (f = l.$filter("filter")(h, function(a) { - return a.match(l.taggingLabel); - }), f.length > 0 && (g = f[0]), e = h[0], void 0 !== e && h.length > 0 && g && (m = !0, - h = h.slice(1, h.length), i = i.slice(1, i.length)), c = l.search + " " + l.taggingLabel, - k(l.selected, l.search) > -1) return; - if (j(i.concat(l.selected))) return void (m && (h = i, d.$evalAsync(function() { - l.activeIndex = 0, l.items = h; - }))); - if (j(i)) return void (m && (l.items = i.slice(1, i.length))); - } - m && (n = k(l.selected, c)), n > -1 ? h = h.slice(n + 1, h.length - 1) : (h = [], - c && h.push(c), h = h.concat(i)), d.$evalAsync(function() { - if (l.activeIndex = 0, l.items = h, l.isGrouped) { - var a = c ? h.slice(1) : h; - l.setItemsFn(a), c && (l.items.unshift(c), l.groups.unshift({ - name: "", - items: [ c ], - tagging: !0 - })); - } - }); - } - }), l.searchInput.on("blur", function() { - c(function() { - n.activeMatchIndex = -1; - }); - }); - } - }; - } ]), c.directive("uiSelectNoChoice", [ "uiSelectConfig", function(a) { - return { - restrict: "EA", - require: "^uiSelect", - replace: !0, - transclude: !0, - templateUrl: function(b) { - b.addClass("ui-select-no-choice"); - var c = b.parent().attr("theme") || a.theme; - return c + "/no-choice.tpl.html"; - } - }; - } ]), c.directive("uiSelectSingle", [ "$timeout", "$compile", function(b, c) { - return { - restrict: "EA", - require: [ "^uiSelect", "^ngModel" ], - link: function(d, e, f, g) { - var h = g[0], i = g[1]; - i.$parsers.unshift(function(a) { - var b, c = {}; - return c[h.parserResult.itemName] = a, b = h.parserResult.modelMapper(d, c); - }), i.$formatters.unshift(function(a) { - var b, c = h.parserResult && h.parserResult.source(d, { - $select: { - search: "" - } - }), e = {}; - if (c) { - var f = function(c) { - return e[h.parserResult.itemName] = c, b = h.parserResult.modelMapper(d, e), b === a; - }; - if (h.selected && f(h.selected)) return h.selected; - for (var g = c.length - 1; g >= 0; g--) if (f(c[g])) return c[g]; - } - return a; - }), d.$watch("$select.selected", function(a) { - i.$viewValue !== a && i.$setViewValue(a); - }), i.$render = function() { - h.selected = i.$viewValue; - }, d.$on("uis:select", function(a, b) { - h.selected = b; - }), d.$on("uis:close", function(a, c) { - b(function() { - h.focusser.prop("disabled", !1), c || h.focusser[0].focus(); - }, 0, !1); - }), d.$on("uis:activate", function() { - j.prop("disabled", !0); - }); - var j = angular.element(""); - c(j)(d), h.focusser = j, h.focusInput = j, e.parent().append(j), j.bind("focus", function() { - d.$evalAsync(function() { - h.focus = !0; - }); - }), j.bind("blur", function() { - d.$evalAsync(function() { - h.focus = !1; - }); - }), j.bind("keydown", function(b) { - return b.which === a.BACKSPACE ? (b.preventDefault(), b.stopPropagation(), h.select(void 0), - void d.$apply()) : void (b.which === a.TAB || a.isControl(b) || a.isFunctionKey(b) || b.which === a.ESC || (b.which != a.DOWN && b.which != a.UP && b.which != a.ENTER && b.which != a.SPACE || (b.preventDefault(), - b.stopPropagation(), h.activate()), d.$digest())); - }), j.bind("keyup input", function(b) { - b.which === a.TAB || a.isControl(b) || a.isFunctionKey(b) || b.which === a.ESC || b.which == a.ENTER || b.which === a.BACKSPACE || (h.activate(j.val()), - j.val(""), d.$digest()); - }); - } - }; - } ]), c.directive("uiSelectSort", [ "$timeout", "uiSelectConfig", "uiSelectMinErr", function(a, b, c) { - return { - require: [ "^^uiSelect", "^ngModel" ], - link: function(b, d, e, f) { - if (null === b[e.uiSelectSort]) throw c("sort", "Expected a list to sort"); - var g = f[0], h = f[1], i = angular.extend({ - axis: "horizontal" - }, b.$eval(e.uiSelectSortOptions)), j = i.axis, k = "dragging", l = "dropping", m = "dropping-before", n = "dropping-after"; - b.$watch(function() { - return g.sortable; - }, function(a) { - a ? d.attr("draggable", !0) : d.removeAttr("draggable"); - }), d.on("dragstart", function(a) { - d.addClass(k), (a.dataTransfer || a.originalEvent.dataTransfer).setData("text", b.$index.toString()); - }), d.on("dragend", function() { - q(k); - }); - var o, p = function(a, b) { - this.splice(b, 0, this.splice(a, 1)[0]); - }, q = function(a) { - angular.forEach(g.$element.querySelectorAll("." + a), function(b) { - angular.element(b).removeClass(a); - }); - }, r = function(a) { - a.preventDefault(); - var b = "vertical" === j ? a.offsetY || a.layerY || (a.originalEvent ? a.originalEvent.offsetY : 0) : a.offsetX || a.layerX || (a.originalEvent ? a.originalEvent.offsetX : 0); - b < this["vertical" === j ? "offsetHeight" : "offsetWidth"] / 2 ? (q(n), d.addClass(m)) : (q(m), - d.addClass(n)); - }, s = function(b) { - b.preventDefault(); - var c = parseInt((b.dataTransfer || b.originalEvent.dataTransfer).getData("text"), 10); - a.cancel(o), o = a(function() { - t(c); - }, 20); - }, t = function(a) { - var c = b.$eval(e.uiSelectSort), f = c[a], g = null; - g = d.hasClass(m) ? a < b.$index ? b.$index - 1 : b.$index : a < b.$index ? b.$index : b.$index + 1, - p.apply(c, [ a, g ]), h.$setViewValue(Date.now()), b.$apply(function() { - b.$emit("uiSelectSort:change", { - array: c, - item: f, - from: a, - to: g - }); - }), q(l), q(m), q(n), d.off("drop", s); - }; - d.on("dragenter", function() { - d.hasClass(k) || (d.addClass(l), d.on("dragover", r), d.on("drop", s)); - }), d.on("dragleave", function(a) { - a.target == d && (q(l), q(m), q(n), d.off("dragover", r), d.off("drop", s)); - }); - } - }; - } ]), c.factory("$$uisDebounce", [ "$timeout", function(a) { - return function(b, c) { - var d; - return function() { - var e = this, f = Array.prototype.slice.call(arguments); - d && a.cancel(d), d = a(function() { - b.apply(e, f); - }, c); - }; - }; - } ]), c.service("uisRepeatParser", [ "uiSelectMinErr", "$parse", function(a, b) { - var c = this; - c.parse = function(c) { - var d; - if (d = c.match(/^\s*(?:([\s\S]+?)\s+as\s+)?(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+(\s*[\s\S]+?)?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/), - !d) throw a("iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", c); - var e = d[5], f = ""; - if (d[3]) { - e = d[5].replace(/(^\()|(\)$)/g, ""); - var g = d[5].match(/^\s*(?:[\s\S]+?)(?:[^\|]|\|\|)+([\s\S]*)\s*$/); - g && g[1].trim() && (f = g[1], e = e.replace(f, "")); - } - return { - itemName: d[4] || d[2], - keyName: d[3], - source: b(e), - filters: f, - trackByExp: d[6], - modelMapper: b(d[1] || d[4] || d[2]), - repeatExpression: function(a) { - var b = this.itemName + " in " + (a ? "$group.items" : "$select.items"); - return this.trackByExp && (b += " track by " + this.trackByExp), b; - } - }; - }, c.getGroupNgRepeatExpression = function() { - return "$group in $select.groups"; - }; - } ]); -}(), angular.module("ui.select").run([ "$templateCache", function(a) { - a.put("bootstrap/choices.tpl.html", ''), - a.put("bootstrap/match-multiple.tpl.html", ' × '), - a.put("bootstrap/match.tpl.html", '
{{$select.placeholder}}
'), - a.put("bootstrap/no-choice.tpl.html", ''), - a.put("bootstrap/select-multiple.tpl.html", ''), - a.put("bootstrap/select.tpl.html", ''), - a.put("select2/choices.tpl.html", '
'), - a.put("select2/match-multiple.tpl.html", '
  • '), - a.put("select2/match.tpl.html", '{{$select.placeholder}} '), - a.put("select2/select-multiple.tpl.html", '
    '), - a.put("select2/select.tpl.html", '
    '), - a.put("selectize/choices.tpl.html", '
    '), - a.put("selectize/match.tpl.html", '
    '), - a.put("selectize/select.tpl.html", '
    '); -} ]), !function(a) { - function b(b, c) { - return { - restrict: "A", - scope: { - isBusy: "=vBusy", - busyLabel: "@vBusyLabel", - busyText: "@vBusyText" - }, - compile: function(b, d) { - var e = a.element(b.find("span")); - return e[0] || (b.html("" + b.html() + ""), e = a.element(b.find("span"))), - function(a, b) { - var f = e.html(), g = a.busyLabel || c.busyLabel, h = a.busyText; - a.$watch("isBusy", function(a) { - a ? (b.addClass(c.states.busy), e.html(g)) : (b.removeClass(c.states.busy), e.html(h || f)); - }), d.$observe("vBusyLabel", function(a) { - g = a; - }), d.$observe("vBusyText", function(a) { - h = a; - }); - }; - } - }; - } - function c(b, c) { - return { - restrict: "A", - link: function(d, e) { - function f(c, d) { - var f, g, h = e[0].getBoundingClientRect(), i = e[0].querySelector("v-ripple"); - a.element(i).remove(), i = b[0].createElement("v-ripple"), i.style.height = i.style.width = Math.max(h.width, h.height) + "px", - e.append(i), g = c - h.left - i.offsetWidth / 2 - l[0].scrollLeft, f = d - h.top - i.offsetHeight / 2 - l[0].scrollTop, - i.style.left = g + "px", i.style.top = f + "px"; - } - function g(a) { - f(a.pageX, a.pageY), e.addClass(c.states.pressed), l.bind(k, h); - } - function h() { - e.removeClass(c.states.pressed), l.unbind(k, h); - } - var i = !("undefined" == typeof b[0].documentElement.ontouchstart), j = i ? "touchstart" : "mousedown", k = i ? "touchend" : "mouseup", l = a.element(b[0].body); - e.bind(j, g); - } - }; - } - a.module("vButton.config", []).constant("buttonConfig", { - busyLabel: "Loading", - states: { - busy: "is-busy", - pressed: "is-pressed" - } - }), a.module("vButton.directives", []), a.module("vButton", [ "vButton.config", "vButton.directives" ]), - a.module("vButton.directives").directive("vBusy", b), b.$inject = [ "$document", "buttonConfig" ], - a.module("vButton.directives").directive("vPressable", c), c.$inject = [ "$document", "buttonConfig" ]; -}(angular), function(a, b, c) { - function d(a, c) { - c = c || {}, b.forEach(c, function(a, b) { - delete c[b]; - }); - for (var d in a) !a.hasOwnProperty(d) || "$" === d.charAt(0) && "$" === d.charAt(1) || (c[d] = a[d]); - return c; - } - var e = b.$$minErr("$resource"), f = /^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/; - b.module("ngResource", [ "ng" ]).provider("$resource", function() { - var a = /^https?:\/\/[^\/]*/, g = 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", "$log", "$q", function(h, i, j) { - function k(a, b) { - this.template = a, this.defaults = o({}, g.defaults, b), this.urlParams = {}; - } - function l(a, r, s, t) { - function u(a, d) { - var g = {}; - return d = o({}, r, d), n(d, function(d, h) { - q(d) && (d = d()); - var i; - if (d && d.charAt && "@" == d.charAt(0)) { - i = a; - var j = d.substr(1); - if (null == j || "" === j || "hasOwnProperty" === j || !f.test("." + j)) throw e("badmember", j); - for (var j = j.split("."), k = 0, l = j.length; k < l && b.isDefined(i); k++) { - var m = j[k]; - i = null !== i ? i[m] : c; - } - } else i = d; - g[h] = i; - }), g; - } - function v(a) { - return a.resource; - } - function w(a) { - d(a || {}, this); - } - var x = new k(a, t); - return s = o({}, g.defaults.actions, s), w.prototype.toJSON = function() { - var a = o({}, this); - return delete a.$promise, delete a.$resolved, a; - }, n(s, function(a, f) { - var g = /^(POST|PUT|PATCH)$/i.test(a.method); - w[f] = function(k, l, r, s) { - var t, y, z, A = {}; - switch (arguments.length) { - case 4: - z = s, y = r; - - case 3: - case 2: - if (!q(l)) { - A = k, t = l, y = r; - break; - } - if (q(k)) { - y = k, z = l; - break; - } - y = l, z = r; - - case 1: - q(k) ? y = k : g ? t = k : A = k; - break; - - case 0: - break; - - default: - throw e("badargs", arguments.length); - } - var B = this instanceof w, C = B ? t : a.isArray ? [] : new w(t), D = {}, E = a.interceptor && a.interceptor.response || v, F = a.interceptor && a.interceptor.responseError || c; - return n(a, function(a, c) { - switch (c) { - default: - D[c] = p(a); - break; - - case "params": - case "isArray": - case "interceptor": - break; - - case "timeout": - a && !b.isNumber(a) && i.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.\n If you need support for cancellable $resource actions, you should upgrade to version 1.5 or higher."); - } - }), g && (D.data = t), x.setUrlParams(D, o({}, u(t, a.params || {}), A), a.url), - A = h(D).then(function(c) { - var g = c.data, h = C.$promise; - if (g) { - if (b.isArray(g) !== !!a.isArray) throw e("badcfg", f, a.isArray ? "array" : "object", b.isArray(g) ? "array" : "object", D.method, D.url); - a.isArray ? (C.length = 0, n(g, function(a) { - "object" == typeof a ? C.push(new w(a)) : C.push(a); - })) : (d(g, C), C.$promise = h); - } - return C.$resolved = !0, c.resource = C, c; - }, function(a) { - return C.$resolved = !0, (z || m)(a), j.reject(a); - }), A = A.then(function(a) { - var b = E(a); - return (y || m)(b, a.headers), b; - }, F), B ? A : (C.$promise = A, C.$resolved = !1, C); - }, w.prototype["$" + f] = function(a, b, c) { - return q(a) && (c = b, b = a, a = {}), a = w[f].call(this, a, this, b, c), a.$promise || a; - }; - }), w.bind = function(b) { - return l(a, o({}, r, b), s); - }, w; - } - var m = b.noop, n = b.forEach, o = b.extend, p = b.copy, q = b.isFunction; - return k.prototype = { - setUrlParams: function(c, d, f) { - var g, h, i = this, j = f || i.template, k = "", l = i.urlParams = {}; - n(j.split(/\W/), function(a) { - if ("hasOwnProperty" === a) throw e("badname"); - !/^\d+$/.test(a) && a && new RegExp("(^|[^\\\\]):" + a + "(\\W|$)").test(j) && (l[a] = !0); - }), j = j.replace(/\\:/g, ":"), j = j.replace(a, function(a) { - return k = a, ""; - }), d = d || {}, n(i.urlParams, function(a, c) { - g = d.hasOwnProperty(c) ? d[c] : i.defaults[c], b.isDefined(g) && null !== g ? (h = encodeURIComponent(g).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "%20").replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+"), - j = j.replace(new RegExp(":" + c + "(\\W|$)", "g"), function(a, b) { - return h + b; - })) : j = j.replace(new RegExp("(/?):" + c + "(\\W|$)", "g"), function(a, b, c) { - return "/" == c.charAt(0) ? c : b + c; - }); - }), i.defaults.stripTrailingSlashes && (j = j.replace(/\/+$/, "") || "/"), j = j.replace(/\/\.(?=\w+($|\?))/, "."), - c.url = k + j.replace(/\/\\\./, "/."), n(d, function(a, b) { - i.urlParams[b] || (c.params = c.params || {}, c.params[b] = a); - }); - } - }, l; - } ]; - }); -}(window, window.angular), "undefined" != typeof module && "undefined" != typeof exports && module.exports === exports && (module.exports = "ui.router"), -function(a, b, c) { - function d(a, b) { - return R(new (R(function() {}, { - prototype: a - }))(), b); - } - function e(a) { - return Q(arguments, function(b) { - b !== a && Q(b, function(b, c) { - a.hasOwnProperty(c) || (a[c] = b); - }); - }), a; - } - function f(a, b) { - var c = []; - for (var d in a.path) { - if (a.path[d] !== b.path[d]) break; - c.push(a.path[d]); - } - return c; - } - function g(a) { - if (Object.keys) return Object.keys(a); - var b = []; - return Q(a, function(a, c) { - b.push(c); - }), b; - } - function h(a, b) { - if (Array.prototype.indexOf) return a.indexOf(b, Number(arguments[2]) || 0); - var c = a.length >>> 0, d = Number(arguments[2]) || 0; - for (d = 0 > d ? Math.ceil(d) : Math.floor(d), 0 > d && (d += c); c > d; d++) if (d in a && a[d] === b) return d; - return -1; - } - function i(a, b, c, d) { - var e, i = f(c, d), j = {}, k = []; - for (var l in i) if (i[l] && i[l].params && (e = g(i[l].params), e.length)) for (var m in e) h(k, e[m]) >= 0 || (k.push(e[m]), - j[e[m]] = a[e[m]]); - return R({}, j, b); - } - function j(a, b, c) { - if (!c) { - c = []; - for (var d in a) c.push(d); - } - for (var e = 0; e < c.length; e++) { - var f = c[e]; - if (a[f] != b[f]) return !1; - } - return !0; - } - function k(a, b) { - var c = {}; - return Q(a, function(a) { - c[a] = b[a]; - }), c; - } - function l(a) { - var b = {}, c = Array.prototype.concat.apply(Array.prototype, Array.prototype.slice.call(arguments, 1)); - return Q(c, function(c) { - c in a && (b[c] = a[c]); - }), b; - } - function m(a) { - var b = {}, c = Array.prototype.concat.apply(Array.prototype, Array.prototype.slice.call(arguments, 1)); - for (var d in a) -1 == h(c, d) && (b[d] = a[d]); - return b; - } - function n(a, b) { - var c = P(a), d = c ? [] : {}; - return Q(a, function(a, e) { - b(a, e) && (d[c ? d.length : e] = a); - }), d; - } - function o(a, b) { - var c = P(a) ? [] : {}; - return Q(a, function(a, d) { - c[d] = b(a, d); - }), c; - } - function p(a, b) { - var d = 1, f = 2, i = {}, j = [], k = i, l = R(a.when(i), { - $$promises: i, - $$values: i - }); - this.study = function(i) { - function n(a, c) { - if (s[c] !== f) { - if (r.push(c), s[c] === d) throw r.splice(0, h(r, c)), new Error("Cyclic dependency: " + r.join(" -> ")); - if (s[c] = d, N(a)) q.push(c, [ function() { - return b.get(a); - } ], j); else { - var e = b.annotate(a); - Q(e, function(a) { - a !== c && i.hasOwnProperty(a) && n(i[a], a); - }), q.push(c, a, e); - } - r.pop(), s[c] = f; - } - } - function o(a) { - return O(a) && a.then && a.$$promises; - } - if (!O(i)) throw new Error("'invocables' must be an object"); - var p = g(i || {}), q = [], r = [], s = {}; - return Q(i, n), i = r = s = null, function(d, f, g) { - function h() { - --u || (v || e(t, f.$$values), r.$$values = t, r.$$promises = r.$$promises || !0, - delete r.$$inheritedValues, n.resolve(t)); - } - function i(a) { - r.$$failure = a, n.reject(a); - } - function j(c, e, f) { - function j(a) { - l.reject(a), i(a); - } - function k() { - if (!L(r.$$failure)) try { - l.resolve(b.invoke(e, g, t)), l.promise.then(function(a) { - t[c] = a, h(); - }, j); - } catch (a) { - j(a); - } - } - var l = a.defer(), m = 0; - Q(f, function(a) { - s.hasOwnProperty(a) && !d.hasOwnProperty(a) && (m++, s[a].then(function(b) { - t[a] = b, --m || k(); - }, j)); - }), m || k(), s[c] = l.promise; - } - if (o(d) && g === c && (g = f, f = d, d = null), d) { - if (!O(d)) throw new Error("'locals' must be an object"); - } else d = k; - if (f) { - if (!o(f)) throw new Error("'parent' must be a promise returned by $resolve.resolve()"); - } else f = l; - var n = a.defer(), r = n.promise, s = r.$$promises = {}, t = R({}, d), u = 1 + q.length / 3, v = !1; - if (L(f.$$failure)) return i(f.$$failure), r; - f.$$inheritedValues && e(t, m(f.$$inheritedValues, p)), R(s, f.$$promises), f.$$values ? (v = e(t, m(f.$$values, p)), - r.$$inheritedValues = m(f.$$values, p), h()) : (f.$$inheritedValues && (r.$$inheritedValues = m(f.$$inheritedValues, p)), - f.then(h, i)); - for (var w = 0, x = q.length; x > w; w += 3) d.hasOwnProperty(q[w]) ? h() : j(q[w], q[w + 1], q[w + 2]); - return r; - }; - }, this.resolve = function(a, b, c, d) { - return this.study(a)(b, c, d); - }; - } - function q(a, b, c) { - this.fromConfig = function(a, b, c) { - return L(a.template) ? this.fromString(a.template, b) : L(a.templateUrl) ? this.fromUrl(a.templateUrl, b) : L(a.templateProvider) ? this.fromProvider(a.templateProvider, b, c) : null; - }, this.fromString = function(a, b) { - return M(a) ? a(b) : a; - }, this.fromUrl = function(c, d) { - return M(c) && (c = c(d)), null == c ? null : a.get(c, { - cache: b, - headers: { - Accept: "text/html" - } - }).then(function(a) { - return a.data; - }); - }, this.fromProvider = function(a, b, d) { - return c.invoke(a, null, d || { - params: b - }); - }; - } - function r(a, b, e) { - function f(b, c, d, e) { - if (q.push(b), o[b]) return o[b]; - if (!/^\w+([-.]+\w+)*(?:\[\])?$/.test(b)) throw new Error("Invalid parameter name '" + b + "' in pattern '" + a + "'"); - if (p[b]) throw new Error("Duplicate parameter name '" + b + "' in pattern '" + a + "'"); - return p[b] = new U.Param(b, c, d, e), p[b]; - } - function g(a, b, c, d) { - var e = [ "", "" ], f = a.replace(/[\\\[\]\^$*+?.()|{}]/g, "\\$&"); - if (!b) return f; - switch (c) { - case !1: - e = [ "(", ")" + (d ? "?" : "") ]; - break; - - case !0: - f = f.replace(/\/$/, ""), e = [ "(?:/(", ")|/)?" ]; - break; - - default: - e = [ "(" + c + "|", ")?" ]; - } - return f + e[0] + b + e[1]; - } - function h(e, f) { - var g, h, i, j, k; - return g = e[2] || e[3], k = b.params[g], i = a.substring(m, e.index), h = f ? e[4] : e[4] || ("*" == e[1] ? ".*" : null), - h && (j = U.type(h) || d(U.type("string"), { - pattern: new RegExp(h, b.caseInsensitive ? "i" : c) - })), { - id: g, - regexp: h, - segment: i, - type: j, - cfg: k - }; - } - b = R({ - params: {} - }, O(b) ? b : {}); - var i, j = /([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, k = /([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g, l = "^", m = 0, n = this.segments = [], o = e ? e.params : {}, p = this.params = e ? e.params.$$new() : new U.ParamSet(), q = []; - this.source = a; - for (var r, s, t; (i = j.exec(a)) && (r = h(i, !1), !(r.segment.indexOf("?") >= 0)); ) s = f(r.id, r.type, r.cfg, "path"), - l += g(r.segment, s.type.pattern.source, s.squash, s.isOptional), n.push(r.segment), - m = j.lastIndex; - t = a.substring(m); - var u = t.indexOf("?"); - if (u >= 0) { - var v = this.sourceSearch = t.substring(u); - if (t = t.substring(0, u), this.sourcePath = a.substring(0, m + u), v.length > 0) for (m = 0; i = k.exec(v); ) r = h(i, !0), - s = f(r.id, r.type, r.cfg, "search"), m = j.lastIndex; - } else this.sourcePath = a, this.sourceSearch = ""; - l += g(t) + (b.strict === !1 ? "/?" : "") + "$", n.push(t), this.regexp = new RegExp(l, b.caseInsensitive ? "i" : c), - this.prefix = n[0], this.$$paramNames = q; - } - function s(a) { - R(this, a); - } - function t() { - function a(a) { - return null != a ? a.toString().replace(/~/g, "~~").replace(/\//g, "~2F") : a; - } - function e(a) { - return null != a ? a.toString().replace(/~2F/g, "/").replace(/~~/g, "~") : a; - } - function f() { - return { - strict: p, - caseInsensitive: m - }; - } - function i(a) { - return M(a) || P(a) && M(a[a.length - 1]); - } - function j() { - for (;w.length; ) { - var a = w.shift(); - if (a.pattern) throw new Error("You cannot override a type's .pattern at runtime."); - b.extend(u[a.name], l.invoke(a.def)); - } - } - function k(a) { - R(this, a || {}); - } - U = this; - var l, m = !1, p = !0, q = !1, u = {}, v = !0, w = [], x = { - string: { - encode: a, - decode: e, - is: function(a) { - return null == a || !L(a) || "string" == typeof a; - }, - pattern: /[^\/]*/ - }, - "int": { - encode: a, - decode: function(a) { - return parseInt(a, 10); - }, - is: function(a) { - return L(a) && this.decode(a.toString()) === a; - }, - pattern: /\d+/ - }, - bool: { - encode: function(a) { - return a ? 1 : 0; - }, - decode: function(a) { - return 0 !== parseInt(a, 10); - }, - is: function(a) { - return a === !0 || a === !1; - }, - pattern: /0|1/ - }, - date: { - encode: function(a) { - return this.is(a) ? [ a.getFullYear(), ("0" + (a.getMonth() + 1)).slice(-2), ("0" + a.getDate()).slice(-2) ].join("-") : c; - }, - decode: function(a) { - if (this.is(a)) return a; - var b = this.capture.exec(a); - return b ? new Date(b[1], b[2] - 1, b[3]) : c; - }, - is: function(a) { - return a instanceof Date && !isNaN(a.valueOf()); - }, - equals: function(a, b) { - return this.is(a) && this.is(b) && a.toISOString() === b.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: b.toJson, - decode: b.fromJson, - is: b.isObject, - equals: b.equals, - pattern: /[^\/]*/ - }, - any: { - encode: b.identity, - decode: b.identity, - equals: b.equals, - pattern: /.*/ - } - }; - t.$$getDefaultValue = function(a) { - if (!i(a.value)) return a.value; - if (!l) throw new Error("Injectable functions cannot be called at configuration time"); - return l.invoke(a.value); - }, this.caseInsensitive = function(a) { - return L(a) && (m = a), m; - }, this.strictMode = function(a) { - return L(a) && (p = a), p; - }, this.defaultSquashPolicy = function(a) { - if (!L(a)) return q; - if (a !== !0 && a !== !1 && !N(a)) throw new Error("Invalid squash policy: " + a + ". Valid policies: false, true, arbitrary-string"); - return q = a, a; - }, this.compile = function(a, b) { - return new r(a, R(f(), b)); - }, this.isMatcher = function(a) { - if (!O(a)) return !1; - var b = !0; - return Q(r.prototype, function(c, d) { - M(c) && (b = b && L(a[d]) && M(a[d])); - }), b; - }, this.type = function(a, b, c) { - if (!L(b)) return u[a]; - if (u.hasOwnProperty(a)) throw new Error("A type named '" + a + "' has already been defined."); - return u[a] = new s(R({ - name: a - }, b)), c && (w.push({ - name: a, - def: c - }), v || j()), this; - }, Q(x, function(a, b) { - u[b] = new s(R({ - name: b - }, a)); - }), u = d(u, {}), this.$get = [ "$injector", function(a) { - return l = a, v = !1, j(), Q(x, function(a, b) { - u[b] || (u[b] = new s(a)); - }), this; - } ], this.Param = function(a, d, e, f) { - function j(a) { - var b = O(a) ? g(a) : [], c = -1 === h(b, "value") && -1 === h(b, "type") && -1 === h(b, "squash") && -1 === h(b, "array"); - return c && (a = { - value: a - }), a.$$fn = i(a.value) ? a.value : function() { - return a.value; - }, a; - } - function k(c, d, e) { - if (c.type && d) throw new Error("Param '" + a + "' has two type configurations."); - return d ? d : c.type ? b.isString(c.type) ? u[c.type] : c.type instanceof s ? c.type : new s(c.type) : "config" === e ? u.any : u.string; - } - function m() { - var b = { - array: "search" === f && "auto" - }, c = a.match(/\[\]$/) ? { - array: !0 - } : {}; - return R(b, c, e).array; - } - function p(a, b) { - var c = a.squash; - if (!b || c === !1) return !1; - if (!L(c) || null == c) return q; - if (c === !0 || N(c)) return c; - throw new Error("Invalid squash policy: '" + c + "'. Valid policies: false, true, or arbitrary string"); - } - function r(a, b, d, e) { - var f, g, i = [ { - from: "", - to: d || b ? c : "" - }, { - from: null, - to: d || b ? c : "" - } ]; - return f = P(a.replace) ? a.replace : [], N(e) && f.push({ - from: e, - to: c - }), g = o(f, function(a) { - return a.from; - }), n(i, function(a) { - return -1 === h(g, a.from); - }).concat(f); - } - function t() { - if (!l) throw new Error("Injectable functions cannot be called at configuration time"); - var a = l.invoke(e.$$fn); - if (null !== a && a !== c && !x.type.is(a)) throw new Error("Default value (" + a + ") for parameter '" + x.id + "' is not an instance of Type (" + x.type.name + ")"); - return a; - } - function v(a) { - function b(a) { - return function(b) { - return b.from === a; - }; - } - function c(a) { - var c = o(n(x.replace, b(a)), function(a) { - return a.to; - }); - return c.length ? c[0] : a; - } - return a = c(a), L(a) ? x.type.$normalize(a) : t(); - } - function w() { - return "{Param:" + a + " " + d + " squash: '" + A + "' optional: " + z + "}"; - } - var x = this; - e = j(e), d = k(e, d, f); - var y = m(); - d = y ? d.$asArray(y, "search" === f) : d, "string" !== d.name || y || "path" !== f || e.value !== c || (e.value = ""); - var z = e.value !== c, A = p(e, z), B = r(e, y, z, A); - R(this, { - id: a, - type: d, - location: f, - array: y, - squash: A, - replace: B, - isOptional: z, - value: v, - dynamic: c, - config: e, - toString: w - }); - }, k.prototype = { - $$new: function() { - return d(this, R(new k(), { - $$parent: this - })); - }, - $$keys: function() { - for (var a = [], b = [], c = this, d = g(k.prototype); c; ) b.push(c), c = c.$$parent; - return b.reverse(), Q(b, function(b) { - Q(g(b), function(b) { - -1 === h(a, b) && -1 === h(d, b) && a.push(b); - }); - }), a; - }, - $$values: function(a) { - var b = {}, c = this; - return Q(c.$$keys(), function(d) { - b[d] = c[d].value(a && a[d]); - }), b; - }, - $$equals: function(a, b) { - var c = !0, d = this; - return Q(d.$$keys(), function(e) { - var f = a && a[e], g = b && b[e]; - d[e].type.equals(f, g) || (c = !1); - }), c; - }, - $$validates: function(a) { - var d, e, f, g, h, i = this.$$keys(); - for (d = 0; d < i.length && (e = this[i[d]], f = a[i[d]], f !== c && null !== f || !e.isOptional); d++) { - if (g = e.type.$normalize(f), !e.type.is(g)) return !1; - if (h = e.type.encode(g), b.isString(h) && !e.type.pattern.exec(h)) return !1; - } - return !0; - }, - $$parent: c - }, this.ParamSet = k; - } - function u(a, d) { - function e(a) { - var b = /^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source); - return null != b ? b[1].replace(/\\(.)/g, "$1") : ""; - } - function f(a, b) { - return a.replace(/\$(\$|\d{1,2})/, function(a, c) { - return b["$" === c ? 0 : Number(c)]; - }); - } - function g(a, b, c) { - if (!c) return !1; - var d = a.invoke(b, b, { - $match: c - }); - return !L(d) || d; - } - function h(d, e, f, g, h) { - function m(a, b, c) { - return "/" === q ? a : b ? q.slice(0, -1) + a : c ? q.slice(1) + a : a; - } - function n(a) { - function b(a) { - var b = a(f, d); - return !!b && (N(b) && d.replace().url(b), !0); - } - if (!a || !a.defaultPrevented) { - p && d.url() === p, p = c; - var e, g = j.length; - for (e = 0; g > e; e++) if (b(j[e])) return; - k && b(k); - } - } - function o() { - return i = i || e.$on("$locationChangeSuccess", n); - } - var p, q = g.baseHref(), r = d.url(); - return l || o(), { - sync: function() { - n(); - }, - listen: function() { - return o(); - }, - update: function(a) { - return a ? void (r = d.url()) : void (d.url() !== r && (d.url(r), d.replace())); - }, - push: function(a, b, e) { - var f = a.format(b || {}); - null !== f && b && b["#"] && (f += "#" + b["#"]), d.url(f), p = e && e.$$avoidResync ? d.url() : c, - e && e.replace && d.replace(); - }, - href: function(c, e, f) { - if (!c.validates(e)) return null; - var g = a.html5Mode(); - b.isObject(g) && (g = g.enabled), g = g && h.history; - var i = c.format(e); - if (f = f || {}, g || null === i || (i = "#" + a.hashPrefix() + i), null !== i && e && e["#"] && (i += "#" + e["#"]), - i = m(i, g, f.absolute), !f.absolute || !i) return i; - var j = !g && i ? "/" : "", k = d.port(); - return k = 80 === k || 443 === k ? "" : ":" + k, [ d.protocol(), "://", d.host(), k, j, i ].join(""); - } - }; - } - var i, j = [], k = null, l = !1; - this.rule = function(a) { - if (!M(a)) throw new Error("'rule' must be a function"); - return j.push(a), this; - }, this.otherwise = function(a) { - if (N(a)) { - var b = a; - a = function() { - return b; - }; - } else if (!M(a)) throw new Error("'rule' must be a function"); - return k = a, this; - }, this.when = function(a, b) { - var c, h = N(b); - if (N(a) && (a = d.compile(a)), !h && !M(b) && !P(b)) throw new Error("invalid 'handler' in when()"); - var i = { - matcher: function(a, b) { - return h && (c = d.compile(b), b = [ "$match", function(a) { - return c.format(a); - } ]), R(function(c, d) { - return g(c, b, a.exec(d.path(), d.search())); - }, { - prefix: N(a.prefix) ? a.prefix : "" - }); - }, - regex: function(a, b) { - if (a.global || a.sticky) throw new Error("when() RegExp must not be global or sticky"); - return h && (c = b, b = [ "$match", function(a) { - return f(c, a); - } ]), R(function(c, d) { - return g(c, b, a.exec(d.path())); - }, { - prefix: e(a) - }); - } - }, j = { - matcher: d.isMatcher(a), - regex: a instanceof RegExp - }; - for (var k in j) if (j[k]) return this.rule(i[k](a, b)); - throw new Error("invalid 'what' in when()"); - }, this.deferIntercept = function(a) { - a === c && (a = !0), l = a; - }, this.$get = h, h.$inject = [ "$location", "$rootScope", "$injector", "$browser", "$sniffer" ]; - } - function v(a, e) { - function f(a) { - return 0 === a.indexOf(".") || 0 === a.indexOf("^"); - } - function m(a, b) { - if (!a) return c; - var d = N(a), e = d ? a : a.name, g = f(e); - if (g) { - if (!b) throw new Error("No reference point given for path '" + e + "'"); - b = m(b); - for (var h = e.split("."), i = 0, j = h.length, k = b; j > i; i++) if ("" !== h[i] || 0 !== i) { - if ("^" !== h[i]) break; - if (!k.parent) throw new Error("Path '" + e + "' not valid for state '" + b.name + "'"); - k = k.parent; - } else k = b; - h = h.slice(i).join("."), e = k.name + (k.name && h ? "." : "") + h; - } - var l = z[e]; - return !l || !d && (d || l !== a && l.self !== a) ? c : l; - } - function n(a, b) { - A[a] || (A[a] = []), A[a].push(b); - } - function p(a) { - for (var b = A[a] || []; b.length; ) q(b.shift()); - } - function q(b) { - b = d(b, { - self: b, - resolve: b.resolve || {}, - toString: function() { - return this.name; - } - }); - var c = b.name; - if (!N(c) || c.indexOf("@") >= 0) throw new Error("State must have a valid name"); - if (z.hasOwnProperty(c)) throw new Error("State '" + c + "' is already defined"); - var e = -1 !== c.indexOf(".") ? c.substring(0, c.lastIndexOf(".")) : N(b.parent) ? b.parent : O(b.parent) && N(b.parent.name) ? b.parent.name : ""; - if (e && !z[e]) return n(e, b.self); - for (var f in C) M(C[f]) && (b[f] = C[f](b, C.$delegates[f])); - return z[c] = b, !b[B] && b.url && a.when(b.url, [ "$match", "$stateParams", function(a, c) { - y.$current.navigable == b && j(a, c) || y.transitionTo(b, a, { - inherit: !0, - location: !1 - }); - } ]), p(c), b; - } - function r(a) { - return a.indexOf("*") > -1; - } - function s(a) { - for (var b = a.split("."), c = y.$current.name.split("."), d = 0, e = b.length; e > d; d++) "*" === b[d] && (c[d] = "*"); - return "**" === b[0] && (c = c.slice(h(c, b[1])), c.unshift("**")), "**" === b[b.length - 1] && (c.splice(h(c, b[b.length - 2]) + 1, Number.MAX_VALUE), - c.push("**")), b.length == c.length && c.join("") === b.join(""); - } - function t(a, b) { - return N(a) && !L(b) ? C[a] : M(b) && N(a) ? (C[a] && !C.$delegates[a] && (C.$delegates[a] = C[a]), - C[a] = b, this) : this; - } - function u(a, b) { - return O(a) ? b = a : b.name = a, q(b), this; - } - function v(a, e, f, h, l, n, p, q, t) { - function u(b, c, d, f) { - var g = a.$broadcast("$stateNotFound", b, c, d); - if (g.defaultPrevented) return p.update(), D; - if (!g.retry) return null; - if (f.$retry) return p.update(), E; - var h = y.transition = e.when(g.retry); - return h.then(function() { - return h !== y.transition ? A : (b.options.$retry = !0, y.transitionTo(b.to, b.toParams, b.options)); - }, function() { - return D; - }), p.update(), h; - } - function v(a, c, d, g, i, j) { - function m() { - var c = []; - return Q(a.views, function(d, e) { - var g = d.resolve && d.resolve !== a.resolve ? d.resolve : {}; - g.$template = [ function() { - return f.load(e, { - view: d, - locals: i.globals, - params: n, - notify: j.notify - }) || ""; - } ], c.push(l.resolve(g, i.globals, i.resolve, a).then(function(c) { - if (M(d.controllerProvider) || P(d.controllerProvider)) { - var f = b.extend({}, g, i.globals); - c.$$controller = h.invoke(d.controllerProvider, null, f); - } else c.$$controller = d.controller; - c.$$state = a, c.$$controllerAs = d.controllerAs, i[e] = c; - })); - }), e.all(c).then(function() { - return i.globals; - }); - } - var n = d ? c : k(a.params.$$keys(), c), o = { - $stateParams: n - }; - i.resolve = l.resolve(a.resolve, o, i.resolve, a); - var p = [ i.resolve.then(function(a) { - i.globals = a; - }) ]; - return g && p.push(g), e.all(p).then(m).then(function(a) { - return i; - }); - } - var A = e.reject(new Error("transition superseded")), C = e.reject(new Error("transition prevented")), D = e.reject(new Error("transition aborted")), E = e.reject(new Error("transition failed")); - return x.locals = { - resolve: null, - globals: { - $stateParams: {} - } - }, y = { - params: {}, - current: x.self, - $current: x, - transition: null - }, y.reload = function(a) { - return y.transitionTo(y.current, n, { - reload: a || !0, - inherit: !1, - notify: !0 - }); - }, y.go = function(a, b, c) { - return y.transitionTo(a, b, R({ - inherit: !0, - relative: y.$current - }, c)); - }, y.transitionTo = function(b, c, f) { - c = c || {}, f = R({ - location: !0, - inherit: !1, - relative: null, - notify: !0, - reload: !1, - $retry: !1 - }, f || {}); - var g, j = y.$current, l = y.params, o = j.path, q = m(b, f.relative), r = c["#"]; - if (!L(q)) { - var s = { - to: b, - toParams: c, - options: f - }, t = u(s, j.self, l, f); - if (t) return t; - if (b = s.to, c = s.toParams, f = s.options, q = m(b, f.relative), !L(q)) { - if (!f.relative) throw new Error("No such state '" + b + "'"); - throw new Error("Could not resolve '" + b + "' from state '" + f.relative + "'"); - } - } - if (q[B]) throw new Error("Cannot transition to abstract state '" + b + "'"); - if (f.inherit && (c = i(n, c || {}, y.$current, q)), !q.params.$$validates(c)) return E; - c = q.params.$$values(c), b = q; - var z = b.path, D = 0, F = z[D], G = x.locals, H = []; - if (f.reload) { - if (N(f.reload) || O(f.reload)) { - if (O(f.reload) && !f.reload.name) throw new Error("Invalid reload state object"); - var I = f.reload === !0 ? o[0] : m(f.reload); - if (f.reload && !I) throw new Error("No such reload state '" + (N(f.reload) ? f.reload : f.reload.name) + "'"); - for (;F && F === o[D] && F !== I; ) G = H[D] = F.locals, D++, F = z[D]; - } - } else for (;F && F === o[D] && F.ownParams.$$equals(c, l); ) G = H[D] = F.locals, - D++, F = z[D]; - if (w(b, c, j, l, G, f)) return r && (c["#"] = r), y.params = c, S(y.params, n), - S(k(b.params.$$keys(), n), b.locals.globals.$stateParams), f.location && b.navigable && b.navigable.url && (p.push(b.navigable.url, c, { - $$avoidResync: !0, - replace: "replace" === f.location - }), p.update(!0)), y.transition = null, e.when(y.current); - if (c = k(b.params.$$keys(), c || {}), r && (c["#"] = r), f.notify && a.$broadcast("$stateChangeStart", b.self, c, j.self, l, f).defaultPrevented) return a.$broadcast("$stateChangeCancel", b.self, c, j.self, l), - null == y.transition && p.update(), C; - for (var J = e.when(G), K = D; K < z.length; K++, F = z[K]) G = H[K] = d(G), J = v(F, c, F === b, J, G, f); - var M = y.transition = J.then(function() { - var d, e, g; - if (y.transition !== M) return A; - for (d = o.length - 1; d >= D; d--) g = o[d], g.self.onExit && h.invoke(g.self.onExit, g.self, g.locals.globals), - g.locals = null; - for (d = D; d < z.length; d++) e = z[d], e.locals = H[d], e.self.onEnter && h.invoke(e.self.onEnter, e.self, e.locals.globals); - return y.transition !== M ? A : (y.$current = b, y.current = b.self, y.params = c, - S(y.params, n), y.transition = null, f.location && b.navigable && p.push(b.navigable.url, b.navigable.locals.globals.$stateParams, { - $$avoidResync: !0, - replace: "replace" === f.location - }), f.notify && a.$broadcast("$stateChangeSuccess", b.self, c, j.self, l), p.update(!0), - y.current); - }, function(d) { - return y.transition !== M ? A : (y.transition = null, g = a.$broadcast("$stateChangeError", b.self, c, j.self, l, d), - g.defaultPrevented || p.update(), e.reject(d)); - }); - return M; - }, y.is = function(a, b, d) { - d = R({ - relative: y.$current - }, d || {}); - var e = m(a, d.relative); - return L(e) ? y.$current === e && (!b || j(e.params.$$values(b), n)) : c; - }, y.includes = function(a, b, d) { - if (d = R({ - relative: y.$current - }, d || {}), N(a) && r(a)) { - if (!s(a)) return !1; - a = y.$current.name; - } - var e = m(a, d.relative); - return L(e) ? !!L(y.$current.includes[e.name]) && (!b || j(e.params.$$values(b), n, g(b))) : c; - }, y.href = function(a, b, d) { - d = R({ - lossy: !0, - inherit: !0, - absolute: !1, - relative: y.$current - }, d || {}); - var e = m(a, d.relative); - if (!L(e)) return null; - d.inherit && (b = i(n, b || {}, y.$current, e)); - var f = e && d.lossy ? e.navigable : e; - return f && f.url !== c && null !== f.url ? p.href(f.url, k(e.params.$$keys().concat("#"), b || {}), { - absolute: d.absolute - }) : null; - }, y.get = function(a, b) { - if (0 === arguments.length) return o(g(z), function(a) { - return z[a].self; - }); - var c = m(a, b || y.$current); - return c && c.self ? c.self : null; - }, y; - } - function w(a, b, c, d, e, f) { - function g(a, b, c) { - function d(b) { - return "search" != a.params[b].location; - } - var e = a.params.$$keys().filter(d), f = l.apply({}, [ a.params ].concat(e)), g = new U.ParamSet(f); - return g.$$equals(b, c); - } - return !(f.reload || a !== c || !(e === c.locals || a.self.reloadOnSearch === !1 && g(c, d, b))) || void 0; - } - var x, y, z = {}, A = {}, B = "abstract", C = { - parent: function(a) { - if (L(a.parent) && a.parent) return m(a.parent); - var b = /^(.+)\.[^.]+$/.exec(a.name); - return b ? m(b[1]) : x; - }, - data: function(a) { - return a.parent && a.parent.data && (a.data = a.self.data = d(a.parent.data, a.data)), - a.data; - }, - url: function(a) { - var b = a.url, c = { - params: a.params || {} - }; - if (N(b)) return "^" == b.charAt(0) ? e.compile(b.substring(1), c) : (a.parent.navigable || x).url.concat(b, c); - if (!b || e.isMatcher(b)) return b; - throw new Error("Invalid url '" + b + "' in state '" + a + "'"); - }, - navigable: function(a) { - return a.url ? a : a.parent ? a.parent.navigable : null; - }, - ownParams: function(a) { - var b = a.url && a.url.params || new U.ParamSet(); - return Q(a.params || {}, function(a, c) { - b[c] || (b[c] = new U.Param(c, null, a, "config")); - }), b; - }, - params: function(a) { - var b = l(a.ownParams, a.ownParams.$$keys()); - return a.parent && a.parent.params ? R(a.parent.params.$$new(), b) : new U.ParamSet(); - }, - views: function(a) { - var b = {}; - return Q(L(a.views) ? a.views : { - "": a - }, function(c, d) { - d.indexOf("@") < 0 && (d += "@" + a.parent.name), b[d] = c; - }), b; - }, - path: function(a) { - return a.parent ? a.parent.path.concat(a) : []; - }, - includes: function(a) { - var b = a.parent ? R({}, a.parent.includes) : {}; - return b[a.name] = !0, b; - }, - $delegates: {} - }; - x = q({ - name: "", - url: "^", - views: null, - "abstract": !0 - }), x.navigable = null, this.decorator = t, this.state = u, this.$get = v, v.$inject = [ "$rootScope", "$q", "$view", "$injector", "$resolve", "$stateParams", "$urlRouter", "$location", "$urlMatcherFactory" ]; - } - function w() { - function a(a, b) { - return { - load: function(a, c) { - var d, e = { - template: null, - controller: null, - view: null, - locals: null, - notify: !0, - async: !0, - params: {} - }; - return c = R(e, c), c.view && (d = b.fromConfig(c.view, c.params, c.locals)), d; - } - }; - } - this.$get = a, a.$inject = [ "$rootScope", "$templateFactory" ]; - } - function x() { - var a = !1; - this.useAnchorScroll = function() { - a = !0; - }, this.$get = [ "$anchorScroll", "$timeout", function(b, c) { - return a ? b : function(a) { - return c(function() { - a[0].scrollIntoView(); - }, 0, !1); - }; - } ]; - } - function y(a, c, d, e) { - function f() { - return c.has ? function(a) { - return c.has(a) ? c.get(a) : null; - } : function(a) { - try { - return c.get(a); - } catch (b) { - return null; - } - }; - } - function g(a, c) { - function d(a) { - return 1 === V && W >= 4 ? !!j.enabled(a) : 1 === V && W >= 2 ? !!j.enabled() : !!i; - } - var e = { - enter: function(a, b, c) { - b.after(a), c(); - }, - leave: function(a, b) { - a.remove(), b(); - } - }; - if (a.noanimation) return e; - if (j) return { - enter: function(a, c, f) { - d(a) ? b.version.minor > 2 ? j.enter(a, null, c).then(f) : j.enter(a, null, c, f) : e.enter(a, c, f); - }, - leave: function(a, c) { - d(a) ? b.version.minor > 2 ? j.leave(a).then(c) : j.leave(a, c) : e.leave(a, c); - } - }; - if (i) { - var f = i && i(c, a); - return { - enter: function(a, b, c) { - f.enter(a, null, b), c(); - }, - leave: function(a, b) { - f.leave(a), b(); - } - }; - } - return e; - } - var h = f(), i = h("$animator"), j = h("$animate"), k = { - restrict: "ECA", - terminal: !0, - priority: 400, - transclude: "element", - compile: function(c, f, h) { - return function(c, f, i) { - function j() { - function a() { - b && b.remove(), c && c.$destroy(); - } - var b = l, c = n; - c && (c._willBeDestroyed = !0), m ? (r.leave(m, function() { - a(), l = null; - }), l = m) : (a(), l = null), m = null, n = null; - } - function k(g) { - var k, l = A(c, i, f, e), s = l && a.$current && a.$current.locals[l]; - if ((g || s !== o) && !c._willBeDestroyed) { - k = c.$new(), o = a.$current.locals[l], k.$emit("$viewContentLoading", l); - var t = h(k, function(a) { - r.enter(a, f, function() { - n && n.$emit("$viewContentAnimationEnded"), (b.isDefined(q) && !q || c.$eval(q)) && d(a); - }), j(); - }); - m = t, n = k, n.$emit("$viewContentLoaded", l), n.$eval(p); - } - } - var l, m, n, o, p = i.onload || "", q = i.autoscroll, r = g(i, c); - c.$on("$stateChangeSuccess", function() { - k(!1); - }), k(!0); - }; - } - }; - return k; - } - function z(a, b, c, d) { - return { - restrict: "ECA", - priority: -400, - compile: function(e) { - var f = e.html(); - return function(e, g, h) { - var i = c.$current, j = A(e, h, g, d), k = i && i.locals[j]; - if (k) { - g.data("$uiView", { - name: j, - state: k.$$state - }), g.html(k.$template ? k.$template : f); - var l = a(g.contents()); - if (k.$$controller) { - k.$scope = e, k.$element = g; - var m = b(k.$$controller, k); - k.$$controllerAs && (e[k.$$controllerAs] = m), g.data("$ngControllerController", m), - g.children().data("$ngControllerController", m); - } - l(e); - } - }; - } - }; - } - function A(a, b, c, d) { - var e = d(b.uiView || b.name || "")(a), f = c.inheritedData("$uiView"); - return e.indexOf("@") >= 0 ? e : e + "@" + (f ? f.state.name : ""); - } - function B(a, b) { - var c, d = a.match(/^\s*({[^}]*})\s*$/); - if (d && (a = b + "(" + d[1] + ")"), c = a.replace(/\n/g, " ").match(/^([^(]+?)\s*(\((.*)\))?$/), - !c || 4 !== c.length) throw new Error("Invalid state ref '" + a + "'"); - return { - state: c[1], - paramExpr: c[3] || null - }; - } - function C(a) { - var b = a.parent().inheritedData("$uiView"); - return b && b.state && b.state.name ? b.state : void 0; - } - function D(a) { - var b = "[object SVGAnimatedString]" === Object.prototype.toString.call(a.prop("href")), c = "FORM" === a[0].nodeName; - return { - attr: c ? "action" : b ? "xlink:href" : "href", - isAnchor: "A" === a.prop("tagName").toUpperCase(), - clickable: !c - }; - } - function E(a, b, c, d, e) { - return function(f) { - var g = f.which || f.button, h = e(); - if (!(g > 1 || f.ctrlKey || f.metaKey || f.shiftKey || a.attr("target"))) { - var i = c(function() { - b.go(h.state, h.params, h.options); - }); - f.preventDefault(); - var j = d.isAnchor && !h.href ? 1 : 0; - f.preventDefault = function() { - j-- <= 0 && c.cancel(i); - }; - } - }; - } - function F(a, b) { - return { - relative: C(a) || b.$current, - inherit: !0 - }; - } - function G(a, c) { - return { - restrict: "A", - require: [ "?^uiSrefActive", "?^uiSrefActiveEq" ], - link: function(d, e, f, g) { - var h = B(f.uiSref, a.current.name), i = { - state: h.state, - href: null, - params: null - }, j = D(e), k = g[1] || g[0]; - i.options = R(F(e, a), f.uiSrefOpts ? d.$eval(f.uiSrefOpts) : {}); - var l = function(c) { - c && (i.params = b.copy(c)), i.href = a.href(h.state, i.params, i.options), k && k.$$addStateInfo(h.state, i.params), - null !== i.href && f.$set(j.attr, i.href); - }; - h.paramExpr && (d.$watch(h.paramExpr, function(a) { - a !== i.params && l(a); - }, !0), i.params = b.copy(d.$eval(h.paramExpr))), l(), j.clickable && e.bind("click", E(e, a, c, j, function() { - return i; - })); - } - }; - } - function H(a, b) { - return { - restrict: "A", - require: [ "?^uiSrefActive", "?^uiSrefActiveEq" ], - link: function(c, d, e, f) { - function g(b) { - l.state = b[0], l.params = b[1], l.options = b[2], l.href = a.href(l.state, l.params, l.options), - i && i.$$addStateInfo(l.state, l.params), l.href && e.$set(h.attr, l.href); - } - var h = D(d), i = f[1] || f[0], j = [ e.uiState, e.uiStateParams || null, e.uiStateOpts || null ], k = "[" + j.map(function(a) { - return a || "null"; - }).join(", ") + "]", l = { - state: null, - params: null, - options: null, - href: null - }; - c.$watch(k, g, !0), g(c.$eval(k)), h.clickable && d.bind("click", E(d, a, b, h, function() { - return l; - })); - } - }; - } - function I(a, b, c) { - return { - restrict: "A", - controller: [ "$scope", "$element", "$attrs", "$timeout", function(b, d, e, f) { - function g(b, c, e) { - var f = a.get(b, C(d)), g = h(b, c); - p.push({ - state: f || { - name: b - }, - params: c, - hash: g - }), q[g] = e; - } - function h(a, c) { - if (!N(a)) throw new Error("state should be a string"); - return O(c) ? a + T(c) : (c = b.$eval(c), O(c) ? a + T(c) : a); - } - function i() { - for (var a = 0; a < p.length; a++) l(p[a].state, p[a].params) ? j(d, q[p[a].hash]) : k(d, q[p[a].hash]), - m(p[a].state, p[a].params) ? j(d, n) : k(d, n); - } - function j(a, b) { - f(function() { - a.addClass(b); - }); - } - function k(a, b) { - a.removeClass(b); - } - function l(b, c) { - return a.includes(b.name, c); - } - function m(b, c) { - return a.is(b.name, c); - } - var n, o, p = [], q = {}; - n = c(e.uiSrefActiveEq || "", !1)(b); - try { - o = b.$eval(e.uiSrefActive); - } catch (r) {} - o = o || c(e.uiSrefActive || "", !1)(b), O(o) && Q(o, function(c, d) { - if (N(c)) { - var e = B(c, a.current.name); - g(e.state, b.$eval(e.paramExpr), d); - } - }), this.$$addStateInfo = function(a, b) { - O(o) && p.length > 0 || (g(a, b, o), i()); - }, b.$on("$stateChangeSuccess", i), i(); - } ] - }; - } - function J(a) { - var b = function(b, c) { - return a.is(b, c); - }; - return b.$stateful = !0, b; - } - function K(a) { - var b = function(b, c, d) { - return a.includes(b, c, d); - }; - return b.$stateful = !0, b; - } - var L = b.isDefined, M = b.isFunction, N = b.isString, O = b.isObject, P = b.isArray, Q = b.forEach, R = b.extend, S = b.copy, T = b.toJson; - b.module("ui.router.util", [ "ng" ]), b.module("ui.router.router", [ "ui.router.util" ]), - b.module("ui.router.state", [ "ui.router.router", "ui.router.util" ]), b.module("ui.router", [ "ui.router.state" ]), - b.module("ui.router.compat", [ "ui.router" ]), p.$inject = [ "$q", "$injector" ], - b.module("ui.router.util").service("$resolve", p), q.$inject = [ "$http", "$templateCache", "$injector" ], - b.module("ui.router.util").service("$templateFactory", q); - var U; - r.prototype.concat = function(a, b) { - var c = { - caseInsensitive: U.caseInsensitive(), - strict: U.strictMode(), - squash: U.defaultSquashPolicy() - }; - return new r(this.sourcePath + a + this.sourceSearch, R(c, b), this); - }, r.prototype.toString = function() { - return this.source; - }, r.prototype.exec = function(a, b) { - function c(a) { - function b(a) { - return a.split("").reverse().join(""); - } - function c(a) { - return a.replace(/\\-/g, "-"); - } - var d = b(a).split(/-(?!\\)/), e = o(d, b); - return o(e, c).reverse(); - } - var d = this.regexp.exec(a); - if (!d) return null; - b = b || {}; - var e, f, g, h = this.parameters(), i = h.length, j = this.segments.length - 1, k = {}; - if (j !== d.length - 1) throw new Error("Unbalanced capture group in route '" + this.source + "'"); - var l, m; - for (e = 0; j > e; e++) { - for (g = h[e], l = this.params[g], m = d[e + 1], f = 0; f < l.replace.length; f++) l.replace[f].from === m && (m = l.replace[f].to); - m && l.array === !0 && (m = c(m)), L(m) && (m = l.type.decode(m)), k[g] = l.value(m); - } - for (;i > e; e++) { - for (g = h[e], k[g] = this.params[g].value(b[g]), l = this.params[g], m = b[g], - f = 0; f < l.replace.length; f++) l.replace[f].from === m && (m = l.replace[f].to); - L(m) && (m = l.type.decode(m)), k[g] = l.value(m); - } - return k; - }, r.prototype.parameters = function(a) { - return L(a) ? this.params[a] || null : this.$$paramNames; - }, r.prototype.validates = function(a) { - return this.params.$$validates(a); - }, r.prototype.format = function(a) { - function b(a) { - return encodeURIComponent(a).replace(/-/g, function(a) { - return "%5C%" + a.charCodeAt(0).toString(16).toUpperCase(); - }); - } - a = a || {}; - var c = this.segments, d = this.parameters(), e = this.params; - if (!this.validates(a)) return null; - var f, g = !1, h = c.length - 1, i = d.length, j = c[0]; - for (f = 0; i > f; f++) { - var k = h > f, l = d[f], m = e[l], n = m.value(a[l]), p = m.isOptional && m.type.equals(m.value(), n), q = !!p && m.squash, r = m.type.encode(n); - if (k) { - var s = c[f + 1], t = f + 1 === h; - if (q === !1) null != r && (j += P(r) ? o(r, b).join("-") : encodeURIComponent(r)), - j += s; else if (q === !0) { - var u = j.match(/\/$/) ? /\/?(.*)/ : /(.*)/; - j += s.match(u)[1]; - } else N(q) && (j += q + s); - t && m.squash === !0 && "/" === j.slice(-1) && (j = j.slice(0, -1)); - } else { - if (null == r || p && q !== !1) continue; - if (P(r) || (r = [ r ]), 0 === r.length) continue; - r = o(r, encodeURIComponent).join("&" + l + "="), j += (g ? "&" : "?") + (l + "=" + r), - g = !0; - } - } - return j; - }, s.prototype.is = function(a, b) { - return !0; - }, s.prototype.encode = function(a, b) { - return a; - }, s.prototype.decode = function(a, b) { - return a; - }, s.prototype.equals = function(a, b) { - return a == b; - }, s.prototype.$subPattern = function() { - var a = this.pattern.toString(); - return a.substr(1, a.length - 2); - }, s.prototype.pattern = /.*/, s.prototype.toString = function() { - return "{Type:" + this.name + "}"; - }, s.prototype.$normalize = function(a) { - return this.is(a) ? a : this.decode(a); - }, s.prototype.$asArray = function(a, b) { - function d(a, b) { - function d(a, b) { - return function() { - return a[b].apply(a, arguments); - }; - } - function e(a) { - return P(a) ? a : L(a) ? [ a ] : []; - } - function f(a) { - switch (a.length) { - case 0: - return c; - - case 1: - return "auto" === b ? a[0] : a; - - default: - return a; - } - } - function g(a) { - return !a; - } - function h(a, b) { - return function(c) { - if (P(c) && 0 === c.length) return c; - c = e(c); - var d = o(c, a); - return b === !0 ? 0 === n(d, g).length : f(d); - }; - } - function i(a) { - return function(b, c) { - var d = e(b), f = e(c); - if (d.length !== f.length) return !1; - for (var g = 0; g < d.length; g++) if (!a(d[g], f[g])) return !1; - return !0; - }; - } - this.encode = h(d(a, "encode")), this.decode = h(d(a, "decode")), this.is = h(d(a, "is"), !0), - this.equals = i(d(a, "equals")), this.pattern = a.pattern, this.$normalize = h(d(a, "$normalize")), - this.name = a.name, this.$arrayMode = b; - } - if (!a) return this; - if ("auto" === a && !b) throw new Error("'auto' array mode is for query parameters only"); - return new d(this, a); - }, b.module("ui.router.util").provider("$urlMatcherFactory", t), b.module("ui.router.util").run([ "$urlMatcherFactory", function(a) {} ]), - u.$inject = [ "$locationProvider", "$urlMatcherFactoryProvider" ], b.module("ui.router.router").provider("$urlRouter", u), - v.$inject = [ "$urlRouterProvider", "$urlMatcherFactoryProvider" ], b.module("ui.router.state").factory("$stateParams", function() { - return {}; - }).provider("$state", v), w.$inject = [], b.module("ui.router.state").provider("$view", w), - b.module("ui.router.state").provider("$uiViewScroll", x); - var V = b.version.major, W = b.version.minor; - y.$inject = [ "$state", "$injector", "$uiViewScroll", "$interpolate" ], z.$inject = [ "$compile", "$controller", "$state", "$interpolate" ], - b.module("ui.router.state").directive("uiView", y), b.module("ui.router.state").directive("uiView", z), - G.$inject = [ "$state", "$timeout" ], H.$inject = [ "$state", "$timeout" ], I.$inject = [ "$state", "$stateParams", "$interpolate" ], - b.module("ui.router.state").directive("uiSref", G).directive("uiSrefActive", I).directive("uiSrefActiveEq", I).directive("uiState", H), - J.$inject = [ "$state" ], K.$inject = [ "$state" ], b.module("ui.router.state").filter("isState", J).filter("includedByState", K); -}(window, window.angular), angular.module("ui.bootstrap", [ "ui.bootstrap.tpls", "ui.bootstrap.collapse", "ui.bootstrap.accordion", "ui.bootstrap.alert", "ui.bootstrap.buttons", "ui.bootstrap.carousel", "ui.bootstrap.dateparser", "ui.bootstrap.position", "ui.bootstrap.datepicker", "ui.bootstrap.dropdown", "ui.bootstrap.stackedMap", "ui.bootstrap.modal", "ui.bootstrap.pagination", "ui.bootstrap.tooltip", "ui.bootstrap.popover", "ui.bootstrap.progressbar", "ui.bootstrap.rating", "ui.bootstrap.tabs", "ui.bootstrap.timepicker", "ui.bootstrap.typeahead" ]), -angular.module("ui.bootstrap.tpls", [ "template/accordion/accordion-group.html", "template/accordion/accordion.html", "template/alert/alert.html", "template/carousel/carousel.html", "template/carousel/slide.html", "template/datepicker/datepicker.html", "template/datepicker/day.html", "template/datepicker/month.html", "template/datepicker/popup.html", "template/datepicker/year.html", "template/modal/backdrop.html", "template/modal/window.html", "template/pagination/pager.html", "template/pagination/pagination.html", "template/tooltip/tooltip-html-popup.html", "template/tooltip/tooltip-popup.html", "template/tooltip/tooltip-template-popup.html", "template/popover/popover-html.html", "template/popover/popover-template.html", "template/popover/popover.html", "template/progressbar/bar.html", "template/progressbar/progress.html", "template/progressbar/progressbar.html", "template/rating/rating.html", "template/tabs/tab.html", "template/tabs/tabset.html", "template/timepicker/timepicker.html", "template/typeahead/typeahead-match.html", "template/typeahead/typeahead-popup.html" ]), -angular.module("ui.bootstrap.collapse", []).directive("uibCollapse", [ "$animate", "$injector", function(a, b) { - var c = b.has("$animateCss") ? b.get("$animateCss") : null; - return { - link: function(b, d, e) { - function f() { - d.removeClass("collapse").addClass("collapsing").attr("aria-expanded", !0).attr("aria-hidden", !1), - c ? c(d, { - addClass: "in", - easing: "ease", - to: { - height: d[0].scrollHeight + "px" - } - }).start()["finally"](g) : a.addClass(d, "in", { - to: { - height: d[0].scrollHeight + "px" - } - }).then(g); - } - function g() { - d.removeClass("collapsing").addClass("collapse").css({ - height: "auto" - }); - } - function h() { - return d.hasClass("collapse") || d.hasClass("in") ? (d.css({ - height: d[0].scrollHeight + "px" - }).removeClass("collapse").addClass("collapsing").attr("aria-expanded", !1).attr("aria-hidden", !0), - void (c ? c(d, { - removeClass: "in", - to: { - height: "0" - } - }).start()["finally"](i) : a.removeClass(d, "in", { - to: { - height: "0" - } - }).then(i))) : i(); - } - function i() { - d.css({ - height: "0" - }), d.removeClass("collapsing").addClass("collapse"); - } - b.$watch(e.uibCollapse, function(a) { - a ? h() : f(); - }); - } - }; -} ]), angular.module("ui.bootstrap.collapse").value("$collapseSuppressWarning", !1).directive("collapse", [ "$animate", "$injector", "$log", "$collapseSuppressWarning", function(a, b, c, d) { - var e = b.has("$animateCss") ? b.get("$animateCss") : null; - return { - link: function(b, f, g) { - function h() { - f.removeClass("collapse").addClass("collapsing").attr("aria-expanded", !0).attr("aria-hidden", !1), - e ? e(f, { - easing: "ease", - to: { - height: f[0].scrollHeight + "px" - } - }).start().done(i) : a.animate(f, {}, { - height: f[0].scrollHeight + "px" - }).then(i); - } - function i() { - f.removeClass("collapsing").addClass("collapse in").css({ - height: "auto" - }); - } - function j() { - return f.hasClass("collapse") || f.hasClass("in") ? (f.css({ - height: f[0].scrollHeight + "px" - }).removeClass("collapse in").addClass("collapsing").attr("aria-expanded", !1).attr("aria-hidden", !0), - void (e ? e(f, { - to: { - height: "0" - } - }).start().done(k) : a.animate(f, {}, { - height: "0" - }).then(k))) : k(); - } - function k() { - f.css({ - height: "0" - }), f.removeClass("collapsing").addClass("collapse"); - } - d || c.warn("collapse is now deprecated. Use uib-collapse instead."), b.$watch(g.collapse, function(a) { - a ? j() : h(); - }); - } - }; -} ]), angular.module("ui.bootstrap.accordion", [ "ui.bootstrap.collapse" ]).constant("uibAccordionConfig", { - closeOthers: !0 -}).controller("UibAccordionController", [ "$scope", "$attrs", "uibAccordionConfig", function(a, b, c) { - this.groups = [], this.closeOthers = function(d) { - var e = angular.isDefined(b.closeOthers) ? a.$eval(b.closeOthers) : c.closeOthers; - e && angular.forEach(this.groups, function(a) { - a !== d && (a.isOpen = !1); - }); - }, this.addGroup = function(a) { - var b = this; - this.groups.push(a), a.$on("$destroy", function(c) { - b.removeGroup(a); - }); - }, this.removeGroup = function(a) { - var b = this.groups.indexOf(a); - b !== -1 && this.groups.splice(b, 1); - }; -} ]).directive("uibAccordion", function() { - return { - controller: "UibAccordionController", - controllerAs: "accordion", - transclude: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/accordion/accordion.html"; - } - }; -}).directive("uibAccordionGroup", function() { - return { - require: "^uibAccordion", - transclude: !0, - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/accordion/accordion-group.html"; - }, - scope: { - heading: "@", - isOpen: "=?", - isDisabled: "=?" - }, - controller: function() { - this.setHeading = function(a) { - this.heading = a; - }; - }, - link: function(a, b, c, d) { - d.addGroup(a), a.openClass = c.openClass || "panel-open", a.panelClass = c.panelClass, - a.$watch("isOpen", function(c) { - b.toggleClass(a.openClass, !!c), c && d.closeOthers(a); - }), a.toggleOpen = function(b) { - a.isDisabled || b && 32 !== b.which || (a.isOpen = !a.isOpen); - }; - } - }; -}).directive("uibAccordionHeading", function() { - return { - transclude: !0, - template: "", - replace: !0, - require: "^uibAccordionGroup", - link: function(a, b, c, d, e) { - d.setHeading(e(a, angular.noop)); - } - }; -}).directive("uibAccordionTransclude", function() { - return { - require: [ "?^uibAccordionGroup", "?^accordionGroup" ], - link: function(a, b, c, d) { - d = d[0] ? d[0] : d[1], a.$watch(function() { - return d[c.uibAccordionTransclude]; - }, function(a) { - a && (b.find("span").html(""), b.find("span").append(a)); - }); - } - }; -}), angular.module("ui.bootstrap.accordion").value("$accordionSuppressWarning", !1).controller("AccordionController", [ "$scope", "$attrs", "$controller", "$log", "$accordionSuppressWarning", function(a, b, c, d, e) { - e || d.warn("AccordionController is now deprecated. Use UibAccordionController instead."), - angular.extend(this, c("UibAccordionController", { - $scope: a, - $attrs: b - })); -} ]).directive("accordion", [ "$log", "$accordionSuppressWarning", function(a, b) { - return { - restrict: "EA", - controller: "AccordionController", - controllerAs: "accordion", - transclude: !0, - replace: !1, - templateUrl: function(a, b) { - return b.templateUrl || "template/accordion/accordion.html"; - }, - link: function() { - b || a.warn("accordion is now deprecated. Use uib-accordion instead."); - } - }; -} ]).directive("accordionGroup", [ "$log", "$accordionSuppressWarning", function(a, b) { - return { - require: "^accordion", - restrict: "EA", - transclude: !0, - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/accordion/accordion-group.html"; - }, - scope: { - heading: "@", - isOpen: "=?", - isDisabled: "=?" - }, - controller: function() { - this.setHeading = function(a) { - this.heading = a; - }; - }, - link: function(c, d, e, f) { - b || a.warn("accordion-group is now deprecated. Use uib-accordion-group instead."), - f.addGroup(c), c.openClass = e.openClass || "panel-open", c.panelClass = e.panelClass, - c.$watch("isOpen", function(a) { - d.toggleClass(c.openClass, !!a), a && f.closeOthers(c); - }), c.toggleOpen = function(a) { - c.isDisabled || a && 32 !== a.which || (c.isOpen = !c.isOpen); - }; - } - }; -} ]).directive("accordionHeading", [ "$log", "$accordionSuppressWarning", function(a, b) { - return { - restrict: "EA", - transclude: !0, - template: "", - replace: !0, - require: "^accordionGroup", - link: function(c, d, e, f, g) { - b || a.warn("accordion-heading is now deprecated. Use uib-accordion-heading instead."), - f.setHeading(g(c, angular.noop)); - } - }; -} ]).directive("accordionTransclude", [ "$log", "$accordionSuppressWarning", function(a, b) { - return { - require: "^accordionGroup", - link: function(c, d, e, f) { - b || a.warn("accordion-transclude is now deprecated. Use uib-accordion-transclude instead."), - c.$watch(function() { - return f[e.accordionTransclude]; - }, function(a) { - a && (d.find("span").html(""), d.find("span").append(a)); - }); - } - }; -} ]), angular.module("ui.bootstrap.alert", []).controller("UibAlertController", [ "$scope", "$attrs", "$interpolate", "$timeout", function(a, b, c, d) { - a.closeable = !!b.close; - var e = angular.isDefined(b.dismissOnTimeout) ? c(b.dismissOnTimeout)(a.$parent) : null; - e && d(function() { - a.close(); - }, parseInt(e, 10)); -} ]).directive("uibAlert", function() { - return { - controller: "UibAlertController", - controllerAs: "alert", - templateUrl: function(a, b) { - return b.templateUrl || "template/alert/alert.html"; - }, - transclude: !0, - replace: !0, - scope: { - type: "@", - close: "&" - } - }; -}), angular.module("ui.bootstrap.alert").value("$alertSuppressWarning", !1).controller("AlertController", [ "$scope", "$attrs", "$controller", "$log", "$alertSuppressWarning", function(a, b, c, d, e) { - e || d.warn("AlertController is now deprecated. Use UibAlertController instead."), - angular.extend(this, c("UibAlertController", { - $scope: a, - $attrs: b - })); -} ]).directive("alert", [ "$log", "$alertSuppressWarning", function(a, b) { - return { - controller: "AlertController", - controllerAs: "alert", - templateUrl: function(a, b) { - return b.templateUrl || "template/alert/alert.html"; - }, - transclude: !0, - replace: !0, - scope: { - type: "@", - close: "&" - }, - link: function() { - b || a.warn("alert is now deprecated. Use uib-alert instead."); - } - }; -} ]), angular.module("ui.bootstrap.buttons", []).constant("uibButtonConfig", { - activeClass: "active", - toggleEvent: "click" -}).controller("UibButtonsController", [ "uibButtonConfig", function(a) { - this.activeClass = a.activeClass || "active", this.toggleEvent = a.toggleEvent || "click"; -} ]).directive("uibBtnRadio", function() { - return { - require: [ "uibBtnRadio", "ngModel" ], - controller: "UibButtonsController", - controllerAs: "buttons", - link: function(a, b, c, d) { - var e = d[0], f = d[1]; - b.find("input").css({ - display: "none" - }), f.$render = function() { - b.toggleClass(e.activeClass, angular.equals(f.$modelValue, a.$eval(c.uibBtnRadio))); - }, b.on(e.toggleEvent, function() { - if (!c.disabled) { - var d = b.hasClass(e.activeClass); - d && !angular.isDefined(c.uncheckable) || a.$apply(function() { - f.$setViewValue(d ? null : a.$eval(c.uibBtnRadio)), f.$render(); - }); - } - }); - } - }; -}).directive("uibBtnCheckbox", function() { - return { - require: [ "uibBtnCheckbox", "ngModel" ], - controller: "UibButtonsController", - controllerAs: "button", - link: function(a, b, c, d) { - function e() { - return g(c.btnCheckboxTrue, !0); - } - function f() { - return g(c.btnCheckboxFalse, !1); - } - function g(b, c) { - return angular.isDefined(b) ? a.$eval(b) : c; - } - var h = d[0], i = d[1]; - b.find("input").css({ - display: "none" - }), i.$render = function() { - b.toggleClass(h.activeClass, angular.equals(i.$modelValue, e())); - }, b.on(h.toggleEvent, function() { - c.disabled || a.$apply(function() { - i.$setViewValue(b.hasClass(h.activeClass) ? f() : e()), i.$render(); - }); - }); - } - }; -}), angular.module("ui.bootstrap.buttons").value("$buttonsSuppressWarning", !1).controller("ButtonsController", [ "$controller", "$log", "$buttonsSuppressWarning", function(a, b, c) { - c || b.warn("ButtonsController is now deprecated. Use UibButtonsController instead."), - angular.extend(this, a("UibButtonsController")); -} ]).directive("btnRadio", [ "$log", "$buttonsSuppressWarning", function(a, b) { - return { - require: [ "btnRadio", "ngModel" ], - controller: "ButtonsController", - controllerAs: "buttons", - link: function(c, d, e, f) { - b || a.warn("btn-radio is now deprecated. Use uib-btn-radio instead."); - var g = f[0], h = f[1]; - d.find("input").css({ - display: "none" - }), h.$render = function() { - d.toggleClass(g.activeClass, angular.equals(h.$modelValue, c.$eval(e.btnRadio))); - }, d.bind(g.toggleEvent, function() { - if (!e.disabled) { - var a = d.hasClass(g.activeClass); - a && !angular.isDefined(e.uncheckable) || c.$apply(function() { - h.$setViewValue(a ? null : c.$eval(e.btnRadio)), h.$render(); - }); - } - }); - } - }; -} ]).directive("btnCheckbox", [ "$document", "$log", "$buttonsSuppressWarning", function(a, b, c) { - return { - require: [ "btnCheckbox", "ngModel" ], - controller: "ButtonsController", - controllerAs: "button", - link: function(d, e, f, g) { - function h() { - return j(f.btnCheckboxTrue, !0); - } - function i() { - return j(f.btnCheckboxFalse, !1); - } - function j(a, b) { - var c = d.$eval(a); - return angular.isDefined(c) ? c : b; - } - c || b.warn("btn-checkbox is now deprecated. Use uib-btn-checkbox instead."); - var k = g[0], l = g[1]; - e.find("input").css({ - display: "none" - }), l.$render = function() { - e.toggleClass(k.activeClass, angular.equals(l.$modelValue, h())); - }, e.bind(k.toggleEvent, function() { - f.disabled || d.$apply(function() { - l.$setViewValue(e.hasClass(k.activeClass) ? i() : h()), l.$render(); - }); - }), e.on("keypress", function(b) { - f.disabled || 32 !== b.which || a[0].activeElement !== e[0] || d.$apply(function() { - l.$setViewValue(e.hasClass(k.activeClass) ? i() : h()), l.$render(); - }); - }); - } - }; -} ]), angular.module("ui.bootstrap.carousel", []).controller("UibCarouselController", [ "$scope", "$element", "$interval", "$animate", function(a, b, c, d) { - function e(b, c, e) { - s || (angular.extend(b, { - direction: e, - active: !0 - }), angular.extend(m.currentSlide || {}, { - direction: e, - active: !1 - }), d.enabled() && !a.noTransition && !a.$currentTransition && b.$element && m.slides.length > 1 && (b.$element.data(q, b.direction), - m.currentSlide && m.currentSlide.$element && m.currentSlide.$element.data(q, b.direction), - a.$currentTransition = !0, o ? d.on("addClass", b.$element, function(b, c) { - "close" === c && (a.$currentTransition = null, d.off("addClass", b)); - }) : b.$element.one("$animate:close", function() { - a.$currentTransition = null; - })), m.currentSlide = b, r = c, g()); - } - function f(a) { - if (angular.isUndefined(n[a].index)) return n[a]; - var b; - n.length; - for (b = 0; b < n.length; ++b) if (n[b].index == a) return n[b]; - } - function g() { - h(); - var b = +a.interval; - !isNaN(b) && b > 0 && (k = c(i, b)); - } - function h() { - k && (c.cancel(k), k = null); - } - function i() { - var b = +a.interval; - l && !isNaN(b) && b > 0 && n.length ? a.next() : a.pause(); - } - function j(b) { - b.length || (a.$currentTransition = null); - } - var k, l, m = this, n = m.slides = a.slides = [], o = angular.version.minor >= 4, p = "uib-noTransition", q = "uib-slideDirection", r = -1; - m.currentSlide = null; - var s = !1; - m.select = a.select = function(b, c) { - var d = a.indexOfSlide(b); - void 0 === c && (c = d > m.getCurrentIndex() ? "next" : "prev"), b && b !== m.currentSlide && !a.$currentTransition && e(b, d, c); - }, a.$on("$destroy", function() { - s = !0; - }), m.getCurrentIndex = function() { - return m.currentSlide && angular.isDefined(m.currentSlide.index) ? +m.currentSlide.index : r; - }, a.indexOfSlide = function(a) { - return angular.isDefined(a.index) ? +a.index : n.indexOf(a); - }, a.next = function() { - var b = (m.getCurrentIndex() + 1) % n.length; - return 0 === b && a.noWrap() ? void a.pause() : m.select(f(b), "next"); - }, a.prev = function() { - var b = m.getCurrentIndex() - 1 < 0 ? n.length - 1 : m.getCurrentIndex() - 1; - return a.noWrap() && b === n.length - 1 ? void a.pause() : m.select(f(b), "prev"); - }, a.isActive = function(a) { - return m.currentSlide === a; - }, a.$watch("interval", g), a.$watchCollection("slides", j), a.$on("$destroy", h), - a.play = function() { - l || (l = !0, g()); - }, a.pause = function() { - a.noPause || (l = !1, h()); - }, m.addSlide = function(b, c) { - b.$element = c, n.push(b), 1 === n.length || b.active ? (m.select(n[n.length - 1]), - 1 === n.length && a.play()) : b.active = !1; - }, m.removeSlide = function(a) { - angular.isDefined(a.index) && n.sort(function(a, b) { - return +a.index > +b.index; - }); - var b = n.indexOf(a); - n.splice(b, 1), n.length > 0 && a.active ? b >= n.length ? m.select(n[b - 1]) : m.select(n[b]) : r > b && r--, - 0 === n.length && (m.currentSlide = null); - }, a.$watch("noTransition", function(a) { - b.data(p, a); - }); -} ]).directive("uibCarousel", [ function() { - return { - transclude: !0, - replace: !0, - controller: "UibCarouselController", - controllerAs: "carousel", - require: "carousel", - templateUrl: function(a, b) { - return b.templateUrl || "template/carousel/carousel.html"; - }, - scope: { - interval: "=", - noTransition: "=", - noPause: "=", - noWrap: "&" - } - }; -} ]).directive("uibSlide", function() { - return { - require: "^uibCarousel", - restrict: "EA", - transclude: !0, - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/carousel/slide.html"; - }, - scope: { - active: "=?", - actual: "=?", - index: "=?" - }, - link: function(a, b, c, d) { - d.addSlide(a, b), a.$on("$destroy", function() { - d.removeSlide(a); - }), a.$watch("active", function(b) { - b && d.select(a); - }); - } - }; -}).animation(".item", [ "$injector", "$animate", function(a, b) { - function c(a, b, c) { - a.removeClass(b), c && c(); - } - var d = "uib-noTransition", e = "uib-slideDirection", f = null; - return a.has("$animateCss") && (f = a.get("$animateCss")), { - beforeAddClass: function(a, g, h) { - if ("active" == g && a.parent() && a.parent().parent() && !a.parent().parent().data(d)) { - var i = !1, j = a.data(e), k = "next" == j ? "left" : "right", l = c.bind(this, a, k + " " + j, h); - return a.addClass(j), f ? f(a, { - addClass: k - }).start().done(l) : b.addClass(a, k).then(function() { - i || l(), h(); - }), function() { - i = !0; - }; - } - h(); - }, - beforeRemoveClass: function(a, g, h) { - if ("active" === g && a.parent() && a.parent().parent() && !a.parent().parent().data(d)) { - var i = !1, j = a.data(e), k = "next" == j ? "left" : "right", l = c.bind(this, a, k, h); - return f ? f(a, { - addClass: k - }).start().done(l) : b.addClass(a, k).then(function() { - i || l(), h(); - }), function() { - i = !0; - }; - } - h(); - } - }; -} ]), angular.module("ui.bootstrap.carousel").value("$carouselSuppressWarning", !1).controller("CarouselController", [ "$scope", "$element", "$controller", "$log", "$carouselSuppressWarning", function(a, b, c, d, e) { - e || d.warn("CarouselController is now deprecated. Use UibCarouselController instead."), - angular.extend(this, c("UibCarouselController", { - $scope: a, - $element: b - })); -} ]).directive("carousel", [ "$log", "$carouselSuppressWarning", function(a, b) { - return { - transclude: !0, - replace: !0, - controller: "CarouselController", - controllerAs: "carousel", - require: "carousel", - templateUrl: function(a, b) { - return b.templateUrl || "template/carousel/carousel.html"; - }, - scope: { - interval: "=", - noTransition: "=", - noPause: "=", - noWrap: "&" - }, - link: function() { - b || a.warn("carousel is now deprecated. Use uib-carousel instead."); - } - }; -} ]).directive("slide", [ "$log", "$carouselSuppressWarning", function(a, b) { - return { - require: "^carousel", - transclude: !0, - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/carousel/slide.html"; - }, - scope: { - active: "=?", - actual: "=?", - index: "=?" - }, - link: function(c, d, e, f) { - b || a.warn("slide is now deprecated. Use uib-slide instead."), f.addSlide(c, d), - c.$on("$destroy", function() { - f.removeSlide(c); - }), c.$watch("active", function(a) { - a && f.select(c); - }); - } - }; -} ]), angular.module("ui.bootstrap.dateparser", []).service("uibDateParser", [ "$log", "$locale", "orderByFilter", function(a, b, c) { - function d(a) { - var b = [], d = a.split(""); - return angular.forEach(g, function(c, e) { - var f = a.indexOf(e); - if (f > -1) { - a = a.split(""), d[f] = "(" + c.regex + ")", a[f] = "$"; - for (var g = f + 1, h = f + e.length; g < h; g++) d[g] = "", a[g] = "$"; - a = a.join(""), b.push({ - index: f, - apply: c.apply - }); - } - }), { - regex: new RegExp("^" + d.join("") + "$"), - map: c(b, "index") - }; - } - function e(a, b, c) { - return !(c < 1) && (1 === b && c > 28 ? 29 === c && (a % 4 === 0 && a % 100 !== 0 || a % 400 === 0) : 3 !== b && 5 !== b && 8 !== b && 10 !== b || c < 31); - } - var f, g, h = /[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g; - this.init = function() { - f = b.id, this.parsers = {}, g = { - yyyy: { - regex: "\\d{4}", - apply: function(a) { - this.year = +a; - } - }, - yy: { - regex: "\\d{2}", - apply: function(a) { - this.year = +a + 2e3; - } - }, - y: { - regex: "\\d{1,4}", - apply: function(a) { - this.year = +a; - } - }, - MMMM: { - regex: b.DATETIME_FORMATS.MONTH.join("|"), - apply: function(a) { - this.month = b.DATETIME_FORMATS.MONTH.indexOf(a); - } - }, - MMM: { - regex: b.DATETIME_FORMATS.SHORTMONTH.join("|"), - apply: function(a) { - this.month = b.DATETIME_FORMATS.SHORTMONTH.indexOf(a); - } - }, - MM: { - regex: "0[1-9]|1[0-2]", - apply: function(a) { - this.month = a - 1; - } - }, - M: { - regex: "[1-9]|1[0-2]", - apply: function(a) { - this.month = a - 1; - } - }, - dd: { - regex: "[0-2][0-9]{1}|3[0-1]{1}", - apply: function(a) { - this.date = +a; - } - }, - d: { - regex: "[1-2]?[0-9]{1}|3[0-1]{1}", - apply: function(a) { - this.date = +a; - } - }, - EEEE: { - regex: b.DATETIME_FORMATS.DAY.join("|") - }, - EEE: { - regex: b.DATETIME_FORMATS.SHORTDAY.join("|") - }, - HH: { - regex: "(?:0|1)[0-9]|2[0-3]", - apply: function(a) { - this.hours = +a; - } - }, - hh: { - regex: "0[0-9]|1[0-2]", - apply: function(a) { - this.hours = +a; - } - }, - H: { - regex: "1?[0-9]|2[0-3]", - apply: function(a) { - this.hours = +a; - } - }, - h: { - regex: "[0-9]|1[0-2]", - apply: function(a) { - this.hours = +a; - } - }, - mm: { - regex: "[0-5][0-9]", - apply: function(a) { - this.minutes = +a; - } - }, - m: { - regex: "[0-9]|[1-5][0-9]", - apply: function(a) { - this.minutes = +a; - } - }, - sss: { - regex: "[0-9][0-9][0-9]", - apply: function(a) { - this.milliseconds = +a; - } - }, - ss: { - regex: "[0-5][0-9]", - apply: function(a) { - this.seconds = +a; - } - }, - s: { - regex: "[0-9]|[1-5][0-9]", - apply: function(a) { - this.seconds = +a; - } - }, - a: { - regex: b.DATETIME_FORMATS.AMPMS.join("|"), - apply: function(a) { - 12 === this.hours && (this.hours = 0), "PM" === a && (this.hours += 12); - } - } - }; - }, this.init(), this.parse = function(c, g, i) { - if (!angular.isString(c) || !g) return c; - g = b.DATETIME_FORMATS[g] || g, g = g.replace(h, "\\$&"), b.id !== f && this.init(), - this.parsers[g] || (this.parsers[g] = d(g)); - var j = this.parsers[g], k = j.regex, l = j.map, m = c.match(k); - if (m && m.length) { - var n, o; - angular.isDate(i) && !isNaN(i.getTime()) ? n = { - year: i.getFullYear(), - month: i.getMonth(), - date: i.getDate(), - hours: i.getHours(), - minutes: i.getMinutes(), - seconds: i.getSeconds(), - milliseconds: i.getMilliseconds() - } : (i && a.warn("dateparser:", "baseDate is not a valid date"), n = { - year: 1900, - month: 0, - date: 1, - hours: 0, - minutes: 0, - seconds: 0, - milliseconds: 0 - }); - for (var p = 1, q = m.length; p < q; p++) { - var r = l[p - 1]; - r.apply && r.apply.call(n, m[p]); - } - return e(n.year, n.month, n.date) && (angular.isDate(i) && !isNaN(i.getTime()) ? (o = new Date(i), - o.setFullYear(n.year, n.month, n.date, n.hours, n.minutes, n.seconds, n.milliseconds || 0)) : o = new Date(n.year, n.month, n.date, n.hours, n.minutes, n.seconds, n.milliseconds || 0)), - o; - } - }; -} ]), angular.module("ui.bootstrap.dateparser").value("$dateParserSuppressWarning", !1).service("dateParser", [ "$log", "$dateParserSuppressWarning", "uibDateParser", function(a, b, c) { - b || a.warn("dateParser is now deprecated. Use uibDateParser instead."), angular.extend(this, c); -} ]), angular.module("ui.bootstrap.position", []).factory("$uibPosition", [ "$document", "$window", function(a, b) { - function c(a, c) { - return a.currentStyle ? a.currentStyle[c] : b.getComputedStyle ? b.getComputedStyle(a)[c] : a.style[c]; - } - function d(a) { - return "static" === (c(a, "position") || "static"); - } - var e = function(b) { - for (var c = a[0], e = b.offsetParent || c; e && e !== c && d(e); ) e = e.offsetParent; - return e || c; - }; - return { - position: function(b) { - var c = this.offset(b), d = { - top: 0, - left: 0 - }, f = e(b[0]); - f != a[0] && (d = this.offset(angular.element(f)), d.top += f.clientTop - f.scrollTop, - d.left += f.clientLeft - f.scrollLeft); - var g = b[0].getBoundingClientRect(); - return { - width: g.width || b.prop("offsetWidth"), - height: g.height || b.prop("offsetHeight"), - top: c.top - d.top, - left: c.left - d.left - }; - }, - offset: function(c) { - var d = c[0].getBoundingClientRect(); - return { - width: d.width || c.prop("offsetWidth"), - height: d.height || c.prop("offsetHeight"), - top: d.top + (b.pageYOffset || a[0].documentElement.scrollTop), - left: d.left + (b.pageXOffset || a[0].documentElement.scrollLeft) - }; - }, - positionElements: function(a, b, c, d) { - var e, f, g, h, i = c.split("-"), j = i[0], k = i[1] || "center"; - e = d ? this.offset(a) : this.position(a), f = b.prop("offsetWidth"), g = b.prop("offsetHeight"); - var l = { - center: function() { - return e.left + e.width / 2 - f / 2; - }, - left: function() { - return e.left; - }, - right: function() { - return e.left + e.width; - } - }, m = { - center: function() { - return e.top + e.height / 2 - g / 2; - }, - top: function() { - return e.top; - }, - bottom: function() { - return e.top + e.height; - } - }; - switch (j) { - case "right": - h = { - top: m[k](), - left: l[j]() - }; - break; - - case "left": - h = { - top: m[k](), - left: e.left - f - }; - break; - - case "bottom": - h = { - top: m[j](), - left: l[k]() - }; - break; - - default: - h = { - top: e.top - g, - left: l[k]() - }; - } - return h; - } - }; -} ]), angular.module("ui.bootstrap.position").value("$positionSuppressWarning", !1).service("$position", [ "$log", "$positionSuppressWarning", "$uibPosition", function(a, b, c) { - b || a.warn("$position is now deprecated. Use $uibPosition instead."), angular.extend(this, c); -} ]), angular.module("ui.bootstrap.datepicker", [ "ui.bootstrap.dateparser", "ui.bootstrap.position" ]).value("$datepickerSuppressError", !1).constant("uibDatepickerConfig", { - formatDay: "dd", - formatMonth: "MMMM", - formatYear: "yyyy", - formatDayHeader: "EEE", - formatDayTitle: "MMMM yyyy", - formatMonthTitle: "yyyy", - datepickerMode: "day", - minMode: "day", - maxMode: "year", - showWeeks: !0, - startingDay: 0, - yearRange: 20, - minDate: null, - maxDate: null, - shortcutPropagation: !1 -}).controller("UibDatepickerController", [ "$scope", "$attrs", "$parse", "$interpolate", "$log", "dateFilter", "uibDatepickerConfig", "$datepickerSuppressError", function(a, b, c, d, e, f, g, h) { - var i = this, j = { - $setViewValue: angular.noop - }; - this.modes = [ "day", "month", "year" ], angular.forEach([ "formatDay", "formatMonth", "formatYear", "formatDayHeader", "formatDayTitle", "formatMonthTitle", "showWeeks", "startingDay", "yearRange", "shortcutPropagation" ], function(c, e) { - i[c] = angular.isDefined(b[c]) ? e < 6 ? d(b[c])(a.$parent) : a.$parent.$eval(b[c]) : g[c]; - }), angular.forEach([ "minDate", "maxDate" ], function(d) { - b[d] ? a.$parent.$watch(c(b[d]), function(a) { - i[d] = a ? new Date(a) : null, i.refreshView(); - }) : i[d] = g[d] ? new Date(g[d]) : null; - }), angular.forEach([ "minMode", "maxMode" ], function(d) { - b[d] ? a.$parent.$watch(c(b[d]), function(c) { - i[d] = angular.isDefined(c) ? c : b[d], a[d] = i[d], ("minMode" == d && i.modes.indexOf(a.datepickerMode) < i.modes.indexOf(i[d]) || "maxMode" == d && i.modes.indexOf(a.datepickerMode) > i.modes.indexOf(i[d])) && (a.datepickerMode = i[d]); - }) : (i[d] = g[d] || null, a[d] = i[d]); - }), a.datepickerMode = a.datepickerMode || g.datepickerMode, a.uniqueId = "datepicker-" + a.$id + "-" + Math.floor(1e4 * Math.random()), - angular.isDefined(b.initDate) ? (this.activeDate = a.$parent.$eval(b.initDate) || new Date(), - a.$parent.$watch(b.initDate, function(a) { - a && (j.$isEmpty(j.$modelValue) || j.$invalid) && (i.activeDate = a, i.refreshView()); - })) : this.activeDate = new Date(), a.isActive = function(b) { - return 0 === i.compare(b.date, i.activeDate) && (a.activeDateId = b.uid, !0); - }, this.init = function(a) { - j = a, j.$render = function() { - i.render(); - }; - }, this.render = function() { - if (j.$viewValue) { - var a = new Date(j.$viewValue), b = !isNaN(a); - b ? this.activeDate = a : h || e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'); - } - this.refreshView(); - }, this.refreshView = function() { - if (this.element) { - this._refreshView(); - var a = j.$viewValue ? new Date(j.$viewValue) : null; - j.$setValidity("dateDisabled", !a || this.element && !this.isDisabled(a)); - } - }, this.createDateObject = function(a, b) { - var c = j.$viewValue ? new Date(j.$viewValue) : null; - return { - date: a, - label: f(a, b), - selected: c && 0 === this.compare(a, c), - disabled: this.isDisabled(a), - current: 0 === this.compare(a, new Date()), - customClass: this.customClass(a) - }; - }, this.isDisabled = function(c) { - return this.minDate && this.compare(c, this.minDate) < 0 || this.maxDate && this.compare(c, this.maxDate) > 0 || b.dateDisabled && a.dateDisabled({ - date: c, - mode: a.datepickerMode - }); - }, this.customClass = function(b) { - return a.customClass({ - date: b, - mode: a.datepickerMode - }); - }, this.split = function(a, b) { - for (var c = []; a.length > 0; ) c.push(a.splice(0, b)); - return c; - }, a.select = function(b) { - if (a.datepickerMode === i.minMode) { - var c = j.$viewValue ? new Date(j.$viewValue) : new Date(0, 0, 0, 0, 0, 0, 0); - c.setFullYear(b.getFullYear(), b.getMonth(), b.getDate()), j.$setViewValue(c), j.$render(); - } else i.activeDate = b, a.datepickerMode = i.modes[i.modes.indexOf(a.datepickerMode) - 1]; - }, a.move = function(a) { - var b = i.activeDate.getFullYear() + a * (i.step.years || 0), c = i.activeDate.getMonth() + a * (i.step.months || 0); - i.activeDate.setFullYear(b, c, 1), i.refreshView(); - }, a.toggleMode = function(b) { - b = b || 1, a.datepickerMode === i.maxMode && 1 === b || a.datepickerMode === i.minMode && b === -1 || (a.datepickerMode = i.modes[i.modes.indexOf(a.datepickerMode) + b]); - }, a.keys = { - 13: "enter", - 32: "space", - 33: "pageup", - 34: "pagedown", - 35: "end", - 36: "home", - 37: "left", - 38: "up", - 39: "right", - 40: "down" - }; - var k = function() { - i.element[0].focus(); - }; - a.$on("uib:datepicker.focus", k), a.keydown = function(b) { - var c = a.keys[b.which]; - if (c && !b.shiftKey && !b.altKey) if (b.preventDefault(), i.shortcutPropagation || b.stopPropagation(), - "enter" === c || "space" === c) { - if (i.isDisabled(i.activeDate)) return; - a.select(i.activeDate); - } else !b.ctrlKey || "up" !== c && "down" !== c ? (i.handleKeyDown(c, b), i.refreshView()) : a.toggleMode("up" === c ? 1 : -1); - }; -} ]).controller("UibDaypickerController", [ "$scope", "$element", "dateFilter", function(a, b, c) { - function d(a, b) { - return 1 !== b || a % 4 !== 0 || a % 100 === 0 && a % 400 !== 0 ? f[b] : 29; - } - function e(a) { - var b = new Date(a); - b.setDate(b.getDate() + 4 - (b.getDay() || 7)); - var c = b.getTime(); - return b.setMonth(0), b.setDate(1), Math.floor(Math.round((c - b) / 864e5) / 7) + 1; - } - var f = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; - this.step = { - months: 1 - }, this.element = b, this.init = function(b) { - angular.extend(b, this), a.showWeeks = b.showWeeks, b.refreshView(); - }, this.getDates = function(a, b) { - for (var c, d = new Array(b), e = new Date(a), f = 0; f < b; ) c = new Date(e), - d[f++] = c, e.setDate(e.getDate() + 1); - return d; - }, this._refreshView = function() { - var b = this.activeDate.getFullYear(), d = this.activeDate.getMonth(), f = new Date(this.activeDate); - f.setFullYear(b, d, 1); - var g = this.startingDay - f.getDay(), h = g > 0 ? 7 - g : -g, i = new Date(f); - h > 0 && i.setDate(-h + 1); - for (var j = this.getDates(i, 42), k = 0; k < 42; k++) j[k] = angular.extend(this.createDateObject(j[k], this.formatDay), { - secondary: j[k].getMonth() !== d, - uid: a.uniqueId + "-" + k - }); - a.labels = new Array(7); - for (var l = 0; l < 7; l++) a.labels[l] = { - abbr: c(j[l].date, this.formatDayHeader), - full: c(j[l].date, "EEEE") - }; - if (a.title = c(this.activeDate, this.formatDayTitle), a.rows = this.split(j, 7), - a.showWeeks) { - a.weekNumbers = []; - for (var m = (11 - this.startingDay) % 7, n = a.rows.length, o = 0; o < n; o++) a.weekNumbers.push(e(a.rows[o][m].date)); - } - }, this.compare = function(a, b) { - return new Date(a.getFullYear(), a.getMonth(), a.getDate()) - new Date(b.getFullYear(), b.getMonth(), b.getDate()); - }, this.handleKeyDown = function(a, b) { - var c = this.activeDate.getDate(); - if ("left" === a) c -= 1; else if ("up" === a) c -= 7; else if ("right" === a) c += 1; else if ("down" === a) c += 7; else if ("pageup" === a || "pagedown" === a) { - var e = this.activeDate.getMonth() + ("pageup" === a ? -1 : 1); - this.activeDate.setMonth(e, 1), c = Math.min(d(this.activeDate.getFullYear(), this.activeDate.getMonth()), c); - } else "home" === a ? c = 1 : "end" === a && (c = d(this.activeDate.getFullYear(), this.activeDate.getMonth())); - this.activeDate.setDate(c); - }; -} ]).controller("UibMonthpickerController", [ "$scope", "$element", "dateFilter", function(a, b, c) { - this.step = { - years: 1 - }, this.element = b, this.init = function(a) { - angular.extend(a, this), a.refreshView(); - }, this._refreshView = function() { - for (var b, d = new Array(12), e = this.activeDate.getFullYear(), f = 0; f < 12; f++) b = new Date(this.activeDate), - b.setFullYear(e, f, 1), d[f] = angular.extend(this.createDateObject(b, this.formatMonth), { - uid: a.uniqueId + "-" + f - }); - a.title = c(this.activeDate, this.formatMonthTitle), a.rows = this.split(d, 3); - }, this.compare = function(a, b) { - return new Date(a.getFullYear(), a.getMonth()) - new Date(b.getFullYear(), b.getMonth()); - }, this.handleKeyDown = function(a, b) { - var c = this.activeDate.getMonth(); - if ("left" === a) c -= 1; else if ("up" === a) c -= 3; else if ("right" === a) c += 1; else if ("down" === a) c += 3; else if ("pageup" === a || "pagedown" === a) { - var d = this.activeDate.getFullYear() + ("pageup" === a ? -1 : 1); - this.activeDate.setFullYear(d); - } else "home" === a ? c = 0 : "end" === a && (c = 11); - this.activeDate.setMonth(c); - }; -} ]).controller("UibYearpickerController", [ "$scope", "$element", "dateFilter", function(a, b, c) { - function d(a) { - return parseInt((a - 1) / e, 10) * e + 1; - } - var e; - this.element = b, this.yearpickerInit = function() { - e = this.yearRange, this.step = { - years: e - }; - }, this._refreshView = function() { - for (var b, c = new Array(e), f = 0, g = d(this.activeDate.getFullYear()); f < e; f++) b = new Date(this.activeDate), - b.setFullYear(g + f, 0, 1), c[f] = angular.extend(this.createDateObject(b, this.formatYear), { - uid: a.uniqueId + "-" + f - }); - a.title = [ c[0].label, c[e - 1].label ].join(" - "), a.rows = this.split(c, 5); - }, this.compare = function(a, b) { - return a.getFullYear() - b.getFullYear(); - }, this.handleKeyDown = function(a, b) { - var c = this.activeDate.getFullYear(); - "left" === a ? c -= 1 : "up" === a ? c -= 5 : "right" === a ? c += 1 : "down" === a ? c += 5 : "pageup" === a || "pagedown" === a ? c += ("pageup" === a ? -1 : 1) * this.step.years : "home" === a ? c = d(this.activeDate.getFullYear()) : "end" === a && (c = d(this.activeDate.getFullYear()) + e - 1), - this.activeDate.setFullYear(c); - }; -} ]).directive("uibDatepicker", function() { - return { - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/datepicker.html"; - }, - scope: { - datepickerMode: "=?", - dateDisabled: "&", - customClass: "&", - shortcutPropagation: "&?" - }, - require: [ "uibDatepicker", "^ngModel" ], - controller: "UibDatepickerController", - controllerAs: "datepicker", - link: function(a, b, c, d) { - var e = d[0], f = d[1]; - e.init(f); - } - }; -}).directive("uibDaypicker", function() { - return { - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/day.html"; - }, - require: [ "^?uibDatepicker", "uibDaypicker", "^?datepicker" ], - controller: "UibDaypickerController", - link: function(a, b, c, d) { - var e = d[0] || d[2], f = d[1]; - f.init(e); - } - }; -}).directive("uibMonthpicker", function() { - return { - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/month.html"; - }, - require: [ "^?uibDatepicker", "uibMonthpicker", "^?datepicker" ], - controller: "UibMonthpickerController", - link: function(a, b, c, d) { - var e = d[0] || d[2], f = d[1]; - f.init(e); - } - }; -}).directive("uibYearpicker", function() { - return { - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/year.html"; - }, - require: [ "^?uibDatepicker", "uibYearpicker", "^?datepicker" ], - controller: "UibYearpickerController", - link: function(a, b, c, d) { - var e = d[0] || d[2]; - angular.extend(e, d[1]), e.yearpickerInit(), e.refreshView(); - } - }; -}).constant("uibDatepickerPopupConfig", { - datepickerPopup: "yyyy-MM-dd", - datepickerPopupTemplateUrl: "template/datepicker/popup.html", - datepickerTemplateUrl: "template/datepicker/datepicker.html", - html5Types: { - date: "yyyy-MM-dd", - "datetime-local": "yyyy-MM-ddTHH:mm:ss.sss", - month: "yyyy-MM" - }, - currentText: "Today", - clearText: "Clear", - closeText: "Done", - closeOnDateSelection: !0, - appendToBody: !1, - showButtonBar: !0, - onOpenFocus: !0 -}).controller("UibDatepickerPopupController", [ "$scope", "$element", "$attrs", "$compile", "$parse", "$document", "$rootScope", "$uibPosition", "dateFilter", "uibDateParser", "uibDatepickerPopupConfig", "$timeout", function(a, b, c, d, e, f, g, h, i, j, k, l) { - function m(a) { - return a.replace(/([A-Z])/g, function(a) { - return "-" + a.toLowerCase(); - }); - } - function n(b) { - angular.isNumber(b) && (b = new Date(b)); - { - if (!b) return null; - if (angular.isDate(b) && !isNaN(b)) return b; - if (angular.isString(b)) { - var c = j.parse(b, r, a.date); - return isNaN(c) ? void 0 : c; - } - } - } - function o(a, b) { - var d = a || b; - if (!c.ngRequired && !d) return !0; - if (angular.isNumber(d) && (d = new Date(d)), d) { - if (angular.isDate(d) && !isNaN(d)) return !0; - if (angular.isString(d)) { - var e = j.parse(d, r); - return !isNaN(e); - } - return !1; - } - return !0; - } - function p(c) { - var d = A[0], e = b[0].contains(c.target), f = void 0 !== d.contains && d.contains(c.target); - !a.isOpen || e || f || a.$apply(function() { - a.isOpen = !1; - }); - } - function q(c) { - 27 === c.which && a.isOpen ? (c.preventDefault(), c.stopPropagation(), a.$apply(function() { - a.isOpen = !1; - }), b[0].focus()) : 40 !== c.which || a.isOpen || (c.preventDefault(), c.stopPropagation(), - a.$apply(function() { - a.isOpen = !0; - })); - } - var r, s, t, u, v, w, x, y, z, A, B = {}, C = !1; - a.watchData = {}, this.init = function(h) { - if (z = h, s = angular.isDefined(c.closeOnDateSelection) ? a.$parent.$eval(c.closeOnDateSelection) : k.closeOnDateSelection, - t = angular.isDefined(c.datepickerAppendToBody) ? a.$parent.$eval(c.datepickerAppendToBody) : k.appendToBody, - u = angular.isDefined(c.onOpenFocus) ? a.$parent.$eval(c.onOpenFocus) : k.onOpenFocus, - v = angular.isDefined(c.datepickerPopupTemplateUrl) ? c.datepickerPopupTemplateUrl : k.datepickerPopupTemplateUrl, - w = angular.isDefined(c.datepickerTemplateUrl) ? c.datepickerTemplateUrl : k.datepickerTemplateUrl, - a.showButtonBar = angular.isDefined(c.showButtonBar) ? a.$parent.$eval(c.showButtonBar) : k.showButtonBar, - k.html5Types[c.type] ? (r = k.html5Types[c.type], C = !0) : (r = c.datepickerPopup || c.uibDatepickerPopup || k.datepickerPopup, - c.$observe("uibDatepickerPopup", function(a, b) { - var c = a || k.datepickerPopup; - if (c !== r && (r = c, z.$modelValue = null, !r)) throw new Error("uibDatepickerPopup must have a date format specified."); - })), !r) throw new Error("uibDatepickerPopup must have a date format specified."); - if (C && c.datepickerPopup) throw new Error("HTML5 date input types do not support custom formats."); - if (x = angular.element("
    "), - x.attr({ - "ng-model": "date", - "ng-change": "dateSelection(date)", - "template-url": v - }), y = angular.element(x.children()[0]), y.attr("template-url", w), C && "month" === c.type && (y.attr("datepicker-mode", '"month"'), - y.attr("min-mode", "month")), c.datepickerOptions) { - var l = a.$parent.$eval(c.datepickerOptions); - l && l.initDate && (a.initDate = l.initDate, y.attr("init-date", "initDate"), delete l.initDate), - angular.forEach(l, function(a, b) { - y.attr(m(b), a); - }); - } - angular.forEach([ "minMode", "maxMode", "minDate", "maxDate", "datepickerMode", "initDate", "shortcutPropagation" ], function(b) { - if (c[b]) { - var d = e(c[b]); - if (a.$parent.$watch(d, function(c) { - a.watchData[b] = c, "minDate" !== b && "maxDate" !== b || (B[b] = new Date(c)); - }), y.attr(m(b), "watchData." + b), "datepickerMode" === b) { - var f = d.assign; - a.$watch("watchData." + b, function(b, c) { - angular.isFunction(f) && b !== c && f(a.$parent, b); - }); - } - } - }), c.dateDisabled && y.attr("date-disabled", "dateDisabled({ date: date, mode: mode })"), - c.showWeeks && y.attr("show-weeks", c.showWeeks), c.customClass && y.attr("custom-class", "customClass({ date: date, mode: mode })"), - C ? z.$formatters.push(function(b) { - return a.date = b, b; - }) : (z.$$parserName = "date", z.$validators.date = o, z.$parsers.unshift(n), z.$formatters.push(function(b) { - return a.date = b, z.$isEmpty(b) ? b : i(b, r); - })), z.$viewChangeListeners.push(function() { - a.date = j.parse(z.$viewValue, r, a.date); - }), b.bind("keydown", q), A = d(x)(a), x.remove(), t ? f.find("body").append(A) : b.after(A), - a.$on("$destroy", function() { - a.isOpen === !0 && (g.$$phase || a.$apply(function() { - a.isOpen = !1; - })), A.remove(), b.unbind("keydown", q), f.unbind("click", p); - }); - }, a.getText = function(b) { - return a[b + "Text"] || k[b + "Text"]; - }, a.isDisabled = function(b) { - return "today" === b && (b = new Date()), a.watchData.minDate && a.compare(b, B.minDate) < 0 || a.watchData.maxDate && a.compare(b, B.maxDate) > 0; - }, a.compare = function(a, b) { - return new Date(a.getFullYear(), a.getMonth(), a.getDate()) - new Date(b.getFullYear(), b.getMonth(), b.getDate()); - }, a.dateSelection = function(c) { - angular.isDefined(c) && (a.date = c); - var d = a.date ? i(a.date, r) : null; - b.val(d), z.$setViewValue(d), s && (a.isOpen = !1, b[0].focus()); - }, a.keydown = function(c) { - 27 === c.which && (a.isOpen = !1, b[0].focus()); - }, a.select = function(b) { - if ("today" === b) { - var c = new Date(); - angular.isDate(a.date) ? (b = new Date(a.date), b.setFullYear(c.getFullYear(), c.getMonth(), c.getDate())) : b = new Date(c.setHours(0, 0, 0, 0)); - } - a.dateSelection(b); - }, a.close = function() { - a.isOpen = !1, b[0].focus(); - }, a.$watch("isOpen", function(c) { - c ? (a.position = t ? h.offset(b) : h.position(b), a.position.top = a.position.top + b.prop("offsetHeight"), - l(function() { - u && a.$broadcast("uib:datepicker.focus"), f.bind("click", p); - }, 0, !1)) : f.unbind("click", p); - }); -} ]).directive("uibDatepickerPopup", function() { - return { - require: [ "ngModel", "uibDatepickerPopup" ], - controller: "UibDatepickerPopupController", - scope: { - isOpen: "=?", - currentText: "@", - clearText: "@", - closeText: "@", - dateDisabled: "&", - customClass: "&" - }, - link: function(a, b, c, d) { - var e = d[0], f = d[1]; - f.init(e); - } - }; -}).directive("uibDatepickerPopupWrap", function() { - return { - replace: !0, - transclude: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/popup.html"; - } - }; -}), angular.module("ui.bootstrap.datepicker").value("$datepickerSuppressWarning", !1).controller("DatepickerController", [ "$scope", "$attrs", "$parse", "$interpolate", "$log", "dateFilter", "uibDatepickerConfig", "$datepickerSuppressError", "$datepickerSuppressWarning", function(a, b, c, d, e, f, g, h, i) { - i || e.warn("DatepickerController is now deprecated. Use UibDatepickerController instead."); - var j = this, k = { - $setViewValue: angular.noop - }; - this.modes = [ "day", "month", "year" ], angular.forEach([ "formatDay", "formatMonth", "formatYear", "formatDayHeader", "formatDayTitle", "formatMonthTitle", "showWeeks", "startingDay", "yearRange", "shortcutPropagation" ], function(c, e) { - j[c] = angular.isDefined(b[c]) ? e < 6 ? d(b[c])(a.$parent) : a.$parent.$eval(b[c]) : g[c]; - }), angular.forEach([ "minDate", "maxDate" ], function(d) { - b[d] ? a.$parent.$watch(c(b[d]), function(a) { - j[d] = a ? new Date(a) : null, j.refreshView(); - }) : j[d] = g[d] ? new Date(g[d]) : null; - }), angular.forEach([ "minMode", "maxMode" ], function(d) { - b[d] ? a.$parent.$watch(c(b[d]), function(c) { - j[d] = angular.isDefined(c) ? c : b[d], a[d] = j[d], ("minMode" == d && j.modes.indexOf(a.datepickerMode) < j.modes.indexOf(j[d]) || "maxMode" == d && j.modes.indexOf(a.datepickerMode) > j.modes.indexOf(j[d])) && (a.datepickerMode = j[d]); - }) : (j[d] = g[d] || null, a[d] = j[d]); - }), a.datepickerMode = a.datepickerMode || g.datepickerMode, a.uniqueId = "datepicker-" + a.$id + "-" + Math.floor(1e4 * Math.random()), - angular.isDefined(b.initDate) ? (this.activeDate = a.$parent.$eval(b.initDate) || new Date(), - a.$parent.$watch(b.initDate, function(a) { - a && (k.$isEmpty(k.$modelValue) || k.$invalid) && (j.activeDate = a, j.refreshView()); - })) : this.activeDate = new Date(), a.isActive = function(b) { - return 0 === j.compare(b.date, j.activeDate) && (a.activeDateId = b.uid, !0); - }, this.init = function(a) { - k = a, k.$render = function() { - j.render(); - }; - }, this.render = function() { - if (k.$viewValue) { - var a = new Date(k.$viewValue), b = !isNaN(a); - b ? this.activeDate = a : h || e.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'); - } - this.refreshView(); - }, this.refreshView = function() { - if (this.element) { - this._refreshView(); - var a = k.$viewValue ? new Date(k.$viewValue) : null; - k.$setValidity("dateDisabled", !a || this.element && !this.isDisabled(a)); - } - }, this.createDateObject = function(a, b) { - var c = k.$viewValue ? new Date(k.$viewValue) : null; - return { - date: a, - label: f(a, b), - selected: c && 0 === this.compare(a, c), - disabled: this.isDisabled(a), - current: 0 === this.compare(a, new Date()), - customClass: this.customClass(a) - }; - }, this.isDisabled = function(c) { - return this.minDate && this.compare(c, this.minDate) < 0 || this.maxDate && this.compare(c, this.maxDate) > 0 || b.dateDisabled && a.dateDisabled({ - date: c, - mode: a.datepickerMode - }); - }, this.customClass = function(b) { - return a.customClass({ - date: b, - mode: a.datepickerMode - }); - }, this.split = function(a, b) { - for (var c = []; a.length > 0; ) c.push(a.splice(0, b)); - return c; - }, this.fixTimeZone = function(a) { - var b = a.getHours(); - a.setHours(23 === b ? b + 2 : 0); - }, a.select = function(b) { - if (a.datepickerMode === j.minMode) { - var c = k.$viewValue ? new Date(k.$viewValue) : new Date(0, 0, 0, 0, 0, 0, 0); - c.setFullYear(b.getFullYear(), b.getMonth(), b.getDate()), k.$setViewValue(c), k.$render(); - } else j.activeDate = b, a.datepickerMode = j.modes[j.modes.indexOf(a.datepickerMode) - 1]; - }, a.move = function(a) { - var b = j.activeDate.getFullYear() + a * (j.step.years || 0), c = j.activeDate.getMonth() + a * (j.step.months || 0); - j.activeDate.setFullYear(b, c, 1), j.refreshView(); - }, a.toggleMode = function(b) { - b = b || 1, a.datepickerMode === j.maxMode && 1 === b || a.datepickerMode === j.minMode && b === -1 || (a.datepickerMode = j.modes[j.modes.indexOf(a.datepickerMode) + b]); - }, a.keys = { - 13: "enter", - 32: "space", - 33: "pageup", - 34: "pagedown", - 35: "end", - 36: "home", - 37: "left", - 38: "up", - 39: "right", - 40: "down" - }; - var l = function() { - j.element[0].focus(); - }; - a.$on("uib:datepicker.focus", l), a.keydown = function(b) { - var c = a.keys[b.which]; - if (c && !b.shiftKey && !b.altKey) if (b.preventDefault(), j.shortcutPropagation || b.stopPropagation(), - "enter" === c || "space" === c) { - if (j.isDisabled(j.activeDate)) return; - a.select(j.activeDate); - } else !b.ctrlKey || "up" !== c && "down" !== c ? (j.handleKeyDown(c, b), j.refreshView()) : a.toggleMode("up" === c ? 1 : -1); - }; -} ]).directive("datepicker", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - replace: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/datepicker.html"; - }, - scope: { - datepickerMode: "=?", - dateDisabled: "&", - customClass: "&", - shortcutPropagation: "&?" - }, - require: [ "datepicker", "^ngModel" ], - controller: "DatepickerController", - controllerAs: "datepicker", - link: function(c, d, e, f) { - b || a.warn("datepicker is now deprecated. Use uib-datepicker instead."); - var g = f[0], h = f[1]; - g.init(h); - } - }; -} ]).directive("daypicker", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - replace: !0, - templateUrl: "template/datepicker/day.html", - require: [ "^datepicker", "daypicker" ], - controller: "UibDaypickerController", - link: function(c, d, e, f) { - b || a.warn("daypicker is now deprecated. Use uib-daypicker instead."); - var g = f[0], h = f[1]; - h.init(g); - } - }; -} ]).directive("monthpicker", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - replace: !0, - templateUrl: "template/datepicker/month.html", - require: [ "^datepicker", "monthpicker" ], - controller: "UibMonthpickerController", - link: function(c, d, e, f) { - b || a.warn("monthpicker is now deprecated. Use uib-monthpicker instead."); - var g = f[0], h = f[1]; - h.init(g); - } - }; -} ]).directive("yearpicker", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - replace: !0, - templateUrl: "template/datepicker/year.html", - require: [ "^datepicker", "yearpicker" ], - controller: "UibYearpickerController", - link: function(c, d, e, f) { - b || a.warn("yearpicker is now deprecated. Use uib-yearpicker instead."); - var g = f[0]; - angular.extend(g, f[1]), g.yearpickerInit(), g.refreshView(); - } - }; -} ]).directive("datepickerPopup", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - require: [ "ngModel", "datepickerPopup" ], - controller: "UibDatepickerPopupController", - scope: { - isOpen: "=?", - currentText: "@", - clearText: "@", - closeText: "@", - dateDisabled: "&", - customClass: "&" - }, - link: function(c, d, e, f) { - b || a.warn("datepicker-popup is now deprecated. Use uib-datepicker-popup instead."); - var g = f[0], h = f[1]; - h.init(g); - } - }; -} ]).directive("datepickerPopupWrap", [ "$log", "$datepickerSuppressWarning", function(a, b) { - return { - replace: !0, - transclude: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/datepicker/popup.html"; - }, - link: function() { - b || a.warn("datepicker-popup-wrap is now deprecated. Use uib-datepicker-popup-wrap instead."); - } - }; -} ]), angular.module("ui.bootstrap.dropdown", [ "ui.bootstrap.position" ]).constant("uibDropdownConfig", { - openClass: "open" -}).service("uibDropdownService", [ "$document", "$rootScope", function(a, b) { - var c = null; - this.open = function(b) { - c || (a.bind("click", d), a.bind("keydown", e)), c && c !== b && (c.isOpen = !1), - c = b; - }, this.close = function(b) { - c === b && (c = null, a.unbind("click", d), a.unbind("keydown", e)); - }; - var d = function(a) { - if (c && (!a || "disabled" !== c.getAutoClose())) { - var d = c.getToggleElement(); - if (!(a && d && d[0].contains(a.target))) { - var e = c.getDropdownElement(); - a && "outsideClick" === c.getAutoClose() && e && e[0].contains(a.target) || (c.isOpen = !1, - b.$$phase || c.$apply()); - } - } - }, e = function(a) { - 27 === a.which ? (c.focusToggleElement(), d()) : c.isKeynavEnabled() && /(38|40)/.test(a.which) && c.isOpen && (a.preventDefault(), - a.stopPropagation(), c.focusDropdownEntry(a.which)); - }; -} ]).controller("UibDropdownController", [ "$scope", "$element", "$attrs", "$parse", "uibDropdownConfig", "uibDropdownService", "$animate", "$uibPosition", "$document", "$compile", "$templateRequest", function(a, b, c, d, e, f, g, h, i, j, k) { - var l, m, n = this, o = a.$new(), p = e.openClass, q = angular.noop, r = c.onToggle ? d(c.onToggle) : angular.noop, s = !1, t = !1; - b.addClass("dropdown"), this.init = function() { - c.isOpen && (m = d(c.isOpen), q = m.assign, a.$watch(m, function(a) { - o.isOpen = !!a; - })), s = angular.isDefined(c.dropdownAppendToBody), t = angular.isDefined(c.uibKeyboardNav), - s && n.dropdownMenu && (i.find("body").append(n.dropdownMenu), b.on("$destroy", function() { - n.dropdownMenu.remove(); - })); - }, this.toggle = function(a) { - return o.isOpen = arguments.length ? !!a : !o.isOpen; - }, this.isOpen = function() { - return o.isOpen; - }, o.getToggleElement = function() { - return n.toggleElement; - }, o.getAutoClose = function() { - return c.autoClose || "always"; - }, o.getElement = function() { - return b; - }, o.isKeynavEnabled = function() { - return t; - }, o.focusDropdownEntry = function(a) { - var c = n.dropdownMenu ? angular.element(n.dropdownMenu).find("a") : angular.element(b).find("ul").eq(0).find("a"); - switch (a) { - case 40: - angular.isNumber(n.selectedOption) ? n.selectedOption = n.selectedOption === c.length - 1 ? n.selectedOption : n.selectedOption + 1 : n.selectedOption = 0; - break; - - case 38: - angular.isNumber(n.selectedOption) ? n.selectedOption = 0 === n.selectedOption ? 0 : n.selectedOption - 1 : n.selectedOption = c.length - 1; - } - c[n.selectedOption].focus(); - }, o.getDropdownElement = function() { - return n.dropdownMenu; - }, o.focusToggleElement = function() { - n.toggleElement && n.toggleElement[0].focus(); - }, o.$watch("isOpen", function(c, d) { - if (s && n.dropdownMenu) { - var e = h.positionElements(b, n.dropdownMenu, "bottom-left", !0), i = { - top: e.top + "px", - display: c ? "block" : "none" - }, m = n.dropdownMenu.hasClass("dropdown-menu-right"); - m ? (i.left = "auto", i.right = window.innerWidth - (e.left + b.prop("offsetWidth")) + "px") : (i.left = e.left + "px", - i.right = "auto"), n.dropdownMenu.css(i); - } - if (g[c ? "addClass" : "removeClass"](b, p).then(function() { - angular.isDefined(c) && c !== d && r(a, { - open: !!c - }); - }), c) n.dropdownMenuTemplateUrl && k(n.dropdownMenuTemplateUrl).then(function(a) { - l = o.$new(), j(a.trim())(l, function(a) { - var b = a; - n.dropdownMenu.replaceWith(b), n.dropdownMenu = b; - }); - }), o.focusToggleElement(), f.open(o); else { - if (n.dropdownMenuTemplateUrl) { - l && l.$destroy(); - var t = angular.element(''); - n.dropdownMenu.replaceWith(t), n.dropdownMenu = t; - } - f.close(o), n.selectedOption = null; - } - angular.isFunction(q) && q(a, c); - }), a.$on("$locationChangeSuccess", function() { - "disabled" !== o.getAutoClose() && (o.isOpen = !1); - }); - var u = a.$on("$destroy", function() { - o.$destroy(); - }); - o.$on("$destroy", u); -} ]).directive("uibDropdown", function() { - return { - controller: "UibDropdownController", - link: function(a, b, c, d) { - d.init(); - } - }; -}).directive("uibDropdownMenu", function() { - return { - restrict: "AC", - require: "?^uibDropdown", - link: function(a, b, c, d) { - if (d && !angular.isDefined(c.dropdownNested)) { - b.addClass("dropdown-menu"); - var e = c.templateUrl; - e && (d.dropdownMenuTemplateUrl = e), d.dropdownMenu || (d.dropdownMenu = b); - } - } - }; -}).directive("uibKeyboardNav", function() { - return { - restrict: "A", - require: "?^uibDropdown", - link: function(a, b, c, d) { - b.bind("keydown", function(a) { - if ([ 38, 40 ].indexOf(a.which) !== -1) { - a.preventDefault(), a.stopPropagation(); - var b = d.dropdownMenu.find("a"); - switch (a.which) { - case 40: - angular.isNumber(d.selectedOption) ? d.selectedOption = d.selectedOption === b.length - 1 ? d.selectedOption : d.selectedOption + 1 : d.selectedOption = 0; - break; - - case 38: - angular.isNumber(d.selectedOption) ? d.selectedOption = 0 === d.selectedOption ? 0 : d.selectedOption - 1 : d.selectedOption = b.length - 1; - } - b[d.selectedOption].focus(); - } - }); - } - }; -}).directive("uibDropdownToggle", function() { - return { - require: "?^uibDropdown", - link: function(a, b, c, d) { - if (d) { - b.addClass("dropdown-toggle"), d.toggleElement = b; - var e = function(e) { - e.preventDefault(), b.hasClass("disabled") || c.disabled || a.$apply(function() { - d.toggle(); - }); - }; - b.bind("click", e), b.attr({ - "aria-haspopup": !0, - "aria-expanded": !1 - }), a.$watch(d.isOpen, function(a) { - b.attr("aria-expanded", !!a); - }), a.$on("$destroy", function() { - b.unbind("click", e); - }); - } - } - }; -}), angular.module("ui.bootstrap.dropdown").value("$dropdownSuppressWarning", !1).service("dropdownService", [ "$log", "$dropdownSuppressWarning", "uibDropdownService", function(a, b, c) { - b || a.warn("dropdownService is now deprecated. Use uibDropdownService instead."), - angular.extend(this, c); -} ]).controller("DropdownController", [ "$scope", "$element", "$attrs", "$parse", "uibDropdownConfig", "uibDropdownService", "$animate", "$uibPosition", "$document", "$compile", "$templateRequest", "$log", "$dropdownSuppressWarning", function(a, b, c, d, e, f, g, h, i, j, k, l, m) { - m || l.warn("DropdownController is now deprecated. Use UibDropdownController instead."); - var n, o, p = this, q = a.$new(), r = e.openClass, s = angular.noop, t = c.onToggle ? d(c.onToggle) : angular.noop, u = !1, v = !1; - b.addClass("dropdown"), this.init = function() { - c.isOpen && (o = d(c.isOpen), s = o.assign, a.$watch(o, function(a) { - q.isOpen = !!a; - })), u = angular.isDefined(c.dropdownAppendToBody), v = angular.isDefined(c.uibKeyboardNav), - u && p.dropdownMenu && (i.find("body").append(p.dropdownMenu), b.on("$destroy", function() { - p.dropdownMenu.remove(); - })); - }, this.toggle = function(a) { - return q.isOpen = arguments.length ? !!a : !q.isOpen; - }, this.isOpen = function() { - return q.isOpen; - }, q.getToggleElement = function() { - return p.toggleElement; - }, q.getAutoClose = function() { - return c.autoClose || "always"; - }, q.getElement = function() { - return b; - }, q.isKeynavEnabled = function() { - return v; - }, q.focusDropdownEntry = function(a) { - var c = p.dropdownMenu ? angular.element(p.dropdownMenu).find("a") : angular.element(b).find("ul").eq(0).find("a"); - switch (a) { - case 40: - angular.isNumber(p.selectedOption) ? p.selectedOption = p.selectedOption === c.length - 1 ? p.selectedOption : p.selectedOption + 1 : p.selectedOption = 0; - break; - - case 38: - angular.isNumber(p.selectedOption) ? p.selectedOption = 0 === p.selectedOption ? 0 : p.selectedOption - 1 : p.selectedOption = c.length - 1; - } - c[p.selectedOption].focus(); - }, q.getDropdownElement = function() { - return p.dropdownMenu; - }, q.focusToggleElement = function() { - p.toggleElement && p.toggleElement[0].focus(); - }, q.$watch("isOpen", function(c, d) { - if (u && p.dropdownMenu) { - var e = h.positionElements(b, p.dropdownMenu, "bottom-left", !0), i = { - top: e.top + "px", - display: c ? "block" : "none" - }, l = p.dropdownMenu.hasClass("dropdown-menu-right"); - l ? (i.left = "auto", i.right = window.innerWidth - (e.left + b.prop("offsetWidth")) + "px") : (i.left = e.left + "px", - i.right = "auto"), p.dropdownMenu.css(i); - } - if (g[c ? "addClass" : "removeClass"](b, r).then(function() { - angular.isDefined(c) && c !== d && t(a, { - open: !!c - }); - }), c) p.dropdownMenuTemplateUrl && k(p.dropdownMenuTemplateUrl).then(function(a) { - n = q.$new(), j(a.trim())(n, function(a) { - var b = a; - p.dropdownMenu.replaceWith(b), p.dropdownMenu = b; - }); - }), q.focusToggleElement(), f.open(q); else { - if (p.dropdownMenuTemplateUrl) { - n && n.$destroy(); - var m = angular.element(''); - p.dropdownMenu.replaceWith(m), p.dropdownMenu = m; - } - f.close(q), p.selectedOption = null; - } - angular.isFunction(s) && s(a, c); - }), a.$on("$locationChangeSuccess", function() { - "disabled" !== q.getAutoClose() && (q.isOpen = !1); - }); - var w = a.$on("$destroy", function() { - q.$destroy(); - }); - q.$on("$destroy", w); -} ]).directive("dropdown", [ "$log", "$dropdownSuppressWarning", function(a, b) { - return { - controller: "DropdownController", - link: function(c, d, e, f) { - b || a.warn("dropdown is now deprecated. Use uib-dropdown instead."), f.init(); - } - }; -} ]).directive("dropdownMenu", [ "$log", "$dropdownSuppressWarning", function(a, b) { - return { - restrict: "AC", - require: "?^dropdown", - link: function(c, d, e, f) { - if (f && !angular.isDefined(e.dropdownNested)) { - b || a.warn("dropdown-menu is now deprecated. Use uib-dropdown-menu instead."), - d.addClass("dropdown-menu"); - var g = e.templateUrl; - g && (f.dropdownMenuTemplateUrl = g), f.dropdownMenu || (f.dropdownMenu = d); - } - } - }; -} ]).directive("keyboardNav", [ "$log", "$dropdownSuppressWarning", function(a, b) { - return { - restrict: "A", - require: "?^dropdown", - link: function(c, d, e, f) { - b || a.warn("keyboard-nav is now deprecated. Use uib-keyboard-nav instead."), d.bind("keydown", function(a) { - if ([ 38, 40 ].indexOf(a.which) !== -1) { - a.preventDefault(), a.stopPropagation(); - var b = f.dropdownMenu.find("a"); - switch (a.which) { - case 40: - angular.isNumber(f.selectedOption) ? f.selectedOption = f.selectedOption === b.length - 1 ? f.selectedOption : f.selectedOption + 1 : f.selectedOption = 0; - break; - - case 38: - angular.isNumber(f.selectedOption) ? f.selectedOption = 0 === f.selectedOption ? 0 : f.selectedOption - 1 : f.selectedOption = b.length - 1; - } - b[f.selectedOption].focus(); - } - }); - } - }; -} ]).directive("dropdownToggle", [ "$log", "$dropdownSuppressWarning", function(a, b) { - return { - require: "?^dropdown", - link: function(c, d, e, f) { - if (b || a.warn("dropdown-toggle is now deprecated. Use uib-dropdown-toggle instead."), - f) { - d.addClass("dropdown-toggle"), f.toggleElement = d; - var g = function(a) { - a.preventDefault(), d.hasClass("disabled") || e.disabled || c.$apply(function() { - f.toggle(); - }); - }; - d.bind("click", g), d.attr({ - "aria-haspopup": !0, - "aria-expanded": !1 - }), c.$watch(f.isOpen, function(a) { - d.attr("aria-expanded", !!a); - }), c.$on("$destroy", function() { - d.unbind("click", g); - }); - } - } - }; -} ]), angular.module("ui.bootstrap.stackedMap", []).factory("$$stackedMap", function() { - return { - createNew: function() { - var a = []; - return { - add: function(b, c) { - a.push({ - key: b, - value: c - }); - }, - get: function(b) { - for (var c = 0; c < a.length; c++) if (b == a[c].key) return a[c]; - }, - keys: function() { - for (var b = [], c = 0; c < a.length; c++) b.push(a[c].key); - return b; - }, - top: function() { - return a[a.length - 1]; - }, - remove: function(b) { - for (var c = -1, d = 0; d < a.length; d++) if (b == a[d].key) { - c = d; - break; - } - return a.splice(c, 1)[0]; - }, - removeTop: function() { - return a.splice(a.length - 1, 1)[0]; - }, - length: function() { - return a.length; - } - }; - } - }; -}), angular.module("ui.bootstrap.modal", [ "ui.bootstrap.stackedMap" ]).factory("$$multiMap", function() { - return { - createNew: function() { - var a = {}; - return { - entries: function() { - return Object.keys(a).map(function(b) { - return { - key: b, - value: a[b] - }; - }); - }, - get: function(b) { - return a[b]; - }, - hasKey: function(b) { - return !!a[b]; - }, - keys: function() { - return Object.keys(a); - }, - put: function(b, c) { - a[b] || (a[b] = []), a[b].push(c); - }, - remove: function(b, c) { - var d = a[b]; - if (d) { - var e = d.indexOf(c); - e !== -1 && d.splice(e, 1), d.length || delete a[b]; - } - } - }; - } - }; -}).directive("uibModalBackdrop", [ "$animate", "$injector", "$uibModalStack", function(a, b, c) { - function d(b, d, f) { - d.addClass("modal-backdrop"), f.modalInClass && (e ? e(d, { - addClass: f.modalInClass - }).start() : a.addClass(d, f.modalInClass), b.$on(c.NOW_CLOSING_EVENT, function(b, c) { - var g = c(); - e ? e(d, { - removeClass: f.modalInClass - }).start().then(g) : a.removeClass(d, f.modalInClass).then(g); - })); - } - var e = null; - return b.has("$animateCss") && (e = b.get("$animateCss")), { - replace: !0, - templateUrl: "template/modal/backdrop.html", - compile: function(a, b) { - return a.addClass(b.backdropClass), d; - } - }; -} ]).directive("uibModalWindow", [ "$uibModalStack", "$q", "$animate", "$injector", function(a, b, c, d) { - var e = null; - return d.has("$animateCss") && (e = d.get("$animateCss")), { - scope: { - index: "@" - }, - replace: !0, - transclude: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/modal/window.html"; - }, - link: function(d, f, g) { - f.addClass(g.windowClass || ""), f.addClass(g.windowTopClass || ""), d.size = g.size, - d.close = function(b) { - var c = a.getTop(); - c && c.value.backdrop && "static" !== c.value.backdrop && b.target === b.currentTarget && (b.preventDefault(), - b.stopPropagation(), a.dismiss(c.key, "backdrop click")); - }, f.on("click", d.close), d.$isRendered = !0; - var h = b.defer(); - g.$observe("modalRender", function(a) { - "true" == a && h.resolve(); - }), h.promise.then(function() { - var h = null; - g.modalInClass && (h = e ? e(f, { - addClass: g.modalInClass - }).start() : c.addClass(f, g.modalInClass), d.$on(a.NOW_CLOSING_EVENT, function(a, b) { - var d = b(); - e ? e(f, { - removeClass: g.modalInClass - }).start().then(d) : c.removeClass(f, g.modalInClass).then(d); - })), b.when(h).then(function() { - var a = f[0].querySelector("[autofocus]"); - a ? a.focus() : f[0].focus(); - }); - var i = a.getTop(); - i && a.modalRendered(i.key); - }); - } - }; -} ]).directive("uibModalAnimationClass", function() { - return { - compile: function(a, b) { - b.modalAnimation && a.addClass(b.uibModalAnimationClass); - } - }; -}).directive("uibModalTransclude", function() { - return { - link: function(a, b, c, d, e) { - e(a.$parent, function(a) { - b.empty(), b.append(a); - }); - } - }; -}).factory("$uibModalStack", [ "$animate", "$timeout", "$document", "$compile", "$rootScope", "$q", "$injector", "$$multiMap", "$$stackedMap", function(a, b, c, d, e, f, g, h, i) { - function j() { - for (var a = -1, b = u.keys(), c = 0; c < b.length; c++) u.get(b[c]).value.backdrop && (a = c); - return a; - } - function k(a, b) { - var d = c.find("body").eq(0), e = u.get(a).value; - u.remove(a), n(e.modalDomEl, e.modalScope, function() { - var b = e.openedClass || t; - v.remove(b, a), d.toggleClass(b, v.hasKey(b)), l(!0); - }), m(), b && b.focus ? b.focus() : d.focus(); - } - function l(a) { - var b; - u.length() > 0 && (b = u.top().value, b.modalDomEl.toggleClass(b.windowTopClass || "", a)); - } - function m() { - if (q && j() == -1) { - var a = r; - n(q, r, function() { - a = null; - }), q = void 0, r = void 0; - } - } - function n(b, c, d) { - function e() { - e.done || (e.done = !0, p ? p(b, { - event: "leave" - }).start().then(function() { - b.remove(); - }) : a.leave(b), c.$destroy(), d && d()); - } - var g, h = null, i = function() { - return g || (g = f.defer(), h = g.promise), function() { - g.resolve(); - }; - }; - return c.$broadcast(w.NOW_CLOSING_EVENT, i), f.when(h).then(e); - } - function o(a, b, c) { - return !a.value.modalScope.$broadcast("modal.closing", b, c).defaultPrevented; - } - var p = null; - g.has("$animateCss") && (p = g.get("$animateCss")); - var q, r, s, t = "modal-open", u = i.createNew(), v = h.createNew(), w = { - NOW_CLOSING_EVENT: "modal.stack.now-closing" - }, x = 0, y = "a[href], area[href], input:not([disabled]), button:not([disabled]),select:not([disabled]), textarea:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable=true]"; - return e.$watch(j, function(a) { - r && (r.index = a); - }), c.bind("keydown", function(a) { - if (a.isDefaultPrevented()) return a; - var b = u.top(); - if (b && b.value.keyboard) switch (a.which) { - case 27: - a.preventDefault(), e.$apply(function() { - w.dismiss(b.key, "escape key press"); - }); - break; - - case 9: - w.loadFocusElementList(b); - var c = !1; - a.shiftKey ? w.isFocusInFirstItem(a) && (c = w.focusLastFocusableElement()) : w.isFocusInLastItem(a) && (c = w.focusFirstFocusableElement()), - c && (a.preventDefault(), a.stopPropagation()); - } - }), w.open = function(a, b) { - var f = c[0].activeElement, g = b.openedClass || t; - l(!1), u.add(a, { - deferred: b.deferred, - renderDeferred: b.renderDeferred, - modalScope: b.scope, - backdrop: b.backdrop, - keyboard: b.keyboard, - openedClass: b.openedClass, - windowTopClass: b.windowTopClass - }), v.put(g, a); - var h = c.find("body").eq(0), i = j(); - if (i >= 0 && !q) { - r = e.$new(!0), r.index = i; - var k = angular.element('
    '); - k.attr("backdrop-class", b.backdropClass), b.animation && k.attr("modal-animation", "true"), - q = d(k)(r), h.append(q); - } - var m = angular.element('
    '); - m.attr({ - "template-url": b.windowTemplateUrl, - "window-class": b.windowClass, - "window-top-class": b.windowTopClass, - size: b.size, - index: u.length() - 1, - animate: "animate" - }).html(b.content), b.animation && m.attr("modal-animation", "true"); - var n = d(m)(b.scope); - u.top().value.modalDomEl = n, u.top().value.modalOpener = f, h.append(n), h.addClass(g), - w.clearFocusListCache(); - }, w.close = function(a, b) { - var c = u.get(a); - return c && o(c, b, !0) ? (c.value.modalScope.$$uibDestructionScheduled = !0, c.value.deferred.resolve(b), - k(a, c.value.modalOpener), !0) : !c; - }, w.dismiss = function(a, b) { - var c = u.get(a); - return c && o(c, b, !1) ? (c.value.modalScope.$$uibDestructionScheduled = !0, c.value.deferred.reject(b), - k(a, c.value.modalOpener), !0) : !c; - }, w.dismissAll = function(a) { - for (var b = this.getTop(); b && this.dismiss(b.key, a); ) b = this.getTop(); - }, w.getTop = function() { - return u.top(); - }, w.modalRendered = function(a) { - var b = u.get(a); - b && b.value.renderDeferred.resolve(); - }, w.focusFirstFocusableElement = function() { - return s.length > 0 && (s[0].focus(), !0); - }, w.focusLastFocusableElement = function() { - return s.length > 0 && (s[s.length - 1].focus(), !0); - }, w.isFocusInFirstItem = function(a) { - return s.length > 0 && (a.target || a.srcElement) == s[0]; - }, w.isFocusInLastItem = function(a) { - return s.length > 0 && (a.target || a.srcElement) == s[s.length - 1]; - }, w.clearFocusListCache = function() { - s = [], x = 0; - }, w.loadFocusElementList = function(a) { - if ((void 0 === s || !s.length) && a) { - var b = a.value.modalDomEl; - b && b.length && (s = b[0].querySelectorAll(y)); - } - }, w; -} ]).provider("$uibModal", function() { - var a = { - options: { - animation: !0, - backdrop: !0, - keyboard: !0 - }, - $get: [ "$injector", "$rootScope", "$q", "$templateRequest", "$controller", "$uibModalStack", "$modalSuppressWarning", "$log", function(b, c, d, e, f, g, h, i) { - function j(a) { - return a.template ? d.when(a.template) : e(angular.isFunction(a.templateUrl) ? a.templateUrl() : a.templateUrl); - } - function k(a) { - var c = []; - return angular.forEach(a, function(a) { - angular.isFunction(a) || angular.isArray(a) ? c.push(d.when(b.invoke(a))) : angular.isString(a) ? c.push(d.when(b.get(a))) : c.push(d.when(a)); - }), c; - } - var l = {}, m = null; - return l.getPromiseChain = function() { - return m; - }, l.open = function(b) { - function e() { - return r; - } - var l = d.defer(), n = d.defer(), o = d.defer(), p = { - result: l.promise, - opened: n.promise, - rendered: o.promise, - close: function(a) { - return g.close(p, a); - }, - dismiss: function(a) { - return g.dismiss(p, a); - } - }; - if (b = angular.extend({}, a.options, b), b.resolve = b.resolve || {}, !b.template && !b.templateUrl) throw new Error("One of template or templateUrl options is required."); - var q, r = d.all([ j(b) ].concat(k(b.resolve))); - return q = m = d.all([ m ]).then(e, e).then(function(a) { - var d = (b.scope || c).$new(); - d.$close = p.close, d.$dismiss = p.dismiss, d.$on("$destroy", function() { - d.$$uibDestructionScheduled || d.$dismiss("$uibUnscheduledDestruction"); - }); - var e, j = {}, k = 1; - b.controller && (j.$scope = d, j.$uibModalInstance = p, Object.defineProperty(j, "$modalInstance", { - get: function() { - return h || i.warn("$modalInstance is now deprecated. Use $uibModalInstance instead."), - p; - } - }), angular.forEach(b.resolve, function(b, c) { - j[c] = a[k++]; - }), e = f(b.controller, j), b.controllerAs && (b.bindToController && angular.extend(e, d), - d[b.controllerAs] = e)), g.open(p, { - scope: d, - deferred: l, - renderDeferred: o, - content: a[0], - animation: b.animation, - backdrop: b.backdrop, - keyboard: b.keyboard, - backdropClass: b.backdropClass, - windowTopClass: b.windowTopClass, - windowClass: b.windowClass, - windowTemplateUrl: b.windowTemplateUrl, - size: b.size, - openedClass: b.openedClass - }), n.resolve(!0); - }, function(a) { - n.reject(a), l.reject(a); - })["finally"](function() { - m === q && (m = null); - }), p; - }, l; - } ] - }; - return a; -}), angular.module("ui.bootstrap.modal").value("$modalSuppressWarning", !1).directive("modalBackdrop", [ "$animate", "$injector", "$modalStack", "$log", "$modalSuppressWarning", function(a, b, c, d, e) { - function f(b, f, h) { - e || d.warn("modal-backdrop is now deprecated. Use uib-modal-backdrop instead."), - f.addClass("modal-backdrop"), h.modalInClass && (g ? g(f, { - addClass: h.modalInClass - }).start() : a.addClass(f, h.modalInClass), b.$on(c.NOW_CLOSING_EVENT, function(b, c) { - var d = c(); - g ? g(f, { - removeClass: h.modalInClass - }).start().then(d) : a.removeClass(f, h.modalInClass).then(d); - })); - } - var g = null; - return b.has("$animateCss") && (g = b.get("$animateCss")), { - replace: !0, - templateUrl: "template/modal/backdrop.html", - compile: function(a, b) { - return a.addClass(b.backdropClass), f; - } - }; -} ]).directive("modalWindow", [ "$modalStack", "$q", "$animate", "$injector", "$log", "$modalSuppressWarning", function(a, b, c, d, e, f) { - var g = null; - return d.has("$animateCss") && (g = d.get("$animateCss")), { - scope: { - index: "@" - }, - replace: !0, - transclude: !0, - templateUrl: function(a, b) { - return b.templateUrl || "template/modal/window.html"; - }, - link: function(d, h, i) { - f || e.warn("modal-window is now deprecated. Use uib-modal-window instead."), h.addClass(i.windowClass || ""), - h.addClass(i.windowTopClass || ""), d.size = i.size, d.close = function(b) { - var c = a.getTop(); - c && c.value.backdrop && "static" !== c.value.backdrop && b.target === b.currentTarget && (b.preventDefault(), - b.stopPropagation(), a.dismiss(c.key, "backdrop click")); - }, h.on("click", d.close), d.$isRendered = !0; - var j = b.defer(); - i.$observe("modalRender", function(a) { - "true" == a && j.resolve(); - }), j.promise.then(function() { - var e = null; - i.modalInClass && (e = g ? g(h, { - addClass: i.modalInClass - }).start() : c.addClass(h, i.modalInClass), d.$on(a.NOW_CLOSING_EVENT, function(a, b) { - var d = b(); - g ? g(h, { - removeClass: i.modalInClass - }).start().then(d) : c.removeClass(h, i.modalInClass).then(d); - })), b.when(e).then(function() { - var a = h[0].querySelector("[autofocus]"); - a ? a.focus() : h[0].focus(); - }); - var f = a.getTop(); - f && a.modalRendered(f.key); - }); - } - }; -} ]).directive("modalAnimationClass", [ "$log", "$modalSuppressWarning", function(a, b) { - return { - compile: function(c, d) { - b || a.warn("modal-animation-class is now deprecated. Use uib-modal-animation-class instead."), - d.modalAnimation && c.addClass(d.modalAnimationClass); - } - }; -} ]).directive("modalTransclude", [ "$log", "$modalSuppressWarning", function(a, b) { - return { - link: function(c, d, e, f, g) { - b || a.warn("modal-transclude is now deprecated. Use uib-modal-transclude instead."), - g(c.$parent, function(a) { - d.empty(), d.append(a); - }); - } - }; -} ]).service("$modalStack", [ "$animate", "$timeout", "$document", "$compile", "$rootScope", "$q", "$injector", "$$multiMap", "$$stackedMap", "$uibModalStack", "$log", "$modalSuppressWarning", function(a, b, c, d, e, f, g, h, i, j, k, l) { - l || k.warn("$modalStack is now deprecated. Use $uibModalStack instead."), angular.extend(this, j); -} ]).provider("$modal", [ "$uibModalProvider", function(a) { - angular.extend(this, a), this.$get = [ "$injector", "$log", "$modalSuppressWarning", function(b, c, d) { - return d || c.warn("$modal is now deprecated. Use $uibModal instead."), b.invoke(a.$get); - } ]; -} ]), angular.module("ui.bootstrap.pagination", []).controller("UibPaginationController", [ "$scope", "$attrs", "$parse", function(a, b, c) { - var d = this, e = { - $setViewValue: angular.noop - }, f = b.numPages ? c(b.numPages).assign : angular.noop; - this.init = function(g, h) { - e = g, this.config = h, e.$render = function() { - d.render(); - }, b.itemsPerPage ? a.$parent.$watch(c(b.itemsPerPage), function(b) { - d.itemsPerPage = parseInt(b, 10), a.totalPages = d.calculateTotalPages(); - }) : this.itemsPerPage = h.itemsPerPage, a.$watch("totalItems", function() { - a.totalPages = d.calculateTotalPages(); - }), a.$watch("totalPages", function(b) { - f(a.$parent, b), a.page > b ? a.selectPage(b) : e.$render(); - }); - }, this.calculateTotalPages = function() { - var b = this.itemsPerPage < 1 ? 1 : Math.ceil(a.totalItems / this.itemsPerPage); - return Math.max(b || 0, 1); - }, this.render = function() { - a.page = parseInt(e.$viewValue, 10) || 1; - }, a.selectPage = function(b, c) { - c && c.preventDefault(); - var d = !a.ngDisabled || !c; - d && a.page !== b && b > 0 && b <= a.totalPages && (c && c.target && c.target.blur(), - e.$setViewValue(b), e.$render()); - }, a.getText = function(b) { - return a[b + "Text"] || d.config[b + "Text"]; - }, a.noPrevious = function() { - return 1 === a.page; - }, a.noNext = function() { - return a.page === a.totalPages; - }; -} ]).constant("uibPaginationConfig", { - itemsPerPage: 10, - boundaryLinks: !1, - directionLinks: !0, - firstText: "First", - previousText: "Previous", - nextText: "Next", - lastText: "Last", - rotate: !0 -}).directive("uibPagination", [ "$parse", "uibPaginationConfig", function(a, b) { - return { - restrict: "EA", - scope: { - totalItems: "=", - firstText: "@", - previousText: "@", - nextText: "@", - lastText: "@", - ngDisabled: "=" - }, - require: [ "uibPagination", "?ngModel" ], - controller: "UibPaginationController", - controllerAs: "pagination", - templateUrl: function(a, b) { - return b.templateUrl || "template/pagination/pagination.html"; - }, - replace: !0, - link: function(c, d, e, f) { - function g(a, b, c) { - return { - number: a, - text: b, - active: c - }; - } - function h(a, b) { - var c = [], d = 1, e = b, f = angular.isDefined(k) && k < b; - f && (l ? (d = Math.max(a - Math.floor(k / 2), 1), e = d + k - 1, e > b && (e = b, - d = e - k + 1)) : (d = (Math.ceil(a / k) - 1) * k + 1, e = Math.min(d + k - 1, b))); - for (var h = d; h <= e; h++) { - var i = g(h, h, h === a); - c.push(i); - } - if (f && !l) { - if (d > 1) { - var j = g(d - 1, "...", !1); - c.unshift(j); - } - if (e < b) { - var m = g(e + 1, "...", !1); - c.push(m); - } - } - return c; - } - var i = f[0], j = f[1]; - if (j) { - var k = angular.isDefined(e.maxSize) ? c.$parent.$eval(e.maxSize) : b.maxSize, l = angular.isDefined(e.rotate) ? c.$parent.$eval(e.rotate) : b.rotate; - c.boundaryLinks = angular.isDefined(e.boundaryLinks) ? c.$parent.$eval(e.boundaryLinks) : b.boundaryLinks, - c.directionLinks = angular.isDefined(e.directionLinks) ? c.$parent.$eval(e.directionLinks) : b.directionLinks, - i.init(j, b), e.maxSize && c.$parent.$watch(a(e.maxSize), function(a) { - k = parseInt(a, 10), i.render(); - }); - var m = i.render; - i.render = function() { - m(), c.page > 0 && c.page <= c.totalPages && (c.pages = h(c.page, c.totalPages)); - }; - } - } - }; -} ]).constant("uibPagerConfig", { - itemsPerPage: 10, - previousText: "« Previous", - nextText: "Next »", - align: !0 -}).directive("uibPager", [ "uibPagerConfig", function(a) { - return { - restrict: "EA", - scope: { - totalItems: "=", - previousText: "@", - nextText: "@", - ngDisabled: "=" - }, - require: [ "uibPager", "?ngModel" ], - controller: "UibPaginationController", - controllerAs: "pagination", - templateUrl: function(a, b) { - return b.templateUrl || "template/pagination/pager.html"; - }, - replace: !0, - link: function(b, c, d, e) { - var f = e[0], g = e[1]; - g && (b.align = angular.isDefined(d.align) ? b.$parent.$eval(d.align) : a.align, - f.init(g, a)); - } - }; -} ]), angular.module("ui.bootstrap.pagination").value("$paginationSuppressWarning", !1).controller("PaginationController", [ "$scope", "$attrs", "$parse", "$log", "$paginationSuppressWarning", function(a, b, c, d, e) { - e || d.warn("PaginationController is now deprecated. Use UibPaginationController instead."); - var f = this, g = { - $setViewValue: angular.noop - }, h = b.numPages ? c(b.numPages).assign : angular.noop; - this.init = function(d, e) { - g = d, this.config = e, g.$render = function() { - f.render(); - }, b.itemsPerPage ? a.$parent.$watch(c(b.itemsPerPage), function(b) { - f.itemsPerPage = parseInt(b, 10), a.totalPages = f.calculateTotalPages(); - }) : this.itemsPerPage = e.itemsPerPage, a.$watch("totalItems", function() { - a.totalPages = f.calculateTotalPages(); - }), a.$watch("totalPages", function(b) { - h(a.$parent, b), a.page > b ? a.selectPage(b) : g.$render(); - }); - }, this.calculateTotalPages = function() { - var b = this.itemsPerPage < 1 ? 1 : Math.ceil(a.totalItems / this.itemsPerPage); - return Math.max(b || 0, 1); - }, this.render = function() { - a.page = parseInt(g.$viewValue, 10) || 1; - }, a.selectPage = function(b, c) { - c && c.preventDefault(); - var d = !a.ngDisabled || !c; - d && a.page !== b && b > 0 && b <= a.totalPages && (c && c.target && c.target.blur(), - g.$setViewValue(b), g.$render()); - }, a.getText = function(b) { - return a[b + "Text"] || f.config[b + "Text"]; - }, a.noPrevious = function() { - return 1 === a.page; - }, a.noNext = function() { - return a.page === a.totalPages; - }; -} ]).directive("pagination", [ "$parse", "uibPaginationConfig", "$log", "$paginationSuppressWarning", function(a, b, c, d) { - return { - restrict: "EA", - scope: { - totalItems: "=", - firstText: "@", - previousText: "@", - nextText: "@", - lastText: "@", - ngDisabled: "=" - }, - require: [ "pagination", "?ngModel" ], - controller: "PaginationController", - controllerAs: "pagination", - templateUrl: function(a, b) { - return b.templateUrl || "template/pagination/pagination.html"; - }, - replace: !0, - link: function(e, f, g, h) { - function i(a, b, c) { - return { - number: a, - text: b, - active: c - }; - } - function j(a, b) { - var c = [], d = 1, e = b, f = angular.isDefined(m) && m < b; - f && (n ? (d = Math.max(a - Math.floor(m / 2), 1), e = d + m - 1, e > b && (e = b, - d = e - m + 1)) : (d = (Math.ceil(a / m) - 1) * m + 1, e = Math.min(d + m - 1, b))); - for (var g = d; g <= e; g++) { - var h = i(g, g, g === a); - c.push(h); - } - if (f && !n) { - if (d > 1) { - var j = i(d - 1, "...", !1); - c.unshift(j); - } - if (e < b) { - var k = i(e + 1, "...", !1); - c.push(k); - } - } - return c; - } - d || c.warn("pagination is now deprecated. Use uib-pagination instead."); - var k = h[0], l = h[1]; - if (l) { - var m = angular.isDefined(g.maxSize) ? e.$parent.$eval(g.maxSize) : b.maxSize, n = angular.isDefined(g.rotate) ? e.$parent.$eval(g.rotate) : b.rotate; - e.boundaryLinks = angular.isDefined(g.boundaryLinks) ? e.$parent.$eval(g.boundaryLinks) : b.boundaryLinks, - e.directionLinks = angular.isDefined(g.directionLinks) ? e.$parent.$eval(g.directionLinks) : b.directionLinks, - k.init(l, b), g.maxSize && e.$parent.$watch(a(g.maxSize), function(a) { - m = parseInt(a, 10), k.render(); - }); - var o = k.render; - k.render = function() { - o(), e.page > 0 && e.page <= e.totalPages && (e.pages = j(e.page, e.totalPages)); - }; - } - } - }; -} ]).directive("pager", [ "uibPagerConfig", "$log", "$paginationSuppressWarning", function(a, b, c) { - return { - restrict: "EA", - scope: { - totalItems: "=", - previousText: "@", - nextText: "@", - ngDisabled: "=" - }, - require: [ "pager", "?ngModel" ], - controller: "PaginationController", - controllerAs: "pagination", - templateUrl: function(a, b) { - return b.templateUrl || "template/pagination/pager.html"; - }, - replace: !0, - link: function(d, e, f, g) { - c || b.warn("pager is now deprecated. Use uib-pager instead."); - var h = g[0], i = g[1]; - i && (d.align = angular.isDefined(f.align) ? d.$parent.$eval(f.align) : a.align, - h.init(i, a)); - } - }; -} ]), angular.module("ui.bootstrap.tooltip", [ "ui.bootstrap.position", "ui.bootstrap.stackedMap" ]).provider("$uibTooltip", function() { - function a(a) { - var b = /[A-Z]/g, c = "-"; - return a.replace(b, function(a, b) { - return (b ? c : "") + a.toLowerCase(); - }); - } - var b = { - placement: "top", - animation: !0, - popupDelay: 0, - popupCloseDelay: 0, - useContentExp: !1 - }, c = { - mouseenter: "mouseleave", - click: "click", - focus: "blur", - none: "" - }, d = {}; - this.options = function(a) { - angular.extend(d, a); - }, this.setTriggers = function(a) { - angular.extend(c, a); - }, this.$get = [ "$window", "$compile", "$timeout", "$document", "$uibPosition", "$interpolate", "$rootScope", "$parse", "$$stackedMap", function(e, f, g, h, i, j, k, l, m) { - var n = m.createNew(); - return h.on("keypress", function(a) { - if (27 === a.which) { - var b = n.top(); - b && (b.value.close(), n.removeTop(), b = null); - } - }), function(e, k, m, o) { - function p(a) { - var b = (a || o.trigger || m).split(" "), d = b.map(function(a) { - return c[a] || a; - }); - return { - show: b, - hide: d - }; - } - o = angular.extend({}, b, d, o); - var q = a(e), r = j.startSymbol(), s = j.endSymbol(), t = "
    '; - return { - compile: function(a, b) { - var c = f(t); - return function(a, b, d, f) { - function j() { - L.isOpen ? q() : m(); - } - function m() { - K && !a.$eval(d[k + "Enable"]) || (u(), x(), L.popupDelay ? F || (F = g(r, L.popupDelay, !1)) : r()); - } - function q() { - s(), L.popupCloseDelay ? G || (G = g(t, L.popupCloseDelay, !1)) : t(); - } - function r() { - return s(), u(), L.content ? (v(), void L.$evalAsync(function() { - L.isOpen = !0, y(!0), Q(); - })) : angular.noop; - } - function s() { - F && (g.cancel(F), F = null), H && (g.cancel(H), H = null); - } - function t() { - s(), u(), L && L.$evalAsync(function() { - L.isOpen = !1, y(!1), L.animation ? E || (E = g(w, 150, !1)) : w(); - }); - } - function u() { - G && (g.cancel(G), G = null), E && (g.cancel(E), E = null); - } - function v() { - C || (D = L.$new(), C = c(D, function(a) { - I ? h.find("body").append(a) : b.after(a); - }), z()); - } - function w() { - A(), E = null, C && (C.remove(), C = null), D && (D.$destroy(), D = null); - } - function x() { - L.title = d[k + "Title"], O ? L.content = O(a) : L.content = d[e], L.popupClass = d[k + "Class"], - L.placement = angular.isDefined(d[k + "Placement"]) ? d[k + "Placement"] : o.placement; - var b = parseInt(d[k + "PopupDelay"], 10), c = parseInt(d[k + "PopupCloseDelay"], 10); - L.popupDelay = isNaN(b) ? o.popupDelay : b, L.popupCloseDelay = isNaN(c) ? o.popupCloseDelay : c; - } - function y(b) { - N && angular.isFunction(N.assign) && N.assign(a, b); - } - function z() { - P.length = 0, O ? (P.push(a.$watch(O, function(a) { - L.content = a, !a && L.isOpen && t(); - })), P.push(D.$watch(function() { - M || (M = !0, D.$$postDigest(function() { - M = !1, L && L.isOpen && Q(); - })); - }))) : P.push(d.$observe(e, function(a) { - L.content = a, !a && L.isOpen ? t() : Q(); - })), P.push(d.$observe(k + "Title", function(a) { - L.title = a, L.isOpen && Q(); - })), P.push(d.$observe(k + "Placement", function(a) { - L.placement = a ? a : o.placement, L.isOpen && Q(); - })); - } - function A() { - P.length && (angular.forEach(P, function(a) { - a(); - }), P.length = 0); - } - function B() { - var a = d[k + "Trigger"]; - R(), J = p(a), "none" !== J.show && J.show.forEach(function(a, c) { - a === J.hide[c] ? b[0].addEventListener(a, j) : a && (b[0].addEventListener(a, m), - J.hide[c].split(" ").forEach(function(a) { - b[0].addEventListener(a, q); - })), b.on("keypress", function(a) { - 27 === a.which && q(); - }); - }); - } - var C, D, E, F, G, H, I = !!angular.isDefined(o.appendToBody) && o.appendToBody, J = p(void 0), K = angular.isDefined(d[k + "Enable"]), L = a.$new(!0), M = !1, N = !!angular.isDefined(d[k + "IsOpen"]) && l(d[k + "IsOpen"]), O = !!o.useContentExp && l(d[e]), P = [], Q = function() { - C && C.html() && (H || (H = g(function() { - C.css({ - top: 0, - left: 0 - }); - var a = i.positionElements(b, C, L.placement, I); - a.top += "px", a.left += "px", a.visibility = "visible", C.css(a), H = null; - }, 0, !1))); - }; - L.origScope = a, L.isOpen = !1, n.add(L, { - close: t - }), L.contentExp = function() { - return L.content; - }, d.$observe("disabled", function(a) { - a && s(), a && L.isOpen && t(); - }), N && a.$watch(N, function(a) { - L && !a === L.isOpen && j(); - }); - var R = function() { - J.show.forEach(function(a) { - b.unbind(a, m); - }), J.hide.forEach(function(a) { - a.split(" ").forEach(function(a) { - b[0].removeEventListener(a, q); - }); - }); - }; - B(); - var S = a.$eval(d[k + "Animation"]); - L.animation = angular.isDefined(S) ? !!S : o.animation; - var T = a.$eval(d[k + "AppendToBody"]); - I = angular.isDefined(T) ? T : I, I && a.$on("$locationChangeSuccess", function() { - L.isOpen && t(); - }), a.$on("$destroy", function() { - s(), u(), R(), w(), n.remove(L), L = null; - }); - }; - } - }; - }; - } ]; -}).directive("uibTooltipTemplateTransclude", [ "$animate", "$sce", "$compile", "$templateRequest", function(a, b, c, d) { - return { - link: function(e, f, g) { - var h, i, j, k = e.$eval(g.tooltipTemplateTranscludeScope), l = 0, m = function() { - i && (i.remove(), i = null), h && (h.$destroy(), h = null), j && (a.leave(j).then(function() { - i = null; - }), i = j, j = null); - }; - e.$watch(b.parseAsResourceUrl(g.uibTooltipTemplateTransclude), function(b) { - var g = ++l; - b ? (d(b, !0).then(function(d) { - if (g === l) { - var e = k.$new(), i = d, n = c(i)(e, function(b) { - m(), a.enter(b, f); - }); - h = e, j = n, h.$emit("$includeContentLoaded", b); - } - }, function() { - g === l && (m(), e.$emit("$includeContentError", b)); - }), e.$emit("$includeContentRequested", b)) : m(); - }), e.$on("$destroy", m); - } - }; -} ]).directive("uibTooltipClasses", function() { - return { - restrict: "A", - link: function(a, b, c) { - a.placement && b.addClass(a.placement), a.popupClass && b.addClass(a.popupClass), - a.animation() && b.addClass(c.tooltipAnimationClass); - } - }; -}).directive("uibTooltipPopup", function() { - return { - replace: !0, - scope: { - content: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/tooltip/tooltip-popup.html", - link: function(a, b) { - b.addClass("tooltip"); - } - }; -}).directive("uibTooltip", [ "$uibTooltip", function(a) { - return a("uibTooltip", "tooltip", "mouseenter"); -} ]).directive("uibTooltipTemplatePopup", function() { - return { - replace: !0, - scope: { - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&", - originScope: "&" - }, - templateUrl: "template/tooltip/tooltip-template-popup.html", - link: function(a, b) { - b.addClass("tooltip"); - } - }; -}).directive("uibTooltipTemplate", [ "$uibTooltip", function(a) { - return a("uibTooltipTemplate", "tooltip", "mouseenter", { - useContentExp: !0 - }); -} ]).directive("uibTooltipHtmlPopup", function() { - return { - replace: !0, - scope: { - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/tooltip/tooltip-html-popup.html", - link: function(a, b) { - b.addClass("tooltip"); - } - }; -}).directive("uibTooltipHtml", [ "$uibTooltip", function(a) { - return a("uibTooltipHtml", "tooltip", "mouseenter", { - useContentExp: !0 - }); -} ]), angular.module("ui.bootstrap.tooltip").value("$tooltipSuppressWarning", !1).provider("$tooltip", [ "$uibTooltipProvider", function(a) { - angular.extend(this, a), this.$get = [ "$log", "$tooltipSuppressWarning", "$injector", function(b, c, d) { - return c || b.warn("$tooltip is now deprecated. Use $uibTooltip instead."), d.invoke(a.$get); - } ]; -} ]).directive("tooltipTemplateTransclude", [ "$animate", "$sce", "$compile", "$templateRequest", "$log", "$tooltipSuppressWarning", function(a, b, c, d, e, f) { - return { - link: function(g, h, i) { - f || e.warn("tooltip-template-transclude is now deprecated. Use uib-tooltip-template-transclude instead."); - var j, k, l, m = g.$eval(i.tooltipTemplateTranscludeScope), n = 0, o = function() { - k && (k.remove(), k = null), j && (j.$destroy(), j = null), l && (a.leave(l).then(function() { - k = null; - }), k = l, l = null); - }; - g.$watch(b.parseAsResourceUrl(i.tooltipTemplateTransclude), function(b) { - var e = ++n; - b ? (d(b, !0).then(function(d) { - if (e === n) { - var f = m.$new(), g = d, i = c(g)(f, function(b) { - o(), a.enter(b, h); - }); - j = f, l = i, j.$emit("$includeContentLoaded", b); - } - }, function() { - e === n && (o(), g.$emit("$includeContentError", b)); - }), g.$emit("$includeContentRequested", b)) : o(); - }), g.$on("$destroy", o); - } - }; -} ]).directive("tooltipClasses", [ "$log", "$tooltipSuppressWarning", function(a, b) { - return { - restrict: "A", - link: function(c, d, e) { - b || a.warn("tooltip-classes is now deprecated. Use uib-tooltip-classes instead."), - c.placement && d.addClass(c.placement), c.popupClass && d.addClass(c.popupClass), - c.animation() && d.addClass(e.tooltipAnimationClass); - } - }; -} ]).directive("tooltipPopup", [ "$log", "$tooltipSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - content: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/tooltip/tooltip-popup.html", - link: function(c, d) { - b || a.warn("tooltip-popup is now deprecated. Use uib-tooltip-popup instead."), - d.addClass("tooltip"); - } - }; -} ]).directive("tooltip", [ "$tooltip", function(a) { - return a("tooltip", "tooltip", "mouseenter"); -} ]).directive("tooltipTemplatePopup", [ "$log", "$tooltipSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&", - originScope: "&" - }, - templateUrl: "template/tooltip/tooltip-template-popup.html", - link: function(c, d) { - b || a.warn("tooltip-template-popup is now deprecated. Use uib-tooltip-template-popup instead."), - d.addClass("tooltip"); - } - }; -} ]).directive("tooltipTemplate", [ "$tooltip", function(a) { - return a("tooltipTemplate", "tooltip", "mouseenter", { - useContentExp: !0 - }); -} ]).directive("tooltipHtmlPopup", [ "$log", "$tooltipSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/tooltip/tooltip-html-popup.html", - link: function(c, d) { - b || a.warn("tooltip-html-popup is now deprecated. Use uib-tooltip-html-popup instead."), - d.addClass("tooltip"); - } - }; -} ]).directive("tooltipHtml", [ "$tooltip", function(a) { - return a("tooltipHtml", "tooltip", "mouseenter", { - useContentExp: !0 - }); -} ]), angular.module("ui.bootstrap.popover", [ "ui.bootstrap.tooltip" ]).directive("uibPopoverTemplatePopup", function() { - return { - replace: !0, - scope: { - title: "@", - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&", - originScope: "&" - }, - templateUrl: "template/popover/popover-template.html", - link: function(a, b) { - b.addClass("popover"); - } - }; -}).directive("uibPopoverTemplate", [ "$uibTooltip", function(a) { - return a("uibPopoverTemplate", "popover", "click", { - useContentExp: !0 - }); -} ]).directive("uibPopoverHtmlPopup", function() { - return { - replace: !0, - scope: { - contentExp: "&", - title: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/popover/popover-html.html", - link: function(a, b) { - b.addClass("popover"); - } - }; -}).directive("uibPopoverHtml", [ "$uibTooltip", function(a) { - return a("uibPopoverHtml", "popover", "click", { - useContentExp: !0 - }); -} ]).directive("uibPopoverPopup", function() { - return { - replace: !0, - scope: { - title: "@", - content: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/popover/popover.html", - link: function(a, b) { - b.addClass("popover"); - } - }; -}).directive("uibPopover", [ "$uibTooltip", function(a) { - return a("uibPopover", "popover", "click"); -} ]), angular.module("ui.bootstrap.popover").value("$popoverSuppressWarning", !1).directive("popoverTemplatePopup", [ "$log", "$popoverSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - title: "@", - contentExp: "&", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&", - originScope: "&" - }, - templateUrl: "template/popover/popover-template.html", - link: function(c, d) { - b || a.warn("popover-template-popup is now deprecated. Use uib-popover-template-popup instead."), - d.addClass("popover"); - } - }; -} ]).directive("popoverTemplate", [ "$tooltip", function(a) { - return a("popoverTemplate", "popover", "click", { - useContentExp: !0 - }); -} ]).directive("popoverHtmlPopup", [ "$log", "$popoverSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - contentExp: "&", - title: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/popover/popover-html.html", - link: function(c, d) { - b || a.warn("popover-html-popup is now deprecated. Use uib-popover-html-popup instead."), - d.addClass("popover"); - } - }; -} ]).directive("popoverHtml", [ "$tooltip", function(a) { - return a("popoverHtml", "popover", "click", { - useContentExp: !0 - }); -} ]).directive("popoverPopup", [ "$log", "$popoverSuppressWarning", function(a, b) { - return { - replace: !0, - scope: { - title: "@", - content: "@", - placement: "@", - popupClass: "@", - animation: "&", - isOpen: "&" - }, - templateUrl: "template/popover/popover.html", - link: function(c, d) { - b || a.warn("popover-popup is now deprecated. Use uib-popover-popup instead."), - d.addClass("popover"); - } - }; -} ]).directive("popover", [ "$tooltip", function(a) { - return a("popover", "popover", "click"); -} ]), angular.module("ui.bootstrap.progressbar", []).constant("uibProgressConfig", { - animate: !0, - max: 100 -}).controller("UibProgressController", [ "$scope", "$attrs", "uibProgressConfig", function(a, b, c) { - var d = this, e = angular.isDefined(b.animate) ? a.$parent.$eval(b.animate) : c.animate; - this.bars = [], a.max = angular.isDefined(a.max) ? a.max : c.max, this.addBar = function(b, c, f) { - e || c.css({ - transition: "none" - }), this.bars.push(b), b.max = a.max, b.title = f && angular.isDefined(f.title) ? f.title : "progressbar", - b.$watch("value", function(a) { - b.recalculatePercentage(); - }), b.recalculatePercentage = function() { - var a = d.bars.reduce(function(a, b) { - return b.percent = +(100 * b.value / b.max).toFixed(2), a + b.percent; - }, 0); - a > 100 && (b.percent -= a - 100); - }, b.$on("$destroy", function() { - c = null, d.removeBar(b); - }); - }, this.removeBar = function(a) { - this.bars.splice(this.bars.indexOf(a), 1), this.bars.forEach(function(a) { - a.recalculatePercentage(); - }); - }, a.$watch("max", function(b) { - d.bars.forEach(function(b) { - b.max = a.max, b.recalculatePercentage(); - }); - }); -} ]).directive("uibProgress", function() { - return { - replace: !0, - transclude: !0, - controller: "UibProgressController", - require: "uibProgress", - scope: { - max: "=?" - }, - templateUrl: "template/progressbar/progress.html" - }; -}).directive("uibBar", function() { - return { - replace: !0, - transclude: !0, - require: "^uibProgress", - scope: { - value: "=", - type: "@" - }, - templateUrl: "template/progressbar/bar.html", - link: function(a, b, c, d) { - d.addBar(a, b, c); - } - }; -}).directive("uibProgressbar", function() { - return { - replace: !0, - transclude: !0, - controller: "UibProgressController", - scope: { - value: "=", - max: "=?", - type: "@" - }, - templateUrl: "template/progressbar/progressbar.html", - link: function(a, b, c, d) { - d.addBar(a, angular.element(b.children()[0]), { - title: c.title - }); - } - }; -}), angular.module("ui.bootstrap.progressbar").value("$progressSuppressWarning", !1).controller("ProgressController", [ "$scope", "$attrs", "uibProgressConfig", "$log", "$progressSuppressWarning", function(a, b, c, d, e) { - e || d.warn("ProgressController is now deprecated. Use UibProgressController instead."); - var f = this, g = angular.isDefined(b.animate) ? a.$parent.$eval(b.animate) : c.animate; - this.bars = [], a.max = angular.isDefined(a.max) ? a.max : c.max, this.addBar = function(b, c, d) { - g || c.css({ - transition: "none" - }), this.bars.push(b), b.max = a.max, b.title = d && angular.isDefined(d.title) ? d.title : "progressbar", - b.$watch("value", function(a) { - b.recalculatePercentage(); - }), b.recalculatePercentage = function() { - b.percent = +(100 * b.value / b.max).toFixed(2); - var a = f.bars.reduce(function(a, b) { - return a + b.percent; - }, 0); - a > 100 && (b.percent -= a - 100); - }, b.$on("$destroy", function() { - c = null, f.removeBar(b); - }); - }, this.removeBar = function(a) { - this.bars.splice(this.bars.indexOf(a), 1); - }, a.$watch("max", function(b) { - f.bars.forEach(function(b) { - b.max = a.max, b.recalculatePercentage(); - }); - }); -} ]).directive("progress", [ "$log", "$progressSuppressWarning", function(a, b) { - return { - replace: !0, - transclude: !0, - controller: "ProgressController", - require: "progress", - scope: { - max: "=?", - title: "@?" - }, - templateUrl: "template/progressbar/progress.html", - link: function() { - b || a.warn("progress is now deprecated. Use uib-progress instead."); - } - }; -} ]).directive("bar", [ "$log", "$progressSuppressWarning", function(a, b) { - return { - replace: !0, - transclude: !0, - require: "^progress", - scope: { - value: "=", - type: "@" - }, - templateUrl: "template/progressbar/bar.html", - link: function(c, d, e, f) { - b || a.warn("bar is now deprecated. Use uib-bar instead."), f.addBar(c, d); - } - }; -} ]).directive("progressbar", [ "$log", "$progressSuppressWarning", function(a, b) { - return { - replace: !0, - transclude: !0, - controller: "ProgressController", - scope: { - value: "=", - max: "=?", - type: "@" - }, - templateUrl: "template/progressbar/progressbar.html", - link: function(c, d, e, f) { - b || a.warn("progressbar is now deprecated. Use uib-progressbar instead."), f.addBar(c, angular.element(d.children()[0]), { - title: e.title - }); - } - }; -} ]), angular.module("ui.bootstrap.rating", []).constant("uibRatingConfig", { - max: 5, - stateOn: null, - stateOff: null, - titles: [ "one", "two", "three", "four", "five" ] -}).controller("UibRatingController", [ "$scope", "$attrs", "uibRatingConfig", function(a, b, c) { - var d = { - $setViewValue: angular.noop - }; - this.init = function(e) { - d = e, d.$render = this.render, d.$formatters.push(function(a) { - return angular.isNumber(a) && a << 0 !== a && (a = Math.round(a)), a; - }), this.stateOn = angular.isDefined(b.stateOn) ? a.$parent.$eval(b.stateOn) : c.stateOn, - this.stateOff = angular.isDefined(b.stateOff) ? a.$parent.$eval(b.stateOff) : c.stateOff; - var f = angular.isDefined(b.titles) ? a.$parent.$eval(b.titles) : c.titles; - this.titles = angular.isArray(f) && f.length > 0 ? f : c.titles; - var g = angular.isDefined(b.ratingStates) ? a.$parent.$eval(b.ratingStates) : new Array(angular.isDefined(b.max) ? a.$parent.$eval(b.max) : c.max); - a.range = this.buildTemplateObjects(g); - }, this.buildTemplateObjects = function(a) { - for (var b = 0, c = a.length; b < c; b++) a[b] = angular.extend({ - index: b - }, { - stateOn: this.stateOn, - stateOff: this.stateOff, - title: this.getTitle(b) - }, a[b]); - return a; - }, this.getTitle = function(a) { - return a >= this.titles.length ? a + 1 : this.titles[a]; - }, a.rate = function(b) { - !a.readonly && b >= 0 && b <= a.range.length && (d.$setViewValue(d.$viewValue === b ? 0 : b), - d.$render()); - }, a.enter = function(b) { - a.readonly || (a.value = b), a.onHover({ - value: b - }); - }, a.reset = function() { - a.value = d.$viewValue, a.onLeave(); - }, a.onKeydown = function(b) { - /(37|38|39|40)/.test(b.which) && (b.preventDefault(), b.stopPropagation(), a.rate(a.value + (38 === b.which || 39 === b.which ? 1 : -1))); - }, this.render = function() { - a.value = d.$viewValue; - }; -} ]).directive("uibRating", function() { - return { - require: [ "uibRating", "ngModel" ], - scope: { - readonly: "=?", - onHover: "&", - onLeave: "&" - }, - controller: "UibRatingController", - templateUrl: "template/rating/rating.html", - replace: !0, - link: function(a, b, c, d) { - var e = d[0], f = d[1]; - e.init(f); - } - }; -}), angular.module("ui.bootstrap.rating").value("$ratingSuppressWarning", !1).controller("RatingController", [ "$scope", "$attrs", "$controller", "$log", "$ratingSuppressWarning", function(a, b, c, d, e) { - e || d.warn("RatingController is now deprecated. Use UibRatingController instead."), - angular.extend(this, c("UibRatingController", { - $scope: a, - $attrs: b - })); -} ]).directive("rating", [ "$log", "$ratingSuppressWarning", function(a, b) { - return { - require: [ "rating", "ngModel" ], - scope: { - readonly: "=?", - onHover: "&", - onLeave: "&" - }, - controller: "RatingController", - templateUrl: "template/rating/rating.html", - replace: !0, - link: function(c, d, e, f) { - b || a.warn("rating is now deprecated. Use uib-rating instead."); - var g = f[0], h = f[1]; - g.init(h); - } - }; -} ]), angular.module("ui.bootstrap.tabs", []).controller("UibTabsetController", [ "$scope", function(a) { - var b = this, c = b.tabs = a.tabs = []; - b.select = function(a) { - angular.forEach(c, function(b) { - b.active && b !== a && (b.active = !1, b.onDeselect(), a.selectCalled = !1); - }), a.active = !0, a.selectCalled || (a.onSelect(), a.selectCalled = !0); - }, b.addTab = function(a) { - c.push(a), 1 === c.length && a.active !== !1 ? a.active = !0 : a.active ? b.select(a) : a.active = !1; - }, b.removeTab = function(a) { - var e = c.indexOf(a); - if (a.active && c.length > 1 && !d) { - var f = e == c.length - 1 ? e - 1 : e + 1; - b.select(c[f]); - } - c.splice(e, 1); - }; - var d; - a.$on("$destroy", function() { - d = !0; - }); -} ]).directive("uibTabset", function() { - return { - restrict: "EA", - transclude: !0, - replace: !0, - scope: { - type: "@" - }, - controller: "UibTabsetController", - templateUrl: "template/tabs/tabset.html", - link: function(a, b, c) { - a.vertical = !!angular.isDefined(c.vertical) && a.$parent.$eval(c.vertical), a.justified = !!angular.isDefined(c.justified) && a.$parent.$eval(c.justified); - } - }; -}).directive("uibTab", [ "$parse", function(a) { - return { - require: "^uibTabset", - restrict: "EA", - replace: !0, - templateUrl: "template/tabs/tab.html", - transclude: !0, - scope: { - active: "=?", - heading: "@", - onSelect: "&select", - onDeselect: "&deselect" - }, - controller: function() {}, - link: function(b, c, d, e, f) { - b.$watch("active", function(a) { - a && e.select(b); - }), b.disabled = !1, d.disable && b.$parent.$watch(a(d.disable), function(a) { - b.disabled = !!a; - }), b.select = function() { - b.disabled || (b.active = !0); - }, e.addTab(b), b.$on("$destroy", function() { - e.removeTab(b); - }), b.$transcludeFn = f; - } - }; -} ]).directive("uibTabHeadingTransclude", function() { - return { - restrict: "A", - require: [ "?^uibTab", "?^tab" ], - link: function(a, b) { - a.$watch("headingElement", function(a) { - a && (b.html(""), b.append(a)); - }); - } - }; -}).directive("uibTabContentTransclude", function() { - function a(a) { - return a.tagName && (a.hasAttribute("tab-heading") || a.hasAttribute("data-tab-heading") || a.hasAttribute("x-tab-heading") || a.hasAttribute("uib-tab-heading") || a.hasAttribute("data-uib-tab-heading") || a.hasAttribute("x-uib-tab-heading") || "tab-heading" === a.tagName.toLowerCase() || "data-tab-heading" === a.tagName.toLowerCase() || "x-tab-heading" === a.tagName.toLowerCase() || "uib-tab-heading" === a.tagName.toLowerCase() || "data-uib-tab-heading" === a.tagName.toLowerCase() || "x-uib-tab-heading" === a.tagName.toLowerCase()); - } - return { - restrict: "A", - require: [ "?^uibTabset", "?^tabset" ], - link: function(b, c, d) { - var e = b.$eval(d.uibTabContentTransclude); - e.$transcludeFn(e.$parent, function(b) { - angular.forEach(b, function(b) { - a(b) ? e.headingElement = b : c.append(b); - }); - }); - } - }; -}), angular.module("ui.bootstrap.tabs").value("$tabsSuppressWarning", !1).controller("TabsetController", [ "$scope", "$controller", "$log", "$tabsSuppressWarning", function(a, b, c, d) { - d || c.warn("TabsetController is now deprecated. Use UibTabsetController instead."), - angular.extend(this, b("UibTabsetController", { - $scope: a - })); -} ]).directive("tabset", [ "$log", "$tabsSuppressWarning", function(a, b) { - return { - restrict: "EA", - transclude: !0, - replace: !0, - scope: { - type: "@" - }, - controller: "TabsetController", - templateUrl: "template/tabs/tabset.html", - link: function(c, d, e) { - b || a.warn("tabset is now deprecated. Use uib-tabset instead."), c.vertical = !!angular.isDefined(e.vertical) && c.$parent.$eval(e.vertical), - c.justified = !!angular.isDefined(e.justified) && c.$parent.$eval(e.justified); - } - }; -} ]).directive("tab", [ "$parse", "$log", "$tabsSuppressWarning", function(a, b, c) { - return { - require: "^tabset", - restrict: "EA", - replace: !0, - templateUrl: "template/tabs/tab.html", - transclude: !0, - scope: { - active: "=?", - heading: "@", - onSelect: "&select", - onDeselect: "&deselect" - }, - controller: function() {}, - link: function(d, e, f, g, h) { - c || b.warn("tab is now deprecated. Use uib-tab instead."), d.$watch("active", function(a) { - a && g.select(d); - }), d.disabled = !1, f.disable && d.$parent.$watch(a(f.disable), function(a) { - d.disabled = !!a; - }), d.select = function() { - d.disabled || (d.active = !0); - }, g.addTab(d), d.$on("$destroy", function() { - g.removeTab(d); - }), d.$transcludeFn = h; - } - }; -} ]).directive("tabHeadingTransclude", [ "$log", "$tabsSuppressWarning", function(a, b) { - return { - restrict: "A", - require: "^tab", - link: function(c, d) { - b || a.warn("tab-heading-transclude is now deprecated. Use uib-tab-heading-transclude instead."), - c.$watch("headingElement", function(a) { - a && (d.html(""), d.append(a)); - }); - } - }; -} ]).directive("tabContentTransclude", [ "$log", "$tabsSuppressWarning", function(a, b) { - function c(a) { - return a.tagName && (a.hasAttribute("tab-heading") || a.hasAttribute("data-tab-heading") || a.hasAttribute("x-tab-heading") || "tab-heading" === a.tagName.toLowerCase() || "data-tab-heading" === a.tagName.toLowerCase() || "x-tab-heading" === a.tagName.toLowerCase()); - } - return { - restrict: "A", - require: "^tabset", - link: function(d, e, f) { - b || a.warn("tab-content-transclude is now deprecated. Use uib-tab-content-transclude instead."); - var g = d.$eval(f.tabContentTransclude); - g.$transcludeFn(g.$parent, function(a) { - angular.forEach(a, function(a) { - c(a) ? g.headingElement = a : e.append(a); - }); - }); - } - }; -} ]), angular.module("ui.bootstrap.timepicker", []).constant("uibTimepickerConfig", { - hourStep: 1, - minuteStep: 1, - showMeridian: !0, - meridians: null, - readonlyInput: !1, - mousewheel: !0, - arrowkeys: !0, - showSpinners: !0 -}).controller("UibTimepickerController", [ "$scope", "$element", "$attrs", "$parse", "$log", "$locale", "uibTimepickerConfig", function(a, b, c, d, e, f, g) { - function h() { - var b = parseInt(a.hours, 10), c = a.showMeridian ? b > 0 && b < 13 : b >= 0 && b < 24; - if (c) return a.showMeridian && (12 === b && (b = 0), a.meridian === r[1] && (b += 12)), - b; - } - function i() { - var b = parseInt(a.minutes, 10); - return b >= 0 && b < 60 ? b : void 0; - } - function j(a) { - return angular.isDefined(a) && a.toString().length < 2 ? "0" + a : a.toString(); - } - function k(a) { - l(), q.$setViewValue(new Date(p)), m(a); - } - function l() { - q.$setValidity("time", !0), a.invalidHours = !1, a.invalidMinutes = !1; - } - function m(b) { - var c = p.getHours(), d = p.getMinutes(); - a.showMeridian && (c = 0 === c || 12 === c ? 12 : c % 12), a.hours = "h" === b ? c : j(c), - "m" !== b && (a.minutes = j(d)), a.meridian = p.getHours() < 12 ? r[0] : r[1]; - } - function n(a, b) { - var c = new Date(a.getTime() + 6e4 * b), d = new Date(a); - return d.setHours(c.getHours(), c.getMinutes()), d; - } - function o(a) { - p = n(p, a), k(); - } - var p = new Date(), q = { - $setViewValue: angular.noop - }, r = angular.isDefined(c.meridians) ? a.$parent.$eval(c.meridians) : g.meridians || f.DATETIME_FORMATS.AMPMS; - a.tabindex = angular.isDefined(c.tabindex) ? c.tabindex : 0, b.removeAttr("tabindex"), - this.init = function(b, d) { - q = b, q.$render = this.render, q.$formatters.unshift(function(a) { - return a ? new Date(a) : null; - }); - var e = d.eq(0), f = d.eq(1), h = angular.isDefined(c.mousewheel) ? a.$parent.$eval(c.mousewheel) : g.mousewheel; - h && this.setupMousewheelEvents(e, f); - var i = angular.isDefined(c.arrowkeys) ? a.$parent.$eval(c.arrowkeys) : g.arrowkeys; - i && this.setupArrowkeyEvents(e, f), a.readonlyInput = angular.isDefined(c.readonlyInput) ? a.$parent.$eval(c.readonlyInput) : g.readonlyInput, - this.setupInputEvents(e, f); - }; - var s = g.hourStep; - c.hourStep && a.$parent.$watch(d(c.hourStep), function(a) { - s = parseInt(a, 10); - }); - var t = g.minuteStep; - c.minuteStep && a.$parent.$watch(d(c.minuteStep), function(a) { - t = parseInt(a, 10); - }); - var u; - a.$parent.$watch(d(c.min), function(a) { - var b = new Date(a); - u = isNaN(b) ? void 0 : b; - }); - var v; - a.$parent.$watch(d(c.max), function(a) { - var b = new Date(a); - v = isNaN(b) ? void 0 : b; - }), a.noIncrementHours = function() { - var a = n(p, 60 * s); - return a > v || a < p && a < u; - }, a.noDecrementHours = function() { - var a = n(p, 60 * -s); - return a < u || a > p && a > v; - }, a.noIncrementMinutes = function() { - var a = n(p, t); - return a > v || a < p && a < u; - }, a.noDecrementMinutes = function() { - var a = n(p, -t); - return a < u || a > p && a > v; - }, a.noToggleMeridian = function() { - return p.getHours() < 13 ? n(p, 720) > v : n(p, -720) < u; - }, a.showMeridian = g.showMeridian, c.showMeridian && a.$parent.$watch(d(c.showMeridian), function(b) { - if (a.showMeridian = !!b, q.$error.time) { - var c = h(), d = i(); - angular.isDefined(c) && angular.isDefined(d) && (p.setHours(c), k()); - } else m(); - }), this.setupMousewheelEvents = function(b, c) { - var d = function(a) { - a.originalEvent && (a = a.originalEvent); - var b = a.wheelDelta ? a.wheelDelta : -a.deltaY; - return a.detail || b > 0; - }; - b.bind("mousewheel wheel", function(b) { - a.$apply(d(b) ? a.incrementHours() : a.decrementHours()), b.preventDefault(); - }), c.bind("mousewheel wheel", function(b) { - a.$apply(d(b) ? a.incrementMinutes() : a.decrementMinutes()), b.preventDefault(); - }); - }, this.setupArrowkeyEvents = function(b, c) { - b.bind("keydown", function(b) { - 38 === b.which ? (b.preventDefault(), a.incrementHours(), a.$apply()) : 40 === b.which && (b.preventDefault(), - a.decrementHours(), a.$apply()); - }), c.bind("keydown", function(b) { - 38 === b.which ? (b.preventDefault(), a.incrementMinutes(), a.$apply()) : 40 === b.which && (b.preventDefault(), - a.decrementMinutes(), a.$apply()); - }); - }, this.setupInputEvents = function(b, c) { - if (a.readonlyInput) return a.updateHours = angular.noop, void (a.updateMinutes = angular.noop); - var d = function(b, c) { - q.$setViewValue(null), q.$setValidity("time", !1), angular.isDefined(b) && (a.invalidHours = b), - angular.isDefined(c) && (a.invalidMinutes = c); - }; - a.updateHours = function() { - var a = h(), b = i(); - angular.isDefined(a) && angular.isDefined(b) ? (p.setHours(a), p < u || p > v ? d(!0) : k("h")) : d(!0); - }, b.bind("blur", function(b) { - !a.invalidHours && a.hours < 10 && a.$apply(function() { - a.hours = j(a.hours); - }); - }), a.updateMinutes = function() { - var a = i(), b = h(); - angular.isDefined(a) && angular.isDefined(b) ? (p.setMinutes(a), p < u || p > v ? d(void 0, !0) : k("m")) : d(void 0, !0); - }, c.bind("blur", function(b) { - !a.invalidMinutes && a.minutes < 10 && a.$apply(function() { - a.minutes = j(a.minutes); - }); - }); - }, this.render = function() { - var b = q.$viewValue; - isNaN(b) ? (q.$setValidity("time", !1), e.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')) : (b && (p = b), - p < u || p > v ? (q.$setValidity("time", !1), a.invalidHours = !0, a.invalidMinutes = !0) : l(), - m()); - }, a.showSpinners = angular.isDefined(c.showSpinners) ? a.$parent.$eval(c.showSpinners) : g.showSpinners, - a.incrementHours = function() { - a.noIncrementHours() || o(60 * s); - }, a.decrementHours = function() { - a.noDecrementHours() || o(60 * -s); - }, a.incrementMinutes = function() { - a.noIncrementMinutes() || o(t); - }, a.decrementMinutes = function() { - a.noDecrementMinutes() || o(-t); - }, a.toggleMeridian = function() { - a.noToggleMeridian() || o(720 * (p.getHours() < 12 ? 1 : -1)); - }; -} ]).directive("uibTimepicker", function() { - return { - restrict: "EA", - require: [ "uibTimepicker", "?^ngModel" ], - controller: "UibTimepickerController", - controllerAs: "timepicker", - replace: !0, - scope: {}, - templateUrl: function(a, b) { - return b.templateUrl || "template/timepicker/timepicker.html"; - }, - link: function(a, b, c, d) { - var e = d[0], f = d[1]; - f && e.init(f, b.find("input")); - } - }; -}), angular.module("ui.bootstrap.timepicker").value("$timepickerSuppressWarning", !1).controller("TimepickerController", [ "$scope", "$element", "$attrs", "$controller", "$log", "$timepickerSuppressWarning", function(a, b, c, d, e, f) { - f || e.warn("TimepickerController is now deprecated. Use UibTimepickerController instead."), - angular.extend(this, d("UibTimepickerController", { - $scope: a, - $element: b, - $attrs: c - })); -} ]).directive("timepicker", [ "$log", "$timepickerSuppressWarning", function(a, b) { - return { - restrict: "EA", - require: [ "timepicker", "?^ngModel" ], - controller: "TimepickerController", - controllerAs: "timepicker", - replace: !0, - scope: {}, - templateUrl: function(a, b) { - return b.templateUrl || "template/timepicker/timepicker.html"; - }, - link: function(c, d, e, f) { - b || a.warn("timepicker is now deprecated. Use uib-timepicker instead."); - var g = f[0], h = f[1]; - h && g.init(h, d.find("input")); - } - }; -} ]), angular.module("ui.bootstrap.typeahead", [ "ui.bootstrap.position" ]).factory("uibTypeaheadParser", [ "$parse", function(a) { - var b = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/; - return { - parse: function(c) { - var d = c.match(b); - if (!d) throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "' + c + '".'); - return { - itemName: d[3], - source: a(d[4]), - viewMapper: a(d[2] || d[1]), - modelMapper: a(d[1]) - }; - } - }; -} ]).controller("UibTypeaheadController", [ "$scope", "$element", "$attrs", "$compile", "$parse", "$q", "$timeout", "$document", "$window", "$rootScope", "$uibPosition", "uibTypeaheadParser", function(a, b, c, d, e, f, g, h, i, j, k, l) { - function m() { - K.moveInProgress || (K.moveInProgress = !0, K.$digest()), S && g.cancel(S), S = g(function() { - K.matches.length && n(), K.moveInProgress = !1; - }, r); - } - function n() { - K.position = C ? k.offset(b) : k.position(b), K.position.top += b.prop("offsetHeight"); - } - var o, p, q = [ 9, 13, 27, 38, 40 ], r = 200, s = a.$eval(c.typeaheadMinLength); - s || 0 === s || (s = 1); - var t, u, v = a.$eval(c.typeaheadWaitMs) || 0, w = a.$eval(c.typeaheadEditable) !== !1, x = e(c.typeaheadLoading).assign || angular.noop, y = e(c.typeaheadOnSelect), z = !!angular.isDefined(c.typeaheadSelectOnBlur) && a.$eval(c.typeaheadSelectOnBlur), A = e(c.typeaheadNoResults).assign || angular.noop, B = c.typeaheadInputFormatter ? e(c.typeaheadInputFormatter) : void 0, C = !!c.typeaheadAppendToBody && a.$eval(c.typeaheadAppendToBody), D = c.typeaheadAppendToElementId || !1, E = a.$eval(c.typeaheadFocusFirst) !== !1, F = !!c.typeaheadSelectOnExact && a.$eval(c.typeaheadSelectOnExact), G = e(c.ngModel), H = e(c.ngModel + "($$$p)"), I = function(b, c) { - return angular.isFunction(G(a)) && p && p.$options && p.$options.getterSetter ? H(b, { - $$$p: c - }) : G.assign(b, c); - }, J = l.parse(c.uibTypeahead), K = a.$new(), L = a.$on("$destroy", function() { - K.$destroy(); - }); - K.$on("$destroy", L); - var M = "typeahead-" + K.$id + "-" + Math.floor(1e4 * Math.random()); - b.attr({ - "aria-autocomplete": "list", - "aria-expanded": !1, - "aria-owns": M - }); - var N = angular.element("
    "); - N.attr({ - id: M, - matches: "matches", - active: "activeIdx", - select: "select(activeIdx)", - "move-in-progress": "moveInProgress", - query: "query", - position: "position" - }), angular.isDefined(c.typeaheadTemplateUrl) && N.attr("template-url", c.typeaheadTemplateUrl), - angular.isDefined(c.typeaheadPopupTemplateUrl) && N.attr("popup-template-url", c.typeaheadPopupTemplateUrl); - var O = function() { - K.matches = [], K.activeIdx = -1, b.attr("aria-expanded", !1); - }, P = function(a) { - return M + "-option-" + a; - }; - K.$watch("activeIdx", function(a) { - a < 0 ? b.removeAttr("aria-activedescendant") : b.attr("aria-activedescendant", P(a)); - }); - var Q = function(a, b) { - return !!(K.matches.length > b && a) && a.toUpperCase() === K.matches[b].label.toUpperCase(); - }, R = function(c) { - var d = { - $viewValue: c - }; - x(a, !0), A(a, !1), f.when(J.source(a, d)).then(function(e) { - var f = c === o.$viewValue; - if (f && t) if (e && e.length > 0) { - K.activeIdx = E ? 0 : -1, A(a, !1), K.matches.length = 0; - for (var g = 0; g < e.length; g++) d[J.itemName] = e[g], K.matches.push({ - id: P(g), - label: J.viewMapper(K, d), - model: e[g] - }); - K.query = c, n(), b.attr("aria-expanded", !0), F && 1 === K.matches.length && Q(c, 0) && K.select(0); - } else O(), A(a, !0); - f && x(a, !1); - }, function() { - O(), x(a, !1), A(a, !0); - }); - }; - C && (angular.element(i).bind("resize", m), h.find("body").bind("scroll", m)); - var S; - K.moveInProgress = !1, K.query = void 0; - var T, U = function(a) { - T = g(function() { - R(a); - }, v); - }, V = function() { - T && g.cancel(T); - }; - O(), K.select = function(d) { - var e, f, h = {}; - u = !0, h[J.itemName] = f = K.matches[d].model, e = J.modelMapper(a, h), I(a, e), - o.$setValidity("editable", !0), o.$setValidity("parse", !0), y(a, { - $item: f, - $model: e, - $label: J.viewMapper(a, h) - }), O(), K.$eval(c.typeaheadFocusOnSelect) !== !1 && g(function() { - b[0].focus(); - }, 0, !1); - }, b.bind("keydown", function(a) { - if (0 !== K.matches.length && q.indexOf(a.which) !== -1) { - if (K.activeIdx === -1 && (9 === a.which || 13 === a.which)) return O(), void K.$digest(); - a.preventDefault(), 40 === a.which ? (K.activeIdx = (K.activeIdx + 1) % K.matches.length, - K.$digest()) : 38 === a.which ? (K.activeIdx = (K.activeIdx > 0 ? K.activeIdx : K.matches.length) - 1, - K.$digest()) : 13 === a.which || 9 === a.which ? K.$apply(function() { - K.select(K.activeIdx); - }) : 27 === a.which && (a.stopPropagation(), O(), K.$digest()); - } - }), b.bind("blur", function() { - z && K.matches.length && K.activeIdx !== -1 && !u && (u = !0, K.$apply(function() { - K.select(K.activeIdx); - })), t = !1, u = !1; - }); - var W = function(a) { - b[0] !== a.target && 3 !== a.which && 0 !== K.matches.length && (O(), j.$$phase || K.$digest()); - }; - h.bind("click", W), a.$on("$destroy", function() { - h.unbind("click", W), (C || D) && X.remove(), C && (angular.element(i).unbind("resize", m), - h.find("body").unbind("scroll", m)), N.remove(); - }); - var X = d(N)(K); - C ? h.find("body").append(X) : D !== !1 ? angular.element(h[0].getElementById(D)).append(X) : b.after(X), - this.init = function(b, c) { - o = b, p = c, o.$parsers.unshift(function(b) { - return t = !0, 0 === s || b && b.length >= s ? v > 0 ? (V(), U(b)) : R(b) : (x(a, !1), - V(), O()), w ? b : b ? void o.$setValidity("editable", !1) : (o.$setValidity("editable", !0), - null); - }), o.$formatters.push(function(b) { - var c, d, e = {}; - return w || o.$setValidity("editable", !0), B ? (e.$model = b, B(a, e)) : (e[J.itemName] = b, - c = J.viewMapper(a, e), e[J.itemName] = void 0, d = J.viewMapper(a, e), c !== d ? c : b); - }); - }; -} ]).directive("uibTypeahead", function() { - return { - controller: "UibTypeaheadController", - require: [ "ngModel", "^?ngModelOptions", "uibTypeahead" ], - link: function(a, b, c, d) { - d[2].init(d[0], d[1]); - } - }; -}).directive("uibTypeaheadPopup", function() { - return { - scope: { - matches: "=", - query: "=", - active: "=", - position: "&", - moveInProgress: "=", - select: "&" - }, - replace: !0, - templateUrl: function(a, b) { - return b.popupTemplateUrl || "template/typeahead/typeahead-popup.html"; - }, - link: function(a, b, c) { - a.templateUrl = c.templateUrl, a.isOpen = function() { - return a.matches.length > 0; - }, a.isActive = function(b) { - return a.active == b; - }, a.selectActive = function(b) { - a.active = b; - }, a.selectMatch = function(b) { - a.select({ - activeIdx: b - }); - }; - } - }; -}).directive("uibTypeaheadMatch", [ "$templateRequest", "$compile", "$parse", function(a, b, c) { - return { - scope: { - index: "=", - match: "=", - query: "=" - }, - link: function(d, e, f) { - var g = c(f.templateUrl)(d.$parent) || "template/typeahead/typeahead-match.html"; - a(g).then(function(a) { - b(a.trim())(d, function(a) { - e.replaceWith(a); - }); - }); - } - }; -} ]).filter("uibTypeaheadHighlight", [ "$sce", "$injector", "$log", function(a, b, c) { - function d(a) { - return a.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - } - function e(a) { - return /<.*>/g.test(a); - } - var f; - return f = b.has("$sanitize"), function(b, g) { - return !f && e(b) && c.warn("Unsafe use of typeahead please use ngSanitize"), b = g ? ("" + b).replace(new RegExp(d(g), "gi"), "$&") : b, - f || (b = a.trustAsHtml(b)), b; - }; -} ]), angular.module("ui.bootstrap.typeahead").value("$typeaheadSuppressWarning", !1).service("typeaheadParser", [ "$parse", "uibTypeaheadParser", "$log", "$typeaheadSuppressWarning", function(a, b, c, d) { - return d || c.warn("typeaheadParser is now deprecated. Use uibTypeaheadParser instead."), - b; -} ]).directive("typeahead", [ "$compile", "$parse", "$q", "$timeout", "$document", "$window", "$rootScope", "$uibPosition", "typeaheadParser", "$log", "$typeaheadSuppressWarning", function(a, b, c, d, e, f, g, h, i, j, k) { - var l = [ 9, 13, 27, 38, 40 ], m = 200; - return { - require: [ "ngModel", "^?ngModelOptions" ], - link: function(n, o, p, q) { - function r() { - N.moveInProgress || (N.moveInProgress = !0, N.$digest()), V && d.cancel(V), V = d(function() { - N.matches.length && s(), N.moveInProgress = !1; - }, m); - } - function s() { - N.position = F ? h.offset(o) : h.position(o), N.position.top += o.prop("offsetHeight"); - } - k || j.warn("typeahead is now deprecated. Use uib-typeahead instead."); - var t = q[0], u = q[1], v = n.$eval(p.typeaheadMinLength); - v || 0 === v || (v = 1); - var w, x, y = n.$eval(p.typeaheadWaitMs) || 0, z = n.$eval(p.typeaheadEditable) !== !1, A = b(p.typeaheadLoading).assign || angular.noop, B = b(p.typeaheadOnSelect), C = !!angular.isDefined(p.typeaheadSelectOnBlur) && n.$eval(p.typeaheadSelectOnBlur), D = b(p.typeaheadNoResults).assign || angular.noop, E = p.typeaheadInputFormatter ? b(p.typeaheadInputFormatter) : void 0, F = !!p.typeaheadAppendToBody && n.$eval(p.typeaheadAppendToBody), G = p.typeaheadAppendToElementId || !1, H = n.$eval(p.typeaheadFocusFirst) !== !1, I = !!p.typeaheadSelectOnExact && n.$eval(p.typeaheadSelectOnExact), J = b(p.ngModel), K = b(p.ngModel + "($$$p)"), L = function(a, b) { - return angular.isFunction(J(n)) && u && u.$options && u.$options.getterSetter ? K(a, { - $$$p: b - }) : J.assign(a, b); - }, M = i.parse(p.typeahead), N = n.$new(), O = n.$on("$destroy", function() { - N.$destroy(); - }); - N.$on("$destroy", O); - var P = "typeahead-" + N.$id + "-" + Math.floor(1e4 * Math.random()); - o.attr({ - "aria-autocomplete": "list", - "aria-expanded": !1, - "aria-owns": P - }); - var Q = angular.element("
    "); - Q.attr({ - id: P, - matches: "matches", - active: "activeIdx", - select: "select(activeIdx)", - "move-in-progress": "moveInProgress", - query: "query", - position: "position" - }), angular.isDefined(p.typeaheadTemplateUrl) && Q.attr("template-url", p.typeaheadTemplateUrl), - angular.isDefined(p.typeaheadPopupTemplateUrl) && Q.attr("popup-template-url", p.typeaheadPopupTemplateUrl); - var R = function() { - N.matches = [], N.activeIdx = -1, o.attr("aria-expanded", !1); - }, S = function(a) { - return P + "-option-" + a; - }; - N.$watch("activeIdx", function(a) { - a < 0 ? o.removeAttr("aria-activedescendant") : o.attr("aria-activedescendant", S(a)); - }); - var T = function(a, b) { - return !!(N.matches.length > b && a) && a.toUpperCase() === N.matches[b].label.toUpperCase(); - }, U = function(a) { - var b = { - $viewValue: a - }; - A(n, !0), D(n, !1), c.when(M.source(n, b)).then(function(c) { - var d = a === t.$viewValue; - if (d && w) if (c && c.length > 0) { - N.activeIdx = H ? 0 : -1, D(n, !1), N.matches.length = 0; - for (var e = 0; e < c.length; e++) b[M.itemName] = c[e], N.matches.push({ - id: S(e), - label: M.viewMapper(N, b), - model: c[e] - }); - N.query = a, s(), o.attr("aria-expanded", !0), I && 1 === N.matches.length && T(a, 0) && N.select(0); - } else R(), D(n, !0); - d && A(n, !1); - }, function() { - R(), A(n, !1), D(n, !0); - }); - }; - F && (angular.element(f).bind("resize", r), e.find("body").bind("scroll", r)); - var V; - N.moveInProgress = !1, R(), N.query = void 0; - var W, X = function(a) { - W = d(function() { - U(a); - }, y); - }, Y = function() { - W && d.cancel(W); - }; - t.$parsers.unshift(function(a) { - return w = !0, 0 === v || a && a.length >= v ? y > 0 ? (Y(), X(a)) : U(a) : (A(n, !1), - Y(), R()), z ? a : a ? void t.$setValidity("editable", !1) : (t.$setValidity("editable", !0), - null); - }), t.$formatters.push(function(a) { - var b, c, d = {}; - return z || t.$setValidity("editable", !0), E ? (d.$model = a, E(n, d)) : (d[M.itemName] = a, - b = M.viewMapper(n, d), d[M.itemName] = void 0, c = M.viewMapper(n, d), b !== c ? b : a); - }), N.select = function(a) { - var b, c, e = {}; - x = !0, e[M.itemName] = c = N.matches[a].model, b = M.modelMapper(n, e), L(n, b), - t.$setValidity("editable", !0), t.$setValidity("parse", !0), B(n, { - $item: c, - $model: b, - $label: M.viewMapper(n, e) - }), R(), N.$eval(p.typeaheadFocusOnSelect) !== !1 && d(function() { - o[0].focus(); - }, 0, !1); - }, o.bind("keydown", function(a) { - if (0 !== N.matches.length && l.indexOf(a.which) !== -1) { - if (N.activeIdx === -1 && (9 === a.which || 13 === a.which)) return R(), void N.$digest(); - a.preventDefault(), 40 === a.which ? (N.activeIdx = (N.activeIdx + 1) % N.matches.length, - N.$digest()) : 38 === a.which ? (N.activeIdx = (N.activeIdx > 0 ? N.activeIdx : N.matches.length) - 1, - N.$digest()) : 13 === a.which || 9 === a.which ? N.$apply(function() { - N.select(N.activeIdx); - }) : 27 === a.which && (a.stopPropagation(), R(), N.$digest()); - } - }), o.bind("blur", function() { - C && N.matches.length && N.activeIdx !== -1 && !x && (x = !0, N.$apply(function() { - N.select(N.activeIdx); - })), w = !1, x = !1; - }); - var Z = function(a) { - o[0] !== a.target && 3 !== a.which && 0 !== N.matches.length && (R(), g.$$phase || N.$digest()); - }; - e.bind("click", Z), n.$on("$destroy", function() { - e.unbind("click", Z), (F || G) && $.remove(), F && (angular.element(f).unbind("resize", r), - e.find("body").unbind("scroll", r)), Q.remove(); - }); - var $ = a(Q)(N); - F ? e.find("body").append($) : G !== !1 ? angular.element(e[0].getElementById(G)).append($) : o.after($); - } - }; -} ]).directive("typeaheadPopup", [ "$typeaheadSuppressWarning", "$log", function(a, b) { - return { - scope: { - matches: "=", - query: "=", - active: "=", - position: "&", - moveInProgress: "=", - select: "&" - }, - replace: !0, - templateUrl: function(a, b) { - return b.popupTemplateUrl || "template/typeahead/typeahead-popup.html"; - }, - link: function(c, d, e) { - a || b.warn("typeahead-popup is now deprecated. Use uib-typeahead-popup instead."), - c.templateUrl = e.templateUrl, c.isOpen = function() { - return c.matches.length > 0; - }, c.isActive = function(a) { - return c.active == a; - }, c.selectActive = function(a) { - c.active = a; - }, c.selectMatch = function(a) { - c.select({ - activeIdx: a - }); - }; - } - }; -} ]).directive("typeaheadMatch", [ "$templateRequest", "$compile", "$parse", "$typeaheadSuppressWarning", "$log", function(a, b, c, d, e) { - return { - restrict: "EA", - scope: { - index: "=", - match: "=", - query: "=" - }, - link: function(f, g, h) { - d || e.warn("typeahead-match is now deprecated. Use uib-typeahead-match instead."); - var i = c(h.templateUrl)(f.$parent) || "template/typeahead/typeahead-match.html"; - a(i).then(function(a) { - b(a.trim())(f, function(a) { - g.replaceWith(a); - }); - }); - } - }; -} ]).filter("typeaheadHighlight", [ "$sce", "$injector", "$log", "$typeaheadSuppressWarning", function(a, b, c, d) { - function e(a) { - return a.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1"); - } - function f(a) { - return /<.*>/g.test(a); - } - var g; - return g = b.has("$sanitize"), function(b, h) { - return d || c.warn("typeaheadHighlight is now deprecated. Use uibTypeaheadHighlight instead."), - !g && f(b) && c.warn("Unsafe use of typeahead please use ngSanitize"), b = h ? ("" + b).replace(new RegExp(e(h), "gi"), "$&") : b, - g || (b = a.trustAsHtml(b)), b; - }; -} ]), angular.module("template/accordion/accordion-group.html", []).run([ "$templateCache", function(a) { - a.put("template/accordion/accordion-group.html", '
    \n
    \n

    \n {{heading}}\n

    \n
    \n
    \n\t
    \n
    \n
    \n'); -} ]), angular.module("template/accordion/accordion.html", []).run([ "$templateCache", function(a) { - a.put("template/accordion/accordion.html", '
    '); -} ]), angular.module("template/alert/alert.html", []).run([ "$templateCache", function(a) { - a.put("template/alert/alert.html", '\n'); -} ]), angular.module("template/carousel/carousel.html", []).run([ "$templateCache", function(a) { - a.put("template/carousel/carousel.html", ''); -} ]), angular.module("template/carousel/slide.html", []).run([ "$templateCache", function(a) { - a.put("template/carousel/slide.html", '
    \n'); -} ]), angular.module("template/datepicker/datepicker.html", []).run([ "$templateCache", function(a) { - a.put("template/datepicker/datepicker.html", '
    \n \n \n \n
    '); -} ]), angular.module("template/datepicker/day.html", []).run([ "$templateCache", function(a) { - a.put("template/datepicker/day.html", '\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{::label.abbr}}
    {{ weekNumbers[$index] }}\n \n
    \n'); -} ]), angular.module("template/datepicker/month.html", []).run([ "$templateCache", function(a) { - a.put("template/datepicker/month.html", '\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n'); -} ]), angular.module("template/datepicker/popup.html", []).run([ "$templateCache", function(a) { - a.put("template/datepicker/popup.html", '\n'); -} ]), angular.module("template/datepicker/year.html", []).run([ "$templateCache", function(a) { - a.put("template/datepicker/year.html", '\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n'); -} ]), angular.module("template/modal/backdrop.html", []).run([ "$templateCache", function(a) { - a.put("template/modal/backdrop.html", '
    \n'); -} ]), angular.module("template/modal/window.html", []).run([ "$templateCache", function(a) { - a.put("template/modal/window.html", '\n'); -} ]), angular.module("template/pagination/pager.html", []).run([ "$templateCache", function(a) { - a.put("template/pagination/pager.html", '\n'); -} ]), angular.module("template/pagination/pagination.html", []).run([ "$templateCache", function(a) { - a.put("template/pagination/pagination.html", '\n'); -} ]), angular.module("template/tooltip/tooltip-html-popup.html", []).run([ "$templateCache", function(a) { - a.put("template/tooltip/tooltip-html-popup.html", '\n
    \n
    \n
    \n'); -} ]), angular.module("template/tooltip/tooltip-popup.html", []).run([ "$templateCache", function(a) { - a.put("template/tooltip/tooltip-popup.html", '\n
    \n
    \n
    \n'); -} ]), angular.module("template/tooltip/tooltip-template-popup.html", []).run([ "$templateCache", function(a) { - a.put("template/tooltip/tooltip-template-popup.html", '\n
    \n
    \n
    \n'); -} ]), angular.module("template/popover/popover-html.html", []).run([ "$templateCache", function(a) { - a.put("template/popover/popover-html.html", '
    \n
    \n\n
    \n

    \n
    \n
    \n
    \n'); -} ]), angular.module("template/popover/popover-template.html", []).run([ "$templateCache", function(a) { - a.put("template/popover/popover-template.html", '
    \n
    \n\n
    \n

    \n
    \n
    \n
    \n'); -} ]), angular.module("template/popover/popover.html", []).run([ "$templateCache", function(a) { - a.put("template/popover/popover.html", '
    \n
    \n\n
    \n

    \n
    \n
    \n
    \n'); -} ]), angular.module("template/progressbar/bar.html", []).run([ "$templateCache", function(a) { - a.put("template/progressbar/bar.html", '
    \n'); -} ]), angular.module("template/progressbar/progress.html", []).run([ "$templateCache", function(a) { - a.put("template/progressbar/progress.html", '
    '); -} ]), angular.module("template/progressbar/progressbar.html", []).run([ "$templateCache", function(a) { - a.put("template/progressbar/progressbar.html", '
    \n
    \n
    \n'); -} ]), angular.module("template/rating/rating.html", []).run([ "$templateCache", function(a) { - a.put("template/rating/rating.html", '\n ({{ $index < value ? \'*\' : \' \' }})\n \n\n'); -} ]), angular.module("template/tabs/tab.html", []).run([ "$templateCache", function(a) { - a.put("template/tabs/tab.html", '
  • \n {{heading}}\n
  • \n'); -} ]), angular.module("template/tabs/tabset.html", []).run([ "$templateCache", function(a) { - a.put("template/tabs/tabset.html", '
    \n \n
    \n
    \n
    \n
    \n
    \n'); -} ]), angular.module("template/timepicker/timepicker.html", []).run([ "$templateCache", function(a) { - a.put("template/timepicker/timepicker.html", '\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
    \n \n :\n \n
     
    \n'); -} ]), angular.module("template/typeahead/typeahead-match.html", []).run([ "$templateCache", function(a) { - a.put("template/typeahead/typeahead-match.html", '\n'); -} ]), angular.module("template/typeahead/typeahead-popup.html", []).run([ "$templateCache", function(a) { - a.put("template/typeahead/typeahead-popup.html", '\n'); -} ]), !angular.$$csp() && angular.element(document).find("head").prepend(''), -!function(a, b) { - "function" == typeof define && define.amd ? define([], function() { - return b(); - }) : "object" == typeof exports ? module.exports = b() : b(); -}(this, function() { - function a(a) { - var b = a.storageKey(), c = a.storage(), d = function() { - var d = a.preferredLanguage(); - angular.isString(d) ? a.use(d) : c.put(b, a.use()); - }; - d.displayName = "fallbackFromIncorrectStorageValue", c ? c.get(b) ? a.use(c.get(b))["catch"](d) : d() : angular.isString(a.preferredLanguage()) && a.use(a.preferredLanguage()); - } - function b() { - var a, b, c = null, d = !1, e = !1; - b = { - sanitize: function(a, b) { - return "text" === b && (a = g(a)), a; - }, - escape: function(a, b) { - return "text" === b && (a = f(a)), a; - }, - sanitizeParameters: function(a, b) { - return "params" === b && (a = h(a, g)), a; - }, - escapeParameters: function(a, b) { - return "params" === b && (a = h(a, f)), a; - } - }, b.escaped = b.escapeParameters, this.addStrategy = function(a, c) { - return b[a] = c, this; - }, this.removeStrategy = function(a) { - return delete b[a], this; - }, this.useStrategy = function(a) { - return d = !0, c = a, this; - }, this.$get = [ "$injector", "$log", function(f, g) { - var h = {}, i = function(a, c, d) { - return angular.forEach(d, function(d) { - if (angular.isFunction(d)) a = d(a, c); else if (angular.isFunction(b[d])) a = b[d](a, c); else { - if (!angular.isString(b[d])) throw new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + d + "'"); - if (!h[b[d]]) try { - h[b[d]] = f.get(b[d]); - } catch (e) { - throw h[b[d]] = function() {}, new Error("pascalprecht.translate.$translateSanitization: Unknown sanitization strategy: '" + d + "'"); - } - a = h[b[d]](a, c); - } - }), a; - }, j = function() { - d || e || (g.warn("pascalprecht.translate.$translateSanitization: No sanitization strategy has been configured. This can have serious security implications. See http://angular-translate.github.io/docs/#/guide/19_security for details."), - e = !0); - }; - return f.has("$sanitize") && (a = f.get("$sanitize")), { - useStrategy: function(a) { - return function(b) { - a.useStrategy(b); - }; - }(this), - sanitize: function(a, b, d) { - if (c || j(), arguments.length < 3 && (d = c), !d) return a; - var e = angular.isArray(d) ? d : [ d ]; - return i(a, b, e); - } - }; - } ]; - var f = function(a) { - var b = angular.element("
    "); - return b.text(a), b.html(); - }, g = function(b) { - if (!a) throw new Error("pascalprecht.translate.$translateSanitization: Error cannot find $sanitize service. Either include the ngSanitize module (https://docs.angularjs.org/api/ngSanitize) or use a sanitization strategy which does not depend on $sanitize, such as 'escape'."); - return a(b); - }, h = function(a, b, c) { - if (angular.isObject(a)) { - var d = angular.isArray(a) ? [] : {}; - if (c) { - if (c.indexOf(a) > -1) throw new Error("pascalprecht.translate.$translateSanitization: Error cannot interpolate parameter due recursive object"); - } else c = []; - return c.push(a), angular.forEach(a, function(a, e) { - d[e] = h(a, b, c); - }), c.splice(-1, 1), d; - } - return angular.isNumber(a) ? a : b(a); - }; - } - function c(a, b, c, d) { - var e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u = {}, v = [], w = a, x = [], y = "translate-cloak", z = !1, A = !1, B = ".", C = !1, D = 0, E = !0, F = "default", G = { - "default": function(a) { - return (a || "").split("-").join("_"); - }, - java: function(a) { - var b = (a || "").split("-").join("_"), c = b.split("_"); - return c.length > 1 ? c[0].toLowerCase() + "_" + c[1].toUpperCase() : b; - }, - bcp47: function(a) { - var b = (a || "").split("_").join("-"), c = b.split("-"); - return c.length > 1 ? c[0].toLowerCase() + "-" + c[1].toUpperCase() : b; - }, - "iso639-1": function(a) { - var b = (a || "").split("_").join("-"), c = b.split("-"); - return c[0].toLowerCase(); - } - }, H = "2.11.0", I = function() { - if (angular.isFunction(d.getLocale)) return d.getLocale(); - var a, c, e = b.$get().navigator, f = [ "language", "browserLanguage", "systemLanguage", "userLanguage" ]; - if (angular.isArray(e.languages)) for (a = 0; a < e.languages.length; a++) if (c = e.languages[a], - c && c.length) return c; - for (a = 0; a < f.length; a++) if (c = e[f[a]], c && c.length) return c; - return null; - }; - I.displayName = "angular-translate/service: getFirstBrowserLanguage"; - var J = function() { - var a = I() || ""; - return G[F] && (a = G[F](a)), a; - }; - J.displayName = "angular-translate/service: getLocale"; - var K = function(a, b) { - for (var c = 0, d = a.length; d > c; c++) if (a[c] === b) return c; - return -1; - }, L = function() { - return this.toString().replace(/^\s+|\s+$/g, ""); - }, M = function(a) { - if (a) { - for (var b = [], c = angular.lowercase(a), d = 0, e = v.length; e > d; d++) b.push(angular.lowercase(v[d])); - if (K(b, c) > -1) return a; - if (f) { - var g; - for (var h in f) if (f.hasOwnProperty(h)) { - var i = !1, j = Object.prototype.hasOwnProperty.call(f, h) && angular.lowercase(h) === angular.lowercase(a); - if ("*" === h.slice(-1) && (i = h.slice(0, -1) === a.slice(0, h.length - 1)), (j || i) && (g = f[h], - K(b, angular.lowercase(g)) > -1)) return g; - } - } - var k = a.split("_"); - return k.length > 1 && K(b, angular.lowercase(k[0])) > -1 ? k[0] : void 0; - } - }, N = function(a, b) { - if (!a && !b) return u; - if (a && !b) { - if (angular.isString(a)) return u[a]; - } else angular.isObject(u[a]) || (u[a] = {}), angular.extend(u[a], O(b)); - return this; - }; - this.translations = N, this.cloakClassName = function(a) { - return a ? (y = a, this) : y; - }, this.nestedObjectDelimeter = function(a) { - return a ? (B = a, this) : B; - }; - var O = function(a, b, c, d) { - var e, f, g, h; - b || (b = []), c || (c = {}); - for (e in a) Object.prototype.hasOwnProperty.call(a, e) && (h = a[e], angular.isObject(h) ? O(h, b.concat(e), c, e) : (f = b.length ? "" + b.join(B) + B + e : e, - b.length && e === d && (g = "" + b.join(B), c[g] = "@:" + f), c[f] = h)); - return c; - }; - O.displayName = "flatObject", this.addInterpolation = function(a) { - return x.push(a), this; - }, this.useMessageFormatInterpolation = function() { - return this.useInterpolation("$translateMessageFormatInterpolation"); - }, this.useInterpolation = function(a) { - return n = a, this; - }, this.useSanitizeValueStrategy = function(a) { - return c.useStrategy(a), this; - }, this.preferredLanguage = function(a) { - return a ? (P(a), this) : e; - }; - var P = function(a) { - return a && (e = a), e; - }; - this.translationNotFoundIndicator = function(a) { - return this.translationNotFoundIndicatorLeft(a), this.translationNotFoundIndicatorRight(a), - this; - }, this.translationNotFoundIndicatorLeft = function(a) { - return a ? (q = a, this) : q; - }, this.translationNotFoundIndicatorRight = function(a) { - return a ? (r = a, this) : r; - }, this.fallbackLanguage = function(a) { - return Q(a), this; - }; - var Q = function(a) { - return a ? (angular.isString(a) ? (h = !0, g = [ a ]) : angular.isArray(a) && (h = !1, - g = a), angular.isString(e) && K(g, e) < 0 && g.push(e), this) : h ? g[0] : g; - }; - this.use = function(a) { - if (a) { - if (!u[a] && !o) throw new Error("$translateProvider couldn't find translationTable for langKey: '" + a + "'"); - return i = a, this; - } - return i; - }, this.resolveClientLocale = function() { - return J(); - }; - var R = function(a) { - return a ? (w = a, this) : l ? l + w : w; - }; - this.storageKey = R, this.useUrlLoader = function(a, b) { - return this.useLoader("$translateUrlLoader", angular.extend({ - url: a - }, b)); - }, this.useStaticFilesLoader = function(a) { - return this.useLoader("$translateStaticFilesLoader", a); - }, this.useLoader = function(a, b) { - return o = a, p = b || {}, this; - }, this.useLocalStorage = function() { - return this.useStorage("$translateLocalStorage"); - }, this.useCookieStorage = function() { - return this.useStorage("$translateCookieStorage"); - }, this.useStorage = function(a) { - return k = a, this; - }, this.storagePrefix = function(a) { - return a ? (l = a, this) : a; - }, this.useMissingTranslationHandlerLog = function() { - return this.useMissingTranslationHandler("$translateMissingTranslationHandlerLog"); - }, this.useMissingTranslationHandler = function(a) { - return m = a, this; - }, this.usePostCompiling = function(a) { - return z = !!a, this; - }, this.forceAsyncReload = function(a) { - return A = !!a, this; - }, this.uniformLanguageTag = function(a) { - return a ? angular.isString(a) && (a = { - standard: a - }) : a = {}, F = a.standard, this; - }, this.determinePreferredLanguage = function(a) { - var b = a && angular.isFunction(a) ? a() : J(); - return e = v.length ? M(b) || b : b, this; - }, this.registerAvailableLanguageKeys = function(a, b) { - return a ? (v = a, b && (f = b), this) : v; - }, this.useLoaderCache = function(a) { - return a === !1 ? s = void 0 : a === !0 ? s = !0 : "undefined" == typeof a ? s = "$translationCache" : a && (s = a), - this; - }, this.directivePriority = function(a) { - return void 0 === a ? D : (D = a, this); - }, this.statefulFilter = function(a) { - return void 0 === a ? E : (E = a, this); - }, this.postProcess = function(a) { - return t = a ? a : void 0, this; - }, this.$get = [ "$log", "$injector", "$rootScope", "$q", function(a, b, c, d) { - var f, l, F, G = b.get(n || "$translateDefaultInterpolation"), I = !1, S = {}, T = {}, U = function(a, b, c, h, j) { - !i && e && (i = e); - var m = j && j !== i ? M(j) || j : i; - if (j && ja(j), angular.isArray(a)) { - var n = function(a) { - for (var e = {}, f = [], g = function(a) { - var f = d.defer(), g = function(b) { - e[a] = b, f.resolve([ a, b ]); - }; - return U(a, b, c, h, j).then(g, g), f.promise; - }, i = 0, k = a.length; k > i; i++) f.push(g(a[i])); - return d.all(f).then(function() { - return e; - }); - }; - return n(a); - } - var o = d.defer(); - a && (a = L.apply(a)); - var p = function() { - var a = e ? T[e] : T[m]; - if (l = 0, k && !a) { - var b = f.get(w); - if (a = T[b], g && g.length) { - var c = K(g, b); - l = 0 === c ? 1 : 0, K(g, e) < 0 && g.push(e); - } - } - return a; - }(); - if (p) { - var q = function() { - j || (m = i), fa(a, b, c, h, m).then(o.resolve, o.reject); - }; - q.displayName = "promiseResolved", p["finally"](q); - } else fa(a, b, c, h, m).then(o.resolve, o.reject); - return o.promise; - }, V = function(a) { - return q && (a = [ q, a ].join(" ")), r && (a = [ a, r ].join(" ")), a; - }, W = function(a) { - i = a, k && f.put(U.storageKey(), i), c.$emit("$translateChangeSuccess", { - language: a - }), G.setLocale(i); - var b = function(a, b) { - S[b].setLocale(i); - }; - b.displayName = "eachInterpolatorLocaleSetter", angular.forEach(S, b), c.$emit("$translateChangeEnd", { - language: a - }); - }, X = function(a) { - if (!a) throw "No language key specified for loading."; - var e = d.defer(); - c.$emit("$translateLoadingStart", { - language: a - }), I = !0; - var f = s; - "string" == typeof f && (f = b.get(f)); - var g = angular.extend({}, p, { - key: a, - $http: angular.extend({}, { - cache: f - }, p.$http) - }), h = function(b) { - var d = {}; - c.$emit("$translateLoadingSuccess", { - language: a - }), angular.isArray(b) ? angular.forEach(b, function(a) { - angular.extend(d, O(a)); - }) : angular.extend(d, O(b)), I = !1, e.resolve({ - key: a, - table: d - }), c.$emit("$translateLoadingEnd", { - language: a - }); - }; - h.displayName = "onLoaderSuccess"; - var i = function(a) { - c.$emit("$translateLoadingError", { - language: a - }), e.reject(a), c.$emit("$translateLoadingEnd", { - language: a - }); - }; - return i.displayName = "onLoaderError", b.get(o)(g).then(h, i), e.promise; - }; - if (k && (f = b.get(k), !f.get || !f.put)) throw new Error("Couldn't use storage '" + k + "', missing get() or put() method!"); - if (x.length) { - var Y = function(a) { - var c = b.get(a); - c.setLocale(e || i), S[c.getInterpolationIdentifier()] = c; - }; - Y.displayName = "interpolationFactoryAdder", angular.forEach(x, Y); - } - var Z = function(a) { - var b = d.defer(); - if (Object.prototype.hasOwnProperty.call(u, a)) b.resolve(u[a]); else if (T[a]) { - var c = function(a) { - N(a.key, a.table), b.resolve(a.table); - }; - c.displayName = "translationTableResolver", T[a].then(c, b.reject); - } else b.reject(); - return b.promise; - }, $ = function(a, b, c, e) { - var f = d.defer(), g = function(d) { - if (Object.prototype.hasOwnProperty.call(d, b)) { - e.setLocale(a); - var g = d[b]; - if ("@:" === g.substr(0, 2)) $(a, g.substr(2), c, e).then(f.resolve, f.reject); else { - var h = e.interpolate(d[b], c); - h = ia(b, d[b], h, c, a), f.resolve(h); - } - e.setLocale(i); - } else f.reject(); - }; - return g.displayName = "fallbackTranslationResolver", Z(a).then(g, f.reject), f.promise; - }, _ = function(a, b, c, d) { - var e, f = u[a]; - if (f && Object.prototype.hasOwnProperty.call(f, b)) { - if (d.setLocale(a), e = d.interpolate(f[b], c), "@:" === e.substr(0, 2)) return _(a, e.substr(2), c, d); - d.setLocale(i); - } - return e; - }, aa = function(a, c, d) { - if (m) { - var e = b.get(m)(a, i, c, d); - return void 0 !== e ? e : a; - } - return a; - }, ba = function(a, b, c, e, f) { - var h = d.defer(); - if (a < g.length) { - var i = g[a]; - $(i, b, c, e).then(function(a) { - h.resolve(a); - }, function() { - return ba(a + 1, b, c, e, f).then(h.resolve, h.reject); - }); - } else f ? h.resolve(f) : m ? h.resolve(aa(b, c)) : h.reject(aa(b, c)); - return h.promise; - }, ca = function(a, b, c, d) { - var e; - if (a < g.length) { - var f = g[a]; - e = _(f, b, c, d), e || (e = ca(a + 1, b, c, d)); - } - return e; - }, da = function(a, b, c, d) { - return ba(F > 0 ? F : l, a, b, c, d); - }, ea = function(a, b, c) { - return ca(F > 0 ? F : l, a, b, c); - }, fa = function(a, b, c, e, f) { - var h = d.defer(), i = f ? u[f] : u, j = c ? S[c] : G; - if (i && Object.prototype.hasOwnProperty.call(i, a)) { - var k = i[a]; - if ("@:" === k.substr(0, 2)) U(k.substr(2), b, c, e, f).then(h.resolve, h.reject); else { - var l = j.interpolate(k, b); - l = ia(a, k, l, b, f), h.resolve(l); - } - } else { - var n; - m && !I && (n = aa(a, b, e)), f && g && g.length ? da(a, b, j, e).then(function(a) { - h.resolve(a); - }, function(a) { - h.reject(V(a)); - }) : m && !I && n ? e ? h.resolve(e) : h.resolve(n) : e ? h.resolve(e) : h.reject(V(a)); - } - return h.promise; - }, ga = function(a, b, c, d) { - var e, f = d ? u[d] : u, h = G; - if (S && Object.prototype.hasOwnProperty.call(S, c) && (h = S[c]), f && Object.prototype.hasOwnProperty.call(f, a)) { - var i = f[a]; - e = "@:" === i.substr(0, 2) ? ga(i.substr(2), b, c, d) : h.interpolate(i, b); - } else { - var j; - m && !I && (j = aa(a, b)), d && g && g.length ? (l = 0, e = ea(a, b, h)) : e = m && !I && j ? j : V(a); - } - return e; - }, ha = function(a) { - j === a && (j = void 0), T[a] = void 0; - }, ia = function(a, c, d, e, f) { - var g = t; - return g && ("string" == typeof g && (g = b.get(g)), g) ? g(a, c, d, e, f) : d; - }, ja = function(a) { - u[a] || !o || T[a] || (T[a] = X(a).then(function(a) { - N(a.key, a.table); - })); - }; - U.preferredLanguage = function(a) { - return a && P(a), e; - }, U.cloakClassName = function() { - return y; - }, U.nestedObjectDelimeter = function() { - return B; - }, U.fallbackLanguage = function(a) { - if (void 0 !== a && null !== a) { - if (Q(a), o && g && g.length) for (var b = 0, c = g.length; c > b; b++) T[g[b]] || (T[g[b]] = X(g[b])); - U.use(U.use()); - } - return h ? g[0] : g; - }, U.useFallbackLanguage = function(a) { - if (void 0 !== a && null !== a) if (a) { - var b = K(g, a); - b > -1 && (F = b); - } else F = 0; - }, U.proposedLanguage = function() { - return j; - }, U.storage = function() { - return f; - }, U.negotiateLocale = M, U.use = function(a) { - if (!a) return i; - var b = d.defer(); - c.$emit("$translateChangeStart", { - language: a - }); - var e = M(a); - return v.length > 0 && !e ? d.reject(a) : (e && (a = e), j = a, !A && u[a] || !o || T[a] ? T[a] ? T[a].then(function(a) { - return j === a.key && W(a.key), b.resolve(a.key), a; - }, function(a) { - return !i && g && g.length > 0 ? U.use(g[0]).then(b.resolve, b.reject) : b.reject(a); - }) : (b.resolve(a), W(a)) : (T[a] = X(a).then(function(c) { - return N(c.key, c.table), b.resolve(c.key), j === a && W(c.key), c; - }, function(a) { - return c.$emit("$translateChangeError", { - language: a - }), b.reject(a), c.$emit("$translateChangeEnd", { - language: a - }), d.reject(a); - }), T[a]["finally"](function() { - ha(a); - })), b.promise); - }, U.resolveClientLocale = function() { - return J(); - }, U.storageKey = function() { - return R(); - }, U.isPostCompilingEnabled = function() { - return z; - }, U.isForceAsyncReloadEnabled = function() { - return A; - }, U.refresh = function(a) { - function b() { - f.resolve(), c.$emit("$translateRefreshEnd", { - language: a - }); - } - function e() { - f.reject(), c.$emit("$translateRefreshEnd", { - language: a - }); - } - if (!o) throw new Error("Couldn't refresh translation table, no loader registered!"); - var f = d.defer(); - if (c.$emit("$translateRefreshStart", { - language: a - }), a) if (u[a]) { - var h = function(c) { - N(c.key, c.table), a === i && W(i), b(); - }; - h.displayName = "refreshPostProcessor", X(a).then(h, e); - } else e(); else { - var j = [], k = {}; - if (g && g.length) for (var l = 0, m = g.length; m > l; l++) j.push(X(g[l])), k[g[l]] = !0; - i && !k[i] && j.push(X(i)); - var n = function(a) { - u = {}, angular.forEach(a, function(a) { - N(a.key, a.table); - }), i && W(i), b(); - }; - n.displayName = "refreshPostProcessor", d.all(j).then(n, e); - } - return f.promise; - }, U.instant = function(a, b, c, d) { - var f = d && d !== i ? M(d) || d : i; - if (null === a || angular.isUndefined(a)) return a; - if (d && ja(d), angular.isArray(a)) { - for (var h = {}, j = 0, k = a.length; k > j; j++) h[a[j]] = U.instant(a[j], b, c, d); - return h; - } - if (angular.isString(a) && a.length < 1) return a; - a && (a = L.apply(a)); - var l, n = []; - e && n.push(e), f && n.push(f), g && g.length && (n = n.concat(g)); - for (var o = 0, p = n.length; p > o; o++) { - var s = n[o]; - if (u[s] && "undefined" != typeof u[s][a] && (l = ga(a, b, c, f)), "undefined" != typeof l) break; - } - return l || "" === l || (q || r ? l = V(a) : (l = G.interpolate(a, b), m && !I && (l = aa(a, b)))), - l; - }, U.versionInfo = function() { - return H; - }, U.loaderCache = function() { - return s; - }, U.directivePriority = function() { - return D; - }, U.statefulFilter = function() { - return E; - }, U.isReady = function() { - return C; - }; - var ka = d.defer(); - ka.promise.then(function() { - C = !0; - }), U.onReady = function(a) { - var b = d.defer(); - return angular.isFunction(a) && b.promise.then(a), C ? b.resolve() : ka.promise.then(b.resolve), - b.promise; - }, U.getAvailableLanguageKeys = function() { - return v.length > 0 ? v : null; - }; - var la = c.$on("$translateReady", function() { - ka.resolve(), la(), la = null; - }), ma = c.$on("$translateChangeEnd", function() { - ka.resolve(), ma(), ma = null; - }); - if (o) { - if (angular.equals(u, {}) && U.use() && U.use(U.use()), g && g.length) for (var na = function(a) { - return N(a.key, a.table), c.$emit("$translateChangeEnd", { - language: a.key - }), a; - }, oa = 0, pa = g.length; pa > oa; oa++) { - var qa = g[oa]; - !A && u[qa] || (T[qa] = X(qa).then(na)); - } - } else c.$emit("$translateReady", { - language: U.use() - }); - return U; - } ]; - } - function d(a, b) { - var c, d = {}, e = "default"; - return d.setLocale = function(a) { - c = a; - }, d.getInterpolationIdentifier = function() { - return e; - }, d.useSanitizeValueStrategy = function(a) { - return b.useStrategy(a), this; - }, d.interpolate = function(c, d) { - d = d || {}, d = b.sanitize(d, "params"); - var e = a(c)(d); - return e = b.sanitize(e, "text"); - }, d; - } - function e(a, b, c, d, e, g) { - var h = function() { - return this.toString().replace(/^\s+|\s+$/g, ""); - }; - return { - restrict: "AE", - scope: !0, - priority: a.directivePriority(), - compile: function(b, i) { - var j = i.translateValues ? i.translateValues : void 0, k = i.translateInterpolation ? i.translateInterpolation : void 0, l = b[0].outerHTML.match(/translate-value-+/i), m = "^(.*)(" + c.startSymbol() + ".*" + c.endSymbol() + ")(.*)", n = "^(.*)" + c.startSymbol() + "(.*)" + c.endSymbol() + "(.*)"; - return function(b, o, p) { - b.interpolateParams = {}, b.preText = "", b.postText = "", b.translateNamespace = f(b); - var q = {}, r = function(a, c, d) { - if (c.translateValues && angular.extend(a, e(c.translateValues)(b.$parent)), l) for (var f in d) if (Object.prototype.hasOwnProperty.call(c, f) && "translateValue" === f.substr(0, 14) && "translateValues" !== f) { - var g = angular.lowercase(f.substr(14, 1)) + f.substr(15); - a[g] = d[f]; - } - }, s = function(a) { - if (angular.isFunction(s._unwatchOld) && (s._unwatchOld(), s._unwatchOld = void 0), - angular.equals(a, "") || !angular.isDefined(a)) { - var d = h.apply(o.text()), e = d.match(m); - if (angular.isArray(e)) { - b.preText = e[1], b.postText = e[3], q.translate = c(e[2])(b.$parent); - var f = d.match(n); - angular.isArray(f) && f[2] && f[2].length && (s._unwatchOld = b.$watch(f[2], function(a) { - q.translate = a, y(); - })); - } else q.translate = d ? d : void 0; - } else q.translate = a; - y(); - }, t = function(a) { - p.$observe(a, function(b) { - q[a] = b, y(); - }); - }; - r(b.interpolateParams, p, i); - var u = !0; - p.$observe("translate", function(a) { - "undefined" == typeof a ? s("") : "" === a && u || (q.translate = a, y()), u = !1; - }); - for (var v in p) p.hasOwnProperty(v) && "translateAttr" === v.substr(0, 13) && t(v); - if (p.$observe("translateDefault", function(a) { - b.defaultText = a, y(); - }), j && p.$observe("translateValues", function(a) { - a && b.$parent.$watch(function() { - angular.extend(b.interpolateParams, e(a)(b.$parent)); - }); - }), l) { - var w = function(a) { - p.$observe(a, function(c) { - var d = angular.lowercase(a.substr(14, 1)) + a.substr(15); - b.interpolateParams[d] = c; - }); - }; - for (var x in p) Object.prototype.hasOwnProperty.call(p, x) && "translateValue" === x.substr(0, 14) && "translateValues" !== x && w(x); - } - var y = function() { - for (var a in q) q.hasOwnProperty(a) && void 0 !== q[a] && z(a, q[a], b, b.interpolateParams, b.defaultText, b.translateNamespace); - }, z = function(b, c, d, e, f, g) { - c ? (g && "." === c.charAt(0) && (c = g + c), a(c, e, k, f, d.translateLanguage).then(function(a) { - A(a, d, !0, b); - }, function(a) { - A(a, d, !1, b); - })) : A(c, d, !1, b); - }, A = function(b, c, e, f) { - if (e || "undefined" != typeof c.defaultText && (b = c.defaultText), "translate" === f) { - (e || !e && "undefined" == typeof p.translateKeepContent) && o.empty().append(c.preText + b + c.postText); - var g = a.isPostCompilingEnabled(), h = "undefined" != typeof i.translateCompile, j = h && "false" !== i.translateCompile; - (g && !h || j) && d(o.contents())(c); - } else { - var k = p.$attr[f]; - "data-" === k.substr(0, 5) && (k = k.substr(5)), k = k.substr(15), o.attr(k, b); - } - }; - (j || l || p.translateDefault) && b.$watch("interpolateParams", y, !0); - var B = b.$on("translateLanguageChanged", y), C = g.$on("$translateChangeSuccess", y); - o.text().length ? s(p.translate ? p.translate : "") : p.translate && s(p.translate), - y(), b.$on("$destroy", function() { - B(), C(); - }); - }; - } - }; - } - function f(a) { - return a.translateNamespace ? a.translateNamespace : a.$parent ? f(a.$parent) : void 0; - } - function g(a, b) { - return { - compile: function(c) { - var d = function() { - c.addClass(a.cloakClassName()); - }, e = function() { - c.removeClass(a.cloakClassName()); - }; - return a.onReady(function() { - e(); - }), d(), function(c, f, g) { - g.translateCloak && g.translateCloak.length && (g.$observe("translateCloak", function(b) { - a(b).then(e, d); - }), b.$on("$translateChangeSuccess", function() { - a(g.translateCloak).then(e, d); - })); - }; - } - }; - } - function h() { - return { - restrict: "A", - scope: !0, - compile: function() { - return { - pre: function(a, b, c) { - a.translateNamespace = f(a), a.translateNamespace && "." === c.translateNamespace.charAt(0) ? a.translateNamespace += c.translateNamespace : a.translateNamespace = c.translateNamespace; - } - }; - } - }; - } - function f(a) { - return a.translateNamespace ? a.translateNamespace : a.$parent ? f(a.$parent) : void 0; - } - function i() { - return { - restrict: "A", - scope: !0, - compile: function() { - return function(a, b, c) { - c.$observe("translateLanguage", function(b) { - a.translateLanguage = b; - }), a.$watch("translateLanguage", function() { - a.$broadcast("translateLanguageChanged"); - }); - }; - } - }; - } - function j(a, b) { - var c = function(c, d, e, f) { - return angular.isObject(d) || (d = a(d)(this)), b.instant(c, d, e, f); - }; - return b.statefulFilter() && (c.$stateful = !0), c; - } - function k(a) { - return a("translations"); - } - return a.$inject = [ "$translate" ], c.$inject = [ "$STORAGE_KEY", "$windowProvider", "$translateSanitizationProvider", "pascalprechtTranslateOverrider" ], - d.$inject = [ "$interpolate", "$translateSanitization" ], e.$inject = [ "$translate", "$q", "$interpolate", "$compile", "$parse", "$rootScope" ], - g.$inject = [ "$translate", "$rootScope" ], j.$inject = [ "$parse", "$translate" ], - k.$inject = [ "$cacheFactory" ], angular.module("pascalprecht.translate", [ "ng" ]).run(a), - a.displayName = "runTranslate", angular.module("pascalprecht.translate").provider("$translateSanitization", b), - angular.module("pascalprecht.translate").constant("pascalprechtTranslateOverrider", {}).provider("$translate", c), - c.displayName = "displayName", angular.module("pascalprecht.translate").factory("$translateDefaultInterpolation", d), - d.displayName = "$translateDefaultInterpolation", angular.module("pascalprecht.translate").constant("$STORAGE_KEY", "NG_TRANSLATE_LANG_KEY"), - angular.module("pascalprecht.translate").directive("translate", e), e.displayName = "translateDirective", - angular.module("pascalprecht.translate").directive("translateCloak", g), g.displayName = "translateCloakDirective", - angular.module("pascalprecht.translate").directive("translateNamespace", h), h.displayName = "translateNamespaceDirective", - angular.module("pascalprecht.translate").directive("translateLanguage", i), i.displayName = "translateLanguageDirective", - angular.module("pascalprecht.translate").filter("translate", j), j.displayName = "translateFilterFactory", - angular.module("pascalprecht.translate").factory("$translationCache", k), k.displayName = "$translationCache", - "pascalprecht.translate"; -}), !function() { - function a(a, b) { - window.XMLHttpRequest.prototype[a] = b(window.XMLHttpRequest.prototype[a]); - } - function b(a, b, c) { - try { - Object.defineProperty(a, b, { - get: c - }); - } catch (d) {} - } - if (window.FileAPI || (window.FileAPI = {}), !window.XMLHttpRequest) throw "AJAX is not supported. XMLHttpRequest is not defined."; - if (FileAPI.shouldLoad = !window.FormData || FileAPI.forceLoad, FileAPI.shouldLoad) { - var c = function(a) { - if (!a.__listeners) { - a.upload || (a.upload = {}), a.__listeners = []; - var b = a.upload.addEventListener; - a.upload.addEventListener = function(c, d) { - a.__listeners[c] = d, b && b.apply(this, arguments); - }; - } - }; - a("open", function(a) { - return function(b, d, e) { - c(this), this.__url = d; - try { - a.apply(this, [ b, d, e ]); - } catch (f) { - f.message.indexOf("Access is denied") > -1 && (this.__origError = f, a.apply(this, [ b, "_fix_for_ie_crossdomain__", e ])); - } - }; - }), a("getResponseHeader", function(a) { - return function(b) { - return this.__fileApiXHR && this.__fileApiXHR.getResponseHeader ? this.__fileApiXHR.getResponseHeader(b) : null == a ? null : a.apply(this, [ b ]); - }; - }), a("getAllResponseHeaders", function(a) { - return function() { - return this.__fileApiXHR && this.__fileApiXHR.getAllResponseHeaders ? this.__fileApiXHR.getAllResponseHeaders() : null == a ? null : a.apply(this); - }; - }), a("abort", function(a) { - return function() { - return this.__fileApiXHR && this.__fileApiXHR.abort ? this.__fileApiXHR.abort() : null == a ? null : a.apply(this); - }; - }), a("setRequestHeader", function(a) { - return function(b, d) { - if ("__setXHR_" === b) { - c(this); - var e = d(this); - e instanceof Function && e(this); - } else this.__requestHeaders = this.__requestHeaders || {}, this.__requestHeaders[b] = d, - a.apply(this, arguments); - }; - }), a("send", function(a) { - return function() { - var c = this; - if (arguments[0] && arguments[0].__isFileAPIShim) { - var d = arguments[0], e = { - url: c.__url, - jsonp: !1, - cache: !0, - complete: function(a, d) { - a && angular.isString(a) && -1 !== a.indexOf("#2174") && (a = null), c.__completed = !0, - !a && c.__listeners.load && c.__listeners.load({ - type: "load", - loaded: c.__loaded, - total: c.__total, - target: c, - lengthComputable: !0 - }), !a && c.__listeners.loadend && c.__listeners.loadend({ - type: "loadend", - loaded: c.__loaded, - total: c.__total, - target: c, - lengthComputable: !0 - }), "abort" === a && c.__listeners.abort && c.__listeners.abort({ - type: "abort", - loaded: c.__loaded, - total: c.__total, - target: c, - lengthComputable: !0 - }), void 0 !== d.status && b(c, "status", function() { - return 0 === d.status && a && "abort" !== a ? 500 : d.status; - }), void 0 !== d.statusText && b(c, "statusText", function() { - return d.statusText; - }), b(c, "readyState", function() { - return 4; - }), void 0 !== d.response && b(c, "response", function() { - return d.response; - }); - var e = d.responseText || (a && 0 === d.status && "abort" !== a ? a : void 0); - b(c, "responseText", function() { - return e; - }), b(c, "response", function() { - return e; - }), a && b(c, "err", function() { - return a; - }), c.__fileApiXHR = d, c.onreadystatechange && c.onreadystatechange(), c.onload && c.onload(); - }, - progress: function(a) { - if (a.target = c, c.__listeners.progress && c.__listeners.progress(a), c.__total = a.total, - c.__loaded = a.loaded, a.total === a.loaded) { - var b = this; - setTimeout(function() { - c.__completed || (c.getAllResponseHeaders = function() {}, b.complete(null, { - status: 204, - statusText: "No Content" - })); - }, FileAPI.noContentTimeout || 1e4); - } - }, - headers: c.__requestHeaders - }; - e.data = {}, e.files = {}; - for (var f = 0; f < d.data.length; f++) { - var g = d.data[f]; - null != g.val && null != g.val.name && null != g.val.size && null != g.val.type ? e.files[g.key] = g.val : e.data[g.key] = g.val; - } - setTimeout(function() { - if (!FileAPI.hasFlash) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"'; - c.__fileApiXHR = FileAPI.upload(e); - }, 1); - } else { - if (this.__origError) throw this.__origError; - a.apply(c, arguments); - } - }; - }), window.XMLHttpRequest.__isFileAPIShim = !0, window.FormData = FormData = function() { - return { - append: function(a, b, c) { - b.__isFileAPIBlobShim && (b = b.data[0]), this.data.push({ - key: a, - val: b, - name: c - }); - }, - data: [], - __isFileAPIShim: !0 - }; - }, window.Blob = Blob = function(a) { - return { - data: a, - __isFileAPIBlobShim: !0 - }; - }; - } -}(), function() { - function a(a) { - return "input" === a[0].tagName.toLowerCase() && a.attr("type") && "file" === a.attr("type").toLowerCase(); - } - function b() { - try { - var a = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); - if (a) return !0; - } catch (b) { - if (void 0 !== navigator.mimeTypes["application/x-shockwave-flash"]) return !0; - } - return !1; - } - function c(a) { - var b = 0, c = 0; - if (window.jQuery) return jQuery(a).offset(); - if (a.offsetParent) do b += a.offsetLeft - a.scrollLeft, c += a.offsetTop - a.scrollTop, - a = a.offsetParent; while (a); - return { - left: b, - top: c - }; - } - if (FileAPI.shouldLoad) { - if (FileAPI.hasFlash = b(), FileAPI.forceLoad && (FileAPI.html5 = !1), !FileAPI.upload) { - var d, e, f, g, h, i = document.createElement("script"), j = document.getElementsByTagName("script"); - if (window.FileAPI.jsUrl) d = window.FileAPI.jsUrl; else if (window.FileAPI.jsPath) e = window.FileAPI.jsPath; else for (f = 0; f < j.length; f++) if (h = j[f].src, - g = h.search(/\/ng\-file\-upload[\-a-zA-z0-9\.]*\.js/), g > -1) { - e = h.substring(0, g + 1); - break; - } - null == FileAPI.staticPath && (FileAPI.staticPath = e), i.setAttribute("src", d || e + "FileAPI.min.js"), - document.getElementsByTagName("head")[0].appendChild(i); - } - FileAPI.ngfFixIE = function(d, e, f) { - if (!b()) throw 'Adode Flash Player need to be installed. To check ahead use "FileAPI.hasFlash"'; - var g = function() { - var b = e.parent(); - d.attr("disabled") ? b && b.removeClass("js-fileapi-wrapper") : (e.attr("__ngf_flash_") || (e.unbind("change"), - e.unbind("click"), e.bind("change", function(a) { - h.apply(this, [ a ]), f.apply(this, [ a ]); - }), e.attr("__ngf_flash_", "true")), b.addClass("js-fileapi-wrapper"), a(d) || (b.css("position", "absolute").css("top", c(d[0]).top + "px").css("left", c(d[0]).left + "px").css("width", d[0].offsetWidth + "px").css("height", d[0].offsetHeight + "px").css("filter", "alpha(opacity=0)").css("display", d.css("display")).css("overflow", "hidden").css("z-index", "900000").css("visibility", "visible"), - e.css("width", d[0].offsetWidth + "px").css("height", d[0].offsetHeight + "px").css("position", "absolute").css("top", "0px").css("left", "0px"))); - }; - d.bind("mouseenter", g); - var h = function(a) { - for (var b = FileAPI.getFiles(a), c = 0; c < b.length; c++) void 0 === b[c].size && (b[c].size = 0), - void 0 === b[c].name && (b[c].name = "file"), void 0 === b[c].type && (b[c].type = "undefined"); - a.target || (a.target = {}), a.target.files = b, a.target.files !== b && (a.__files_ = b), - (a.__files_ || a.target.files).item = function(b) { - return (a.__files_ || a.target.files)[b] || null; - }; - }; - }, FileAPI.disableFileInput = function(a, b) { - b ? a.removeClass("js-fileapi-wrapper") : a.addClass("js-fileapi-wrapper"); - }; - } -}(), window.FileReader || (window.FileReader = function() { - var a = this, b = !1; - this.listeners = {}, this.addEventListener = function(b, c) { - a.listeners[b] = a.listeners[b] || [], a.listeners[b].push(c); - }, this.removeEventListener = function(b, c) { - a.listeners[b] && a.listeners[b].splice(a.listeners[b].indexOf(c), 1); - }, this.dispatchEvent = function(b) { - var c = a.listeners[b.type]; - if (c) for (var d = 0; d < c.length; d++) c[d].call(a, b); - }, this.onabort = this.onerror = this.onload = this.onloadstart = this.onloadend = this.onprogress = null; - var c = function(b, c) { - var d = { - type: b, - target: a, - loaded: c.loaded, - total: c.total, - error: c.error - }; - return null != c.result && (d.target.result = c.result), d; - }, d = function(d) { - b || (b = !0, a.onloadstart && a.onloadstart(c("loadstart", d))); - var e; - "load" === d.type ? (a.onloadend && a.onloadend(c("loadend", d)), e = c("load", d), - a.onload && a.onload(e), a.dispatchEvent(e)) : "progress" === d.type ? (e = c("progress", d), - a.onprogress && a.onprogress(e), a.dispatchEvent(e)) : (e = c("error", d), a.onerror && a.onerror(e), - a.dispatchEvent(e)); - }; - this.readAsDataURL = function(a) { - FileAPI.readAsDataURL(a, d); - }, this.readAsText = function(a) { - FileAPI.readAsText(a, d); - }; -}), !window.XMLHttpRequest || window.FileAPI && FileAPI.shouldLoad || (window.XMLHttpRequest.prototype.setRequestHeader = function(a) { - return function(b, c) { - if ("__setXHR_" === b) { - var d = c(this); - d instanceof Function && d(this); - } else a.apply(this, arguments); - }; -}(window.XMLHttpRequest.prototype.setRequestHeader)); - -var ngFileUpload = angular.module("ngFileUpload", []); - -ngFileUpload.version = "12.0.4", ngFileUpload.service("UploadBase", [ "$http", "$q", "$timeout", function(a, b, c) { - function d(d) { - function e(a) { - j.notify && j.notify(a), k.progressFunc && c(function() { - k.progressFunc(a); - }); - } - function h(a) { - return null != d._start && g ? { - loaded: a.loaded + d._start, - total: d._file && d._file.size || a.total, - type: a.type, - config: d, - lengthComputable: !0, - target: a.target - } : a; - } - function i() { - a(d).then(function(a) { - g && d._chunkSize && !d._finished && d._file ? (e({ - loaded: d._end, - total: d._file && d._file.size, - config: d, - type: "progress" - }), f.upload(d, !0)) : (d._finished && delete d._finished, j.resolve(a)); - }, function(a) { - j.reject(a); - }, function(a) { - j.notify(a); - }); - } - d.method = d.method || "POST", d.headers = d.headers || {}; - var j = d._deferred = d._deferred || b.defer(), k = j.promise; - return d.disableProgress || (d.headers.__setXHR_ = function() { - return function(a) { - a && a.upload && a.upload.addEventListener && (d.__XHR = a, d.xhrFn && d.xhrFn(a), - a.upload.addEventListener("progress", function(a) { - a.config = d, e(h(a)); - }, !1), a.upload.addEventListener("load", function(a) { - a.lengthComputable && (a.config = d, e(h(a))); - }, !1)); - }; - }), g ? d._chunkSize && d._end && !d._finished ? (d._start = d._end, d._end += d._chunkSize, - i()) : d.resumeSizeUrl ? a.get(d.resumeSizeUrl).then(function(a) { - d._start = d.resumeSizeResponseReader ? d.resumeSizeResponseReader(a.data) : parseInt((null == a.data.size ? a.data : a.data.size).toString()), - d._chunkSize && (d._end = d._start + d._chunkSize), i(); - }, function(a) { - throw a; - }) : d.resumeSize ? d.resumeSize().then(function(a) { - d._start = a, i(); - }, function(a) { - throw a; - }) : (d._chunkSize && (d._start = 0, d._end = d._start + d._chunkSize), i()) : i(), - k.success = function(a) { - return k.then(function(b) { - a(b.data, b.status, b.headers, d); - }), k; - }, k.error = function(a) { - return k.then(null, function(b) { - a(b.data, b.status, b.headers, d); - }), k; - }, k.progress = function(a) { - return k.progressFunc = a, k.then(null, null, function(b) { - a(b); - }), k; - }, k.abort = k.pause = function() { - return d.__XHR && c(function() { - d.__XHR.abort(); - }), k; - }, k.xhr = function(a) { - return d.xhrFn = function(b) { - return function() { - b && b.apply(k, arguments), a.apply(k, arguments); - }; - }(d.xhrFn), k; - }, f.promisesCount++, k["finally"](function() { - f.promisesCount--; - }), k; - } - function e(a) { - var b = {}; - for (var c in a) a.hasOwnProperty(c) && (b[c] = a[c]); - return b; - } - var f = this; - f.promisesCount = 0, this.isResumeSupported = function() { - return window.Blob && window.Blob.prototype.slice; - }; - var g = this.isResumeSupported(); - this.isUploadInProgress = function() { - return f.promisesCount > 0; - }, this.rename = function(a, b) { - return a.ngfName = b, a; - }, this.jsonBlob = function(a) { - null == a || angular.isString(a) || (a = JSON.stringify(a)); - var b = new window.Blob([ a ], { - type: "application/json" - }); - return b._ngfBlob = !0, b; - }, this.json = function(a) { - return angular.toJson(a); - }, this.isFile = function(a) { - return null != a && (a instanceof window.Blob || a.flashId && a.name && a.size); - }, this.upload = function(a, b) { - function c(b, c) { - if (b._ngfBlob) return b; - if (a._file = a._file || b, null != a._start && g) { - a._end && a._end >= b.size && (a._finished = !0, a._end = b.size); - var d = b.slice(a._start, a._end || b.size); - return d.name = b.name, d.ngfName = b.ngfName, a._chunkSize && (c.append("_chunkSize", a._chunkSize), - c.append("_currentChunkSize", a._end - a._start), c.append("_chunkNumber", Math.floor(a._start / a._chunkSize)), - c.append("_totalSize", a._file.size)), d; - } - return b; - } - function h(b, d, e) { - if (void 0 !== d) if (angular.isDate(d) && (d = d.toISOString()), angular.isString(d)) b.append(e, d); else if (f.isFile(d)) { - var g = c(d, b), i = e.split(","); - i[1] && (g.ngfName = i[1].replace(/^\s+|\s+$/g, ""), e = i[0]), a._fileKey = a._fileKey || e, - b.append(e, g, g.ngfName || g.name); - } else if (angular.isObject(d)) { - if (d.$$ngfCircularDetection) throw "ngFileUpload: Circular reference in config.data. Make sure specified data for Upload.upload() has no circular reference: " + e; - d.$$ngfCircularDetection = !0; - try { - for (var j in d) if (d.hasOwnProperty(j) && "$$ngfCircularDetection" !== j) { - var k = null == a.objectKey ? "[i]" : a.objectKey; - d.length && parseInt(j) > -1 && (k = null == a.arrayKey ? k : a.arrayKey), h(b, d[j], e + k.replace(/[ik]/g, j)); - } - } finally { - delete d.$$ngfCircularDetection; - } - } else b.append(e, d); - } - function i() { - a._chunkSize = f.translateScalars(a.resumeChunkSize), a._chunkSize = a._chunkSize ? parseInt(a._chunkSize.toString()) : null, - a.headers = a.headers || {}, a.headers["Content-Type"] = void 0, a.transformRequest = a.transformRequest ? angular.isArray(a.transformRequest) ? a.transformRequest : [ a.transformRequest ] : [], - a.transformRequest.push(function(b) { - var c, d = new window.FormData(); - b = b || a.fields || {}, a.file && (b.file = a.file); - for (c in b) if (b.hasOwnProperty(c)) { - var e = b[c]; - a.formDataAppender ? a.formDataAppender(d, c, e) : h(d, e, c); - } - return d; - }); - } - return b || (a = e(a)), a._isDigested || (a._isDigested = !0, i()), d(a); - }, this.http = function(b) { - return b = e(b), b.transformRequest = b.transformRequest || function(b) { - return window.ArrayBuffer && b instanceof window.ArrayBuffer || b instanceof window.Blob ? b : a.defaults.transformRequest[0].apply(this, arguments); - }, b._chunkSize = f.translateScalars(b.resumeChunkSize), b._chunkSize = b._chunkSize ? parseInt(b._chunkSize.toString()) : null, - d(b); - }, this.translateScalars = function(a) { - if (angular.isString(a)) { - if (a.search(/kb/i) === a.length - 2) return parseFloat(1024 * a.substring(0, a.length - 2)); - if (a.search(/mb/i) === a.length - 2) return parseFloat(1048576 * a.substring(0, a.length - 2)); - if (a.search(/gb/i) === a.length - 2) return parseFloat(1073741824 * a.substring(0, a.length - 2)); - if (a.search(/b/i) === a.length - 1) return parseFloat(a.substring(0, a.length - 1)); - if (a.search(/s/i) === a.length - 1) return parseFloat(a.substring(0, a.length - 1)); - if (a.search(/m/i) === a.length - 1) return parseFloat(60 * a.substring(0, a.length - 1)); - if (a.search(/h/i) === a.length - 1) return parseFloat(3600 * a.substring(0, a.length - 1)); - } - return a; - }, this.urlToBlob = function(c) { - var d = b.defer(); - return a({ - url: c, - method: "get", - responseType: "arraybuffer" - }).then(function(a) { - var b = new Uint8Array(a.data), c = a.headers("content-type") || "image/WebP", e = new window.Blob([ b ], { - type: c - }); - d.resolve(e); - }, function(a) { - d.reject(a); - }), d.promise; - }, this.setDefaults = function(a) { - this.defaults = a || {}; - }, this.defaults = {}, this.version = ngFileUpload.version; -} ]), ngFileUpload.service("Upload", [ "$parse", "$timeout", "$compile", "$q", "UploadExif", function(a, b, c, d, e) { - function f(a, b, c) { - var e = [ i.emptyPromise() ]; - return angular.forEach(a, function(d, f) { - 0 === d.type.indexOf("image/jpeg") && i.attrGetter("ngfFixOrientation", b, c, { - $file: d - }) && e.push(i.happyPromise(i.applyExifRotation(d), d).then(function(b) { - a.splice(f, 1, b); - })); - }), d.all(e); - } - function g(a, b, c) { - var e = i.attrGetter("ngfResize", b, c); - if (!e || !i.isResizeSupported() || !a.length) return i.emptyPromise(); - if (!(e instanceof Function)) return h(e, a, b, c); - var f = d.defer(); - e(a).then(function(d) { - h(d, a, b, c).then(function(a) { - f.resolve(a); - }, function(a) { - f.reject(a); - }); - }, function(a) { - f.reject(a); - }); - } - function h(a, b, c, e) { - function f(d, f) { - if (0 === d.type.indexOf("image")) { - if (a.pattern && !i.validatePattern(d, a.pattern)) return; - var h = i.resize(d, a.width, a.height, a.quality, a.type, a.ratio, a.centerCrop, function(a, b) { - return i.attrGetter("ngfResizeIf", c, e, { - $width: a, - $height: b, - $file: d - }); - }, a.restoreExif !== !1); - g.push(h), h.then(function(a) { - b.splice(f, 1, a); - }, function(a) { - d.$error = "resize", d.$errorParam = (a ? (a.message ? a.message : a) + ": " : "") + (d && d.name); - }); - } - } - for (var g = [ i.emptyPromise() ], h = 0; h < b.length; h++) f(b[h], h); - return d.all(g); - } - var i = e; - return i.getAttrWithDefaults = function(a, b) { - if (null != a[b]) return a[b]; - var c = i.defaults[b]; - return null == c ? c : angular.isString(c) ? c : JSON.stringify(c); - }, i.attrGetter = function(b, c, d, e) { - var f = this.getAttrWithDefaults(c, b); - if (!d) return f; - try { - return e ? a(f)(d, e) : a(f)(d); - } catch (g) { - if (b.search(/min|max|pattern/i)) return f; - throw g; - } - }, i.shouldUpdateOn = function(a, b, c) { - var d = i.attrGetter("ngModelOptions", b, c); - return !d || !d.updateOn || d.updateOn.split(" ").indexOf(a) > -1; - }, i.emptyPromise = function() { - var a = d.defer(), c = arguments; - return b(function() { - a.resolve.apply(a, c); - }), a.promise; - }, i.rejectPromise = function() { - var a = d.defer(), c = arguments; - return b(function() { - a.reject.apply(a, c); - }), a.promise; - }, i.happyPromise = function(a, c) { - var e = d.defer(); - return a.then(function(a) { - e.resolve(a); - }, function(a) { - b(function() { - throw a; - }), e.resolve(c); - }), e.promise; - }, i.updateModel = function(c, d, e, h, j, k, l) { - function m(f, g, j, l, m) { - d.$$ngfPrevValidFiles = f, d.$$ngfPrevInvalidFiles = g; - var n = f && f.length ? f[0] : null, o = g && g.length ? g[0] : null; - c && (i.applyModelValidation(c, f), c.$setViewValue(m ? n : f)), h && a(h)(e, { - $files: f, - $file: n, - $newFiles: j, - $duplicateFiles: l, - $invalidFiles: g, - $invalidFile: o, - $event: k - }); - var p = i.attrGetter("ngfModelInvalid", d); - p && b(function() { - a(p).assign(e, m ? o : g); - }), b(function() {}); - } - function n() { - function a(a, b) { - return a.name === b.name && (a.$ngfOrigSize || a.size) === (b.$ngfOrigSize || b.size) && a.type === b.type; - } - function b(b) { - var c; - for (c = 0; c < s.length; c++) if (a(b, s[c])) return !0; - for (c = 0; c < t.length; c++) if (a(b, t[c])) return !0; - return !1; - } - if (j) { - r = [], u = []; - for (var c = 0; c < j.length; c++) b(j[c]) ? u.push(j[c]) : r.push(j[c]); - } - } - function o(a) { - return angular.isArray(a) ? a : [ a ]; - } - function p() { - w = [], v = [], angular.forEach(r, function(a) { - a.$error ? v.push(a) : w.push(a); - }); - } - function q() { - function a() { - b(function() { - m(x ? s.concat(w) : w, x ? t.concat(v) : v, j, u, y); - }, A && A.debounce ? A.debounce.change || A.debounce : 0); - } - g(z ? r : w, d, e).then(function() { - z ? i.validate(r, s.length, c, d, e).then(function() { - p(), a(); - }) : a(); - }, function(a) { - throw "Could not resize files " + a; - }); - } - var r, s, t, u = [], v = [], w = []; - s = d.$$ngfPrevValidFiles || [], t = d.$$ngfPrevInvalidFiles || [], c && c.$modelValue && (s = o(c.$modelValue)); - var x = i.attrGetter("ngfKeep", d, e); - r = (j || []).slice(0), ("distinct" === x || i.attrGetter("ngfKeepDistinct", d, e) === !0) && n(d, e); - var y = !x && !i.attrGetter("ngfMultiple", d, e) && !i.attrGetter("multiple", d); - if (!x || r.length) { - i.attrGetter("ngfBeforeModelChange", d, e, { - $files: j, - $file: j && j.length ? j[0] : null, - $newFiles: r, - $duplicateFiles: u, - $event: k - }); - var z = i.attrGetter("ngfValidateAfterResize", d, e), A = i.attrGetter("ngModelOptions", d, e); - i.validate(r, s.length, c, d, e).then(function() { - l ? m(r, [], j, u, y) : (A && A.allowInvalid || z ? w = r : p(), i.attrGetter("ngfFixOrientation", d, e) && i.isExifSupported() ? f(w, d, e).then(function() { - q(); - }) : q()); - }); - } - }, i; -} ]), ngFileUpload.directive("ngfSelect", [ "$parse", "$timeout", "$compile", "Upload", function(a, b, c, d) { - function e(a) { - var b = a.match(/Android[^\d]*(\d+)\.(\d+)/); - if (b && b.length > 2) { - var c = d.defaults.androidFixMinorVersion || 4; - return parseInt(b[1]) < 4 || parseInt(b[1]) === c && parseInt(b[2]) < c; - } - return -1 === a.indexOf("Chrome") && /.*Windows.*Safari.*/.test(a); - } - function f(a, b, c, d, f, h, i, j) { - function k() { - return "input" === b[0].tagName.toLowerCase() && c.type && "file" === c.type.toLowerCase(); - } - function l() { - return t("ngfChange") || t("ngfSelect"); - } - function m(b) { - if (j.shouldUpdateOn("change", c, a)) { - for (var e = b.__files_ || b.target && b.target.files, f = [], g = 0; g < e.length; g++) f.push(e[g]); - j.updateModel(d, c, a, l(), f.length ? f : null, b); - } - } - function n(a) { - if (b !== a) for (var c = 0; c < b[0].attributes.length; c++) { - var d = b[0].attributes[c]; - "type" !== d.name && "class" !== d.name && "style" !== d.name && ((null == d.value || "" === d.value) && ("required" === d.name && (d.value = "required"), - "multiple" === d.name && (d.value = "multiple")), a.attr(d.name, "id" === d.name ? "ngf-" + d.value : d.value)); - } - } - function o() { - if (k()) return b; - var a = angular.element(''); - n(a); - var c = angular.element(""); - return c.css("visibility", "hidden").css("position", "absolute").css("overflow", "hidden").css("width", "0px").css("height", "0px").css("border", "none").css("margin", "0px").css("padding", "0px").attr("tabindex", "-1"), - g.push({ - el: b, - ref: c - }), document.body.appendChild(c.append(a)[0]), a; - } - function p(c) { - if (b.attr("disabled")) return !1; - if (!t("ngfSelectDisabled", a)) { - var d = q(c); - if (null != d) return d; - r(c); - try { - k() || document.body.contains(w[0]) || (g.push({ - el: b, - ref: w.parent() - }), document.body.appendChild(w.parent()[0]), w.bind("change", m)); - } catch (f) {} - return e(navigator.userAgent) ? setTimeout(function() { - w[0].click(); - }, 0) : w[0].click(), !1; - } - } - function q(a) { - var b = a.changedTouches || a.originalEvent && a.originalEvent.changedTouches; - if ("touchstart" === a.type) return v = b ? b[0].clientY : 0, !0; - if (a.stopPropagation(), a.preventDefault(), "touchend" === a.type) { - var c = b ? b[0].clientY : 0; - if (Math.abs(c - v) > 20) return !1; - } - } - function r(b) { - j.shouldUpdateOn("click", c, a) && w.val() && (w.val(null), j.updateModel(d, c, a, l(), null, b, !0)); - } - function s(a) { - if (w && !w.attr("__ngf_ie10_Fix_")) { - if (!w[0].parentNode) return void (w = null); - a.preventDefault(), a.stopPropagation(), w.unbind("click"); - var b = w.clone(); - return w.replaceWith(b), w = b, w.attr("__ngf_ie10_Fix_", "true"), w.bind("change", m), - w.bind("click", s), w[0].click(), !1; - } - w.removeAttr("__ngf_ie10_Fix_"); - } - var t = function(a, b) { - return j.attrGetter(a, c, b); - }; - j.registerModelChangeValidator(d, c, a); - var u = []; - u.push(a.$watch(t("ngfMultiple"), function() { - w.attr("multiple", t("ngfMultiple", a)); - })), u.push(a.$watch(t("ngfCapture"), function() { - w.attr("capture", t("ngfCapture", a)); - })), u.push(a.$watch(t("ngfAccept"), function() { - w.attr("accept", t("ngfAccept", a)); - })), c.$observe("accept", function() { - w.attr("accept", t("accept")); - }), u.push(function() { - c.$$observers && delete c.$$observers.accept; - }); - var v = 0, w = b; - k() || (w = o()), w.bind("change", m), k() ? b.bind("click", r) : b.bind("click touchstart touchend", p), - -1 !== navigator.appVersion.indexOf("MSIE 10") && w.bind("click", s), d && d.$formatters.push(function(a) { - return (null == a || 0 === a.length) && w.val() && w.val(null), a; - }), a.$on("$destroy", function() { - k() || w.parent().remove(), angular.forEach(u, function(a) { - a(); - }); - }), h(function() { - for (var a = 0; a < g.length; a++) { - var b = g[a]; - document.body.contains(b.el[0]) || (g.splice(a, 1), b.ref.remove()); - } - }), window.FileAPI && window.FileAPI.ngfFixIE && window.FileAPI.ngfFixIE(b, w, m); - } - var g = []; - return { - restrict: "AEC", - require: "?ngModel", - link: function(e, g, h, i) { - f(e, g, h, i, a, b, c, d); - } - }; -} ]), function() { - function a(a) { - return "img" === a.tagName.toLowerCase() ? "image" : "audio" === a.tagName.toLowerCase() ? "audio" : "video" === a.tagName.toLowerCase() ? "video" : /./; - } - function b(b, c, d, e, f, g, h, i) { - function j(a) { - var g = b.attrGetter("ngfNoObjectUrl", f, d); - b.dataUrl(a, g)["finally"](function() { - c(function() { - var b = (g ? a.$ngfDataUrl : a.$ngfBlobUrl) || a.$ngfDataUrl; - i ? e.css("background-image", "url('" + (b || "") + "')") : e.attr("src", b), b ? e.removeClass("ng-hide") : e.addClass("ng-hide"); - }); - }); - } - c(function() { - var c = d.$watch(f[g], function(c) { - var d = h; - if ("ngfThumbnail" === g && (d || (d = { - width: e[0].clientWidth, - height: e[0].clientHeight - }), 0 === d.width && window.getComputedStyle)) { - var f = getComputedStyle(e[0]); - d = { - width: parseInt(f.width.slice(0, -2)), - height: parseInt(f.height.slice(0, -2)) - }; - } - return angular.isString(c) ? (e.removeClass("ng-hide"), i ? e.css("background-image", "url('" + c + "')") : e.attr("src", c)) : void (!c || !c.type || 0 !== c.type.search(a(e[0])) || i && 0 !== c.type.indexOf("image") ? e.addClass("ng-hide") : d && b.isResizeSupported() ? b.resize(c, d.width, d.height, d.quality).then(function(a) { - j(a); - }, function(a) { - throw a; - }) : j(c)); - }); - d.$on("$destroy", function() { - c(); - }); - }); - } - ngFileUpload.service("UploadDataUrl", [ "UploadBase", "$timeout", "$q", function(a, b, c) { - var d = a; - return d.base64DataUrl = function(a) { - if (angular.isArray(a)) { - var b = c.defer(), e = 0; - return angular.forEach(a, function(c) { - d.dataUrl(c, !0)["finally"](function() { - if (e++, e === a.length) { - var c = []; - angular.forEach(a, function(a) { - c.push(a.$ngfDataUrl); - }), b.resolve(c, a); - } - }); - }), b.promise; - } - return d.dataUrl(a, !0); - }, d.dataUrl = function(a, e) { - if (!a) return d.emptyPromise(a, a); - if (e && null != a.$ngfDataUrl || !e && null != a.$ngfBlobUrl) return d.emptyPromise(e ? a.$ngfDataUrl : a.$ngfBlobUrl, a); - var f = e ? a.$$ngfDataUrlPromise : a.$$ngfBlobUrlPromise; - if (f) return f; - var g = c.defer(); - return b(function() { - if (window.FileReader && a && (!window.FileAPI || -1 === navigator.userAgent.indexOf("MSIE 8") || a.size < 2e4) && (!window.FileAPI || -1 === navigator.userAgent.indexOf("MSIE 9") || a.size < 4e6)) { - var c = window.URL || window.webkitURL; - if (c && c.createObjectURL && !e) { - var f; - try { - f = c.createObjectURL(a); - } catch (h) { - return void b(function() { - a.$ngfBlobUrl = "", g.reject(); - }); - } - b(function() { - if (a.$ngfBlobUrl = f, f) { - g.resolve(f, a), d.blobUrls = d.blobUrls || [], d.blobUrlsTotalSize = d.blobUrlsTotalSize || 0, - d.blobUrls.push({ - url: f, - size: a.size - }), d.blobUrlsTotalSize += a.size || 0; - for (var b = d.defaults.blobUrlsMaxMemory || 268435456, e = d.defaults.blobUrlsMaxQueueSize || 200; (d.blobUrlsTotalSize > b || d.blobUrls.length > e) && d.blobUrls.length > 1; ) { - var h = d.blobUrls.splice(0, 1)[0]; - c.revokeObjectURL(h.url), d.blobUrlsTotalSize -= h.size; - } - } - }); - } else { - var i = new FileReader(); - i.onload = function(c) { - b(function() { - a.$ngfDataUrl = c.target.result, g.resolve(c.target.result, a), b(function() { - delete a.$ngfDataUrl; - }, 1e3); - }); - }, i.onerror = function() { - b(function() { - a.$ngfDataUrl = "", g.reject(); - }); - }, i.readAsDataURL(a); - } - } else b(function() { - a[e ? "$ngfDataUrl" : "$ngfBlobUrl"] = "", g.reject(); - }); - }), f = e ? a.$$ngfDataUrlPromise = g.promise : a.$$ngfBlobUrlPromise = g.promise, - f["finally"](function() { - delete a[e ? "$$ngfDataUrlPromise" : "$$ngfBlobUrlPromise"]; - }), f; - }, d; - } ]), ngFileUpload.directive("ngfSrc", [ "Upload", "$timeout", function(a, c) { - return { - restrict: "AE", - link: function(d, e, f) { - b(a, c, d, e, f, "ngfSrc", a.attrGetter("ngfResize", f, d), !1); - } - }; - } ]), ngFileUpload.directive("ngfBackground", [ "Upload", "$timeout", function(a, c) { - return { - restrict: "AE", - link: function(d, e, f) { - b(a, c, d, e, f, "ngfBackground", a.attrGetter("ngfResize", f, d), !0); - } - }; - } ]), ngFileUpload.directive("ngfThumbnail", [ "Upload", "$timeout", function(a, c) { - return { - restrict: "AE", - link: function(d, e, f) { - var g = a.attrGetter("ngfSize", f, d); - b(a, c, d, e, f, "ngfThumbnail", g, a.attrGetter("ngfAsBackground", f, d)); - } - }; - } ]), ngFileUpload.config([ "$compileProvider", function(a) { - a.imgSrcSanitizationWhitelist && a.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|local|file|data|blob):/), - a.aHrefSanitizationWhitelist && a.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|tel|local|file|data|blob):/); - } ]), ngFileUpload.filter("ngfDataUrl", [ "UploadDataUrl", "$sce", function(a, b) { - return function(c, d, e) { - if (angular.isString(c)) return b.trustAsResourceUrl(c); - var f = c && ((d ? c.$ngfDataUrl : c.$ngfBlobUrl) || c.$ngfDataUrl); - return c && !f ? (!c.$ngfDataUrlFilterInProgress && angular.isObject(c) && (c.$ngfDataUrlFilterInProgress = !0, - a.dataUrl(c, d)), "") : (c && delete c.$ngfDataUrlFilterInProgress, (c && f ? e ? b.trustAsResourceUrl(f) : f : c) || ""); - }; - } ]); -}(), ngFileUpload.service("UploadValidate", [ "UploadDataUrl", "$q", "$timeout", function(a, b, c) { - function d(a) { - var b = "", c = []; - if (a.length > 2 && "/" === a[0] && "/" === a[a.length - 1]) b = a.substring(1, a.length - 1); else { - var e = a.split(","); - if (e.length > 1) for (var f = 0; f < e.length; f++) { - var g = d(e[f]); - g.regexp ? (b += "(" + g.regexp + ")", f < e.length - 1 && (b += "|")) : c = c.concat(g.excludes); - } else 0 === a.indexOf("!") ? c.push("^((?!" + d(a.substring(1)).regexp + ").)*$") : (0 === a.indexOf(".") && (a = "*" + a), - b = "^" + a.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\-]", "g"), "\\$&") + "$", - b = b.replace(/\\\*/g, ".*").replace(/\\\?/g, ".")); - } - return { - regexp: b, - excludes: c - }; - } - function e(a, b) { - null == b || a.$dirty || (a.$setDirty ? a.$setDirty() : a.$dirty = !0); - } - var f = a; - return f.validatePattern = function(a, b) { - if (!b) return !0; - var c = d(b), e = !0; - if (c.regexp && c.regexp.length) { - var f = new RegExp(c.regexp, "i"); - e = null != a.type && f.test(a.type) || null != a.name && f.test(a.name); - } - for (var g = c.excludes.length; g--; ) { - var h = new RegExp(c.excludes[g], "i"); - e = e && (null == a.type || h.test(a.type)) && (null == a.name || h.test(a.name)); - } - return e; - }, f.ratioToFloat = function(a) { - var b = a.toString(), c = b.search(/[x:]/i); - return b = c > -1 ? parseFloat(b.substring(0, c)) / parseFloat(b.substring(c + 1)) : parseFloat(b); - }, f.registerModelChangeValidator = function(a, b, c) { - a && a.$formatters.push(function(d) { - a.$dirty && (d && !angular.isArray(d) && (d = [ d ]), f.validate(d, 0, a, b, c).then(function() { - f.applyModelValidation(a, d); - })); - }); - }, f.applyModelValidation = function(a, b) { - e(a, b), angular.forEach(a.$ngfValidations, function(b) { - a.$setValidity(b.name, b.valid); - }); - }, f.getValidationAttr = function(a, b, c, d, e) { - var g = "ngf" + c[0].toUpperCase() + c.substr(1), h = f.attrGetter(g, a, b, { - $file: e - }); - if (null == h && (h = f.attrGetter("ngfValidate", a, b, { - $file: e - }))) { - var i = (d || c).split("."); - h = h[i[0]], i.length > 1 && (h = h && h[i[1]]); - } - return h; - }, f.validate = function(a, c, d, e, g) { - function h(b, c, h) { - if (a) { - for (var i = a.length, j = null; i--; ) { - var k = a[i]; - if (k) { - var l = f.getValidationAttr(e, g, b, c, k); - null != l && (h(k, l, i) || (k.$error = b, (k.$errorMessages = k.$errorMessages || {})[b] = !0, - k.$errorParam = l, a.splice(i, 1), j = !1)); - } - } - null !== j && d.$ngfValidations.push({ - name: b, - valid: j - }); - } - } - function i(c, h, i, k, l) { - function m(a, b, d) { - null != d ? k(b, d).then(function(e) { - l(e, d) ? a.resolve() : (b.$error = c, (b.$errorMessages = b.$errorMessages || {})[c] = !0, - b.$errorParam = d, a.reject()); - }, function() { - j("ngfValidateForce", { - $file: b - }) ? (b.$error = c, (b.$errorMessages = b.$errorMessages || {})[c] = !0, b.$errorParam = d, - a.reject()) : a.resolve(); - }) : a.resolve(); - } - var n = [ f.emptyPromise() ]; - return a ? (a = void 0 === a.length ? [ a ] : a, angular.forEach(a, function(a) { - var d = b.defer(); - return n.push(d.promise), !i || null != a.type && 0 === a.type.search(i) ? void ("dimensions" === c && null != f.attrGetter("ngfDimensions", e) ? f.imageDimensions(a).then(function(b) { - m(d, a, j("ngfDimensions", { - $file: a, - $width: b.width, - $height: b.height - })); - }, function() { - d.reject(); - }) : "duration" === c && null != f.attrGetter("ngfDuration", e) ? f.mediaDuration(a).then(function(b) { - m(d, a, j("ngfDuration", { - $file: a, - $duration: b - })); - }, function() { - d.reject(); - }) : m(d, a, f.getValidationAttr(e, g, c, h, a))) : void d.resolve(); - }), b.all(n).then(function() { - d.$ngfValidations.push({ - name: c, - valid: !0 - }); - }, function() { - d.$ngfValidations.push({ - name: c, - valid: !1 - }); - })) : void 0; - } - d = d || {}, d.$ngfValidations = d.$ngfValidations || [], angular.forEach(d.$ngfValidations, function(a) { - a.valid = !0; - }); - var j = function(a, b) { - return f.attrGetter(a, e, g, b); - }; - if (null == a || 0 === a.length) return f.emptyPromise(d); - a = void 0 === a.length ? [ a ] : a.slice(0), h("maxFiles", null, function(a, b, d) { - return b > c + d; - }), h("pattern", null, f.validatePattern), h("minSize", "size.min", function(a, b) { - return a.size + .1 >= f.translateScalars(b); - }), h("maxSize", "size.max", function(a, b) { - return a.size - .1 <= f.translateScalars(b); - }); - var k = 0; - if (h("maxTotalSize", null, function(b, c) { - return k += b.size, !(k > f.translateScalars(c)) || (a.splice(0, a.length), !1); - }), h("validateFn", null, function(a, b) { - return b === !0 || null === b || "" === b; - }), !a.length) return f.emptyPromise(d, d.$ngfValidations); - var l = b.defer(), m = []; - return m.push(f.happyPromise(i("maxHeight", "height.max", /image/, this.imageDimensions, function(a, b) { - return a.height <= b; - }))), m.push(f.happyPromise(i("minHeight", "height.min", /image/, this.imageDimensions, function(a, b) { - return a.height >= b; - }))), m.push(f.happyPromise(i("maxWidth", "width.max", /image/, this.imageDimensions, function(a, b) { - return a.width <= b; - }))), m.push(f.happyPromise(i("minWidth", "width.min", /image/, this.imageDimensions, function(a, b) { - return a.width >= b; - }))), m.push(f.happyPromise(i("dimensions", null, /image/, function(a, b) { - return f.emptyPromise(b); - }, function(a) { - return a; - }))), m.push(f.happyPromise(i("ratio", null, /image/, this.imageDimensions, function(a, b) { - for (var c = b.toString().split(","), d = !1, e = 0; e < c.length; e++) Math.abs(a.width / a.height - f.ratioToFloat(c[e])) < 1e-4 && (d = !0); - return d; - }))), m.push(f.happyPromise(i("maxRatio", "ratio.max", /image/, this.imageDimensions, function(a, b) { - return a.width / a.height - f.ratioToFloat(b) < 1e-4; - }))), m.push(f.happyPromise(i("minRatio", "ratio.min", /image/, this.imageDimensions, function(a, b) { - return a.width / a.height - f.ratioToFloat(b) > -1e-4; - }))), m.push(f.happyPromise(i("maxDuration", "duration.max", /audio|video/, this.mediaDuration, function(a, b) { - return a <= f.translateScalars(b); - }))), m.push(f.happyPromise(i("minDuration", "duration.min", /audio|video/, this.mediaDuration, function(a, b) { - return a >= f.translateScalars(b); - }))), m.push(f.happyPromise(i("duration", null, /audio|video/, function(a, b) { - return f.emptyPromise(b); - }, function(a) { - return a; - }))), m.push(f.happyPromise(i("validateAsyncFn", null, null, function(a, b) { - return b; - }, function(a) { - return a === !0 || null === a || "" === a; - }))), b.all(m).then(function() { - l.resolve(d, d.$ngfValidations); - }); - }, f.imageDimensions = function(a) { - if (a.$ngfWidth && a.$ngfHeight) { - var d = b.defer(); - return c(function() { - d.resolve({ - width: a.$ngfWidth, - height: a.$ngfHeight - }); - }), d.promise; - } - if (a.$ngfDimensionPromise) return a.$ngfDimensionPromise; - var e = b.defer(); - return c(function() { - return 0 !== a.type.indexOf("image") ? void e.reject("not image") : void f.dataUrl(a).then(function(b) { - function d() { - var b = h[0].clientWidth, c = h[0].clientHeight; - h.remove(), a.$ngfWidth = b, a.$ngfHeight = c, e.resolve({ - width: b, - height: c - }); - } - function f() { - h.remove(), e.reject("load error"); - } - function g() { - c(function() { - h[0].parentNode && (h[0].clientWidth ? d() : i > 10 ? f() : g()); - }, 1e3); - } - var h = angular.element("").attr("src", b).css("visibility", "hidden").css("position", "fixed").css("max-width", "none !important").css("max-height", "none !important"); - h.on("load", d), h.on("error", f); - var i = 0; - g(), angular.element(document.getElementsByTagName("body")[0]).append(h); - }, function() { - e.reject("load error"); - }); - }), a.$ngfDimensionPromise = e.promise, a.$ngfDimensionPromise["finally"](function() { - delete a.$ngfDimensionPromise; - }), a.$ngfDimensionPromise; - }, f.mediaDuration = function(a) { - if (a.$ngfDuration) { - var d = b.defer(); - return c(function() { - d.resolve(a.$ngfDuration); - }), d.promise; - } - if (a.$ngfDurationPromise) return a.$ngfDurationPromise; - var e = b.defer(); - return c(function() { - return 0 !== a.type.indexOf("audio") && 0 !== a.type.indexOf("video") ? void e.reject("not media") : void f.dataUrl(a).then(function(b) { - function d() { - var b = h[0].duration; - a.$ngfDuration = b, h.remove(), e.resolve(b); - } - function f() { - h.remove(), e.reject("load error"); - } - function g() { - c(function() { - h[0].parentNode && (h[0].duration ? d() : i > 10 ? f() : g()); - }, 1e3); - } - var h = angular.element(0 === a.type.indexOf("audio") ? "