mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
tech(systemjs): systemjs and jspm work
This commit is contained in:
parent
f1b897b3de
commit
7ee290cc57
@ -27,6 +27,7 @@
|
|||||||
"maxlen": 140,
|
"maxlen": 140,
|
||||||
|
|
||||||
"globals": {
|
"globals": {
|
||||||
|
"System": true,
|
||||||
"define": true,
|
"define": true,
|
||||||
"require": true,
|
"require": true,
|
||||||
"Chromath": false,
|
"Chromath": false,
|
||||||
|
19
package.json
19
package.json
@ -67,5 +67,24 @@
|
|||||||
"karma-sinon": "^1.0.3",
|
"karma-sinon": "^1.0.3",
|
||||||
"lodash": "^2.4.1",
|
"lodash": "^2.4.1",
|
||||||
"sinon": "1.16.1"
|
"sinon": "1.16.1"
|
||||||
|
},
|
||||||
|
"jspm": {
|
||||||
|
"directories": {
|
||||||
|
"packages": "public/vendor/jspm",
|
||||||
|
"src": "public"
|
||||||
|
},
|
||||||
|
"configFile": "public/app/jspm.conf.js",
|
||||||
|
"dependencies": {
|
||||||
|
"angular": "github:angular/bower-angular@^1.4.5",
|
||||||
|
"angular-route": "github:angular/bower-angular-route@^1.4.5",
|
||||||
|
"angular-sanitize": "github:angular/bower-angular-sanitize@^1.4.5",
|
||||||
|
"angular2": "npm:angular2@^2.0.0-alpha.54",
|
||||||
|
"es6-promise": "npm:es6-promise@^3.0.2",
|
||||||
|
"es6-shim": "npm:es6-shim@^0.33.13",
|
||||||
|
"jquery": "github:components/jquery@^2.1.4",
|
||||||
|
"lodash": "npm:lodash@^3.10.1",
|
||||||
|
"moment": "github:moment/moment@^2.10.6"
|
||||||
|
},
|
||||||
|
"devDependencies": {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
92
public/app/app.ts
Normal file
92
public/app/app.ts
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
///<reference path="headers/common.d.ts" />
|
||||||
|
|
||||||
|
///<amd-dependency path="bootstrap" />
|
||||||
|
///<amd-dependency path="angular-strap" />
|
||||||
|
///<amd-dependency path="angular-route" />
|
||||||
|
///<amd-dependency path="angular-sanitize" />
|
||||||
|
///<amd-dependency path="angular-dragdrop" />
|
||||||
|
///<amd-dependency path="angular-bindonce" />
|
||||||
|
///<amd-dependency path="angular-ui" />
|
||||||
|
///<amd-dependency path="app/core/core" />
|
||||||
|
|
||||||
|
import 'es6-shim';
|
||||||
|
import 'es6-promise';
|
||||||
|
|
||||||
|
import _ = require('lodash');
|
||||||
|
import $ = require('jquery');
|
||||||
|
import bootstrap = require('bootstrap');
|
||||||
|
import kbn = require('app/core/utils/kbn');
|
||||||
|
import angular = require('angular');
|
||||||
|
import config = require('app/core/config');
|
||||||
|
|
||||||
|
class GrafanaApp {
|
||||||
|
register_fns: any = {};
|
||||||
|
|
||||||
|
useModule(module) {
|
||||||
|
_.extend(module, this.register_fns);
|
||||||
|
return module;
|
||||||
|
}
|
||||||
|
|
||||||
|
init() {
|
||||||
|
var app = angular.module('grafana', []);
|
||||||
|
app.constant('grafanaVersion', "@grafanaVersion@");
|
||||||
|
|
||||||
|
app.config(($locationProvider, $controllerProvider, $compileProvider, $filterProvider, $provide) => {
|
||||||
|
console.log('app config');
|
||||||
|
this.register_fns.controller = $controllerProvider.register;
|
||||||
|
this.register_fns.directive = $compileProvider.directive;
|
||||||
|
this.register_fns.factory = $provide.factory;
|
||||||
|
this.register_fns.service = $provide.service;
|
||||||
|
this.register_fns.filter = $filterProvider.register;
|
||||||
|
});
|
||||||
|
|
||||||
|
var apps_deps = [
|
||||||
|
'grafana.core',
|
||||||
|
'ngRoute',
|
||||||
|
'ngSanitize',
|
||||||
|
'$strap.directives',
|
||||||
|
'ang-drag-drop',
|
||||||
|
'grafana',
|
||||||
|
'pasvaz.bindonce',
|
||||||
|
'ui.bootstrap.tabs',
|
||||||
|
];
|
||||||
|
|
||||||
|
var module_types = ['controllers', 'directives', 'factories', 'services', 'filters', 'routes'];
|
||||||
|
|
||||||
|
_.each(module_types, type => {
|
||||||
|
var module_name = 'grafana.' + type;
|
||||||
|
this.useModule(angular.module(module_name, []));
|
||||||
|
apps_deps.push(module_name);
|
||||||
|
});
|
||||||
|
|
||||||
|
var preBootRequires = [System.import('app/features/all')];
|
||||||
|
var pluginModules = config.bootData.pluginModules || [];
|
||||||
|
|
||||||
|
// add plugin modules
|
||||||
|
for (var i = 0; i < pluginModules.length; i++) {
|
||||||
|
preBootRequires.push(System.import(pluginModules[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
Promise.all(preBootRequires).then(function() {
|
||||||
|
// disable tool tip animation
|
||||||
|
$.fn.tooltip.defaults.animation = false;
|
||||||
|
// bootstrap the app
|
||||||
|
var asd = angular.bootstrap(document, apps_deps).invoke(['$rootScope', function ($rootScope) {
|
||||||
|
console.log('bootstrap');
|
||||||
|
}]);
|
||||||
|
}).catch(function(err) {
|
||||||
|
console.log('Application boot failed: ' + err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var grafanaApp = new GrafanaApp();
|
||||||
|
|
||||||
|
export = {
|
||||||
|
init: function() {
|
||||||
|
grafanaApp.init();
|
||||||
|
},
|
||||||
|
useModule: function(m) {
|
||||||
|
grafanaApp.useModule(m);
|
||||||
|
}
|
||||||
|
};
|
@ -10,6 +10,7 @@ function (angular, _, $, coreModule, config, store) {
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
|
||||||
coreModule.controller('GrafanaCtrl', function($scope, alertSrv, utilSrv, $rootScope, $controller, contextSrv) {
|
coreModule.controller('GrafanaCtrl', function($scope, alertSrv, utilSrv, $rootScope, $controller, contextSrv) {
|
||||||
|
console.log('grafana ctrl');
|
||||||
|
|
||||||
$scope.init = function() {
|
$scope.init = function() {
|
||||||
$scope.contextSrv = contextSrv;
|
$scope.contextSrv = contextSrv;
|
||||||
|
@ -25,4 +25,3 @@ export * from './directives/array_join'
|
|||||||
export * from './directives/give_focus'
|
export * from './directives/give_focus'
|
||||||
export * from './filters/filters'
|
export * from './filters/filters'
|
||||||
|
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ define([
|
|||||||
$locationProvider.html5Mode(true);
|
$locationProvider.html5Mode(true);
|
||||||
|
|
||||||
var loadOrgBundle = new BundleLoader.BundleLoader('app/features/org/all');
|
var loadOrgBundle = new BundleLoader.BundleLoader('app/features/org/all');
|
||||||
|
console.log('routing');
|
||||||
|
|
||||||
$routeProvider
|
$routeProvider
|
||||||
.when('/', {
|
.when('/', {
|
||||||
|
@ -61,13 +61,15 @@ function (angular, _, coreModule, config) {
|
|||||||
|
|
||||||
var pluginDef = dsConfig.meta;
|
var pluginDef = dsConfig.meta;
|
||||||
|
|
||||||
$rootScope.require([pluginDef.module], function() {
|
System.import(pluginDef.module).then(function() {
|
||||||
var AngularService = $injector.get(pluginDef.serviceName);
|
var AngularService = $injector.get(pluginDef.serviceName);
|
||||||
var instance = new AngularService(dsConfig, pluginDef);
|
var instance = new AngularService(dsConfig, pluginDef);
|
||||||
instance.meta = pluginDef;
|
instance.meta = pluginDef;
|
||||||
instance.name = name;
|
instance.name = name;
|
||||||
self.datasources[name] = instance;
|
self.datasources[name] = instance;
|
||||||
deferred.resolve(instance);
|
deferred.resolve(instance);
|
||||||
|
}).catch(function(err) {
|
||||||
|
console.log('Failed to load data source: ' + err);
|
||||||
});
|
});
|
||||||
|
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
|
@ -15,7 +15,7 @@ function (angular, $, config) {
|
|||||||
var getter = $parse(attr.type), panelType = getter(scope);
|
var getter = $parse(attr.type), panelType = getter(scope);
|
||||||
var module = config.panels[panelType].module;
|
var module = config.panels[panelType].module;
|
||||||
|
|
||||||
scope.require([module], function () {
|
System.import(module).then(function() {
|
||||||
var panelEl = angular.element(document.createElement('grafana-panel-' + panelType));
|
var panelEl = angular.element(document.createElement('grafana-panel-' + panelType));
|
||||||
elem.append(panelEl);
|
elem.append(panelEl);
|
||||||
$compile(panelEl)(scope);
|
$compile(panelEl)(scope);
|
||||||
|
26
public/app/headers/common.d.ts
vendored
26
public/app/headers/common.d.ts
vendored
@ -2,6 +2,7 @@
|
|||||||
///<reference path="angularjs/angularjs.d.ts" />
|
///<reference path="angularjs/angularjs.d.ts" />
|
||||||
///<reference path="lodash/lodash.d.ts" />
|
///<reference path="lodash/lodash.d.ts" />
|
||||||
///<reference path="moment/moment.d.ts" />
|
///<reference path="moment/moment.d.ts" />
|
||||||
|
///<reference path="es6-promise/es6-promise.d.ts" />
|
||||||
|
|
||||||
// dummy modules
|
// dummy modules
|
||||||
declare module 'app/core/config' {
|
declare module 'app/core/config' {
|
||||||
@ -9,9 +10,34 @@ declare module 'app/core/config' {
|
|||||||
export = config;
|
export = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare var System: any;
|
||||||
|
|
||||||
declare module 'app/core/utils/kbn' {
|
declare module 'app/core/utils/kbn' {
|
||||||
var kbn : any;
|
var kbn : any;
|
||||||
export = kbn;
|
export = kbn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
declare module 'angular-route' {
|
||||||
|
var kbn : any;
|
||||||
|
export = kbn;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'angular-sanitize' {
|
||||||
|
var kbn : any;
|
||||||
|
export = kbn;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'bootstrap' {
|
||||||
|
var kbn : any;
|
||||||
|
export = kbn;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'angular-strap' {
|
||||||
|
var kbn : any;
|
||||||
|
export = kbn;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare module 'angular-dragdrop' {
|
||||||
|
var kbn : any;
|
||||||
|
export = kbn;
|
||||||
|
}
|
||||||
|
147
public/app/headers/mocha/mocha.d.ts
vendored
Normal file
147
public/app/headers/mocha/mocha.d.ts
vendored
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
// Type definitions for mocha 2.0.1
|
||||||
|
// Project: http://mochajs.org/
|
||||||
|
// Definitions by: Kazi Manzur Rashid <https://github.com/kazimanzurrashid/>, otiai10 <https://github.com/otiai10>, jt000 <https://github.com/jt000>
|
||||||
|
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||||
|
|
||||||
|
interface Mocha {
|
||||||
|
// Setup mocha with the given setting options.
|
||||||
|
setup(options: MochaSetupOptions): Mocha;
|
||||||
|
|
||||||
|
//Run tests and invoke `fn()` when complete.
|
||||||
|
run(callback?: () => void): void;
|
||||||
|
|
||||||
|
// Set reporter as function
|
||||||
|
reporter(reporter: () => void): Mocha;
|
||||||
|
|
||||||
|
// Set reporter, defaults to "dot"
|
||||||
|
reporter(reporter: string): Mocha;
|
||||||
|
|
||||||
|
// Enable growl support.
|
||||||
|
growl(): Mocha
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MochaSetupOptions {
|
||||||
|
//milliseconds to wait before considering a test slow
|
||||||
|
slow?: number;
|
||||||
|
|
||||||
|
// timeout in milliseconds
|
||||||
|
timeout?: number;
|
||||||
|
|
||||||
|
// ui name "bdd", "tdd", "exports" etc
|
||||||
|
ui?: string;
|
||||||
|
|
||||||
|
//array of accepted globals
|
||||||
|
globals?: any[];
|
||||||
|
|
||||||
|
// reporter instance (function or string), defaults to `mocha.reporters.Dot`
|
||||||
|
reporter?: any;
|
||||||
|
|
||||||
|
// bail on the first test failure
|
||||||
|
bail?: boolean;
|
||||||
|
|
||||||
|
// ignore global leaks
|
||||||
|
ignoreLeaks?: boolean;
|
||||||
|
|
||||||
|
// grep string or regexp to filter tests with
|
||||||
|
grep?: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface MochaDone {
|
||||||
|
(error?: Error): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare var mocha: Mocha;
|
||||||
|
|
||||||
|
declare var describe : {
|
||||||
|
(description: string, spec: () => void): void;
|
||||||
|
only(description: string, spec: () => void): void;
|
||||||
|
skip(description: string, spec: () => void): void;
|
||||||
|
timeout(ms: number): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
// alias for `describe`
|
||||||
|
declare var context : {
|
||||||
|
(contextTitle: string, spec: () => void): void;
|
||||||
|
only(contextTitle: string, spec: () => void): void;
|
||||||
|
skip(contextTitle: string, spec: () => void): void;
|
||||||
|
timeout(ms: number): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
declare var it: {
|
||||||
|
(expectation: string, assertion?: () => void): void;
|
||||||
|
(expectation: string, assertion?: (done: MochaDone) => void): void;
|
||||||
|
only(expectation: string, assertion?: () => void): void;
|
||||||
|
only(expectation: string, assertion?: (done: MochaDone) => void): void;
|
||||||
|
skip(expectation: string, assertion?: () => void): void;
|
||||||
|
skip(expectation: string, assertion?: (done: MochaDone) => void): void;
|
||||||
|
timeout(ms: number): void;
|
||||||
|
};
|
||||||
|
|
||||||
|
declare function before(action: () => void): void;
|
||||||
|
|
||||||
|
declare function before(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function setup(action: () => void): void;
|
||||||
|
|
||||||
|
declare function setup(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function after(action: () => void): void;
|
||||||
|
|
||||||
|
declare function after(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function teardown(action: () => void): void;
|
||||||
|
|
||||||
|
declare function teardown(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function beforeEach(action: () => void): void;
|
||||||
|
|
||||||
|
declare function beforeEach(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function suiteSetup(action: () => void): void;
|
||||||
|
|
||||||
|
declare function suiteSetup(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function afterEach(action: () => void): void;
|
||||||
|
|
||||||
|
declare function afterEach(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare function suiteTeardown(action: () => void): void;
|
||||||
|
|
||||||
|
declare function suiteTeardown(action: (done: MochaDone) => void): void;
|
||||||
|
|
||||||
|
declare module "mocha" {
|
||||||
|
|
||||||
|
class Mocha {
|
||||||
|
constructor(options?: {
|
||||||
|
grep?: RegExp;
|
||||||
|
ui?: string;
|
||||||
|
reporter?: string;
|
||||||
|
timeout?: number;
|
||||||
|
bail?: boolean;
|
||||||
|
});
|
||||||
|
|
||||||
|
bail(value?: boolean): Mocha;
|
||||||
|
addFile(file: string): Mocha;
|
||||||
|
reporter(value: string): Mocha;
|
||||||
|
ui(value: string): Mocha;
|
||||||
|
grep(value: string): Mocha;
|
||||||
|
grep(value: RegExp): Mocha;
|
||||||
|
invert(): Mocha;
|
||||||
|
ignoreLeaks(value: boolean): Mocha;
|
||||||
|
checkLeaks(): Mocha;
|
||||||
|
growl(): Mocha;
|
||||||
|
globals(value: string): Mocha;
|
||||||
|
globals(values: string[]): Mocha;
|
||||||
|
useColors(value: boolean): Mocha;
|
||||||
|
useInlineDiffs(value: boolean): Mocha;
|
||||||
|
timeout(value: number): Mocha;
|
||||||
|
slow(value: number): Mocha;
|
||||||
|
enableTimeouts(value: boolean): Mocha;
|
||||||
|
asyncOnly(value: boolean): Mocha;
|
||||||
|
noHighlighting(value: boolean): Mocha;
|
||||||
|
|
||||||
|
run(onComplete?: (failures: number) => void): void;
|
||||||
|
}
|
||||||
|
|
||||||
|
export = Mocha;
|
||||||
|
}
|
@ -1,4 +1,3 @@
|
|||||||
/// <reference path="es6-promise/es6-promise.d.ts" />
|
/// <reference path="es6-promise/es6-promise.d.ts" />
|
||||||
/// <reference path="mocha/mocha.d.ts" />
|
/// <reference path="mocha/mocha.d.ts" />
|
||||||
/// <reference path="node/node.d.ts" />
|
|
||||||
/// <reference path="zone/zone.d.ts" />
|
/// <reference path="zone/zone.d.ts" />
|
337
public/app/jspm.conf.js
Normal file
337
public/app/jspm.conf.js
Normal file
@ -0,0 +1,337 @@
|
|||||||
|
System.config({
|
||||||
|
baseURL: "public",
|
||||||
|
defaultJSExtensions: true,
|
||||||
|
transpiler: false,
|
||||||
|
paths: {
|
||||||
|
"github:*": "vendor/jspm/github/*",
|
||||||
|
"npm:*": "vendor/jspm/npm/*",
|
||||||
|
"bootstrap": "vendor/bootstrap/bootstrap.js",
|
||||||
|
"angular-ui": "vendor/angular-ui/ui-bootstrap-tpls.js",
|
||||||
|
"angular-strap": "vendor/angular-other/angular-strap.js",
|
||||||
|
"angular-dragdrop": "vendor/angular-native-dragdrop/draganddrop.js",
|
||||||
|
"angular-bindonce": "vendor/angular-bindonce/bindonce.js",
|
||||||
|
"spectrum": "vendor/spectrum.js",
|
||||||
|
"filesaver": "vendor/filesaver.js",
|
||||||
|
"bootstrap-tagsinput": "vendor/tagsinput/bootstrap-tagsinput.js"
|
||||||
|
},
|
||||||
|
|
||||||
|
packages: {
|
||||||
|
"js": {
|
||||||
|
"defaultExtension": "js"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
map: {
|
||||||
|
"angular": "github:angular/bower-angular@1.4.5",
|
||||||
|
"angular-route": "github:angular/bower-angular-route@1.4.5",
|
||||||
|
"angular-sanitize": "github:angular/bower-angular-sanitize@1.4.5",
|
||||||
|
"angular2": "npm:angular2@2.0.0-alpha.54",
|
||||||
|
"babel": "npm:babel-core@5.8.34",
|
||||||
|
"babel-runtime": "npm:babel-runtime@5.8.34",
|
||||||
|
"core-js": "npm:core-js@1.2.6",
|
||||||
|
"es6-promise": "npm:es6-promise@3.0.2",
|
||||||
|
"es6-shim": "npm:es6-shim@0.33.13",
|
||||||
|
"jquery": "github:components/jquery@2.1.4",
|
||||||
|
"lodash": "npm:lodash@3.10.1",
|
||||||
|
"moment": "github:moment/moment@2.10.6",
|
||||||
|
"github:angular/bower-angular-route@1.4.5": {
|
||||||
|
"angular": "github:angular/bower-angular@1.4.5"
|
||||||
|
},
|
||||||
|
"github:angular/bower-angular-sanitize@1.4.5": {
|
||||||
|
"angular": "github:angular/bower-angular@1.4.5"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-assert@0.1.0": {
|
||||||
|
"assert": "npm:assert@1.3.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-buffer@0.1.0": {
|
||||||
|
"buffer": "npm:buffer@3.5.5"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-constants@0.1.0": {
|
||||||
|
"constants-browserify": "npm:constants-browserify@0.0.1"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-crypto@0.1.0": {
|
||||||
|
"crypto-browserify": "npm:crypto-browserify@3.11.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-events@0.1.1": {
|
||||||
|
"events": "npm:events@1.0.2"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-path@0.1.0": {
|
||||||
|
"path-browserify": "npm:path-browserify@0.0.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-process@0.1.2": {
|
||||||
|
"process": "npm:process@0.11.2"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-stream@0.1.0": {
|
||||||
|
"stream-browserify": "npm:stream-browserify@1.0.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-string_decoder@0.1.0": {
|
||||||
|
"string_decoder": "npm:string_decoder@0.10.31"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-util@0.1.0": {
|
||||||
|
"util": "npm:util@0.10.3"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-vm@0.1.0": {
|
||||||
|
"vm-browserify": "npm:vm-browserify@0.0.4"
|
||||||
|
},
|
||||||
|
"npm:angular2@2.0.0-alpha.54": {
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"es6-promise": "npm:es6-promise@3.0.2",
|
||||||
|
"es6-shim": "npm:es6-shim@0.33.13",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2",
|
||||||
|
"reflect-metadata": "npm:reflect-metadata@0.1.2",
|
||||||
|
"rxjs": "npm:rxjs@5.0.0-beta.0",
|
||||||
|
"zone.js": "npm:zone.js@0.5.10"
|
||||||
|
},
|
||||||
|
"npm:asn1.js@4.2.1": {
|
||||||
|
"assert": "github:jspm/nodelibs-assert@0.1.0",
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"minimalistic-assert": "npm:minimalistic-assert@1.0.0",
|
||||||
|
"vm": "github:jspm/nodelibs-vm@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:assert@1.3.0": {
|
||||||
|
"util": "npm:util@0.10.3"
|
||||||
|
},
|
||||||
|
"npm:babel-runtime@5.8.34": {
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:browserify-aes@1.0.5": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"buffer-xor": "npm:buffer-xor@1.0.3",
|
||||||
|
"cipher-base": "npm:cipher-base@1.0.2",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@1.0.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@0.1.2",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-cipher@1.0.0": {
|
||||||
|
"browserify-aes": "npm:browserify-aes@1.0.5",
|
||||||
|
"browserify-des": "npm:browserify-des@1.0.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@1.0.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-des@1.0.0": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"cipher-base": "npm:cipher-base@1.0.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"des.js": "npm:des.js@1.0.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1"
|
||||||
|
},
|
||||||
|
"npm:browserify-rsa@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"constants": "github:jspm/nodelibs-constants@0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"randombytes": "npm:randombytes@2.0.1"
|
||||||
|
},
|
||||||
|
"npm:browserify-sign@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"browserify-rsa": "npm:browserify-rsa@4.0.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"create-hmac": "npm:create-hmac@1.1.4",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"elliptic": "npm:elliptic@6.0.2",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"parse-asn1": "npm:parse-asn1@5.0.0",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:buffer-xor@1.0.3": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:buffer@3.5.5": {
|
||||||
|
"base64-js": "npm:base64-js@0.0.8",
|
||||||
|
"child_process": "github:jspm/nodelibs-child_process@0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@0.1.2",
|
||||||
|
"ieee754": "npm:ieee754@1.1.6",
|
||||||
|
"isarray": "npm:isarray@1.0.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:cipher-base@1.0.2": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@0.1.0",
|
||||||
|
"string_decoder": "github:jspm/nodelibs-string_decoder@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:constants-browserify@0.0.1": {
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:core-js@1.2.6": {
|
||||||
|
"fs": "github:jspm/nodelibs-fs@0.1.2",
|
||||||
|
"path": "github:jspm/nodelibs-path@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:core-util-is@1.0.2": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:create-ecdh@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"elliptic": "npm:elliptic@6.0.2"
|
||||||
|
},
|
||||||
|
"npm:create-hash@1.1.2": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"cipher-base": "npm:cipher-base@1.0.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@0.1.2",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"ripemd160": "npm:ripemd160@1.0.1",
|
||||||
|
"sha.js": "npm:sha.js@2.4.4"
|
||||||
|
},
|
||||||
|
"npm:create-hmac@1.1.4": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:crypto-browserify@3.11.0": {
|
||||||
|
"browserify-cipher": "npm:browserify-cipher@1.0.0",
|
||||||
|
"browserify-sign": "npm:browserify-sign@4.0.0",
|
||||||
|
"create-ecdh": "npm:create-ecdh@4.0.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"create-hmac": "npm:create-hmac@1.1.4",
|
||||||
|
"diffie-hellman": "npm:diffie-hellman@5.0.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"pbkdf2": "npm:pbkdf2@3.0.4",
|
||||||
|
"public-encrypt": "npm:public-encrypt@4.0.0",
|
||||||
|
"randombytes": "npm:randombytes@2.0.1"
|
||||||
|
},
|
||||||
|
"npm:des.js@1.0.0": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"minimalistic-assert": "npm:minimalistic-assert@1.0.0"
|
||||||
|
},
|
||||||
|
"npm:diffie-hellman@5.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"miller-rabin": "npm:miller-rabin@4.0.0",
|
||||||
|
"randombytes": "npm:randombytes@2.0.1",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:elliptic@6.0.2": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"brorand": "npm:brorand@1.0.5",
|
||||||
|
"hash.js": "npm:hash.js@1.0.3",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:es6-promise@3.0.2": {
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:es6-shim@0.33.13": {
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:evp_bytestokey@1.0.0": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:hash.js@1.0.3": {
|
||||||
|
"inherits": "npm:inherits@2.0.1"
|
||||||
|
},
|
||||||
|
"npm:inherits@2.0.1": {
|
||||||
|
"util": "github:jspm/nodelibs-util@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:lodash@3.10.1": {
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:miller-rabin@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"brorand": "npm:brorand@1.0.5"
|
||||||
|
},
|
||||||
|
"npm:parse-asn1@5.0.0": {
|
||||||
|
"asn1.js": "npm:asn1.js@4.2.1",
|
||||||
|
"browserify-aes": "npm:browserify-aes@1.0.5",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@1.0.0",
|
||||||
|
"pbkdf2": "npm:pbkdf2@3.0.4",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:path-browserify@0.0.0": {
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:pbkdf2@3.0.4": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"child_process": "github:jspm/nodelibs-child_process@0.1.0",
|
||||||
|
"create-hmac": "npm:create-hmac@1.1.4",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"path": "github:jspm/nodelibs-path@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:process@0.11.2": {
|
||||||
|
"assert": "github:jspm/nodelibs-assert@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:public-encrypt@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@4.5.2",
|
||||||
|
"browserify-rsa": "npm:browserify-rsa@4.0.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"create-hash": "npm:create-hash@1.1.2",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"parse-asn1": "npm:parse-asn1@5.0.0",
|
||||||
|
"randombytes": "npm:randombytes@2.0.1"
|
||||||
|
},
|
||||||
|
"npm:randombytes@2.0.1": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:readable-stream@1.1.13": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"core-util-is": "npm:core-util-is@1.0.2",
|
||||||
|
"events": "github:jspm/nodelibs-events@0.1.1",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"isarray": "npm:isarray@0.0.1",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2",
|
||||||
|
"stream-browserify": "npm:stream-browserify@1.0.0",
|
||||||
|
"string_decoder": "npm:string_decoder@0.10.31"
|
||||||
|
},
|
||||||
|
"npm:reflect-metadata@0.1.2": {
|
||||||
|
"assert": "github:jspm/nodelibs-assert@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:ripemd160@1.0.1": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:rxjs@5.0.0-beta.0": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:sha.js@2.4.4": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@0.1.2",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:stream-browserify@1.0.0": {
|
||||||
|
"events": "github:jspm/nodelibs-events@0.1.1",
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"readable-stream": "npm:readable-stream@1.1.13"
|
||||||
|
},
|
||||||
|
"npm:string_decoder@0.10.31": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@0.1.0"
|
||||||
|
},
|
||||||
|
"npm:util@0.10.3": {
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
},
|
||||||
|
"npm:vm-browserify@0.0.4": {
|
||||||
|
"indexof": "npm:indexof@0.0.1"
|
||||||
|
},
|
||||||
|
"npm:zone.js@0.5.10": {
|
||||||
|
"es6-promise": "npm:es6-promise@3.0.2",
|
||||||
|
"process": "github:jspm/nodelibs-process@0.1.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
@ -14,6 +14,7 @@ function (angular, _, $, config, dateMath) {
|
|||||||
|
|
||||||
var module = angular.module('grafana.services');
|
var module = angular.module('grafana.services');
|
||||||
|
|
||||||
|
console.log('module.factory(GraphiteDatasource');
|
||||||
module.factory('GraphiteDatasource', function($q, backendSrv, templateSrv) {
|
module.factory('GraphiteDatasource', function($q, backendSrv, templateSrv) {
|
||||||
|
|
||||||
function GraphiteDatasource(datasource) {
|
function GraphiteDatasource(datasource) {
|
||||||
|
317
public/vendor/jspm/.dependencies.json
vendored
Normal file
317
public/vendor/jspm/.dependencies.json
vendored
Normal file
@ -0,0 +1,317 @@
|
|||||||
|
{
|
||||||
|
"npm:lodash@3.10.1": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"github:components/jquery@2.1.4": {},
|
||||||
|
"github:moment/moment@2.10.6": {},
|
||||||
|
"npm:assert@1.3.0": {
|
||||||
|
"util": "npm:util@0.10.3"
|
||||||
|
},
|
||||||
|
"npm:util@0.10.3": {
|
||||||
|
"inherits": "npm:inherits@2.0.1",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:inherits@2.0.1": {
|
||||||
|
"util": "github:jspm/nodelibs-util@^0.1.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-assert@0.1.0": {
|
||||||
|
"assert": "npm:assert@^1.3.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-util@0.1.0": {
|
||||||
|
"util": "npm:util@^0.10.3"
|
||||||
|
},
|
||||||
|
"npm:babel-runtime@5.8.34": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:babel-core@5.8.34": {},
|
||||||
|
"npm:core-js@1.2.6": {
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@^0.1.0",
|
||||||
|
"path": "github:jspm/nodelibs-path@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:path-browserify@0.0.0": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"github:systemjs/plugin-json@0.1.0": {},
|
||||||
|
"github:jspm/nodelibs-fs@0.1.2": {},
|
||||||
|
"github:jspm/nodelibs-path@0.1.0": {
|
||||||
|
"path-browserify": "npm:path-browserify@0.0.0"
|
||||||
|
},
|
||||||
|
"npm:es6-promise@3.0.2": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:reflect-metadata@0.1.2": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"assert": "github:jspm/nodelibs-assert@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:es6-shim@0.33.13": {
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:zone.js@0.5.10": {
|
||||||
|
"es6-promise": "npm:es6-promise@^3.0.2",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:rxjs@5.0.0-beta.0": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:angular2@2.0.0-alpha.54": {
|
||||||
|
"es6-promise": "npm:es6-promise@^3.0.2",
|
||||||
|
"es6-shim": "npm:es6-shim@^0.33.3",
|
||||||
|
"reflect-metadata": "npm:reflect-metadata@0.1.2",
|
||||||
|
"rxjs": "npm:rxjs@5.0.0-beta.0",
|
||||||
|
"zone.js": "npm:zone.js@0.5.10",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:buffer@3.5.5": {
|
||||||
|
"base64-js": "npm:base64-js@0.0.8",
|
||||||
|
"ieee754": "npm:ieee754@^1.1.4",
|
||||||
|
"isarray": "npm:isarray@^1.0.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@^0.1.0",
|
||||||
|
"child_process": "github:jspm/nodelibs-child_process@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:ieee754@1.1.6": {},
|
||||||
|
"npm:isarray@1.0.0": {},
|
||||||
|
"npm:base64-js@0.0.8": {},
|
||||||
|
"github:jspm/nodelibs-buffer@0.1.0": {
|
||||||
|
"buffer": "npm:buffer@^3.0.1"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-child_process@0.1.0": {},
|
||||||
|
"npm:crypto-browserify@3.11.0": {
|
||||||
|
"browserify-cipher": "npm:browserify-cipher@^1.0.0",
|
||||||
|
"browserify-sign": "npm:browserify-sign@^4.0.0",
|
||||||
|
"create-ecdh": "npm:create-ecdh@^4.0.0",
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"create-hmac": "npm:create-hmac@^1.1.0",
|
||||||
|
"diffie-hellman": "npm:diffie-hellman@^5.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"pbkdf2": "npm:pbkdf2@^3.0.3",
|
||||||
|
"public-encrypt": "npm:public-encrypt@^4.0.0",
|
||||||
|
"randombytes": "npm:randombytes@^2.0.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-cipher@1.0.0": {
|
||||||
|
"browserify-aes": "npm:browserify-aes@^1.0.4",
|
||||||
|
"browserify-des": "npm:browserify-des@^1.0.0",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@^1.0.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:create-ecdh@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.1.0",
|
||||||
|
"elliptic": "npm:elliptic@^6.0.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:create-hmac@1.1.4": {
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:create-hash@1.1.2": {
|
||||||
|
"cipher-base": "npm:cipher-base@^1.0.1",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"ripemd160": "npm:ripemd160@^1.0.0",
|
||||||
|
"sha.js": "npm:sha.js@^2.3.6",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:pbkdf2@3.0.4": {
|
||||||
|
"create-hmac": "npm:create-hmac@^1.1.2",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"child_process": "github:jspm/nodelibs-child_process@^0.1.0",
|
||||||
|
"path": "github:jspm/nodelibs-path@^0.1.0",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:diffie-hellman@5.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.1.0",
|
||||||
|
"miller-rabin": "npm:miller-rabin@^4.0.0",
|
||||||
|
"randombytes": "npm:randombytes@^2.0.0",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-aes@1.0.5": {
|
||||||
|
"buffer-xor": "npm:buffer-xor@^1.0.2",
|
||||||
|
"cipher-base": "npm:cipher-base@^1.0.0",
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@^1.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@^0.1.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-crypto@0.1.0": {
|
||||||
|
"crypto-browserify": "npm:crypto-browserify@^3.7.2"
|
||||||
|
},
|
||||||
|
"npm:cipher-base@1.0.2": {
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@^0.1.0",
|
||||||
|
"string_decoder": "github:jspm/nodelibs-string_decoder@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:ripemd160@1.0.1": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-sign@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.1.1",
|
||||||
|
"browserify-rsa": "npm:browserify-rsa@^4.0.0",
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"create-hmac": "npm:create-hmac@^1.1.2",
|
||||||
|
"elliptic": "npm:elliptic@^6.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"parse-asn1": "npm:parse-asn1@^5.0.0",
|
||||||
|
"stream": "github:jspm/nodelibs-stream@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-des@1.0.0": {
|
||||||
|
"cipher-base": "npm:cipher-base@^1.0.1",
|
||||||
|
"des.js": "npm:des.js@^1.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:public-encrypt@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.1.0",
|
||||||
|
"browserify-rsa": "npm:browserify-rsa@^4.0.0",
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"parse-asn1": "npm:parse-asn1@^5.0.0",
|
||||||
|
"randombytes": "npm:randombytes@^2.0.1",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:bn.js@4.5.2": {},
|
||||||
|
"npm:buffer-xor@1.0.3": {
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:browserify-rsa@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.1.0",
|
||||||
|
"randombytes": "npm:randombytes@^2.0.1",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"constants": "github:jspm/nodelibs-constants@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:miller-rabin@4.0.0": {
|
||||||
|
"bn.js": "npm:bn.js@^4.0.0",
|
||||||
|
"brorand": "npm:brorand@^1.0.1"
|
||||||
|
},
|
||||||
|
"npm:des.js@1.0.0": {
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"minimalistic-assert": "npm:minimalistic-assert@^1.0.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:parse-asn1@5.0.0": {
|
||||||
|
"asn1.js": "npm:asn1.js@^4.0.0",
|
||||||
|
"browserify-aes": "npm:browserify-aes@^1.0.0",
|
||||||
|
"create-hash": "npm:create-hash@^1.1.0",
|
||||||
|
"evp_bytestokey": "npm:evp_bytestokey@^1.0.0",
|
||||||
|
"pbkdf2": "npm:pbkdf2@^3.0.3",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:brorand@1.0.5": {},
|
||||||
|
"npm:randombytes@2.0.1": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:minimalistic-assert@1.0.0": {},
|
||||||
|
"npm:asn1.js@4.2.1": {
|
||||||
|
"bn.js": "npm:bn.js@^4.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"minimalistic-assert": "npm:minimalistic-assert@^1.0.0",
|
||||||
|
"vm": "github:jspm/nodelibs-vm@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"assert": "github:jspm/nodelibs-assert@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:evp_bytestokey@1.0.0": {
|
||||||
|
"create-hash": "npm:create-hash@^1.1.1",
|
||||||
|
"crypto": "github:jspm/nodelibs-crypto@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:sha.js@2.4.4": {
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"fs": "github:jspm/nodelibs-fs@^0.1.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:elliptic@6.0.2": {
|
||||||
|
"bn.js": "npm:bn.js@^4.0.0",
|
||||||
|
"brorand": "npm:brorand@^1.0.1",
|
||||||
|
"hash.js": "npm:hash.js@^1.0.0",
|
||||||
|
"inherits": "npm:inherits@^2.0.1",
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:hash.js@1.0.3": {
|
||||||
|
"inherits": "npm:inherits@^2.0.1"
|
||||||
|
},
|
||||||
|
"npm:stream-browserify@1.0.0": {
|
||||||
|
"inherits": "npm:inherits@~2.0.1",
|
||||||
|
"readable-stream": "npm:readable-stream@^1.0.27-1",
|
||||||
|
"events": "github:jspm/nodelibs-events@^0.1.1"
|
||||||
|
},
|
||||||
|
"npm:string_decoder@0.10.31": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:isarray@0.0.1": {},
|
||||||
|
"npm:readable-stream@1.1.13": {
|
||||||
|
"core-util-is": "npm:core-util-is@~1.0.0",
|
||||||
|
"inherits": "npm:inherits@~2.0.1",
|
||||||
|
"isarray": "npm:isarray@0.0.1",
|
||||||
|
"string_decoder": "npm:string_decoder@~0.10.0",
|
||||||
|
"stream-browserify": "npm:stream-browserify@^1.0.0",
|
||||||
|
"process": "github:jspm/nodelibs-process@^0.1.0",
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0",
|
||||||
|
"events": "github:jspm/nodelibs-events@^0.1.1"
|
||||||
|
},
|
||||||
|
"npm:core-util-is@1.0.2": {
|
||||||
|
"buffer": "github:jspm/nodelibs-buffer@^0.1.0"
|
||||||
|
},
|
||||||
|
"npm:constants-browserify@0.0.1": {
|
||||||
|
"systemjs-json": "github:systemjs/plugin-json@^0.1.0"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-stream@0.1.0": {
|
||||||
|
"stream-browserify": "npm:stream-browserify@^1.0.0"
|
||||||
|
},
|
||||||
|
"npm:vm-browserify@0.0.4": {
|
||||||
|
"indexof": "npm:indexof@0.0.1"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-string_decoder@0.1.0": {
|
||||||
|
"string_decoder": "npm:string_decoder@^0.10.31"
|
||||||
|
},
|
||||||
|
"npm:indexof@0.0.1": {},
|
||||||
|
"github:jspm/nodelibs-constants@0.1.0": {
|
||||||
|
"constants-browserify": "npm:constants-browserify@0.0.1"
|
||||||
|
},
|
||||||
|
"github:jspm/nodelibs-vm@0.1.0": {
|
||||||
|
"vm-browserify": "npm:vm-browserify@0.0.4"
|
||||||
|
},
|
||||||
|
"npm:events@1.0.2": {},
|
||||||
|
"github:jspm/nodelibs-events@0.1.1": {
|
||||||
|
"events": "npm:events@1.0.2"
|
||||||
|
},
|
||||||
|
"github:angular/bower-angular-route@1.4.5": {
|
||||||
|
"angular": "jspm:angular@^1.3.0"
|
||||||
|
},
|
||||||
|
"github:angular/bower-angular-sanitize@1.4.5": {
|
||||||
|
"angular": "jspm:angular@^1.3.0"
|
||||||
|
},
|
||||||
|
"github:angular/bower-angular@1.4.5": {},
|
||||||
|
"github:jspm/nodelibs-process@0.1.2": {
|
||||||
|
"process": "npm:process@^0.11.0"
|
||||||
|
},
|
||||||
|
"npm:process@0.11.2": {
|
||||||
|
"assert": "github:jspm/nodelibs-assert@^0.1.0"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/.loaderversions
vendored
Normal file
1
public/vendor/jspm/.loaderversions
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
0.19.7
|
1
public/vendor/jspm/github/angular/bower-angular-route@1.4.5.js
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular-route@1.4.5.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:angular/bower-angular-route@1.4.5/angular-route");
|
1
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
73164ac5aa58a3b433463977825d738bdccc120288018fb50147a12c4bdaf417f32f10fajspm-github@0.13.10.16.1
|
68
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/README.md
vendored
Normal file
68
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/README.md
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# packaged angular-route
|
||||||
|
|
||||||
|
This repo is for distribution on `npm` and `bower`. The source for this module is in the
|
||||||
|
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngRoute).
|
||||||
|
Please file issues and pull requests against that repo.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
You can install this package either with `npm` or with `bower`.
|
||||||
|
|
||||||
|
### npm
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm install angular-route
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add `ngRoute` as a dependency for your app:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
angular.module('myApp', [require('angular-route')]);
|
||||||
|
```
|
||||||
|
|
||||||
|
### bower
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bower install angular-route
|
||||||
|
```
|
||||||
|
|
||||||
|
Add a `<script>` to your `index.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script src="/bower_components/angular-route/angular-route.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add `ngRoute` as a dependency for your app:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
angular.module('myApp', ['ngRoute']);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Documentation is available on the
|
||||||
|
[AngularJS docs site](http://docs.angularjs.org/api/ngRoute).
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
994
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.js
vendored
Normal file
994
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.js
vendored
Normal file
@ -0,0 +1,994 @@
|
|||||||
|
/* */
|
||||||
|
"format global";
|
||||||
|
"deps angular";
|
||||||
|
/**
|
||||||
|
* @license AngularJS v1.4.5
|
||||||
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
* License: MIT
|
||||||
|
*/
|
||||||
|
(function(window, angular, undefined) {'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc module
|
||||||
|
* @name ngRoute
|
||||||
|
* @description
|
||||||
|
*
|
||||||
|
* # ngRoute
|
||||||
|
*
|
||||||
|
* The `ngRoute` module provides routing and deeplinking services and directives for angular apps.
|
||||||
|
*
|
||||||
|
* ## Example
|
||||||
|
* See {@link ngRoute.$route#example $route} for an example of configuring and using `ngRoute`.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <div doc-module-components="ngRoute"></div>
|
||||||
|
*/
|
||||||
|
/* global -ngRouteModule */
|
||||||
|
var ngRouteModule = angular.module('ngRoute', ['ng']).
|
||||||
|
provider('$route', $RouteProvider),
|
||||||
|
$routeMinErr = angular.$$minErr('ngRoute');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc provider
|
||||||
|
* @name $routeProvider
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
*
|
||||||
|
* Used for configuring routes.
|
||||||
|
*
|
||||||
|
* ## Example
|
||||||
|
* See {@link ngRoute.$route#example $route} for an example of configuring and using `ngRoute`.
|
||||||
|
*
|
||||||
|
* ## Dependencies
|
||||||
|
* Requires the {@link ngRoute `ngRoute`} module to be installed.
|
||||||
|
*/
|
||||||
|
function $RouteProvider() {
|
||||||
|
function inherit(parent, extra) {
|
||||||
|
return angular.extend(Object.create(parent), extra);
|
||||||
|
}
|
||||||
|
|
||||||
|
var routes = {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc method
|
||||||
|
* @name $routeProvider#when
|
||||||
|
*
|
||||||
|
* @param {string} path Route path (matched against `$location.path`). If `$location.path`
|
||||||
|
* contains redundant trailing slash or is missing one, the route will still match and the
|
||||||
|
* `$location.path` will be updated to add or drop the trailing slash to exactly match the
|
||||||
|
* route definition.
|
||||||
|
*
|
||||||
|
* * `path` can contain named groups starting with a colon: e.g. `:name`. All characters up
|
||||||
|
* to the next slash are matched and stored in `$routeParams` under the given `name`
|
||||||
|
* when the route matches.
|
||||||
|
* * `path` can contain named groups starting with a colon and ending with a star:
|
||||||
|
* e.g.`:name*`. All characters are eagerly stored in `$routeParams` under the given `name`
|
||||||
|
* when the route matches.
|
||||||
|
* * `path` can contain optional named groups with a question mark: e.g.`:name?`.
|
||||||
|
*
|
||||||
|
* For example, routes like `/color/:color/largecode/:largecode*\/edit` will match
|
||||||
|
* `/color/brown/largecode/code/with/slashes/edit` and extract:
|
||||||
|
*
|
||||||
|
* * `color: brown`
|
||||||
|
* * `largecode: code/with/slashes`.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @param {Object} route Mapping information to be assigned to `$route.current` on route
|
||||||
|
* match.
|
||||||
|
*
|
||||||
|
* Object properties:
|
||||||
|
*
|
||||||
|
* - `controller` – `{(string|function()=}` – Controller fn that should be associated with
|
||||||
|
* newly created scope or the name of a {@link angular.Module#controller registered
|
||||||
|
* controller} if passed as a string.
|
||||||
|
* - `controllerAs` – `{string=}` – An identifier name for a reference to the controller.
|
||||||
|
* If present, the controller will be published to scope under the `controllerAs` name.
|
||||||
|
* - `template` – `{string=|function()=}` – html template as a string or a function that
|
||||||
|
* returns an html template as a string which should be used by {@link
|
||||||
|
* ngRoute.directive:ngView ngView} or {@link ng.directive:ngInclude ngInclude} directives.
|
||||||
|
* This property takes precedence over `templateUrl`.
|
||||||
|
*
|
||||||
|
* If `template` is a function, it will be called with the following parameters:
|
||||||
|
*
|
||||||
|
* - `{Array.<Object>}` - route parameters extracted from the current
|
||||||
|
* `$location.path()` by applying the current route
|
||||||
|
*
|
||||||
|
* - `templateUrl` – `{string=|function()=}` – path or function that returns a path to an html
|
||||||
|
* template that should be used by {@link ngRoute.directive:ngView ngView}.
|
||||||
|
*
|
||||||
|
* If `templateUrl` is a function, it will be called with the following parameters:
|
||||||
|
*
|
||||||
|
* - `{Array.<Object>}` - route parameters extracted from the current
|
||||||
|
* `$location.path()` by applying the current route
|
||||||
|
*
|
||||||
|
* - `resolve` - `{Object.<string, function>=}` - An optional map of dependencies which should
|
||||||
|
* be injected into the controller. If any of these dependencies are promises, the router
|
||||||
|
* will wait for them all to be resolved or one to be rejected before the controller is
|
||||||
|
* instantiated.
|
||||||
|
* If all the promises are resolved successfully, the values of the resolved promises are
|
||||||
|
* injected and {@link ngRoute.$route#$routeChangeSuccess $routeChangeSuccess} event is
|
||||||
|
* fired. If any of the promises are rejected the
|
||||||
|
* {@link ngRoute.$route#$routeChangeError $routeChangeError} event is fired. The map object
|
||||||
|
* is:
|
||||||
|
*
|
||||||
|
* - `key` – `{string}`: a name of a dependency to be injected into the controller.
|
||||||
|
* - `factory` - `{string|function}`: If `string` then it is an alias for a service.
|
||||||
|
* Otherwise if function, then it is {@link auto.$injector#invoke injected}
|
||||||
|
* and the return value is treated as the dependency. If the result is a promise, it is
|
||||||
|
* resolved before its value is injected into the controller. Be aware that
|
||||||
|
* `ngRoute.$routeParams` will still refer to the previous route within these resolve
|
||||||
|
* functions. Use `$route.current.params` to access the new route parameters, instead.
|
||||||
|
*
|
||||||
|
* - `redirectTo` – {(string|function())=} – value to update
|
||||||
|
* {@link ng.$location $location} path with and trigger route redirection.
|
||||||
|
*
|
||||||
|
* If `redirectTo` is a function, it will be called with the following parameters:
|
||||||
|
*
|
||||||
|
* - `{Object.<string>}` - route parameters extracted from the current
|
||||||
|
* `$location.path()` by applying the current route templateUrl.
|
||||||
|
* - `{string}` - current `$location.path()`
|
||||||
|
* - `{Object}` - current `$location.search()`
|
||||||
|
*
|
||||||
|
* The custom `redirectTo` function is expected to return a string which will be used
|
||||||
|
* to update `$location.path()` and `$location.search()`.
|
||||||
|
*
|
||||||
|
* - `[reloadOnSearch=true]` - {boolean=} - reload route when only `$location.search()`
|
||||||
|
* or `$location.hash()` changes.
|
||||||
|
*
|
||||||
|
* If the option is set to `false` and url in the browser changes, then
|
||||||
|
* `$routeUpdate` event is broadcasted on the root scope.
|
||||||
|
*
|
||||||
|
* - `[caseInsensitiveMatch=false]` - {boolean=} - match routes without being case sensitive
|
||||||
|
*
|
||||||
|
* If the option is set to `true`, then the particular route can be matched without being
|
||||||
|
* case sensitive
|
||||||
|
*
|
||||||
|
* @returns {Object} self
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Adds a new route definition to the `$route` service.
|
||||||
|
*/
|
||||||
|
this.when = function(path, route) {
|
||||||
|
//copy original route object to preserve params inherited from proto chain
|
||||||
|
var routeCopy = angular.copy(route);
|
||||||
|
if (angular.isUndefined(routeCopy.reloadOnSearch)) {
|
||||||
|
routeCopy.reloadOnSearch = true;
|
||||||
|
}
|
||||||
|
if (angular.isUndefined(routeCopy.caseInsensitiveMatch)) {
|
||||||
|
routeCopy.caseInsensitiveMatch = this.caseInsensitiveMatch;
|
||||||
|
}
|
||||||
|
routes[path] = angular.extend(
|
||||||
|
routeCopy,
|
||||||
|
path && pathRegExp(path, routeCopy)
|
||||||
|
);
|
||||||
|
|
||||||
|
// create redirection for trailing slashes
|
||||||
|
if (path) {
|
||||||
|
var redirectPath = (path[path.length - 1] == '/')
|
||||||
|
? path.substr(0, path.length - 1)
|
||||||
|
: path + '/';
|
||||||
|
|
||||||
|
routes[redirectPath] = angular.extend(
|
||||||
|
{redirectTo: path},
|
||||||
|
pathRegExp(redirectPath, routeCopy)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc property
|
||||||
|
* @name $routeProvider#caseInsensitiveMatch
|
||||||
|
* @description
|
||||||
|
*
|
||||||
|
* A boolean property indicating if routes defined
|
||||||
|
* using this provider should be matched using a case insensitive
|
||||||
|
* algorithm. Defaults to `false`.
|
||||||
|
*/
|
||||||
|
this.caseInsensitiveMatch = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param path {string} path
|
||||||
|
* @param opts {Object} options
|
||||||
|
* @return {?Object}
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Normalizes the given path, returning a regular expression
|
||||||
|
* and the original path.
|
||||||
|
*
|
||||||
|
* Inspired by pathRexp in visionmedia/express/lib/utils.js.
|
||||||
|
*/
|
||||||
|
function pathRegExp(path, opts) {
|
||||||
|
var insensitive = opts.caseInsensitiveMatch,
|
||||||
|
ret = {
|
||||||
|
originalPath: path,
|
||||||
|
regexp: path
|
||||||
|
},
|
||||||
|
keys = ret.keys = [];
|
||||||
|
|
||||||
|
path = path
|
||||||
|
.replace(/([().])/g, '\\$1')
|
||||||
|
.replace(/(\/)?:(\w+)([\?\*])?/g, function(_, slash, key, option) {
|
||||||
|
var optional = option === '?' ? option : null;
|
||||||
|
var star = option === '*' ? option : null;
|
||||||
|
keys.push({ name: key, optional: !!optional });
|
||||||
|
slash = slash || '';
|
||||||
|
return ''
|
||||||
|
+ (optional ? '' : slash)
|
||||||
|
+ '(?:'
|
||||||
|
+ (optional ? slash : '')
|
||||||
|
+ (star && '(.+?)' || '([^/]+)')
|
||||||
|
+ (optional || '')
|
||||||
|
+ ')'
|
||||||
|
+ (optional || '');
|
||||||
|
})
|
||||||
|
.replace(/([\/$\*])/g, '\\$1');
|
||||||
|
|
||||||
|
ret.regexp = new RegExp('^' + path + '$', insensitive ? 'i' : '');
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc method
|
||||||
|
* @name $routeProvider#otherwise
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Sets route definition that will be used on route change when no other route definition
|
||||||
|
* is matched.
|
||||||
|
*
|
||||||
|
* @param {Object|string} params Mapping information to be assigned to `$route.current`.
|
||||||
|
* If called with a string, the value maps to `redirectTo`.
|
||||||
|
* @returns {Object} self
|
||||||
|
*/
|
||||||
|
this.otherwise = function(params) {
|
||||||
|
if (typeof params === 'string') {
|
||||||
|
params = {redirectTo: params};
|
||||||
|
}
|
||||||
|
this.when(null, params);
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
this.$get = ['$rootScope',
|
||||||
|
'$location',
|
||||||
|
'$routeParams',
|
||||||
|
'$q',
|
||||||
|
'$injector',
|
||||||
|
'$templateRequest',
|
||||||
|
'$sce',
|
||||||
|
function($rootScope, $location, $routeParams, $q, $injector, $templateRequest, $sce) {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc service
|
||||||
|
* @name $route
|
||||||
|
* @requires $location
|
||||||
|
* @requires $routeParams
|
||||||
|
*
|
||||||
|
* @property {Object} current Reference to the current route definition.
|
||||||
|
* The route definition contains:
|
||||||
|
*
|
||||||
|
* - `controller`: The controller constructor as define in route definition.
|
||||||
|
* - `locals`: A map of locals which is used by {@link ng.$controller $controller} service for
|
||||||
|
* controller instantiation. The `locals` contain
|
||||||
|
* the resolved values of the `resolve` map. Additionally the `locals` also contain:
|
||||||
|
*
|
||||||
|
* - `$scope` - The current route scope.
|
||||||
|
* - `$template` - The current route template HTML.
|
||||||
|
*
|
||||||
|
* @property {Object} routes Object with all route configuration Objects as its properties.
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* `$route` is used for deep-linking URLs to controllers and views (HTML partials).
|
||||||
|
* It watches `$location.url()` and tries to map the path to an existing route definition.
|
||||||
|
*
|
||||||
|
* Requires the {@link ngRoute `ngRoute`} module to be installed.
|
||||||
|
*
|
||||||
|
* You can define routes through {@link ngRoute.$routeProvider $routeProvider}'s API.
|
||||||
|
*
|
||||||
|
* The `$route` service is typically used in conjunction with the
|
||||||
|
* {@link ngRoute.directive:ngView `ngView`} directive and the
|
||||||
|
* {@link ngRoute.$routeParams `$routeParams`} service.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* This example shows how changing the URL hash causes the `$route` to match a route against the
|
||||||
|
* URL, and the `ngView` pulls in the partial.
|
||||||
|
*
|
||||||
|
* <example name="$route-service" module="ngRouteExample"
|
||||||
|
* deps="angular-route.js" fixBase="true">
|
||||||
|
* <file name="index.html">
|
||||||
|
* <div ng-controller="MainController">
|
||||||
|
* Choose:
|
||||||
|
* <a href="Book/Moby">Moby</a> |
|
||||||
|
* <a href="Book/Moby/ch/1">Moby: Ch1</a> |
|
||||||
|
* <a href="Book/Gatsby">Gatsby</a> |
|
||||||
|
* <a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
|
||||||
|
* <a href="Book/Scarlet">Scarlet Letter</a><br/>
|
||||||
|
*
|
||||||
|
* <div ng-view></div>
|
||||||
|
*
|
||||||
|
* <hr />
|
||||||
|
*
|
||||||
|
* <pre>$location.path() = {{$location.path()}}</pre>
|
||||||
|
* <pre>$route.current.templateUrl = {{$route.current.templateUrl}}</pre>
|
||||||
|
* <pre>$route.current.params = {{$route.current.params}}</pre>
|
||||||
|
* <pre>$route.current.scope.name = {{$route.current.scope.name}}</pre>
|
||||||
|
* <pre>$routeParams = {{$routeParams}}</pre>
|
||||||
|
* </div>
|
||||||
|
* </file>
|
||||||
|
*
|
||||||
|
* <file name="book.html">
|
||||||
|
* controller: {{name}}<br />
|
||||||
|
* Book Id: {{params.bookId}}<br />
|
||||||
|
* </file>
|
||||||
|
*
|
||||||
|
* <file name="chapter.html">
|
||||||
|
* controller: {{name}}<br />
|
||||||
|
* Book Id: {{params.bookId}}<br />
|
||||||
|
* Chapter Id: {{params.chapterId}}
|
||||||
|
* </file>
|
||||||
|
*
|
||||||
|
* <file name="script.js">
|
||||||
|
* angular.module('ngRouteExample', ['ngRoute'])
|
||||||
|
*
|
||||||
|
* .controller('MainController', function($scope, $route, $routeParams, $location) {
|
||||||
|
* $scope.$route = $route;
|
||||||
|
* $scope.$location = $location;
|
||||||
|
* $scope.$routeParams = $routeParams;
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* .controller('BookController', function($scope, $routeParams) {
|
||||||
|
* $scope.name = "BookController";
|
||||||
|
* $scope.params = $routeParams;
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* .controller('ChapterController', function($scope, $routeParams) {
|
||||||
|
* $scope.name = "ChapterController";
|
||||||
|
* $scope.params = $routeParams;
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* .config(function($routeProvider, $locationProvider) {
|
||||||
|
* $routeProvider
|
||||||
|
* .when('/Book/:bookId', {
|
||||||
|
* templateUrl: 'book.html',
|
||||||
|
* controller: 'BookController',
|
||||||
|
* resolve: {
|
||||||
|
* // I will cause a 1 second delay
|
||||||
|
* delay: function($q, $timeout) {
|
||||||
|
* var delay = $q.defer();
|
||||||
|
* $timeout(delay.resolve, 1000);
|
||||||
|
* return delay.promise;
|
||||||
|
* }
|
||||||
|
* }
|
||||||
|
* })
|
||||||
|
* .when('/Book/:bookId/ch/:chapterId', {
|
||||||
|
* templateUrl: 'chapter.html',
|
||||||
|
* controller: 'ChapterController'
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* // configure html5 to get links working on jsfiddle
|
||||||
|
* $locationProvider.html5Mode(true);
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* </file>
|
||||||
|
*
|
||||||
|
* <file name="protractor.js" type="protractor">
|
||||||
|
* it('should load and compile correct template', function() {
|
||||||
|
* element(by.linkText('Moby: Ch1')).click();
|
||||||
|
* var content = element(by.css('[ng-view]')).getText();
|
||||||
|
* expect(content).toMatch(/controller\: ChapterController/);
|
||||||
|
* expect(content).toMatch(/Book Id\: Moby/);
|
||||||
|
* expect(content).toMatch(/Chapter Id\: 1/);
|
||||||
|
*
|
||||||
|
* element(by.partialLinkText('Scarlet')).click();
|
||||||
|
*
|
||||||
|
* content = element(by.css('[ng-view]')).getText();
|
||||||
|
* expect(content).toMatch(/controller\: BookController/);
|
||||||
|
* expect(content).toMatch(/Book Id\: Scarlet/);
|
||||||
|
* });
|
||||||
|
* </file>
|
||||||
|
* </example>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc event
|
||||||
|
* @name $route#$routeChangeStart
|
||||||
|
* @eventType broadcast on root scope
|
||||||
|
* @description
|
||||||
|
* Broadcasted before a route change. At this point the route services starts
|
||||||
|
* resolving all of the dependencies needed for the route change to occur.
|
||||||
|
* Typically this involves fetching the view template as well as any dependencies
|
||||||
|
* defined in `resolve` route property. Once all of the dependencies are resolved
|
||||||
|
* `$routeChangeSuccess` is fired.
|
||||||
|
*
|
||||||
|
* The route change (and the `$location` change that triggered it) can be prevented
|
||||||
|
* by calling `preventDefault` method of the event. See {@link ng.$rootScope.Scope#$on}
|
||||||
|
* for more details about event object.
|
||||||
|
*
|
||||||
|
* @param {Object} angularEvent Synthetic event object.
|
||||||
|
* @param {Route} next Future route information.
|
||||||
|
* @param {Route} current Current route information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc event
|
||||||
|
* @name $route#$routeChangeSuccess
|
||||||
|
* @eventType broadcast on root scope
|
||||||
|
* @description
|
||||||
|
* Broadcasted after a route change has happened successfully.
|
||||||
|
* The `resolve` dependencies are now available in the `current.locals` property.
|
||||||
|
*
|
||||||
|
* {@link ngRoute.directive:ngView ngView} listens for the directive
|
||||||
|
* to instantiate the controller and render the view.
|
||||||
|
*
|
||||||
|
* @param {Object} angularEvent Synthetic event object.
|
||||||
|
* @param {Route} current Current route information.
|
||||||
|
* @param {Route|Undefined} previous Previous route information, or undefined if current is
|
||||||
|
* first route entered.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc event
|
||||||
|
* @name $route#$routeChangeError
|
||||||
|
* @eventType broadcast on root scope
|
||||||
|
* @description
|
||||||
|
* Broadcasted if any of the resolve promises are rejected.
|
||||||
|
*
|
||||||
|
* @param {Object} angularEvent Synthetic event object
|
||||||
|
* @param {Route} current Current route information.
|
||||||
|
* @param {Route} previous Previous route information.
|
||||||
|
* @param {Route} rejection Rejection of the promise. Usually the error of the failed promise.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc event
|
||||||
|
* @name $route#$routeUpdate
|
||||||
|
* @eventType broadcast on root scope
|
||||||
|
* @description
|
||||||
|
* The `reloadOnSearch` property has been set to false, and we are reusing the same
|
||||||
|
* instance of the Controller.
|
||||||
|
*
|
||||||
|
* @param {Object} angularEvent Synthetic event object
|
||||||
|
* @param {Route} current Current/previous route information.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var forceReload = false,
|
||||||
|
preparedRoute,
|
||||||
|
preparedRouteIsUpdateOnly,
|
||||||
|
$route = {
|
||||||
|
routes: routes,
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc method
|
||||||
|
* @name $route#reload
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Causes `$route` service to reload the current route even if
|
||||||
|
* {@link ng.$location $location} hasn't changed.
|
||||||
|
*
|
||||||
|
* As a result of that, {@link ngRoute.directive:ngView ngView}
|
||||||
|
* creates new scope and reinstantiates the controller.
|
||||||
|
*/
|
||||||
|
reload: function() {
|
||||||
|
forceReload = true;
|
||||||
|
$rootScope.$evalAsync(function() {
|
||||||
|
// Don't support cancellation of a reload for now...
|
||||||
|
prepareRoute();
|
||||||
|
commitRoute();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc method
|
||||||
|
* @name $route#updateParams
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Causes `$route` service to update the current URL, replacing
|
||||||
|
* current route parameters with those specified in `newParams`.
|
||||||
|
* Provided property names that match the route's path segment
|
||||||
|
* definitions will be interpolated into the location's path, while
|
||||||
|
* remaining properties will be treated as query params.
|
||||||
|
*
|
||||||
|
* @param {!Object<string, string>} newParams mapping of URL parameter names to values
|
||||||
|
*/
|
||||||
|
updateParams: function(newParams) {
|
||||||
|
if (this.current && this.current.$$route) {
|
||||||
|
newParams = angular.extend({}, this.current.params, newParams);
|
||||||
|
$location.path(interpolate(this.current.$$route.originalPath, newParams));
|
||||||
|
// interpolate modifies newParams, only query params are left
|
||||||
|
$location.search(newParams);
|
||||||
|
} else {
|
||||||
|
throw $routeMinErr('norout', 'Tried updating route when with no current route');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$rootScope.$on('$locationChangeStart', prepareRoute);
|
||||||
|
$rootScope.$on('$locationChangeSuccess', commitRoute);
|
||||||
|
|
||||||
|
return $route;
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param on {string} current url
|
||||||
|
* @param route {Object} route regexp to match the url against
|
||||||
|
* @return {?Object}
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Check if the route matches the current url.
|
||||||
|
*
|
||||||
|
* Inspired by match in
|
||||||
|
* visionmedia/express/lib/router/router.js.
|
||||||
|
*/
|
||||||
|
function switchRouteMatcher(on, route) {
|
||||||
|
var keys = route.keys,
|
||||||
|
params = {};
|
||||||
|
|
||||||
|
if (!route.regexp) return null;
|
||||||
|
|
||||||
|
var m = route.regexp.exec(on);
|
||||||
|
if (!m) return null;
|
||||||
|
|
||||||
|
for (var i = 1, len = m.length; i < len; ++i) {
|
||||||
|
var key = keys[i - 1];
|
||||||
|
|
||||||
|
var val = m[i];
|
||||||
|
|
||||||
|
if (key && val) {
|
||||||
|
params[key.name] = val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
|
function prepareRoute($locationEvent) {
|
||||||
|
var lastRoute = $route.current;
|
||||||
|
|
||||||
|
preparedRoute = parseRoute();
|
||||||
|
preparedRouteIsUpdateOnly = preparedRoute && lastRoute && preparedRoute.$$route === lastRoute.$$route
|
||||||
|
&& angular.equals(preparedRoute.pathParams, lastRoute.pathParams)
|
||||||
|
&& !preparedRoute.reloadOnSearch && !forceReload;
|
||||||
|
|
||||||
|
if (!preparedRouteIsUpdateOnly && (lastRoute || preparedRoute)) {
|
||||||
|
if ($rootScope.$broadcast('$routeChangeStart', preparedRoute, lastRoute).defaultPrevented) {
|
||||||
|
if ($locationEvent) {
|
||||||
|
$locationEvent.preventDefault();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function commitRoute() {
|
||||||
|
var lastRoute = $route.current;
|
||||||
|
var nextRoute = preparedRoute;
|
||||||
|
|
||||||
|
if (preparedRouteIsUpdateOnly) {
|
||||||
|
lastRoute.params = nextRoute.params;
|
||||||
|
angular.copy(lastRoute.params, $routeParams);
|
||||||
|
$rootScope.$broadcast('$routeUpdate', lastRoute);
|
||||||
|
} else if (nextRoute || lastRoute) {
|
||||||
|
forceReload = false;
|
||||||
|
$route.current = nextRoute;
|
||||||
|
if (nextRoute) {
|
||||||
|
if (nextRoute.redirectTo) {
|
||||||
|
if (angular.isString(nextRoute.redirectTo)) {
|
||||||
|
$location.path(interpolate(nextRoute.redirectTo, nextRoute.params)).search(nextRoute.params)
|
||||||
|
.replace();
|
||||||
|
} else {
|
||||||
|
$location.url(nextRoute.redirectTo(nextRoute.pathParams, $location.path(), $location.search()))
|
||||||
|
.replace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$q.when(nextRoute).
|
||||||
|
then(function() {
|
||||||
|
if (nextRoute) {
|
||||||
|
var locals = angular.extend({}, nextRoute.resolve),
|
||||||
|
template, templateUrl;
|
||||||
|
|
||||||
|
angular.forEach(locals, function(value, key) {
|
||||||
|
locals[key] = angular.isString(value) ?
|
||||||
|
$injector.get(value) : $injector.invoke(value, null, null, key);
|
||||||
|
});
|
||||||
|
|
||||||
|
if (angular.isDefined(template = nextRoute.template)) {
|
||||||
|
if (angular.isFunction(template)) {
|
||||||
|
template = template(nextRoute.params);
|
||||||
|
}
|
||||||
|
} else if (angular.isDefined(templateUrl = nextRoute.templateUrl)) {
|
||||||
|
if (angular.isFunction(templateUrl)) {
|
||||||
|
templateUrl = templateUrl(nextRoute.params);
|
||||||
|
}
|
||||||
|
if (angular.isDefined(templateUrl)) {
|
||||||
|
nextRoute.loadedTemplateUrl = $sce.valueOf(templateUrl);
|
||||||
|
template = $templateRequest(templateUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (angular.isDefined(template)) {
|
||||||
|
locals['$template'] = template;
|
||||||
|
}
|
||||||
|
return $q.all(locals);
|
||||||
|
}
|
||||||
|
}).
|
||||||
|
then(function(locals) {
|
||||||
|
// after route change
|
||||||
|
if (nextRoute == $route.current) {
|
||||||
|
if (nextRoute) {
|
||||||
|
nextRoute.locals = locals;
|
||||||
|
angular.copy(nextRoute.params, $routeParams);
|
||||||
|
}
|
||||||
|
$rootScope.$broadcast('$routeChangeSuccess', nextRoute, lastRoute);
|
||||||
|
}
|
||||||
|
}, function(error) {
|
||||||
|
if (nextRoute == $route.current) {
|
||||||
|
$rootScope.$broadcast('$routeChangeError', nextRoute, lastRoute, error);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Object} the current active route, by matching it against the URL
|
||||||
|
*/
|
||||||
|
function parseRoute() {
|
||||||
|
// Match a route
|
||||||
|
var params, match;
|
||||||
|
angular.forEach(routes, function(route, path) {
|
||||||
|
if (!match && (params = switchRouteMatcher($location.path(), route))) {
|
||||||
|
match = inherit(route, {
|
||||||
|
params: angular.extend({}, $location.search(), params),
|
||||||
|
pathParams: params});
|
||||||
|
match.$$route = route;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// No route matched; fallback to "otherwise" route
|
||||||
|
return match || routes[null] && inherit(routes[null], {params: {}, pathParams:{}});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {string} interpolation of the redirect path with the parameters
|
||||||
|
*/
|
||||||
|
function interpolate(string, params) {
|
||||||
|
var result = [];
|
||||||
|
angular.forEach((string || '').split(':'), function(segment, i) {
|
||||||
|
if (i === 0) {
|
||||||
|
result.push(segment);
|
||||||
|
} else {
|
||||||
|
var segmentMatch = segment.match(/(\w+)(?:[?*])?(.*)/);
|
||||||
|
var key = segmentMatch[1];
|
||||||
|
result.push(params[key]);
|
||||||
|
result.push(segmentMatch[2] || '');
|
||||||
|
delete params[key];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result.join('');
|
||||||
|
}
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
ngRouteModule.provider('$routeParams', $RouteParamsProvider);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc service
|
||||||
|
* @name $routeParams
|
||||||
|
* @requires $route
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* The `$routeParams` service allows you to retrieve the current set of route parameters.
|
||||||
|
*
|
||||||
|
* Requires the {@link ngRoute `ngRoute`} module to be installed.
|
||||||
|
*
|
||||||
|
* The route parameters are a combination of {@link ng.$location `$location`}'s
|
||||||
|
* {@link ng.$location#search `search()`} and {@link ng.$location#path `path()`}.
|
||||||
|
* The `path` parameters are extracted when the {@link ngRoute.$route `$route`} path is matched.
|
||||||
|
*
|
||||||
|
* In case of parameter name collision, `path` params take precedence over `search` params.
|
||||||
|
*
|
||||||
|
* The service guarantees that the identity of the `$routeParams` object will remain unchanged
|
||||||
|
* (but its properties will likely change) even when a route change occurs.
|
||||||
|
*
|
||||||
|
* Note that the `$routeParams` are only updated *after* a route change completes successfully.
|
||||||
|
* This means that you cannot rely on `$routeParams` being correct in route resolve functions.
|
||||||
|
* Instead you can use `$route.current.params` to access the new route's parameters.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
* ```js
|
||||||
|
* // Given:
|
||||||
|
* // URL: http://server.com/index.html#/Chapter/1/Section/2?search=moby
|
||||||
|
* // Route: /Chapter/:chapterId/Section/:sectionId
|
||||||
|
* //
|
||||||
|
* // Then
|
||||||
|
* $routeParams ==> {chapterId:'1', sectionId:'2', search:'moby'}
|
||||||
|
* ```
|
||||||
|
*/
|
||||||
|
function $RouteParamsProvider() {
|
||||||
|
this.$get = function() { return {}; };
|
||||||
|
}
|
||||||
|
|
||||||
|
ngRouteModule.directive('ngView', ngViewFactory);
|
||||||
|
ngRouteModule.directive('ngView', ngViewFillContentFactory);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc directive
|
||||||
|
* @name ngView
|
||||||
|
* @restrict ECA
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* # Overview
|
||||||
|
* `ngView` is a directive that complements the {@link ngRoute.$route $route} service by
|
||||||
|
* including the rendered template of the current route into the main layout (`index.html`) file.
|
||||||
|
* Every time the current route changes, the included view changes with it according to the
|
||||||
|
* configuration of the `$route` service.
|
||||||
|
*
|
||||||
|
* Requires the {@link ngRoute `ngRoute`} module to be installed.
|
||||||
|
*
|
||||||
|
* @animations
|
||||||
|
* enter - animation is used to bring new content into the browser.
|
||||||
|
* leave - animation is used to animate existing content away.
|
||||||
|
*
|
||||||
|
* The enter and leave animation occur concurrently.
|
||||||
|
*
|
||||||
|
* @scope
|
||||||
|
* @priority 400
|
||||||
|
* @param {string=} onload Expression to evaluate whenever the view updates.
|
||||||
|
*
|
||||||
|
* @param {string=} autoscroll Whether `ngView` should call {@link ng.$anchorScroll
|
||||||
|
* $anchorScroll} to scroll the viewport after the view is updated.
|
||||||
|
*
|
||||||
|
* - If the attribute is not set, disable scrolling.
|
||||||
|
* - If the attribute is set without value, enable scrolling.
|
||||||
|
* - Otherwise enable scrolling only if the `autoscroll` attribute value evaluated
|
||||||
|
* as an expression yields a truthy value.
|
||||||
|
* @example
|
||||||
|
<example name="ngView-directive" module="ngViewExample"
|
||||||
|
deps="angular-route.js;angular-animate.js"
|
||||||
|
animations="true" fixBase="true">
|
||||||
|
<file name="index.html">
|
||||||
|
<div ng-controller="MainCtrl as main">
|
||||||
|
Choose:
|
||||||
|
<a href="Book/Moby">Moby</a> |
|
||||||
|
<a href="Book/Moby/ch/1">Moby: Ch1</a> |
|
||||||
|
<a href="Book/Gatsby">Gatsby</a> |
|
||||||
|
<a href="Book/Gatsby/ch/4?key=value">Gatsby: Ch4</a> |
|
||||||
|
<a href="Book/Scarlet">Scarlet Letter</a><br/>
|
||||||
|
|
||||||
|
<div class="view-animate-container">
|
||||||
|
<div ng-view class="view-animate"></div>
|
||||||
|
</div>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<pre>$location.path() = {{main.$location.path()}}</pre>
|
||||||
|
<pre>$route.current.templateUrl = {{main.$route.current.templateUrl}}</pre>
|
||||||
|
<pre>$route.current.params = {{main.$route.current.params}}</pre>
|
||||||
|
<pre>$routeParams = {{main.$routeParams}}</pre>
|
||||||
|
</div>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<file name="book.html">
|
||||||
|
<div>
|
||||||
|
controller: {{book.name}}<br />
|
||||||
|
Book Id: {{book.params.bookId}}<br />
|
||||||
|
</div>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<file name="chapter.html">
|
||||||
|
<div>
|
||||||
|
controller: {{chapter.name}}<br />
|
||||||
|
Book Id: {{chapter.params.bookId}}<br />
|
||||||
|
Chapter Id: {{chapter.params.chapterId}}
|
||||||
|
</div>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<file name="animations.css">
|
||||||
|
.view-animate-container {
|
||||||
|
position:relative;
|
||||||
|
height:100px!important;
|
||||||
|
background:white;
|
||||||
|
border:1px solid black;
|
||||||
|
height:40px;
|
||||||
|
overflow:hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-animate {
|
||||||
|
padding:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-animate.ng-enter, .view-animate.ng-leave {
|
||||||
|
transition:all cubic-bezier(0.250, 0.460, 0.450, 0.940) 1.5s;
|
||||||
|
|
||||||
|
display:block;
|
||||||
|
width:100%;
|
||||||
|
border-left:1px solid black;
|
||||||
|
|
||||||
|
position:absolute;
|
||||||
|
top:0;
|
||||||
|
left:0;
|
||||||
|
right:0;
|
||||||
|
bottom:0;
|
||||||
|
padding:10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.view-animate.ng-enter {
|
||||||
|
left:100%;
|
||||||
|
}
|
||||||
|
.view-animate.ng-enter.ng-enter-active {
|
||||||
|
left:0;
|
||||||
|
}
|
||||||
|
.view-animate.ng-leave.ng-leave-active {
|
||||||
|
left:-100%;
|
||||||
|
}
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<file name="script.js">
|
||||||
|
angular.module('ngViewExample', ['ngRoute', 'ngAnimate'])
|
||||||
|
.config(['$routeProvider', '$locationProvider',
|
||||||
|
function($routeProvider, $locationProvider) {
|
||||||
|
$routeProvider
|
||||||
|
.when('/Book/:bookId', {
|
||||||
|
templateUrl: 'book.html',
|
||||||
|
controller: 'BookCtrl',
|
||||||
|
controllerAs: 'book'
|
||||||
|
})
|
||||||
|
.when('/Book/:bookId/ch/:chapterId', {
|
||||||
|
templateUrl: 'chapter.html',
|
||||||
|
controller: 'ChapterCtrl',
|
||||||
|
controllerAs: 'chapter'
|
||||||
|
});
|
||||||
|
|
||||||
|
$locationProvider.html5Mode(true);
|
||||||
|
}])
|
||||||
|
.controller('MainCtrl', ['$route', '$routeParams', '$location',
|
||||||
|
function($route, $routeParams, $location) {
|
||||||
|
this.$route = $route;
|
||||||
|
this.$location = $location;
|
||||||
|
this.$routeParams = $routeParams;
|
||||||
|
}])
|
||||||
|
.controller('BookCtrl', ['$routeParams', function($routeParams) {
|
||||||
|
this.name = "BookCtrl";
|
||||||
|
this.params = $routeParams;
|
||||||
|
}])
|
||||||
|
.controller('ChapterCtrl', ['$routeParams', function($routeParams) {
|
||||||
|
this.name = "ChapterCtrl";
|
||||||
|
this.params = $routeParams;
|
||||||
|
}]);
|
||||||
|
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<file name="protractor.js" type="protractor">
|
||||||
|
it('should load and compile correct template', function() {
|
||||||
|
element(by.linkText('Moby: Ch1')).click();
|
||||||
|
var content = element(by.css('[ng-view]')).getText();
|
||||||
|
expect(content).toMatch(/controller\: ChapterCtrl/);
|
||||||
|
expect(content).toMatch(/Book Id\: Moby/);
|
||||||
|
expect(content).toMatch(/Chapter Id\: 1/);
|
||||||
|
|
||||||
|
element(by.partialLinkText('Scarlet')).click();
|
||||||
|
|
||||||
|
content = element(by.css('[ng-view]')).getText();
|
||||||
|
expect(content).toMatch(/controller\: BookCtrl/);
|
||||||
|
expect(content).toMatch(/Book Id\: Scarlet/);
|
||||||
|
});
|
||||||
|
</file>
|
||||||
|
</example>
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc event
|
||||||
|
* @name ngView#$viewContentLoaded
|
||||||
|
* @eventType emit on the current ngView scope
|
||||||
|
* @description
|
||||||
|
* Emitted every time the ngView content is reloaded.
|
||||||
|
*/
|
||||||
|
ngViewFactory.$inject = ['$route', '$anchorScroll', '$animate'];
|
||||||
|
function ngViewFactory($route, $anchorScroll, $animate) {
|
||||||
|
return {
|
||||||
|
restrict: 'ECA',
|
||||||
|
terminal: true,
|
||||||
|
priority: 400,
|
||||||
|
transclude: 'element',
|
||||||
|
link: function(scope, $element, attr, ctrl, $transclude) {
|
||||||
|
var currentScope,
|
||||||
|
currentElement,
|
||||||
|
previousLeaveAnimation,
|
||||||
|
autoScrollExp = attr.autoscroll,
|
||||||
|
onloadExp = attr.onload || '';
|
||||||
|
|
||||||
|
scope.$on('$routeChangeSuccess', update);
|
||||||
|
update();
|
||||||
|
|
||||||
|
function cleanupLastView() {
|
||||||
|
if (previousLeaveAnimation) {
|
||||||
|
$animate.cancel(previousLeaveAnimation);
|
||||||
|
previousLeaveAnimation = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (currentScope) {
|
||||||
|
currentScope.$destroy();
|
||||||
|
currentScope = null;
|
||||||
|
}
|
||||||
|
if (currentElement) {
|
||||||
|
previousLeaveAnimation = $animate.leave(currentElement);
|
||||||
|
previousLeaveAnimation.then(function() {
|
||||||
|
previousLeaveAnimation = null;
|
||||||
|
});
|
||||||
|
currentElement = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function update() {
|
||||||
|
var locals = $route.current && $route.current.locals,
|
||||||
|
template = locals && locals.$template;
|
||||||
|
|
||||||
|
if (angular.isDefined(template)) {
|
||||||
|
var newScope = scope.$new();
|
||||||
|
var current = $route.current;
|
||||||
|
|
||||||
|
// Note: This will also link all children of ng-view that were contained in the original
|
||||||
|
// html. If that content contains controllers, ... they could pollute/change the scope.
|
||||||
|
// However, using ng-view on an element with additional content does not make sense...
|
||||||
|
// Note: We can't remove them in the cloneAttchFn of $transclude as that
|
||||||
|
// function is called before linking the content, which would apply child
|
||||||
|
// directives to non existing elements.
|
||||||
|
var clone = $transclude(newScope, function(clone) {
|
||||||
|
$animate.enter(clone, null, currentElement || $element).then(function onNgViewEnter() {
|
||||||
|
if (angular.isDefined(autoScrollExp)
|
||||||
|
&& (!autoScrollExp || scope.$eval(autoScrollExp))) {
|
||||||
|
$anchorScroll();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
cleanupLastView();
|
||||||
|
});
|
||||||
|
|
||||||
|
currentElement = clone;
|
||||||
|
currentScope = current.scope = newScope;
|
||||||
|
currentScope.$emit('$viewContentLoaded');
|
||||||
|
currentScope.$eval(onloadExp);
|
||||||
|
} else {
|
||||||
|
cleanupLastView();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// This directive is called during the $transclude call of the first `ngView` directive.
|
||||||
|
// It will replace and compile the content of the element with the loaded template.
|
||||||
|
// We need this directive so that the element content is already filled when
|
||||||
|
// the link function of another directive on the same element as ngView
|
||||||
|
// is called.
|
||||||
|
ngViewFillContentFactory.$inject = ['$compile', '$controller', '$route'];
|
||||||
|
function ngViewFillContentFactory($compile, $controller, $route) {
|
||||||
|
return {
|
||||||
|
restrict: 'ECA',
|
||||||
|
priority: -400,
|
||||||
|
link: function(scope, $element) {
|
||||||
|
var current = $route.current,
|
||||||
|
locals = current.locals;
|
||||||
|
|
||||||
|
$element.html(locals.$template);
|
||||||
|
|
||||||
|
var link = $compile($element.contents());
|
||||||
|
|
||||||
|
if (current.controller) {
|
||||||
|
locals.$scope = scope;
|
||||||
|
var controller = $controller(current.controller, locals);
|
||||||
|
if (current.controllerAs) {
|
||||||
|
scope[current.controllerAs] = controller;
|
||||||
|
}
|
||||||
|
$element.data('$ngControllerController', controller);
|
||||||
|
$element.children().data('$ngControllerController', controller);
|
||||||
|
}
|
||||||
|
|
||||||
|
link(scope);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})(window, window.angular);
|
17
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.min.js
vendored
Normal file
17
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.min.js
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
/* */
|
||||||
|
"format global";
|
||||||
|
/*
|
||||||
|
AngularJS v1.4.5
|
||||||
|
(c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
License: MIT
|
||||||
|
*/
|
||||||
|
(function(p,c,C){'use strict';function v(r,h,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,f,b,d,y){function z(){k&&(g.cancel(k),k=null);l&&(l.$destroy(),l=null);m&&(k=g.leave(m),k.then(function(){k=null}),m=null)}function x(){var b=r.current&&r.current.locals;if(c.isDefined(b&&b.$template)){var b=a.$new(),d=r.current;m=y(b,function(b){g.enter(b,null,m||f).then(function(){!c.isDefined(t)||t&&!a.$eval(t)||h()});z()});l=d.scope=b;l.$emit("$viewContentLoaded");
|
||||||
|
l.$eval(w)}else z()}var l,m,k,t=b.autoscroll,w=b.onload||"";a.$on("$routeChangeSuccess",x);x()}}}function A(c,h,g){return{restrict:"ECA",priority:-400,link:function(a,f){var b=g.current,d=b.locals;f.html(d.$template);var y=c(f.contents());b.controller&&(d.$scope=a,d=h(b.controller,d),b.controllerAs&&(a[b.controllerAs]=d),f.data("$ngControllerController",d),f.children().data("$ngControllerController",d));y(a)}}}p=c.module("ngRoute",["ng"]).provider("$route",function(){function r(a,f){return c.extend(Object.create(a),
|
||||||
|
f)}function h(a,c){var b=c.caseInsensitiveMatch,d={originalPath:a,regexp:a},g=d.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?\*])?/g,function(a,c,b,d){a="?"===d?d:null;d="*"===d?d:null;g.push({name:b,optional:!!a});c=c||"";return""+(a?"":c)+"(?:"+(a?c:"")+(d&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");d.regexp=new RegExp("^"+a+"$",b?"i":"");return d}var g={};this.when=function(a,f){var b=c.copy(f);c.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0);
|
||||||
|
c.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);g[a]=c.extend(b,a&&h(a,b));if(a){var d="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";g[d]=c.extend({redirectTo:a},h(d,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce",function(a,f,b,d,h,p,x){function l(b){var e=s.current;
|
||||||
|
(v=(n=k())&&e&&n.$$route===e.$$route&&c.equals(n.pathParams,e.pathParams)&&!n.reloadOnSearch&&!w)||!e&&!n||a.$broadcast("$routeChangeStart",n,e).defaultPrevented&&b&&b.preventDefault()}function m(){var u=s.current,e=n;if(v)u.params=e.params,c.copy(u.params,b),a.$broadcast("$routeUpdate",u);else if(e||u)w=!1,(s.current=e)&&e.redirectTo&&(c.isString(e.redirectTo)?f.path(t(e.redirectTo,e.params)).search(e.params).replace():f.url(e.redirectTo(e.pathParams,f.path(),f.search())).replace()),d.when(e).then(function(){if(e){var a=
|
||||||
|
c.extend({},e.resolve),b,f;c.forEach(a,function(b,e){a[e]=c.isString(b)?h.get(b):h.invoke(b,null,null,e)});c.isDefined(b=e.template)?c.isFunction(b)&&(b=b(e.params)):c.isDefined(f=e.templateUrl)&&(c.isFunction(f)&&(f=f(e.params)),c.isDefined(f)&&(e.loadedTemplateUrl=x.valueOf(f),b=p(f)));c.isDefined(b)&&(a.$template=b);return d.all(a)}}).then(function(f){e==s.current&&(e&&(e.locals=f,c.copy(e.params,b)),a.$broadcast("$routeChangeSuccess",e,u))},function(b){e==s.current&&a.$broadcast("$routeChangeError",
|
||||||
|
e,u,b)})}function k(){var a,b;c.forEach(g,function(d,g){var q;if(q=!b){var h=f.path();q=d.keys;var l={};if(d.regexp)if(h=d.regexp.exec(h)){for(var k=1,m=h.length;k<m;++k){var n=q[k-1],p=h[k];n&&p&&(l[n.name]=p)}q=l}else q=null;else q=null;q=a=q}q&&(b=r(d,{params:c.extend({},f.search(),a),pathParams:a}),b.$$route=d)});return b||g[null]&&r(g[null],{params:{},pathParams:{}})}function t(a,b){var d=[];c.forEach((a||"").split(":"),function(a,c){if(0===c)d.push(a);else{var f=a.match(/(\w+)(?:[?*])?(.*)/),
|
||||||
|
g=f[1];d.push(b[g]);d.push(f[2]||"");delete b[g]}});return d.join("")}var w=!1,n,v,s={routes:g,reload:function(){w=!0;a.$evalAsync(function(){l();m()})},updateParams:function(a){if(this.current&&this.current.$$route)a=c.extend({},this.current.params,a),f.path(t(this.current.$$route.originalPath,a)),f.search(a);else throw B("norout");}};a.$on("$locationChangeStart",l);a.$on("$locationChangeSuccess",m);return s}]});var B=c.$$minErr("ngRoute");p.provider("$routeParams",function(){this.$get=function(){return{}}});
|
||||||
|
p.directive("ngView",v);p.directive("ngView",A);v.$inject=["$route","$anchorScroll","$animate"];A.$inject=["$compile","$controller","$route"]})(window,window.angular);
|
||||||
|
//# sourceMappingURL=angular-route.min.js.map
|
8
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.min.js.map
vendored
Normal file
8
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/angular-route.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
9
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/bower.json
vendored
Normal file
9
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/bower.json
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "angular-route",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"main": "./angular-route.js",
|
||||||
|
"ignore": [],
|
||||||
|
"dependencies": {
|
||||||
|
"angular": "1.4.5"
|
||||||
|
}
|
||||||
|
}
|
4
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/index.js
vendored
Normal file
4
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/index.js
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
/* */
|
||||||
|
"format cjs";
|
||||||
|
require('./angular-route');
|
||||||
|
module.exports = 'ngRoute';
|
26
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/package.json
vendored
Normal file
26
public/vendor/jspm/github/angular/bower-angular-route@1.4.5/package.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "angular-route",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"description": "AngularJS router module",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/angular/angular.js.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"angular",
|
||||||
|
"framework",
|
||||||
|
"browser",
|
||||||
|
"router",
|
||||||
|
"client-side"
|
||||||
|
],
|
||||||
|
"author": "Angular Core Team <angular-core+npm@google.com>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/angular/angular.js/issues"
|
||||||
|
},
|
||||||
|
"homepage": "http://angularjs.org"
|
||||||
|
}
|
1
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5.js
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:angular/bower-angular-sanitize@1.4.5/angular-sanitize");
|
1
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
0e2789bafea2c9294dcea209ca56a8ba308a90c05287eece277c4dde08f0fd5d970b872djspm-github@0.13.10.16.1
|
68
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/README.md
vendored
Normal file
68
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/README.md
vendored
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
# packaged angular-sanitize
|
||||||
|
|
||||||
|
This repo is for distribution on `npm` and `bower`. The source for this module is in the
|
||||||
|
[main AngularJS repo](https://github.com/angular/angular.js/tree/master/src/ngSanitize).
|
||||||
|
Please file issues and pull requests against that repo.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
You can install this package either with `npm` or with `bower`.
|
||||||
|
|
||||||
|
### npm
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm install angular-sanitize
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add `ngSanitize` as a dependency for your app:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
angular.module('myApp', [require('angular-sanitize')]);
|
||||||
|
```
|
||||||
|
|
||||||
|
### bower
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bower install angular-sanitize
|
||||||
|
```
|
||||||
|
|
||||||
|
Add a `<script>` to your `index.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script src="/bower_components/angular-sanitize/angular-sanitize.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add `ngSanitize` as a dependency for your app:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
angular.module('myApp', ['ngSanitize']);
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Documentation is available on the
|
||||||
|
[AngularJS docs site](http://docs.angularjs.org/api/ngSanitize).
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
686
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.js
vendored
Normal file
686
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.js
vendored
Normal file
@ -0,0 +1,686 @@
|
|||||||
|
/* */
|
||||||
|
"format global";
|
||||||
|
"deps angular";
|
||||||
|
/**
|
||||||
|
* @license AngularJS v1.4.5
|
||||||
|
* (c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
* License: MIT
|
||||||
|
*/
|
||||||
|
(function(window, angular, undefined) {'use strict';
|
||||||
|
|
||||||
|
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
* Any commits to this file should be reviewed with security in mind. *
|
||||||
|
* Changes to this file can potentially create security vulnerabilities. *
|
||||||
|
* An approval from 2 Core members with history of modifying *
|
||||||
|
* this file is required. *
|
||||||
|
* *
|
||||||
|
* Does the change somehow allow for arbitrary javascript to be executed? *
|
||||||
|
* Or allows for someone to change the prototype of built-in objects? *
|
||||||
|
* Or gives undesired access to variables likes document or window? *
|
||||||
|
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||||
|
|
||||||
|
var $sanitizeMinErr = angular.$$minErr('$sanitize');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc module
|
||||||
|
* @name ngSanitize
|
||||||
|
* @description
|
||||||
|
*
|
||||||
|
* # ngSanitize
|
||||||
|
*
|
||||||
|
* The `ngSanitize` module provides functionality to sanitize HTML.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* <div doc-module-components="ngSanitize"></div>
|
||||||
|
*
|
||||||
|
* See {@link ngSanitize.$sanitize `$sanitize`} for usage.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* HTML Parser By Misko Hevery (misko@hevery.com)
|
||||||
|
* based on: HTML Parser By John Resig (ejohn.org)
|
||||||
|
* Original code by Erik Arvidsson, Mozilla Public License
|
||||||
|
* http://erik.eae.net/simplehtmlparser/simplehtmlparser.js
|
||||||
|
*
|
||||||
|
* // Use like so:
|
||||||
|
* htmlParser(htmlString, {
|
||||||
|
* start: function(tag, attrs, unary) {},
|
||||||
|
* end: function(tag) {},
|
||||||
|
* chars: function(text) {},
|
||||||
|
* comment: function(text) {}
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc service
|
||||||
|
* @name $sanitize
|
||||||
|
* @kind function
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* The input is sanitized by parsing the HTML into tokens. All safe tokens (from a whitelist) are
|
||||||
|
* then serialized back to properly escaped html string. This means that no unsafe input can make
|
||||||
|
* it into the returned string, however, since our parser is more strict than a typical browser
|
||||||
|
* parser, it's possible that some obscure input, which would be recognized as valid HTML by a
|
||||||
|
* browser, won't make it through the sanitizer. The input may also contain SVG markup.
|
||||||
|
* The whitelist is configured using the functions `aHrefSanitizationWhitelist` and
|
||||||
|
* `imgSrcSanitizationWhitelist` of {@link ng.$compileProvider `$compileProvider`}.
|
||||||
|
*
|
||||||
|
* @param {string} html HTML input.
|
||||||
|
* @returns {string} Sanitized HTML.
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
<example module="sanitizeExample" deps="angular-sanitize.js">
|
||||||
|
<file name="index.html">
|
||||||
|
<script>
|
||||||
|
angular.module('sanitizeExample', ['ngSanitize'])
|
||||||
|
.controller('ExampleController', ['$scope', '$sce', function($scope, $sce) {
|
||||||
|
$scope.snippet =
|
||||||
|
'<p style="color:blue">an html\n' +
|
||||||
|
'<em onmouseover="this.textContent=\'PWN3D!\'">click here</em>\n' +
|
||||||
|
'snippet</p>';
|
||||||
|
$scope.deliberatelyTrustDangerousSnippet = function() {
|
||||||
|
return $sce.trustAsHtml($scope.snippet);
|
||||||
|
};
|
||||||
|
}]);
|
||||||
|
</script>
|
||||||
|
<div ng-controller="ExampleController">
|
||||||
|
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Directive</td>
|
||||||
|
<td>How</td>
|
||||||
|
<td>Source</td>
|
||||||
|
<td>Rendered</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="bind-html-with-sanitize">
|
||||||
|
<td>ng-bind-html</td>
|
||||||
|
<td>Automatically uses $sanitize</td>
|
||||||
|
<td><pre><div ng-bind-html="snippet"><br/></div></pre></td>
|
||||||
|
<td><div ng-bind-html="snippet"></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr id="bind-html-with-trust">
|
||||||
|
<td>ng-bind-html</td>
|
||||||
|
<td>Bypass $sanitize by explicitly trusting the dangerous value</td>
|
||||||
|
<td>
|
||||||
|
<pre><div ng-bind-html="deliberatelyTrustDangerousSnippet()">
|
||||||
|
</div></pre>
|
||||||
|
</td>
|
||||||
|
<td><div ng-bind-html="deliberatelyTrustDangerousSnippet()"></div></td>
|
||||||
|
</tr>
|
||||||
|
<tr id="bind-default">
|
||||||
|
<td>ng-bind</td>
|
||||||
|
<td>Automatically escapes</td>
|
||||||
|
<td><pre><div ng-bind="snippet"><br/></div></pre></td>
|
||||||
|
<td><div ng-bind="snippet"></div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</file>
|
||||||
|
<file name="protractor.js" type="protractor">
|
||||||
|
it('should sanitize the html snippet by default', function() {
|
||||||
|
expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()).
|
||||||
|
toBe('<p>an html\n<em>click here</em>\nsnippet</p>');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should inline raw snippet if bound to a trusted value', function() {
|
||||||
|
expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).
|
||||||
|
toBe("<p style=\"color:blue\">an html\n" +
|
||||||
|
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
|
||||||
|
"snippet</p>");
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should escape snippet without any filter', function() {
|
||||||
|
expect(element(by.css('#bind-default div')).getInnerHtml()).
|
||||||
|
toBe("<p style=\"color:blue\">an html\n" +
|
||||||
|
"<em onmouseover=\"this.textContent='PWN3D!'\">click here</em>\n" +
|
||||||
|
"snippet</p>");
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should update', function() {
|
||||||
|
element(by.model('snippet')).clear();
|
||||||
|
element(by.model('snippet')).sendKeys('new <b onclick="alert(1)">text</b>');
|
||||||
|
expect(element(by.css('#bind-html-with-sanitize div')).getInnerHtml()).
|
||||||
|
toBe('new <b>text</b>');
|
||||||
|
expect(element(by.css('#bind-html-with-trust div')).getInnerHtml()).toBe(
|
||||||
|
'new <b onclick="alert(1)">text</b>');
|
||||||
|
expect(element(by.css('#bind-default div')).getInnerHtml()).toBe(
|
||||||
|
"new <b onclick=\"alert(1)\">text</b>");
|
||||||
|
});
|
||||||
|
</file>
|
||||||
|
</example>
|
||||||
|
*/
|
||||||
|
function $SanitizeProvider() {
|
||||||
|
this.$get = ['$$sanitizeUri', function($$sanitizeUri) {
|
||||||
|
return function(html) {
|
||||||
|
var buf = [];
|
||||||
|
htmlParser(html, htmlSanitizeWriter(buf, function(uri, isImage) {
|
||||||
|
return !/^unsafe/.test($$sanitizeUri(uri, isImage));
|
||||||
|
}));
|
||||||
|
return buf.join('');
|
||||||
|
};
|
||||||
|
}];
|
||||||
|
}
|
||||||
|
|
||||||
|
function sanitizeText(chars) {
|
||||||
|
var buf = [];
|
||||||
|
var writer = htmlSanitizeWriter(buf, angular.noop);
|
||||||
|
writer.chars(chars);
|
||||||
|
return buf.join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Regular Expressions for parsing tags and attributes
|
||||||
|
var START_TAG_REGEXP =
|
||||||
|
/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,
|
||||||
|
END_TAG_REGEXP = /^<\/\s*([\w:-]+)[^>]*>/,
|
||||||
|
ATTR_REGEXP = /([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,
|
||||||
|
BEGIN_TAG_REGEXP = /^</,
|
||||||
|
BEGING_END_TAGE_REGEXP = /^<\//,
|
||||||
|
COMMENT_REGEXP = /<!--(.*?)-->/g,
|
||||||
|
DOCTYPE_REGEXP = /<!DOCTYPE([^>]*?)>/i,
|
||||||
|
CDATA_REGEXP = /<!\[CDATA\[(.*?)]]>/g,
|
||||||
|
SURROGATE_PAIR_REGEXP = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
|
||||||
|
// Match everything outside of normal chars and " (quote character)
|
||||||
|
NON_ALPHANUMERIC_REGEXP = /([^\#-~| |!])/g;
|
||||||
|
|
||||||
|
|
||||||
|
// Good source of info about elements and attributes
|
||||||
|
// http://dev.w3.org/html5/spec/Overview.html#semantics
|
||||||
|
// http://simon.html5.org/html-elements
|
||||||
|
|
||||||
|
// Safe Void Elements - HTML5
|
||||||
|
// http://dev.w3.org/html5/spec/Overview.html#void-elements
|
||||||
|
var voidElements = makeMap("area,br,col,hr,img,wbr");
|
||||||
|
|
||||||
|
// Elements that you can, intentionally, leave open (and which close themselves)
|
||||||
|
// http://dev.w3.org/html5/spec/Overview.html#optional-tags
|
||||||
|
var optionalEndTagBlockElements = makeMap("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),
|
||||||
|
optionalEndTagInlineElements = makeMap("rp,rt"),
|
||||||
|
optionalEndTagElements = angular.extend({},
|
||||||
|
optionalEndTagInlineElements,
|
||||||
|
optionalEndTagBlockElements);
|
||||||
|
|
||||||
|
// Safe Block Elements - HTML5
|
||||||
|
var blockElements = angular.extend({}, optionalEndTagBlockElements, makeMap("address,article," +
|
||||||
|
"aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5," +
|
||||||
|
"h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul"));
|
||||||
|
|
||||||
|
// Inline Elements - HTML5
|
||||||
|
var inlineElements = angular.extend({}, optionalEndTagInlineElements, makeMap("a,abbr,acronym,b," +
|
||||||
|
"bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s," +
|
||||||
|
"samp,small,span,strike,strong,sub,sup,time,tt,u,var"));
|
||||||
|
|
||||||
|
// SVG Elements
|
||||||
|
// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Elements
|
||||||
|
// Note: the elements animate,animateColor,animateMotion,animateTransform,set are intentionally omitted.
|
||||||
|
// They can potentially allow for arbitrary javascript to be executed. See #11290
|
||||||
|
var svgElements = makeMap("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph," +
|
||||||
|
"hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline," +
|
||||||
|
"radialGradient,rect,stop,svg,switch,text,title,tspan,use");
|
||||||
|
|
||||||
|
// Special Elements (can contain anything)
|
||||||
|
var specialElements = makeMap("script,style");
|
||||||
|
|
||||||
|
var validElements = angular.extend({},
|
||||||
|
voidElements,
|
||||||
|
blockElements,
|
||||||
|
inlineElements,
|
||||||
|
optionalEndTagElements,
|
||||||
|
svgElements);
|
||||||
|
|
||||||
|
//Attributes that have href and hence need to be sanitized
|
||||||
|
var uriAttrs = makeMap("background,cite,href,longdesc,src,usemap,xlink:href");
|
||||||
|
|
||||||
|
var htmlAttrs = makeMap('abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,' +
|
||||||
|
'color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,' +
|
||||||
|
'ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,' +
|
||||||
|
'scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,' +
|
||||||
|
'valign,value,vspace,width');
|
||||||
|
|
||||||
|
// SVG attributes (without "id" and "name" attributes)
|
||||||
|
// https://wiki.whatwg.org/wiki/Sanitization_rules#svg_Attributes
|
||||||
|
var svgAttrs = makeMap('accent-height,accumulate,additive,alphabetic,arabic-form,ascent,' +
|
||||||
|
'baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,' +
|
||||||
|
'cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,' +
|
||||||
|
'font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,' +
|
||||||
|
'height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,' +
|
||||||
|
'marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,' +
|
||||||
|
'max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,' +
|
||||||
|
'path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,' +
|
||||||
|
'requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,' +
|
||||||
|
'stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,' +
|
||||||
|
'stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,' +
|
||||||
|
'stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,' +
|
||||||
|
'underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,' +
|
||||||
|
'width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,' +
|
||||||
|
'xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan', true);
|
||||||
|
|
||||||
|
var validAttrs = angular.extend({},
|
||||||
|
uriAttrs,
|
||||||
|
svgAttrs,
|
||||||
|
htmlAttrs);
|
||||||
|
|
||||||
|
function makeMap(str, lowercaseKeys) {
|
||||||
|
var obj = {}, items = str.split(','), i;
|
||||||
|
for (i = 0; i < items.length; i++) {
|
||||||
|
obj[lowercaseKeys ? angular.lowercase(items[i]) : items[i]] = true;
|
||||||
|
}
|
||||||
|
return obj;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @example
|
||||||
|
* htmlParser(htmlString, {
|
||||||
|
* start: function(tag, attrs, unary) {},
|
||||||
|
* end: function(tag) {},
|
||||||
|
* chars: function(text) {},
|
||||||
|
* comment: function(text) {}
|
||||||
|
* });
|
||||||
|
*
|
||||||
|
* @param {string} html string
|
||||||
|
* @param {object} handler
|
||||||
|
*/
|
||||||
|
function htmlParser(html, handler) {
|
||||||
|
if (typeof html !== 'string') {
|
||||||
|
if (html === null || typeof html === 'undefined') {
|
||||||
|
html = '';
|
||||||
|
} else {
|
||||||
|
html = '' + html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
var index, chars, match, stack = [], last = html, text;
|
||||||
|
stack.last = function() { return stack[stack.length - 1]; };
|
||||||
|
|
||||||
|
while (html) {
|
||||||
|
text = '';
|
||||||
|
chars = true;
|
||||||
|
|
||||||
|
// Make sure we're not in a script or style element
|
||||||
|
if (!stack.last() || !specialElements[stack.last()]) {
|
||||||
|
|
||||||
|
// Comment
|
||||||
|
if (html.indexOf("<!--") === 0) {
|
||||||
|
// comments containing -- are not allowed unless they terminate the comment
|
||||||
|
index = html.indexOf("--", 4);
|
||||||
|
|
||||||
|
if (index >= 0 && html.lastIndexOf("-->", index) === index) {
|
||||||
|
if (handler.comment) handler.comment(html.substring(4, index));
|
||||||
|
html = html.substring(index + 3);
|
||||||
|
chars = false;
|
||||||
|
}
|
||||||
|
// DOCTYPE
|
||||||
|
} else if (DOCTYPE_REGEXP.test(html)) {
|
||||||
|
match = html.match(DOCTYPE_REGEXP);
|
||||||
|
|
||||||
|
if (match) {
|
||||||
|
html = html.replace(match[0], '');
|
||||||
|
chars = false;
|
||||||
|
}
|
||||||
|
// end tag
|
||||||
|
} else if (BEGING_END_TAGE_REGEXP.test(html)) {
|
||||||
|
match = html.match(END_TAG_REGEXP);
|
||||||
|
|
||||||
|
if (match) {
|
||||||
|
html = html.substring(match[0].length);
|
||||||
|
match[0].replace(END_TAG_REGEXP, parseEndTag);
|
||||||
|
chars = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// start tag
|
||||||
|
} else if (BEGIN_TAG_REGEXP.test(html)) {
|
||||||
|
match = html.match(START_TAG_REGEXP);
|
||||||
|
|
||||||
|
if (match) {
|
||||||
|
// We only have a valid start-tag if there is a '>'.
|
||||||
|
if (match[4]) {
|
||||||
|
html = html.substring(match[0].length);
|
||||||
|
match[0].replace(START_TAG_REGEXP, parseStartTag);
|
||||||
|
}
|
||||||
|
chars = false;
|
||||||
|
} else {
|
||||||
|
// no ending tag found --- this piece should be encoded as an entity.
|
||||||
|
text += '<';
|
||||||
|
html = html.substring(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (chars) {
|
||||||
|
index = html.indexOf("<");
|
||||||
|
|
||||||
|
text += index < 0 ? html : html.substring(0, index);
|
||||||
|
html = index < 0 ? "" : html.substring(index);
|
||||||
|
|
||||||
|
if (handler.chars) handler.chars(decodeEntities(text));
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// IE versions 9 and 10 do not understand the regex '[^]', so using a workaround with [\W\w].
|
||||||
|
html = html.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*" + stack.last() + "[^>]*>", 'i'),
|
||||||
|
function(all, text) {
|
||||||
|
text = text.replace(COMMENT_REGEXP, "$1").replace(CDATA_REGEXP, "$1");
|
||||||
|
|
||||||
|
if (handler.chars) handler.chars(decodeEntities(text));
|
||||||
|
|
||||||
|
return "";
|
||||||
|
});
|
||||||
|
|
||||||
|
parseEndTag("", stack.last());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (html == last) {
|
||||||
|
throw $sanitizeMinErr('badparse', "The sanitizer was unable to parse the following block " +
|
||||||
|
"of html: {0}", html);
|
||||||
|
}
|
||||||
|
last = html;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Clean up any remaining tags
|
||||||
|
parseEndTag();
|
||||||
|
|
||||||
|
function parseStartTag(tag, tagName, rest, unary) {
|
||||||
|
tagName = angular.lowercase(tagName);
|
||||||
|
if (blockElements[tagName]) {
|
||||||
|
while (stack.last() && inlineElements[stack.last()]) {
|
||||||
|
parseEndTag("", stack.last());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (optionalEndTagElements[tagName] && stack.last() == tagName) {
|
||||||
|
parseEndTag("", tagName);
|
||||||
|
}
|
||||||
|
|
||||||
|
unary = voidElements[tagName] || !!unary;
|
||||||
|
|
||||||
|
if (!unary) {
|
||||||
|
stack.push(tagName);
|
||||||
|
}
|
||||||
|
|
||||||
|
var attrs = {};
|
||||||
|
|
||||||
|
rest.replace(ATTR_REGEXP,
|
||||||
|
function(match, name, doubleQuotedValue, singleQuotedValue, unquotedValue) {
|
||||||
|
var value = doubleQuotedValue
|
||||||
|
|| singleQuotedValue
|
||||||
|
|| unquotedValue
|
||||||
|
|| '';
|
||||||
|
|
||||||
|
attrs[name] = decodeEntities(value);
|
||||||
|
});
|
||||||
|
if (handler.start) handler.start(tagName, attrs, unary);
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseEndTag(tag, tagName) {
|
||||||
|
var pos = 0, i;
|
||||||
|
tagName = angular.lowercase(tagName);
|
||||||
|
if (tagName) {
|
||||||
|
// Find the closest opened tag of the same type
|
||||||
|
for (pos = stack.length - 1; pos >= 0; pos--) {
|
||||||
|
if (stack[pos] == tagName) break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pos >= 0) {
|
||||||
|
// Close all the open elements, up the stack
|
||||||
|
for (i = stack.length - 1; i >= pos; i--)
|
||||||
|
if (handler.end) handler.end(stack[i]);
|
||||||
|
|
||||||
|
// Remove the open elements from the stack
|
||||||
|
stack.length = pos;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var hiddenPre=document.createElement("pre");
|
||||||
|
/**
|
||||||
|
* decodes all entities into regular string
|
||||||
|
* @param value
|
||||||
|
* @returns {string} A string with decoded entities.
|
||||||
|
*/
|
||||||
|
function decodeEntities(value) {
|
||||||
|
if (!value) { return ''; }
|
||||||
|
|
||||||
|
hiddenPre.innerHTML = value.replace(/</g,"<");
|
||||||
|
// innerText depends on styling as it doesn't display hidden elements.
|
||||||
|
// Therefore, it's better to use textContent not to cause unnecessary reflows.
|
||||||
|
return hiddenPre.textContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Escapes all potentially dangerous characters, so that the
|
||||||
|
* resulting string can be safely inserted into attribute or
|
||||||
|
* element text.
|
||||||
|
* @param value
|
||||||
|
* @returns {string} escaped text
|
||||||
|
*/
|
||||||
|
function encodeEntities(value) {
|
||||||
|
return value.
|
||||||
|
replace(/&/g, '&').
|
||||||
|
replace(SURROGATE_PAIR_REGEXP, function(value) {
|
||||||
|
var hi = value.charCodeAt(0);
|
||||||
|
var low = value.charCodeAt(1);
|
||||||
|
return '&#' + (((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000) + ';';
|
||||||
|
}).
|
||||||
|
replace(NON_ALPHANUMERIC_REGEXP, function(value) {
|
||||||
|
return '&#' + value.charCodeAt(0) + ';';
|
||||||
|
}).
|
||||||
|
replace(/</g, '<').
|
||||||
|
replace(/>/g, '>');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* create an HTML/XML writer which writes to buffer
|
||||||
|
* @param {Array} buf use buf.jain('') to get out sanitized html string
|
||||||
|
* @returns {object} in the form of {
|
||||||
|
* start: function(tag, attrs, unary) {},
|
||||||
|
* end: function(tag) {},
|
||||||
|
* chars: function(text) {},
|
||||||
|
* comment: function(text) {}
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
function htmlSanitizeWriter(buf, uriValidator) {
|
||||||
|
var ignore = false;
|
||||||
|
var out = angular.bind(buf, buf.push);
|
||||||
|
return {
|
||||||
|
start: function(tag, attrs, unary) {
|
||||||
|
tag = angular.lowercase(tag);
|
||||||
|
if (!ignore && specialElements[tag]) {
|
||||||
|
ignore = tag;
|
||||||
|
}
|
||||||
|
if (!ignore && validElements[tag] === true) {
|
||||||
|
out('<');
|
||||||
|
out(tag);
|
||||||
|
angular.forEach(attrs, function(value, key) {
|
||||||
|
var lkey=angular.lowercase(key);
|
||||||
|
var isImage = (tag === 'img' && lkey === 'src') || (lkey === 'background');
|
||||||
|
if (validAttrs[lkey] === true &&
|
||||||
|
(uriAttrs[lkey] !== true || uriValidator(value, isImage))) {
|
||||||
|
out(' ');
|
||||||
|
out(key);
|
||||||
|
out('="');
|
||||||
|
out(encodeEntities(value));
|
||||||
|
out('"');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
out(unary ? '/>' : '>');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
end: function(tag) {
|
||||||
|
tag = angular.lowercase(tag);
|
||||||
|
if (!ignore && validElements[tag] === true) {
|
||||||
|
out('</');
|
||||||
|
out(tag);
|
||||||
|
out('>');
|
||||||
|
}
|
||||||
|
if (tag == ignore) {
|
||||||
|
ignore = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
chars: function(chars) {
|
||||||
|
if (!ignore) {
|
||||||
|
out(encodeEntities(chars));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// define ngSanitize module and register $sanitize service
|
||||||
|
angular.module('ngSanitize', []).provider('$sanitize', $SanitizeProvider);
|
||||||
|
|
||||||
|
/* global sanitizeText: false */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @ngdoc filter
|
||||||
|
* @name linky
|
||||||
|
* @kind function
|
||||||
|
*
|
||||||
|
* @description
|
||||||
|
* Finds links in text input and turns them into html links. Supports http/https/ftp/mailto and
|
||||||
|
* plain email address links.
|
||||||
|
*
|
||||||
|
* Requires the {@link ngSanitize `ngSanitize`} module to be installed.
|
||||||
|
*
|
||||||
|
* @param {string} text Input text.
|
||||||
|
* @param {string} target Window (_blank|_self|_parent|_top) or named frame to open links in.
|
||||||
|
* @returns {string} Html-linkified text.
|
||||||
|
*
|
||||||
|
* @usage
|
||||||
|
<span ng-bind-html="linky_expression | linky"></span>
|
||||||
|
*
|
||||||
|
* @example
|
||||||
|
<example module="linkyExample" deps="angular-sanitize.js">
|
||||||
|
<file name="index.html">
|
||||||
|
<script>
|
||||||
|
angular.module('linkyExample', ['ngSanitize'])
|
||||||
|
.controller('ExampleController', ['$scope', function($scope) {
|
||||||
|
$scope.snippet =
|
||||||
|
'Pretty text with some links:\n'+
|
||||||
|
'http://angularjs.org/,\n'+
|
||||||
|
'mailto:us@somewhere.org,\n'+
|
||||||
|
'another@somewhere.org,\n'+
|
||||||
|
'and one more: ftp://127.0.0.1/.';
|
||||||
|
$scope.snippetWithTarget = 'http://angularjs.org/';
|
||||||
|
}]);
|
||||||
|
</script>
|
||||||
|
<div ng-controller="ExampleController">
|
||||||
|
Snippet: <textarea ng-model="snippet" cols="60" rows="3"></textarea>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Filter</td>
|
||||||
|
<td>Source</td>
|
||||||
|
<td>Rendered</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="linky-filter">
|
||||||
|
<td>linky filter</td>
|
||||||
|
<td>
|
||||||
|
<pre><div ng-bind-html="snippet | linky"><br></div></pre>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div ng-bind-html="snippet | linky"></div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="linky-target">
|
||||||
|
<td>linky target</td>
|
||||||
|
<td>
|
||||||
|
<pre><div ng-bind-html="snippetWithTarget | linky:'_blank'"><br></div></pre>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<div ng-bind-html="snippetWithTarget | linky:'_blank'"></div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr id="escaped-html">
|
||||||
|
<td>no filter</td>
|
||||||
|
<td><pre><div ng-bind="snippet"><br></div></pre></td>
|
||||||
|
<td><div ng-bind="snippet"></div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</file>
|
||||||
|
<file name="protractor.js" type="protractor">
|
||||||
|
it('should linkify the snippet with urls', function() {
|
||||||
|
expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).
|
||||||
|
toBe('Pretty text with some links: http://angularjs.org/, us@somewhere.org, ' +
|
||||||
|
'another@somewhere.org, and one more: ftp://127.0.0.1/.');
|
||||||
|
expect(element.all(by.css('#linky-filter a')).count()).toEqual(4);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should not linkify snippet without the linky filter', function() {
|
||||||
|
expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText()).
|
||||||
|
toBe('Pretty text with some links: http://angularjs.org/, mailto:us@somewhere.org, ' +
|
||||||
|
'another@somewhere.org, and one more: ftp://127.0.0.1/.');
|
||||||
|
expect(element.all(by.css('#escaped-html a')).count()).toEqual(0);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should update', function() {
|
||||||
|
element(by.model('snippet')).clear();
|
||||||
|
element(by.model('snippet')).sendKeys('new http://link.');
|
||||||
|
expect(element(by.id('linky-filter')).element(by.binding('snippet | linky')).getText()).
|
||||||
|
toBe('new http://link.');
|
||||||
|
expect(element.all(by.css('#linky-filter a')).count()).toEqual(1);
|
||||||
|
expect(element(by.id('escaped-html')).element(by.binding('snippet')).getText())
|
||||||
|
.toBe('new http://link.');
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should work with the target property', function() {
|
||||||
|
expect(element(by.id('linky-target')).
|
||||||
|
element(by.binding("snippetWithTarget | linky:'_blank'")).getText()).
|
||||||
|
toBe('http://angularjs.org/');
|
||||||
|
expect(element(by.css('#linky-target a')).getAttribute('target')).toEqual('_blank');
|
||||||
|
});
|
||||||
|
</file>
|
||||||
|
</example>
|
||||||
|
*/
|
||||||
|
angular.module('ngSanitize').filter('linky', ['$sanitize', function($sanitize) {
|
||||||
|
var LINKY_URL_REGEXP =
|
||||||
|
/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,
|
||||||
|
MAILTO_REGEXP = /^mailto:/i;
|
||||||
|
|
||||||
|
return function(text, target) {
|
||||||
|
if (!text) return text;
|
||||||
|
var match;
|
||||||
|
var raw = text;
|
||||||
|
var html = [];
|
||||||
|
var url;
|
||||||
|
var i;
|
||||||
|
while ((match = raw.match(LINKY_URL_REGEXP))) {
|
||||||
|
// We can not end in these as they are sometimes found at the end of the sentence
|
||||||
|
url = match[0];
|
||||||
|
// if we did not match ftp/http/www/mailto then assume mailto
|
||||||
|
if (!match[2] && !match[4]) {
|
||||||
|
url = (match[3] ? 'http://' : 'mailto:') + url;
|
||||||
|
}
|
||||||
|
i = match.index;
|
||||||
|
addText(raw.substr(0, i));
|
||||||
|
addLink(url, match[0].replace(MAILTO_REGEXP, ''));
|
||||||
|
raw = raw.substring(i + match[0].length);
|
||||||
|
}
|
||||||
|
addText(raw);
|
||||||
|
return $sanitize(html.join(''));
|
||||||
|
|
||||||
|
function addText(text) {
|
||||||
|
if (!text) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
html.push(sanitizeText(text));
|
||||||
|
}
|
||||||
|
|
||||||
|
function addLink(url, text) {
|
||||||
|
html.push('<a ');
|
||||||
|
if (angular.isDefined(target)) {
|
||||||
|
html.push('target="',
|
||||||
|
target,
|
||||||
|
'" ');
|
||||||
|
}
|
||||||
|
html.push('href="',
|
||||||
|
url.replace(/"/g, '"'),
|
||||||
|
'">');
|
||||||
|
addText(text);
|
||||||
|
html.push('</a>');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}]);
|
||||||
|
|
||||||
|
|
||||||
|
})(window, window.angular);
|
18
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.min.js
vendored
Normal file
18
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.min.js
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/* */
|
||||||
|
"format global";
|
||||||
|
/*
|
||||||
|
AngularJS v1.4.5
|
||||||
|
(c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
License: MIT
|
||||||
|
*/
|
||||||
|
(function(n,h,p){'use strict';function E(a){var f=[];r(f,h.noop).chars(a);return f.join("")}function g(a,f){var d={},c=a.split(","),b;for(b=0;b<c.length;b++)d[f?h.lowercase(c[b]):c[b]]=!0;return d}function F(a,f){function d(a,b,d,l){b=h.lowercase(b);if(s[b])for(;e.last()&&t[e.last()];)c("",e.last());u[b]&&e.last()==b&&c("",b);(l=v[b]||!!l)||e.push(b);var m={};d.replace(G,function(b,a,f,c,d){m[a]=q(f||c||d||"")});f.start&&f.start(b,m,l)}function c(b,a){var c=0,d;if(a=h.lowercase(a))for(c=e.length-
|
||||||
|
1;0<=c&&e[c]!=a;c--);if(0<=c){for(d=e.length-1;d>=c;d--)f.end&&f.end(e[d]);e.length=c}}"string"!==typeof a&&(a=null===a||"undefined"===typeof a?"":""+a);var b,k,e=[],m=a,l;for(e.last=function(){return e[e.length-1]};a;){l="";k=!0;if(e.last()&&w[e.last()])a=a.replace(new RegExp("([\\W\\w]*)<\\s*\\/\\s*"+e.last()+"[^>]*>","i"),function(a,b){b=b.replace(H,"$1").replace(I,"$1");f.chars&&f.chars(q(b));return""}),c("",e.last());else{if(0===a.indexOf("\x3c!--"))b=a.indexOf("--",4),0<=b&&a.lastIndexOf("--\x3e",
|
||||||
|
b)===b&&(f.comment&&f.comment(a.substring(4,b)),a=a.substring(b+3),k=!1);else if(x.test(a)){if(b=a.match(x))a=a.replace(b[0],""),k=!1}else if(J.test(a)){if(b=a.match(y))a=a.substring(b[0].length),b[0].replace(y,c),k=!1}else K.test(a)&&((b=a.match(z))?(b[4]&&(a=a.substring(b[0].length),b[0].replace(z,d)),k=!1):(l+="<",a=a.substring(1)));k&&(b=a.indexOf("<"),l+=0>b?a:a.substring(0,b),a=0>b?"":a.substring(b),f.chars&&f.chars(q(l)))}if(a==m)throw L("badparse",a);m=a}c()}function q(a){if(!a)return"";A.innerHTML=
|
||||||
|
a.replace(/</g,"<");return A.textContent}function B(a){return a.replace(/&/g,"&").replace(M,function(a){var d=a.charCodeAt(0);a=a.charCodeAt(1);return"&#"+(1024*(d-55296)+(a-56320)+65536)+";"}).replace(N,function(a){return"&#"+a.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}function r(a,f){var d=!1,c=h.bind(a,a.push);return{start:function(a,k,e){a=h.lowercase(a);!d&&w[a]&&(d=a);d||!0!==C[a]||(c("<"),c(a),h.forEach(k,function(d,e){var k=h.lowercase(e),g="img"===a&&"src"===k||
|
||||||
|
"background"===k;!0!==O[k]||!0===D[k]&&!f(d,g)||(c(" "),c(e),c('="'),c(B(d)),c('"'))}),c(e?"/>":">"))},end:function(a){a=h.lowercase(a);d||!0!==C[a]||(c("</"),c(a),c(">"));a==d&&(d=!1)},chars:function(a){d||c(B(a))}}}var L=h.$$minErr("$sanitize"),z=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,y=/^<\/\s*([\w:-]+)[^>]*>/,G=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,K=/^</,J=/^<\//,H=/\x3c!--(.*?)--\x3e/g,x=/<!DOCTYPE([^>]*?)>/i,
|
||||||
|
I=/<!\[CDATA\[(.*?)]]\x3e/g,M=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,N=/([^\#-~| |!])/g,v=g("area,br,col,hr,img,wbr");n=g("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr");p=g("rp,rt");var u=h.extend({},p,n),s=h.extend({},n,g("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),t=h.extend({},p,g("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var"));
|
||||||
|
n=g("circle,defs,desc,ellipse,font-face,font-face-name,font-face-src,g,glyph,hkern,image,linearGradient,line,marker,metadata,missing-glyph,mpath,path,polygon,polyline,radialGradient,rect,stop,svg,switch,text,title,tspan,use");var w=g("script,style"),C=h.extend({},v,s,t,u,n),D=g("background,cite,href,longdesc,src,usemap,xlink:href");n=g("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,tabindex,target,title,type,valign,value,vspace,width");
|
||||||
|
p=g("accent-height,accumulate,additive,alphabetic,arabic-form,ascent,baseProfile,bbox,begin,by,calcMode,cap-height,class,color,color-rendering,content,cx,cy,d,dx,dy,descent,display,dur,end,fill,fill-rule,font-family,font-size,font-stretch,font-style,font-variant,font-weight,from,fx,fy,g1,g2,glyph-name,gradientUnits,hanging,height,horiz-adv-x,horiz-origin-x,ideographic,k,keyPoints,keySplines,keyTimes,lang,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mathematical,max,min,offset,opacity,orient,origin,overline-position,overline-thickness,panose-1,path,pathLength,points,preserveAspectRatio,r,refX,refY,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,rotate,rx,ry,slope,stemh,stemv,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,systemLanguage,target,text-anchor,to,transform,type,u1,u2,underline-position,underline-thickness,unicode,unicode-range,units-per-em,values,version,viewBox,visibility,width,widths,x,x-height,x1,x2,xlink:actuate,xlink:arcrole,xlink:role,xlink:show,xlink:title,xlink:type,xml:base,xml:lang,xml:space,xmlns,xmlns:xlink,y,y1,y2,zoomAndPan",
|
||||||
|
!0);var O=h.extend({},D,p,n),A=document.createElement("pre");h.module("ngSanitize",[]).provider("$sanitize",function(){this.$get=["$$sanitizeUri",function(a){return function(f){var d=[];F(f,r(d,function(c,b){return!/^unsafe/.test(a(c,b))}));return d.join("")}}]});h.module("ngSanitize").filter("linky",["$sanitize",function(a){var f=/((ftp|https?):\/\/|(www\.)|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"\u201d\u2019]/i,d=/^mailto:/i;return function(c,b){function k(a){a&&g.push(E(a))}function e(a,
|
||||||
|
c){g.push("<a ");h.isDefined(b)&&g.push('target="',b,'" ');g.push('href="',a.replace(/"/g,"""),'">');k(c);g.push("</a>")}if(!c)return c;for(var m,l=c,g=[],n,p;m=l.match(f);)n=m[0],m[2]||m[4]||(n=(m[3]?"http://":"mailto:")+n),p=m.index,k(l.substr(0,p)),e(n,m[0].replace(d,"")),l=l.substring(p+m[0].length);k(l);return a(g.join(""))}}])})(window,window.angular);
|
||||||
|
//# sourceMappingURL=angular-sanitize.min.js.map
|
8
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.min.js.map
vendored
Normal file
8
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/angular-sanitize.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
9
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/bower.json
vendored
Normal file
9
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/bower.json
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "angular-sanitize",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"main": "./angular-sanitize.js",
|
||||||
|
"ignore": [],
|
||||||
|
"dependencies": {
|
||||||
|
"angular": "1.4.5"
|
||||||
|
}
|
||||||
|
}
|
4
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/index.js
vendored
Normal file
4
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/index.js
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
/* */
|
||||||
|
"format cjs";
|
||||||
|
require('./angular-sanitize');
|
||||||
|
module.exports = 'ngSanitize';
|
26
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/package.json
vendored
Normal file
26
public/vendor/jspm/github/angular/bower-angular-sanitize@1.4.5/package.json
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "angular-sanitize",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"description": "AngularJS module for sanitizing HTML",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/angular/angular.js.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"angular",
|
||||||
|
"framework",
|
||||||
|
"browser",
|
||||||
|
"html",
|
||||||
|
"client-side"
|
||||||
|
],
|
||||||
|
"author": "Angular Core Team <angular-core+npm@google.com>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/angular/angular.js/issues"
|
||||||
|
},
|
||||||
|
"homepage": "http://angularjs.org"
|
||||||
|
}
|
1
public/vendor/jspm/github/angular/bower-angular@1.4.5.js
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular@1.4.5.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:angular/bower-angular@1.4.5/angular");
|
1
public/vendor/jspm/github/angular/bower-angular@1.4.5/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/angular/bower-angular@1.4.5/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3809d44e5279e94a0596d5bc216d921f34f8ab2a57f4338b6d59c326feb65a6871682220jspm-github@0.13.10.16.1
|
64
public/vendor/jspm/github/angular/bower-angular@1.4.5/README.md
vendored
Normal file
64
public/vendor/jspm/github/angular/bower-angular@1.4.5/README.md
vendored
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
# packaged angular
|
||||||
|
|
||||||
|
This repo is for distribution on `npm` and `bower`. The source for this module is in the
|
||||||
|
[main AngularJS repo](https://github.com/angular/angular.js).
|
||||||
|
Please file issues and pull requests against that repo.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
|
||||||
|
You can install this package either with `npm` or with `bower`.
|
||||||
|
|
||||||
|
### npm
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm install angular
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add a `<script>` to your `index.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script src="/node_modules/angular/angular.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
Or `require('angular')` from your code.
|
||||||
|
|
||||||
|
### bower
|
||||||
|
|
||||||
|
```shell
|
||||||
|
bower install angular
|
||||||
|
```
|
||||||
|
|
||||||
|
Then add a `<script>` to your `index.html`:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<script src="/bower_components/angular/angular.js"></script>
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Documentation is available on the
|
||||||
|
[AngularJS docs site](http://docs.angularjs.org/).
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
21
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular-csp.css
vendored
Normal file
21
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular-csp.css
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/* Include this file in your html if you are using the CSP mode. */
|
||||||
|
|
||||||
|
@charset "UTF-8";
|
||||||
|
|
||||||
|
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
|
||||||
|
.ng-cloak, .x-ng-cloak,
|
||||||
|
.ng-hide:not(.ng-hide-animate) {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
ng\:form {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ng-animate-shim {
|
||||||
|
visibility:hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ng-anchor {
|
||||||
|
position:absolute;
|
||||||
|
}
|
28691
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.js
vendored
Normal file
28691
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
295
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js
vendored
Normal file
295
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js
vendored
Normal file
@ -0,0 +1,295 @@
|
|||||||
|
/* */
|
||||||
|
"format global";
|
||||||
|
/*
|
||||||
|
AngularJS v1.4.5
|
||||||
|
(c) 2010-2015 Google, Inc. http://angularjs.org
|
||||||
|
License: MIT
|
||||||
|
*/
|
||||||
|
(function(N,W,u){'use strict';function G(b){return function(){var a=arguments[0],c;c="["+(b?b+":":"")+a+"] http://errors.angularjs.org/1.4.5/"+(b?b+"/":"")+a;for(a=1;a<arguments.length;a++){c=c+(1==a?"?":"&")+"p"+(a-1)+"=";var d=encodeURIComponent,e;e=arguments[a];e="function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e;c+=d(e)}return Error(c)}}function Da(b){if(null==b||Ya(b))return!1;var a="length"in Object(b)&&b.length;
|
||||||
|
return b.nodeType===pa&&a?!0:H(b)||K(b)||0===a||"number"===typeof a&&0<a&&a-1 in b}function n(b,a,c){var d,e;if(b)if(B(b))for(d in b)"prototype"==d||"length"==d||"name"==d||b.hasOwnProperty&&!b.hasOwnProperty(d)||a.call(c,b[d],d,b);else if(K(b)||Da(b)){var f="object"!==typeof b;d=0;for(e=b.length;d<e;d++)(f||d in b)&&a.call(c,b[d],d,b)}else if(b.forEach&&b.forEach!==n)b.forEach(a,c,b);else if(lc(b))for(d in b)a.call(c,b[d],d,b);else if("function"===typeof b.hasOwnProperty)for(d in b)b.hasOwnProperty(d)&&
|
||||||
|
a.call(c,b[d],d,b);else for(d in b)Na.call(b,d)&&a.call(c,b[d],d,b);return b}function mc(b,a,c){for(var d=Object.keys(b).sort(),e=0;e<d.length;e++)a.call(c,b[d[e]],d[e]);return d}function nc(b){return function(a,c){b(c,a)}}function Ud(){return++mb}function oc(b,a){a?b.$$hashKey=a:delete b.$$hashKey}function Mb(b,a,c){for(var d=b.$$hashKey,e=0,f=a.length;e<f;++e){var g=a[e];if(D(g)||B(g))for(var h=Object.keys(g),l=0,k=h.length;l<k;l++){var m=h[l],q=g[m];c&&D(q)?ca(q)?b[m]=new Date(q.valueOf()):Oa(q)?
|
||||||
|
b[m]=new RegExp(q):(D(b[m])||(b[m]=K(q)?[]:{}),Mb(b[m],[q],!0)):b[m]=q}}oc(b,d);return b}function Q(b){return Mb(b,xa.call(arguments,1),!1)}function Vd(b){return Mb(b,xa.call(arguments,1),!0)}function Y(b){return parseInt(b,10)}function Nb(b,a){return Q(Object.create(b),a)}function v(){}function Za(b){return b}function qa(b){return function(){return b}}function pc(b){return B(b.toString)&&b.toString!==Object.prototype.toString}function y(b){return"undefined"===typeof b}function x(b){return"undefined"!==
|
||||||
|
typeof b}function D(b){return null!==b&&"object"===typeof b}function lc(b){return null!==b&&"object"===typeof b&&!qc(b)}function H(b){return"string"===typeof b}function X(b){return"number"===typeof b}function ca(b){return"[object Date]"===sa.call(b)}function B(b){return"function"===typeof b}function Oa(b){return"[object RegExp]"===sa.call(b)}function Ya(b){return b&&b.window===b}function $a(b){return b&&b.$evalAsync&&b.$watch}function ab(b){return"boolean"===typeof b}function rc(b){return!(!b||!(b.nodeName||
|
||||||
|
b.prop&&b.attr&&b.find))}function Wd(b){var a={};b=b.split(",");var c;for(c=0;c<b.length;c++)a[b[c]]=!0;return a}function ta(b){return I(b.nodeName||b[0]&&b[0].nodeName)}function bb(b,a){var c=b.indexOf(a);0<=c&&b.splice(c,1);return c}function fa(b,a,c,d){if(Ya(b)||$a(b))throw Ea("cpws");if(sc.test(sa.call(a)))throw Ea("cpta");if(a){if(b===a)throw Ea("cpi");c=c||[];d=d||[];D(b)&&(c.push(b),d.push(a));var e;if(K(b))for(e=a.length=0;e<b.length;e++)a.push(fa(b[e],null,c,d));else{var f=a.$$hashKey;K(a)?
|
||||||
|
a.length=0:n(a,function(b,c){delete a[c]});if(lc(b))for(e in b)a[e]=fa(b[e],null,c,d);else if(b&&"function"===typeof b.hasOwnProperty)for(e in b)b.hasOwnProperty(e)&&(a[e]=fa(b[e],null,c,d));else for(e in b)Na.call(b,e)&&(a[e]=fa(b[e],null,c,d));oc(a,f)}}else if(a=b,D(b)){if(c&&-1!==(f=c.indexOf(b)))return d[f];if(K(b))return fa(b,[],c,d);if(sc.test(sa.call(b)))a=new b.constructor(b);else if(ca(b))a=new Date(b.getTime());else if(Oa(b))a=new RegExp(b.source,b.toString().match(/[^\/]*$/)[0]),a.lastIndex=
|
||||||
|
b.lastIndex;else return e=Object.create(qc(b)),fa(b,e,c,d);d&&(c.push(b),d.push(a))}return a}function ia(b,a){if(K(b)){a=a||[];for(var c=0,d=b.length;c<d;c++)a[c]=b[c]}else if(D(b))for(c in a=a||{},b)if("$"!==c.charAt(0)||"$"!==c.charAt(1))a[c]=b[c];return a||b}function ka(b,a){if(b===a)return!0;if(null===b||null===a)return!1;if(b!==b&&a!==a)return!0;var c=typeof b,d;if(c==typeof a&&"object"==c)if(K(b)){if(!K(a))return!1;if((c=b.length)==a.length){for(d=0;d<c;d++)if(!ka(b[d],a[d]))return!1;return!0}}else{if(ca(b))return ca(a)?
|
||||||
|
ka(b.getTime(),a.getTime()):!1;if(Oa(b))return Oa(a)?b.toString()==a.toString():!1;if($a(b)||$a(a)||Ya(b)||Ya(a)||K(a)||ca(a)||Oa(a))return!1;c=ga();for(d in b)if("$"!==d.charAt(0)&&!B(b[d])){if(!ka(b[d],a[d]))return!1;c[d]=!0}for(d in a)if(!(d in c||"$"===d.charAt(0)||a[d]===u||B(a[d])))return!1;return!0}return!1}function cb(b,a,c){return b.concat(xa.call(a,c))}function tc(b,a){var c=2<arguments.length?xa.call(arguments,2):[];return!B(a)||a instanceof RegExp?a:c.length?function(){return arguments.length?
|
||||||
|
a.apply(b,cb(c,arguments,0)):a.apply(b,c)}:function(){return arguments.length?a.apply(b,arguments):a.call(b)}}function Xd(b,a){var c=a;"string"===typeof b&&"$"===b.charAt(0)&&"$"===b.charAt(1)?c=u:Ya(a)?c="$WINDOW":a&&W===a?c="$DOCUMENT":$a(a)&&(c="$SCOPE");return c}function db(b,a){if("undefined"===typeof b)return u;X(a)||(a=a?2:null);return JSON.stringify(b,Xd,a)}function uc(b){return H(b)?JSON.parse(b):b}function vc(b,a){var c=Date.parse("Jan 01, 1970 00:00:00 "+b)/6E4;return isNaN(c)?a:c}function Ob(b,
|
||||||
|
a,c){c=c?-1:1;var d=vc(a,b.getTimezoneOffset());a=b;b=c*(d-b.getTimezoneOffset());a=new Date(a.getTime());a.setMinutes(a.getMinutes()+b);return a}function ua(b){b=z(b).clone();try{b.empty()}catch(a){}var c=z("<div>").append(b).html();try{return b[0].nodeType===Pa?I(c):c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+I(b)})}catch(d){return I(c)}}function wc(b){try{return decodeURIComponent(b)}catch(a){}}function xc(b){var a={};n((b||"").split("&"),function(b){var d,e,f;b&&(e=
|
||||||
|
b=b.replace(/\+/g,"%20"),d=b.indexOf("="),-1!==d&&(e=b.substring(0,d),f=b.substring(d+1)),e=wc(e),x(e)&&(f=x(f)?wc(f):!0,Na.call(a,e)?K(a[e])?a[e].push(f):a[e]=[a[e],f]:a[e]=f))});return a}function Pb(b){var a=[];n(b,function(b,d){K(b)?n(b,function(b){a.push(ma(d,!0)+(!0===b?"":"="+ma(b,!0)))}):a.push(ma(d,!0)+(!0===b?"":"="+ma(b,!0)))});return a.length?a.join("&"):""}function nb(b){return ma(b,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function ma(b,a){return encodeURIComponent(b).replace(/%40/gi,
|
||||||
|
"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,a?"%20":"+")}function Yd(b,a){var c,d,e=Qa.length;for(d=0;d<e;++d)if(c=Qa[d]+a,H(c=b.getAttribute(c)))return c;return null}function Zd(b,a){var c,d,e={};n(Qa,function(a){a+="app";!c&&b.hasAttribute&&b.hasAttribute(a)&&(c=b,d=b.getAttribute(a))});n(Qa,function(a){a+="app";var e;!c&&(e=b.querySelector("["+a.replace(":","\\:")+"]"))&&(c=e,d=e.getAttribute(a))});c&&(e.strictDi=null!==Yd(c,"strict-di"),
|
||||||
|
a(c,d?[d]:[],e))}function yc(b,a,c){D(c)||(c={});c=Q({strictDi:!1},c);var d=function(){b=z(b);if(b.injector()){var d=b[0]===W?"document":ua(b);throw Ea("btstrpd",d.replace(/</,"<").replace(/>/,">"));}a=a||[];a.unshift(["$provide",function(a){a.value("$rootElement",b)}]);c.debugInfoEnabled&&a.push(["$compileProvider",function(a){a.debugInfoEnabled(!0)}]);a.unshift("ng");d=eb(a,c.strictDi);d.invoke(["$rootScope","$rootElement","$compile","$injector",function(a,b,c,d){a.$apply(function(){b.data("$injector",
|
||||||
|
d);c(b)(a)})}]);return d},e=/^NG_ENABLE_DEBUG_INFO!/,f=/^NG_DEFER_BOOTSTRAP!/;N&&e.test(N.name)&&(c.debugInfoEnabled=!0,N.name=N.name.replace(e,""));if(N&&!f.test(N.name))return d();N.name=N.name.replace(f,"");aa.resumeBootstrap=function(b){n(b,function(b){a.push(b)});return d()};B(aa.resumeDeferredBootstrap)&&aa.resumeDeferredBootstrap()}function $d(){N.name="NG_ENABLE_DEBUG_INFO!"+N.name;N.location.reload()}function ae(b){b=aa.element(b).injector();if(!b)throw Ea("test");return b.get("$$testability")}
|
||||||
|
function zc(b,a){a=a||"_";return b.replace(be,function(b,d){return(d?a:"")+b.toLowerCase()})}function ce(){var b;if(!Ac){var a=ob();la=N.jQuery;x(a)&&(la=null===a?u:N[a]);la&&la.fn.on?(z=la,Q(la.fn,{scope:Ra.scope,isolateScope:Ra.isolateScope,controller:Ra.controller,injector:Ra.injector,inheritedData:Ra.inheritedData}),b=la.cleanData,la.cleanData=function(a){var d;if(Qb)Qb=!1;else for(var e=0,f;null!=(f=a[e]);e++)(d=la._data(f,"events"))&&d.$destroy&&la(f).triggerHandler("$destroy");b(a)}):z=R;aa.element=
|
||||||
|
z;Ac=!0}}function pb(b,a,c){if(!b)throw Ea("areq",a||"?",c||"required");return b}function Sa(b,a,c){c&&K(b)&&(b=b[b.length-1]);pb(B(b),a,"not a function, got "+(b&&"object"===typeof b?b.constructor.name||"Object":typeof b));return b}function Ta(b,a){if("hasOwnProperty"===b)throw Ea("badname",a);}function Bc(b,a,c){if(!a)return b;a=a.split(".");for(var d,e=b,f=a.length,g=0;g<f;g++)d=a[g],b&&(b=(e=b)[d]);return!c&&B(b)?tc(e,b):b}function qb(b){var a=b[0];b=b[b.length-1];var c=[a];do{a=a.nextSibling;
|
||||||
|
if(!a)break;c.push(a)}while(a!==b);return z(c)}function ga(){return Object.create(null)}function de(b){function a(a,b,c){return a[b]||(a[b]=c())}var c=G("$injector"),d=G("ng");b=a(b,"angular",Object);b.$$minErr=b.$$minErr||G;return a(b,"module",function(){var b={};return function(f,g,h){if("hasOwnProperty"===f)throw d("badname","module");g&&b.hasOwnProperty(f)&&(b[f]=null);return a(b,f,function(){function a(b,c,e,f){f||(f=d);return function(){f[e||"push"]([b,c,arguments]);return E}}function b(a,c){return function(b,
|
||||||
|
e){e&&B(e)&&(e.$$moduleName=f);d.push([a,c,arguments]);return E}}if(!g)throw c("nomod",f);var d=[],e=[],s=[],t=a("$injector","invoke","push",e),E={_invokeQueue:d,_configBlocks:e,_runBlocks:s,requires:g,name:f,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:t,run:function(a){s.push(a);return this}};h&&t(h);return E})}})}function ee(b){Q(b,{bootstrap:yc,copy:fa,extend:Q,merge:Vd,equals:ka,element:z,forEach:n,injector:eb,noop:v,bind:tc,toJson:db,fromJson:uc,identity:Za,isUndefined:y,isDefined:x,isString:H,isFunction:B,isObject:D,isNumber:X,isElement:rc,isArray:K,version:fe,isDate:ca,lowercase:I,uppercase:rb,callbacks:{counter:0},getTestability:ae,$$minErr:G,$$csp:Fa,reloadWithDebugInfo:$d});
|
||||||
|
Rb=de(N);Rb("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:ge});a.provider("$compile",Cc).directive({a:he,input:Dc,textarea:Dc,form:ie,script:je,select:ke,style:le,option:me,ngBind:ne,ngBindHtml:oe,ngBindTemplate:pe,ngClass:qe,ngClassEven:re,ngClassOdd:se,ngCloak:te,ngController:ue,ngForm:ve,ngHide:we,ngIf:xe,ngInclude:ye,ngInit:ze,ngNonBindable:Ae,ngPluralize:Be,ngRepeat:Ce,ngShow:De,ngStyle:Ee,ngSwitch:Fe,ngSwitchWhen:Ge,ngSwitchDefault:He,ngOptions:Ie,ngTransclude:Je,ngModel:Ke,
|
||||||
|
ngList:Le,ngChange:Me,pattern:Ec,ngPattern:Ec,required:Fc,ngRequired:Fc,minlength:Gc,ngMinlength:Gc,maxlength:Hc,ngMaxlength:Hc,ngValue:Ne,ngModelOptions:Oe}).directive({ngInclude:Pe}).directive(sb).directive(Ic);a.provider({$anchorScroll:Qe,$animate:Re,$animateCss:Se,$$animateQueue:Te,$$AnimateRunner:Ue,$browser:Ve,$cacheFactory:We,$controller:Xe,$document:Ye,$exceptionHandler:Ze,$filter:Jc,$$forceReflow:$e,$interpolate:af,$interval:bf,$http:cf,$httpParamSerializer:df,$httpParamSerializerJQLike:ef,
|
||||||
|
$httpBackend:ff,$location:gf,$log:hf,$parse:jf,$rootScope:kf,$q:lf,$$q:mf,$sce:nf,$sceDelegate:of,$sniffer:pf,$templateCache:qf,$templateRequest:rf,$$testability:sf,$timeout:tf,$window:uf,$$rAF:vf,$$jqLite:wf,$$HashMap:xf,$$cookieReader:yf})}])}function fb(b){return b.replace(zf,function(a,b,d,e){return e?d.toUpperCase():d}).replace(Af,"Moz$1")}function Kc(b){b=b.nodeType;return b===pa||!b||9===b}function Lc(b,a){var c,d,e=a.createDocumentFragment(),f=[];if(Sb.test(b)){c=c||e.appendChild(a.createElement("div"));
|
||||||
|
d=(Bf.exec(b)||["",""])[1].toLowerCase();d=na[d]||na._default;c.innerHTML=d[1]+b.replace(Cf,"<$1></$2>")+d[2];for(d=d[0];d--;)c=c.lastChild;f=cb(f,c.childNodes);c=e.firstChild;c.textContent=""}else f.push(a.createTextNode(b));e.textContent="";e.innerHTML="";n(f,function(a){e.appendChild(a)});return e}function R(b){if(b instanceof R)return b;var a;H(b)&&(b=T(b),a=!0);if(!(this instanceof R)){if(a&&"<"!=b.charAt(0))throw Tb("nosel");return new R(b)}if(a){a=W;var c;b=(c=Df.exec(b))?[a.createElement(c[1])]:
|
||||||
|
(c=Lc(b,a))?c.childNodes:[]}Mc(this,b)}function Ub(b){return b.cloneNode(!0)}function tb(b,a){a||ub(b);if(b.querySelectorAll)for(var c=b.querySelectorAll("*"),d=0,e=c.length;d<e;d++)ub(c[d])}function Nc(b,a,c,d){if(x(d))throw Tb("offargs");var e=(d=vb(b))&&d.events,f=d&&d.handle;if(f)if(a)n(a.split(" "),function(a){if(x(c)){var d=e[a];bb(d||[],c);if(d&&0<d.length)return}b.removeEventListener(a,f,!1);delete e[a]});else for(a in e)"$destroy"!==a&&b.removeEventListener(a,f,!1),delete e[a]}function ub(b,
|
||||||
|
a){var c=b.ng339,d=c&&gb[c];d&&(a?delete d.data[a]:(d.handle&&(d.events.$destroy&&d.handle({},"$destroy"),Nc(b)),delete gb[c],b.ng339=u))}function vb(b,a){var c=b.ng339,c=c&&gb[c];a&&!c&&(b.ng339=c=++Ef,c=gb[c]={events:{},data:{},handle:u});return c}function Vb(b,a,c){if(Kc(b)){var d=x(c),e=!d&&a&&!D(a),f=!a;b=(b=vb(b,!e))&&b.data;if(d)b[a]=c;else{if(f)return b;if(e)return b&&b[a];Q(b,a)}}}function wb(b,a){return b.getAttribute?-1<(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+
|
||||||
|
a+" "):!1}function xb(b,a){a&&b.setAttribute&&n(a.split(" "),function(a){b.setAttribute("class",T((" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+T(a)+" "," ")))})}function yb(b,a){if(a&&b.setAttribute){var c=(" "+(b.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");n(a.split(" "),function(a){a=T(a);-1===c.indexOf(" "+a+" ")&&(c+=a+" ")});b.setAttribute("class",T(c))}}function Mc(b,a){if(a)if(a.nodeType)b[b.length++]=a;else{var c=a.length;if("number"===typeof c&&a.window!==
|
||||||
|
a){if(c)for(var d=0;d<c;d++)b[b.length++]=a[d]}else b[b.length++]=a}}function Oc(b,a){return zb(b,"$"+(a||"ngController")+"Controller")}function zb(b,a,c){9==b.nodeType&&(b=b.documentElement);for(a=K(a)?a:[a];b;){for(var d=0,e=a.length;d<e;d++)if((c=z.data(b,a[d]))!==u)return c;b=b.parentNode||11===b.nodeType&&b.host}}function Pc(b){for(tb(b,!0);b.firstChild;)b.removeChild(b.firstChild)}function Wb(b,a){a||tb(b);var c=b.parentNode;c&&c.removeChild(b)}function Ff(b,a){a=a||N;if("complete"===a.document.readyState)a.setTimeout(b);
|
||||||
|
else z(a).on("load",b)}function Qc(b,a){var c=Ab[a.toLowerCase()];return c&&Rc[ta(b)]&&c}function Gf(b,a){var c=b.nodeName;return("INPUT"===c||"TEXTAREA"===c)&&Sc[a]}function Hf(b,a){var c=function(c,e){c.isDefaultPrevented=function(){return c.defaultPrevented};var f=a[e||c.type],g=f?f.length:0;if(g){if(y(c.immediatePropagationStopped)){var h=c.stopImmediatePropagation;c.stopImmediatePropagation=function(){c.immediatePropagationStopped=!0;c.stopPropagation&&c.stopPropagation();h&&h.call(c)}}c.isImmediatePropagationStopped=
|
||||||
|
function(){return!0===c.immediatePropagationStopped};1<g&&(f=ia(f));for(var l=0;l<g;l++)c.isImmediatePropagationStopped()||f[l].call(b,c)}};c.elem=b;return c}function wf(){this.$get=function(){return Q(R,{hasClass:function(b,a){b.attr&&(b=b[0]);return wb(b,a)},addClass:function(b,a){b.attr&&(b=b[0]);return yb(b,a)},removeClass:function(b,a){b.attr&&(b=b[0]);return xb(b,a)}})}}function Ga(b,a){var c=b&&b.$$hashKey;if(c)return"function"===typeof c&&(c=b.$$hashKey()),c;c=typeof b;return c="function"==
|
||||||
|
c||"object"==c&&null!==b?b.$$hashKey=c+":"+(a||Ud)():c+":"+b}function Ua(b,a){if(a){var c=0;this.nextUid=function(){return++c}}n(b,this.put,this)}function If(b){return(b=b.toString().replace(Tc,"").match(Uc))?"function("+(b[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function eb(b,a){function c(a){return function(b,c){if(D(b))n(b,nc(a));else return a(b,c)}}function d(a,b){Ta(a,"service");if(B(b)||K(b))b=s.instantiate(b);if(!b.$get)throw Ha("pget",a);return q[a+"Provider"]=b}function e(a,b){return function(){var c=
|
||||||
|
E.invoke(b,this);if(y(c))throw Ha("undef",a);return c}}function f(a,b,c){return d(a,{$get:!1!==c?e(a,b):b})}function g(a){pb(y(a)||K(a),"modulesToLoad","not an array");var b=[],c;n(a,function(a){function d(a){var b,c;b=0;for(c=a.length;b<c;b++){var e=a[b],f=s.get(e[0]);f[e[1]].apply(f,e[2])}}if(!m.get(a)){m.put(a,!0);try{H(a)?(c=Rb(a),b=b.concat(g(c.requires)).concat(c._runBlocks),d(c._invokeQueue),d(c._configBlocks)):B(a)?b.push(s.invoke(a)):K(a)?b.push(s.invoke(a)):Sa(a,"module")}catch(e){throw K(a)&&
|
||||||
|
(a=a[a.length-1]),e.message&&e.stack&&-1==e.stack.indexOf(e.message)&&(e=e.message+"\n"+e.stack),Ha("modulerr",a,e.stack||e.message||e);}}});return b}function h(b,c){function d(a,e){if(b.hasOwnProperty(a)){if(b[a]===l)throw Ha("cdep",a+" <- "+k.join(" <- "));return b[a]}try{return k.unshift(a),b[a]=l,b[a]=c(a,e)}catch(f){throw b[a]===l&&delete b[a],f;}finally{k.shift()}}function e(b,c,f,g){"string"===typeof f&&(g=f,f=null);var h=[],k=eb.$$annotate(b,a,g),l,s,m;s=0;for(l=k.length;s<l;s++){m=k[s];if("string"!==
|
||||||
|
typeof m)throw Ha("itkn",m);h.push(f&&f.hasOwnProperty(m)?f[m]:d(m,g))}K(b)&&(b=b[l]);return b.apply(c,h)}return{invoke:e,instantiate:function(a,b,c){var d=Object.create((K(a)?a[a.length-1]:a).prototype||null);a=e(a,d,b,c);return D(a)||B(a)?a:d},get:d,annotate:eb.$$annotate,has:function(a){return q.hasOwnProperty(a+"Provider")||b.hasOwnProperty(a)}}}a=!0===a;var l={},k=[],m=new Ua([],!0),q={$provide:{provider:c(d),factory:c(f),service:c(function(a,b){return f(a,["$injector",function(a){return a.instantiate(b)}])}),
|
||||||
|
value:c(function(a,b){return f(a,qa(b),!1)}),constant:c(function(a,b){Ta(a,"constant");q[a]=b;t[a]=b}),decorator:function(a,b){var c=s.get(a+"Provider"),d=c.$get;c.$get=function(){var a=E.invoke(d,c);return E.invoke(b,null,{$delegate:a})}}}},s=q.$injector=h(q,function(a,b){aa.isString(b)&&k.push(b);throw Ha("unpr",k.join(" <- "));}),t={},E=t.$injector=h(t,function(a,b){var c=s.get(a+"Provider",b);return E.invoke(c.$get,c,u,a)});n(g(b),function(a){a&&E.invoke(a)});return E}function Qe(){var b=!0;this.disableAutoScrolling=
|
||||||
|
function(){b=!1};this.$get=["$window","$location","$rootScope",function(a,c,d){function e(a){var b=null;Array.prototype.some.call(a,function(a){if("a"===ta(a))return b=a,!0});return b}function f(b){if(b){b.scrollIntoView();var c;c=g.yOffset;B(c)?c=c():rc(c)?(c=c[0],c="fixed"!==a.getComputedStyle(c).position?0:c.getBoundingClientRect().bottom):X(c)||(c=0);c&&(b=b.getBoundingClientRect().top,a.scrollBy(0,b-c))}else a.scrollTo(0,0)}function g(a){a=H(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=a.document;b&&d.$watch(function(){return c.hash()},function(a,b){a===b&&""===a||Ff(function(){d.$evalAsync(g)})});return g}]}function hb(b,a){if(!b&&!a)return"";if(!b)return a;if(!a)return b;K(b)&&(b=b.join(" "));K(a)&&(a=a.join(" "));return b+" "+a}function Jf(b){H(b)&&(b=b.split(" "));var a=ga();n(b,function(b){b.length&&(a[b]=!0)});return a}function Ia(b){return D(b)?b:{}}function Kf(b,a,c,d){function e(a){try{a.apply(null,xa.call(arguments,
|
||||||
|
1))}finally{if(E--,0===E)for(;L.length;)try{L.pop()()}catch(b){c.error(b)}}}function f(){g();h()}function g(){a:{try{w=m.state;break a}catch(a){}w=void 0}w=y(w)?null:w;ka(w,F)&&(w=F);F=w}function h(){if(A!==l.url()||p!==w)A=l.url(),p=w,n(O,function(a){a(l.url(),w)})}var l=this,k=b.location,m=b.history,q=b.setTimeout,s=b.clearTimeout,t={};l.isMock=!1;var E=0,L=[];l.$$completeOutstandingRequest=e;l.$$incOutstandingRequestCount=function(){E++};l.notifyWhenNoOutstandingRequests=function(a){0===E?a():
|
||||||
|
L.push(a)};var w,p,A=k.href,r=a.find("base"),M=null;g();p=w;l.url=function(a,c,e){y(e)&&(e=null);k!==b.location&&(k=b.location);m!==b.history&&(m=b.history);if(a){var f=p===e;if(A===a&&(!d.history||f))return l;var h=A&&Ja(A)===Ja(a);A=a;p=e;if(!d.history||h&&f){if(!h||M)M=a;c?k.replace(a):h?(c=k,e=a.indexOf("#"),a=-1===e?"":a.substr(e),c.hash=a):k.href=a}else m[c?"replaceState":"pushState"](e,"",a),g(),p=w;return l}return M||k.href.replace(/%27/g,"'")};l.state=function(){return w};var O=[],J=!1,F=
|
||||||
|
null;l.onUrlChange=function(a){if(!J){if(d.history)z(b).on("popstate",f);z(b).on("hashchange",f);J=!0}O.push(a);return a};l.$$applicationDestroyed=function(){z(b).off("hashchange popstate",f)};l.$$checkUrlChange=h;l.baseHref=function(){var a=r.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};l.defer=function(a,b){var c;E++;c=q(function(){delete t[c];e(a)},b||0);t[c]=!0;return c};l.defer.cancel=function(a){return t[a]?(delete t[a],s(a),e(v),!0):!1}}function Ve(){this.$get=["$window",
|
||||||
|
"$log","$sniffer","$document",function(b,a,c,d){return new Kf(b,d,a,c)}]}function We(){this.$get=function(){function b(b,d){function e(a){a!=q&&(s?s==a&&(s=a.n):s=a,f(a.n,a.p),f(a,q),q=a,q.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(b in a)throw G("$cacheFactory")("iid",b);var g=0,h=Q({},d,{id:b}),l={},k=d&&d.capacity||Number.MAX_VALUE,m={},q=null,s=null;return a[b]={put:function(a,b){if(!y(b)){if(k<Number.MAX_VALUE){var c=m[a]||(m[a]={key:a});e(c)}a in l||g++;l[a]=b;g>k&&this.remove(s.key);
|
||||||
|
return b}},get:function(a){if(k<Number.MAX_VALUE){var b=m[a];if(!b)return;e(b)}return l[a]},remove:function(a){if(k<Number.MAX_VALUE){var b=m[a];if(!b)return;b==q&&(q=b.p);b==s&&(s=b.n);f(b.n,b.p);delete m[a]}delete l[a];g--},removeAll:function(){l={};g=0;m={};q=s=null},destroy:function(){m=h=l=null;delete a[b]},info:function(){return Q({},h,{size:g})}}}var a={};b.info=function(){var b={};n(a,function(a,e){b[e]=a.info()});return b};b.get=function(b){return a[b]};return b}}function qf(){this.$get=
|
||||||
|
["$cacheFactory",function(b){return b("templates")}]}function Cc(b,a){function c(a,b,c){var d=/^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/,e={};n(a,function(a,f){var g=a.match(d);if(!g)throw ea("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}});return e}function d(a){var b=a.charAt(0);if(!b||b!==I(b))throw ea("baddir",a);if(a!==a.trim())throw ea("baddir",a);}var e={},f=/^\s*directive\:\s*([\w\-]+)\s+(.*)$/,
|
||||||
|
g=/(([\w\-]+)(?:\:([^;]+))?;?)/,h=Wd("ngSrc,ngSrcset,src,srcset"),l=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,k=/^(on[a-z]+|formaction)$/;this.directive=function s(a,f){Ta(a,"directive");H(a)?(d(a),pb(f,"directiveFactory"),e.hasOwnProperty(a)||(e[a]=[],b.factory(a+"Directive",["$injector","$exceptionHandler",function(b,d){var f=[];n(e[a],function(e,g){try{var h=b.invoke(e);B(h)?h={compile:qa(h)}:!h.compile&&h.link&&(h.compile=qa(h.link));h.priority=h.priority||0;h.index=g;h.name=h.name||a;h.require=h.require||
|
||||||
|
h.controller&&h.name;h.restrict=h.restrict||"EA";var l=h,k=h,s=h.name,m={isolateScope:null,bindToController:null};D(k.scope)&&(!0===k.bindToController?(m.bindToController=c(k.scope,s,!0),m.isolateScope={}):m.isolateScope=c(k.scope,s,!1));D(k.bindToController)&&(m.bindToController=c(k.bindToController,s,!0));if(D(m.bindToController)){var S=k.controller,E=k.controllerAs;if(!S)throw ea("noctrl",s);var ha;a:if(E&&H(E))ha=E;else{if(H(S)){var n=Vc.exec(S);if(n){ha=n[3];break a}}ha=void 0}if(!ha)throw ea("noident",
|
||||||
|
s);}var r=l.$$bindings=m;D(r.isolateScope)&&(h.$$isolateBindings=r.isolateScope);h.$$moduleName=e.$$moduleName;f.push(h)}catch(u){d(u)}});return f}])),e[a].push(f)):n(a,nc(s));return this};this.aHrefSanitizationWhitelist=function(b){return x(b)?(a.aHrefSanitizationWhitelist(b),this):a.aHrefSanitizationWhitelist()};this.imgSrcSanitizationWhitelist=function(b){return x(b)?(a.imgSrcSanitizationWhitelist(b),this):a.imgSrcSanitizationWhitelist()};var m=!0;this.debugInfoEnabled=function(a){return x(a)?
|
||||||
|
(m=a,this):m};this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(a,b,c,d,w,p,A,r,M,O,J){function F(a,b){try{a.addClass(b)}catch(c){}}function V(a,b,c,d,e){a instanceof z||(a=z(a));n(a,function(b,c){b.nodeType==Pa&&b.nodeValue.match(/\S+/)&&(a[c]=z(b).wrap("<span></span>").parent()[0])});var f=S(a,b,a,c,d,e);V.$$addScopeClass(a);var g=null;return function(b,c,d){pb(b,"scope");d=d||{};
|
||||||
|
var e=d.parentBoundTranscludeFn,h=d.transcludeControllers;d=d.futureParentElement;e&&e.$$boundTransclude&&(e=e.$$boundTransclude);g||(g=(d=d&&d[0])?"foreignobject"!==ta(d)&&d.toString().match(/SVG/)?"svg":"html":"html");d="html"!==g?z(Xb(g,z("<div>").append(a).html())):c?Ra.clone.call(a):a;if(h)for(var k in h)d.data("$"+k+"Controller",h[k].instance);V.$$addScopeInfo(d,b);c&&c(d,b);f&&f(b,d,d,e);return d}}function S(a,b,c,d,e,f){function g(a,c,d,e){var f,k,l,m,s,t,O;if(p)for(O=Array(c.length),m=0;m<
|
||||||
|
h.length;m+=3)f=h[m],O[f]=c[f];else O=c;m=0;for(s=h.length;m<s;)if(k=O[h[m++]],c=h[m++],f=h[m++],c){if(c.scope){if(l=a.$new(),V.$$addScopeInfo(z(k),l),t=c.$$destroyBindings)c.$$destroyBindings=null,l.$on("$destroyed",t)}else l=a;t=c.transcludeOnThisElement?P(a,c.transclude,e):!c.templateOnThisElement&&e?e:!e&&b?P(a,b):null;c(f,l,k,d,t,c)}else f&&f(a,k.childNodes,u,e)}for(var h=[],k,l,m,s,p,t=0;t<a.length;t++){k=new aa;l=ha(a[t],[],k,0===t?d:u,e);(f=l.length?C(l,a[t],k,b,c,null,[],[],f):null)&&f.scope&&
|
||||||
|
V.$$addScopeClass(k.$$element);k=f&&f.terminal||!(m=a[t].childNodes)||!m.length?null:S(m,f?(f.transcludeOnThisElement||!f.templateOnThisElement)&&f.transclude:b);if(f||k)h.push(t,f,k),s=!0,p=p||f;f=null}return s?g:null}function P(a,b,c){return function(d,e,f,g,h){d||(d=a.$new(!1,h),d.$$transcluded=!0);return b(d,e,{parentBoundTranscludeFn:c,transcludeControllers:f,futureParentElement:g})}}function ha(a,b,c,d,e){var h=c.$attr,k;switch(a.nodeType){case pa:x(b,va(ta(a)),"E",d,e);for(var l,m,s,p=a.attributes,
|
||||||
|
t=0,O=p&&p.length;t<O;t++){var L=!1,J=!1;l=p[t];k=l.name;m=T(l.value);l=va(k);if(s=ia.test(l))k=k.replace(Xc,"").substr(8).replace(/_(.)/g,function(a,b){return b.toUpperCase()});var S=l.replace(/(Start|End)$/,"");G(S)&&l===S+"Start"&&(L=k,J=k.substr(0,k.length-5)+"end",k=k.substr(0,k.length-6));l=va(k.toLowerCase());h[l]=k;if(s||!c.hasOwnProperty(l))c[l]=m,Qc(a,l)&&(c[l]=!0);X(a,b,m,l,s);x(b,l,"A",d,e,L,J)}a=a.className;D(a)&&(a=a.animVal);if(H(a)&&""!==a)for(;k=g.exec(a);)l=va(k[2]),x(b,l,"C",d,
|
||||||
|
e)&&(c[l]=T(k[3])),a=a.substr(k.index+k[0].length);break;case Pa:if(11===Va)for(;a.parentNode&&a.nextSibling&&a.nextSibling.nodeType===Pa;)a.nodeValue+=a.nextSibling.nodeValue,a.parentNode.removeChild(a.nextSibling);wa(b,a.nodeValue);break;case 8:try{if(k=f.exec(a.nodeValue))l=va(k[1]),x(b,l,"M",d,e)&&(c[l]=T(k[2]))}catch(E){}}b.sort(za);return b}function ya(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw ea("uterdir",b,c);a.nodeType==pa&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&
|
||||||
|
e--);d.push(a);a=a.nextSibling}while(0<e)}else d.push(a);return z(d)}function Wc(a,b,c){return function(d,e,f,g,h){e=ya(e[0],b,c);return a(d,e,f,g,h)}}function C(a,b,d,e,f,g,h,k,m){function s(a,b,c,d){if(a){c&&(a=Wc(a,c,d));a.require=C.require;a.directiveName=x;if(P===C||C.$$isolateScope)a=Z(a,{isolateScope:!0});h.push(a)}if(b){c&&(b=Wc(b,c,d));b.require=C.require;b.directiveName=x;if(P===C||C.$$isolateScope)b=Z(b,{isolateScope:!0});k.push(b)}}function t(a,b,c,d){var e;if(H(b)){var f=b.match(l);b=
|
||||||
|
b.substring(f[0].length);var g=f[1]||f[3],f="?"===f[2];"^^"===g?c=c.parent():e=(e=d&&d[b])&&e.instance;e||(d="$"+b+"Controller",e=g?c.inheritedData(d):c.data(d));if(!e&&!f)throw ea("ctreq",b,a);}else if(K(b))for(e=[],g=0,f=b.length;g<f;g++)e[g]=t(a,b[g],c,d);return e||null}function O(a,b,c,d,e,f){var g=ga(),h;for(h in d){var k=d[h],l={$scope:k===P||k.$$isolateScope?e:f,$element:a,$attrs:b,$transclude:c},m=k.controller;"@"==m&&(m=b[k.name]);l=p(m,l,!0,k.controllerAs);g[k.name]=l;r||a.data("$"+k.name+
|
||||||
|
"Controller",l.instance)}return g}function L(a,c,e,f,g,l){function m(a,b,c){var d;$a(a)||(c=b,b=a,a=u);r&&(d=A);c||(c=r?ja.parent():ja);return g(a,b,d,c,ya)}var s,p,J,E,A,ha,ja;b===e?(f=d,ja=d.$$element):(ja=z(e),f=new aa(ja,d));P&&(E=c.$new(!0));g&&(ha=m,ha.$$boundTransclude=g);w&&(A=O(ja,f,ha,w,E,c));P&&(V.$$addScopeInfo(ja,E,!0,!(F&&(F===P||F===P.$$originalDirective))),V.$$addScopeClass(ja,!0),E.$$isolateBindings=P.$$isolateBindings,Y(c,f,E,E.$$isolateBindings,P,E));if(A){var n=P||S,M;n&&A[n.name]&&
|
||||||
|
(p=n.$$bindings.bindToController,(J=A[n.name])&&J.identifier&&p&&(M=J,l.$$destroyBindings=Y(c,f,J.instance,p,n)));for(s in A){J=A[s];var C=J();C!==J.instance&&(J.instance=C,ja.data("$"+s+"Controller",C),J===M&&(l.$$destroyBindings(),l.$$destroyBindings=Y(c,f,C,p,n)))}}s=0;for(l=h.length;s<l;s++)p=h[s],$(p,p.isolateScope?E:c,ja,f,p.require&&t(p.directiveName,p.require,ja,A),ha);var ya=c;P&&(P.template||null===P.templateUrl)&&(ya=E);a&&a(ya,e.childNodes,u,g);for(s=k.length-1;0<=s;s--)p=k[s],$(p,p.isolateScope?
|
||||||
|
E:c,ja,f,p.require&&t(p.directiveName,p.require,ja,A),ha)}m=m||{};for(var J=-Number.MAX_VALUE,S=m.newScopeDirective,w=m.controllerDirectives,P=m.newIsolateScopeDirective,F=m.templateDirective,A=m.nonTlbTranscludeDirective,n=!1,M=!1,r=m.hasElementTranscludeDirective,ba=d.$$element=z(b),C,x,v,y=e,za,wa=0,G=a.length;wa<G;wa++){C=a[wa];var Bb=C.$$start,I=C.$$end;Bb&&(ba=ya(b,Bb,I));v=u;if(J>C.priority)break;if(v=C.scope)C.templateUrl||(D(v)?(N("new/isolated scope",P||S,C,ba),P=C):N("new/isolated scope",
|
||||||
|
P,C,ba)),S=S||C;x=C.name;!C.templateUrl&&C.controller&&(v=C.controller,w=w||ga(),N("'"+x+"' controller",w[x],C,ba),w[x]=C);if(v=C.transclude)n=!0,C.$$tlb||(N("transclusion",A,C,ba),A=C),"element"==v?(r=!0,J=C.priority,v=ba,ba=d.$$element=z(W.createComment(" "+x+": "+d[x]+" ")),b=ba[0],U(f,xa.call(v,0),b),y=V(v,e,J,g&&g.name,{nonTlbTranscludeDirective:A})):(v=z(Ub(b)).contents(),ba.empty(),y=V(v,e));if(C.template)if(M=!0,N("template",F,C,ba),F=C,v=B(C.template)?C.template(ba,d):C.template,v=fa(v),
|
||||||
|
C.replace){g=C;v=Sb.test(v)?Yc(Xb(C.templateNamespace,T(v))):[];b=v[0];if(1!=v.length||b.nodeType!==pa)throw ea("tplrt",x,"");U(f,ba,b);G={$attr:{}};v=ha(b,[],G);var Q=a.splice(wa+1,a.length-(wa+1));P&&Zc(v);a=a.concat(v).concat(Q);$c(d,G);G=a.length}else ba.html(v);if(C.templateUrl)M=!0,N("template",F,C,ba),F=C,C.replace&&(g=C),L=Lf(a.splice(wa,a.length-wa),ba,d,f,n&&y,h,k,{controllerDirectives:w,newScopeDirective:S!==C&&S,newIsolateScopeDirective:P,templateDirective:F,nonTlbTranscludeDirective:A}),
|
||||||
|
G=a.length;else if(C.compile)try{za=C.compile(ba,d,y),B(za)?s(null,za,Bb,I):za&&s(za.pre,za.post,Bb,I)}catch(R){c(R,ua(ba))}C.terminal&&(L.terminal=!0,J=Math.max(J,C.priority))}L.scope=S&&!0===S.scope;L.transcludeOnThisElement=n;L.templateOnThisElement=M;L.transclude=y;m.hasElementTranscludeDirective=r;return L}function Zc(a){for(var b=0,c=a.length;b<c;b++)a[b]=Nb(a[b],{$$isolateScope:!0})}function x(b,d,f,g,h,k,l){if(d===h)return null;h=null;if(e.hasOwnProperty(d)){var m;d=a.get(d+"Directive");for(var p=
|
||||||
|
0,t=d.length;p<t;p++)try{m=d[p],(g===u||g>m.priority)&&-1!=m.restrict.indexOf(f)&&(k&&(m=Nb(m,{$$start:k,$$end:l})),b.push(m),h=m)}catch(J){c(J)}}return h}function G(b){if(e.hasOwnProperty(b))for(var c=a.get(b+"Directive"),d=0,f=c.length;d<f;d++)if(b=c[d],b.multiElement)return!0;return!1}function $c(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;n(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e]))});n(b,function(b,f){"class"==f?(F(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 Lf(a,b,c,e,f,g,h,k){var l=[],m,s,p=b[0],t=a.shift(),J=Nb(t,{templateUrl:null,transclude:null,replace:null,$$originalDirective:t}),O=B(t.templateUrl)?t.templateUrl(b,c):t.templateUrl,E=t.templateNamespace;b.empty();d(O).then(function(d){var L,w;d=fa(d);if(t.replace){d=Sb.test(d)?Yc(Xb(E,T(d))):[];L=d[0];if(1!=d.length||L.nodeType!==
|
||||||
|
pa)throw ea("tplrt",t.name,O);d={$attr:{}};U(e,b,L);var A=ha(L,[],d);D(t.scope)&&Zc(A);a=A.concat(a);$c(c,d)}else L=p,b.html(d);a.unshift(J);m=C(a,L,c,f,b,t,g,h,k);n(e,function(a,c){a==L&&(e[c]=b[0])});for(s=S(b[0].childNodes,f);l.length;){d=l.shift();w=l.shift();var M=l.shift(),V=l.shift(),A=b[0];if(!d.$$destroyed){if(w!==p){var ya=w.className;k.hasElementTranscludeDirective&&t.replace||(A=Ub(L));U(M,z(w),A);F(z(A),ya)}w=m.transcludeOnThisElement?P(d,m.transclude,V):V;m(s,d,A,e,w,m)}}l=null});return function(a,
|
||||||
|
b,c,d,e){a=e;b.$$destroyed||(l?l.push(b,c,d,a):(m.transcludeOnThisElement&&(a=P(b,m.transclude,e)),m(s,b,c,d,a,m)))}}function za(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 N(a,b,c,d){function e(a){return a?" (module: "+a+")":""}if(b)throw ea("multidir",b.name,e(b.$$moduleName),c.name,e(c.$$moduleName),a,ua(d));}function wa(a,c){var d=b(c,!0);d&&a.push({priority:0,compile:function(a){a=a.parent();var b=!!a.length;b&&V.$$addBindingClass(a);
|
||||||
|
return function(a,c){var e=c.parent();b||V.$$addBindingClass(e);V.$$addBindingInfo(e,d.expressions);a.$watch(d,function(a){c[0].nodeValue=a})}}})}function Xb(a,b){a=I(a||"html");switch(a){case "svg":case "math":var c=W.createElement("div");c.innerHTML="<"+a+">"+b+"</"+a+">";return c.childNodes[0].childNodes;default:return b}}function R(a,b){if("srcdoc"==b)return M.HTML;var c=ta(a);if("xlinkHref"==b||"form"==c&&"action"==b||"img"!=c&&("src"==b||"ngSrc"==b))return M.RESOURCE_URL}function X(a,c,d,e,
|
||||||
|
f){var g=R(a,e);f=h[e]||f;var l=b(d,!0,g,f);if(l){if("multiple"===e&&"select"===ta(a))throw ea("selmulti",ua(a));c.push({priority:100,compile:function(){return{pre:function(a,c,h){c=h.$$observers||(h.$$observers={});if(k.test(e))throw ea("nodomevents");var m=h[e];m!==d&&(l=m&&b(m,!0,g,f),d=m);l&&(h[e]=l(a),(c[e]||(c[e]=[])).$$inter=!0,(h.$$observers&&h.$$observers[e].$$scope||a).$watch(l,function(a,b){"class"===e&&a!=b?h.$updateClass(a,b):h.$set(e,a)}))}}}})}}function U(a,b,c){var d=b[0],e=b.length,
|
||||||
|
f=d.parentNode,g,h;if(a)for(g=0,h=a.length;g<h;g++)if(a[g]==d){a[g++]=c;h=g+e-1;for(var k=a.length;g<k;g++,h++)h<k?a[g]=a[h]:delete a[g];a.length-=e-1;a.context===d&&(a.context=c);break}f&&f.replaceChild(c,d);a=W.createDocumentFragment();a.appendChild(d);z.hasData(d)&&(z(c).data(z(d).data()),la?(Qb=!0,la.cleanData([d])):delete z.cache[d[z.expando]]);d=1;for(e=b.length;d<e;d++)f=b[d],z(f).remove(),a.appendChild(f),delete b[d];b[0]=c;b.length=1}function Z(a,b){return Q(function(){return a.apply(null,
|
||||||
|
arguments)},a,b)}function $(a,b,d,e,f,g){try{a(b,d,e,f,g)}catch(h){c(h,ua(d))}}function Y(a,c,d,e,f,g){var h;n(e,function(e,g){var k=e.attrName,l=e.optional,m,s,p,L;switch(e.mode){case "@":l||Na.call(c,k)||(d[g]=c[k]=void 0);c.$observe(k,function(a){H(a)&&(d[g]=a)});c.$$observers[k].$$scope=a;H(c[k])&&(d[g]=b(c[k])(a));break;case "=":if(!Na.call(c,k)){if(l)break;c[k]=void 0}if(l&&!c[k])break;s=w(c[k]);L=s.literal?ka:function(a,b){return a===b||a!==a&&b!==b};p=s.assign||function(){m=d[g]=s(a);throw ea("nonassign",
|
||||||
|
c[k],f.name);};m=d[g]=s(a);l=function(b){L(b,d[g])||(L(b,m)?p(a,b=d[g]):d[g]=b);return m=b};l.$stateful=!0;l=e.collection?a.$watchCollection(c[k],l):a.$watch(w(c[k],l),null,s.literal);h=h||[];h.push(l);break;case "&":s=c.hasOwnProperty(k)?w(c[k]):v;if(s===v&&l)break;d[g]=function(b){return s(a,b)}}});e=h?function(){for(var a=0,b=h.length;a<b;++a)h[a]()}:v;return g&&e!==v?(g.$on("$destroy",e),v):e}var aa=function(a,b){if(b){var c=Object.keys(b),d,e,f;d=0;for(e=c.length;d<e;d++)f=c[d],this[f]=b[f]}else this.$attr=
|
||||||
|
{};this.$$element=a};aa.prototype={$normalize:va,$addClass:function(a){a&&0<a.length&&O.addClass(this.$$element,a)},$removeClass:function(a){a&&0<a.length&&O.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=ad(a,b);c&&c.length&&O.addClass(this.$$element,c);(c=ad(b,a))&&c.length&&O.removeClass(this.$$element,c)},$set:function(a,b,d,e){var f=this.$$element[0],g=Qc(f,a),h=Gf(f,a),f=a;g?(this.$$element.prop(a,b),e=g):h&&(this[h]=b,f=h);this[a]=b;e?this.$attr[a]=e:(e=this.$attr[a])||(this.$attr[a]=
|
||||||
|
e=zc(a,"-"));g=ta(this.$$element);if("a"===g&&"href"===a||"img"===g&&"src"===a)this[a]=b=J(b,"src"===a);else if("img"===g&&"srcset"===a){for(var g="",h=T(b),k=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,k=/\s/.test(h)?k:/(,)/,h=h.split(k),k=Math.floor(h.length/2),l=0;l<k;l++)var m=2*l,g=g+J(T(h[m]),!0),g=g+(" "+T(h[m+1]));h=T(h[2*l]).split(/\s/);g+=J(T(h[0]),!0);2===h.length&&(g+=" "+T(h[1]));this[a]=b=g}!1!==d&&(null===b||b===u?this.$$element.removeAttr(e):this.$$element.attr(e,b));(a=this.$$observers)&&
|
||||||
|
n(a[f],function(a){try{a(b)}catch(d){c(d)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers=ga()),e=d[a]||(d[a]=[]);e.push(b);A.$evalAsync(function(){e.$$inter||!c.hasOwnProperty(a)||y(c[a])||b(c[a])});return function(){bb(e,b)}}};var ca=b.startSymbol(),da=b.endSymbol(),fa="{{"==ca||"}}"==da?Za:function(a){return a.replace(/\{\{/g,ca).replace(/}}/g,da)},ia=/^ngAttr[A-Z]/;V.$$addBindingInfo=m?function(a,b){var c=a.data("$binding")||[];K(b)?c=c.concat(b):c.push(b);a.data("$binding",
|
||||||
|
c)}:v;V.$$addBindingClass=m?function(a){F(a,"ng-binding")}:v;V.$$addScopeInfo=m?function(a,b,c,d){a.data(c?d?"$isolateScopeNoTemplate":"$isolateScope":"$scope",b)}:v;V.$$addScopeClass=m?function(a,b){F(a,b?"ng-isolate-scope":"ng-scope")}:v;return V}]}function va(b){return fb(b.replace(Xc,""))}function ad(b,a){var c="",d=b.split(/\s+/),e=a.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 Yc(b){b=z(b);var a=b.length;
|
||||||
|
if(1>=a)return b;for(;a--;)8===b[a].nodeType&&Mf.call(b,a,1);return b}function Xe(){var b={},a=!1;this.register=function(a,d){Ta(a,"controller");D(a)?Q(b,a):b[a]=d};this.allowGlobals=function(){a=!0};this.$get=["$injector","$window",function(c,d){function e(a,b,c,d){if(!a||!D(a.$scope))throw G("$controller")("noscp",d,b);a.$scope[b]=c}return function(f,g,h,l){var k,m,q;h=!0===h;l&&H(l)&&(q=l);if(H(f)){l=f.match(Vc);if(!l)throw Nf("ctrlfmt",f);m=l[1];q=q||l[3];f=b.hasOwnProperty(m)?b[m]:Bc(g.$scope,
|
||||||
|
m,!0)||(a?Bc(d,m,!0):u);Sa(f,m,!0)}if(h)return h=(K(f)?f[f.length-1]:f).prototype,k=Object.create(h||null),q&&e(g,q,k,m||f.name),Q(function(){var a=c.invoke(f,k,g,m);a!==k&&(D(a)||B(a))&&(k=a,q&&e(g,q,k,m||f.name));return k},{instance:k,identifier:q});k=c.instantiate(f,g,m);q&&e(g,q,k,m||f.name);return k}}]}function Ye(){this.$get=["$window",function(b){return z(b.document)}]}function Ze(){this.$get=["$log",function(b){return function(a,c){b.error.apply(b,arguments)}}]}function Yb(b){return D(b)?
|
||||||
|
ca(b)?b.toISOString():db(b):b}function df(){this.$get=function(){return function(b){if(!b)return"";var a=[];mc(b,function(b,d){null===b||y(b)||(K(b)?n(b,function(b,c){a.push(ma(d)+"="+ma(Yb(b)))}):a.push(ma(d)+"="+ma(Yb(b))))});return a.join("&")}}}function ef(){this.$get=function(){return function(b){function a(b,e,f){null===b||y(b)||(K(b)?n(b,function(b,c){a(b,e+"["+(D(b)?c:"")+"]")}):D(b)&&!ca(b)?mc(b,function(b,c){a(b,e+(f?"":"[")+c+(f?"":"]"))}):c.push(ma(e)+"="+ma(Yb(b))))}if(!b)return"";var c=
|
||||||
|
[];a(b,"",!0);return c.join("&")}}}function Zb(b,a){if(H(b)){var c=b.replace(Of,"").trim();if(c){var d=a("Content-Type");(d=d&&0===d.indexOf(bd))||(d=(d=c.match(Pf))&&Qf[d[0]].test(c));d&&(b=uc(c))}}return b}function cd(b){var a=ga(),c;H(b)?n(b.split("\n"),function(b){c=b.indexOf(":");var e=I(T(b.substr(0,c)));b=T(b.substr(c+1));e&&(a[e]=a[e]?a[e]+", "+b:b)}):D(b)&&n(b,function(b,c){var f=I(c),g=T(b);f&&(a[f]=a[f]?a[f]+", "+g:g)});return a}function dd(b){var a;return function(c){a||(a=cd(b));return c?
|
||||||
|
(c=a[I(c)],void 0===c&&(c=null),c):a}}function ed(b,a,c,d){if(B(d))return d(b,a,c);n(d,function(d){b=d(b,a,c)});return b}function cf(){var b=this.defaults={transformResponse:[Zb],transformRequest:[function(a){return D(a)&&"[object File]"!==sa.call(a)&&"[object Blob]"!==sa.call(a)&&"[object FormData]"!==sa.call(a)?db(a):a}],headers:{common:{Accept:"application/json, text/plain, */*"},post:ia($b),put:ia($b),patch:ia($b)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer"},
|
||||||
|
a=!1;this.useApplyAsync=function(b){return x(b)?(a=!!b,this):a};var c=!0;this.useLegacyPromiseExtensions=function(a){return x(a)?(c=!!a,this):c};var d=this.interceptors=[];this.$get=["$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector",function(e,f,g,h,l,k){function m(a){function d(a){var b=Q({},a);b.data=a.data?ed(a.data,a.headers,a.status,f.transformResponse):a.data;a=a.status;return 200<=a&&300>a?b:l.reject(b)}function e(a,b){var c,d={};n(a,function(a,e){B(a)?(c=a(b),null!=
|
||||||
|
c&&(d[e]=c)):d[e]=a});return d}if(!aa.isObject(a))throw G("$http")("badreq",a);var f=Q({method:"get",transformRequest:b.transformRequest,transformResponse:b.transformResponse,paramSerializer:b.paramSerializer},a);f.headers=function(a){var c=b.headers,d=Q({},a.headers),f,g,h,c=Q({},c.common,c[I(a.method)]);a:for(f in c){g=I(f);for(h in d)if(I(h)===g)continue a;d[f]=c[f]}return e(d,ia(a))}(a);f.method=rb(f.method);f.paramSerializer=H(f.paramSerializer)?k.get(f.paramSerializer):f.paramSerializer;var g=
|
||||||
|
[function(a){var c=a.headers,e=ed(a.data,dd(c),u,a.transformRequest);y(e)&&n(c,function(a,b){"content-type"===I(b)&&delete c[b]});y(a.withCredentials)&&!y(b.withCredentials)&&(a.withCredentials=b.withCredentials);return q(a,e).then(d,d)},u],h=l.when(f);for(n(E,function(a){(a.request||a.requestError)&&g.unshift(a.request,a.requestError);(a.response||a.responseError)&&g.push(a.response,a.responseError)});g.length;){a=g.shift();var m=g.shift(),h=h.then(a,m)}c?(h.success=function(a){Sa(a,"fn");h.then(function(b){a(b.data,
|
||||||
|
b.status,b.headers,f)});return h},h.error=function(a){Sa(a,"fn");h.then(null,function(b){a(b.data,b.status,b.headers,f)});return h}):(h.success=fd("success"),h.error=fd("error"));return h}function q(c,d){function g(b,c,d,e){function f(){k(c,b,d,e)}F&&(200<=b&&300>b?F.put(P,[b,c,cd(d),e]):F.remove(P));a?h.$applyAsync(f):(f(),h.$$phase||h.$apply())}function k(a,b,d,e){b=Math.max(b,0);(200<=b&&300>b?O.resolve:O.reject)({data:a,status:b,headers:dd(d),config:c,statusText:e})}function q(a){k(a.data,a.status,
|
||||||
|
ia(a.headers()),a.statusText)}function E(){var a=m.pendingRequests.indexOf(c);-1!==a&&m.pendingRequests.splice(a,1)}var O=l.defer(),J=O.promise,F,n,S=c.headers,P=s(c.url,c.paramSerializer(c.params));m.pendingRequests.push(c);J.then(E,E);!c.cache&&!b.cache||!1===c.cache||"GET"!==c.method&&"JSONP"!==c.method||(F=D(c.cache)?c.cache:D(b.cache)?b.cache:t);F&&(n=F.get(P),x(n)?n&&B(n.then)?n.then(q,q):K(n)?k(n[1],n[0],ia(n[2]),n[3]):k(n,200,{},"OK"):F.put(P,J));y(n)&&((n=gd(c.url)?f()[c.xsrfCookieName||
|
||||||
|
b.xsrfCookieName]:u)&&(S[c.xsrfHeaderName||b.xsrfHeaderName]=n),e(c.method,P,d,g,S,c.timeout,c.withCredentials,c.responseType));return J}function s(a,b){0<b.length&&(a+=(-1==a.indexOf("?")?"?":"&")+b);return a}var t=g("$http");b.paramSerializer=H(b.paramSerializer)?k.get(b.paramSerializer):b.paramSerializer;var E=[];n(d,function(a){E.unshift(H(a)?k.get(a):k.invoke(a))});m.pendingRequests=[];(function(a){n(arguments,function(a){m[a]=function(b,c){return m(Q({},c||{},{method:a,url:b}))}})})("get","delete",
|
||||||
|
"head","jsonp");(function(a){n(arguments,function(a){m[a]=function(b,c,d){return m(Q({},d||{},{method:a,url:b,data:c}))}})})("post","put","patch");m.defaults=b;return m}]}function Rf(){return new N.XMLHttpRequest}function ff(){this.$get=["$browser","$window","$document",function(b,a,c){return Sf(b,Rf,b.defer,a.angular.callbacks,c[0])}]}function Sf(b,a,c,d,e){function f(a,b,c){var f=e.createElement("script"),m=null;f.type="text/javascript";f.src=a;f.async=!0;m=function(a){f.removeEventListener("load",
|
||||||
|
m,!1);f.removeEventListener("error",m,!1);e.body.removeChild(f);f=null;var g=-1,t="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),t=a.type,g="error"===a.type?404:200);c&&c(g,t)};f.addEventListener("load",m,!1);f.addEventListener("error",m,!1);e.body.appendChild(f);return m}return function(e,h,l,k,m,q,s,t){function E(){p&&p();A&&A.abort()}function L(a,d,e,f,g){M!==u&&c.cancel(M);p=A=null;a(d,e,f,g);b.$$completeOutstandingRequest(v)}b.$$incOutstandingRequestCount();h=h||b.url();if("jsonp"==
|
||||||
|
I(e)){var w="_"+(d.counter++).toString(36);d[w]=function(a){d[w].data=a;d[w].called=!0};var p=f(h.replace("JSON_CALLBACK","angular.callbacks."+w),w,function(a,b){L(k,a,d[w].data,"",b);d[w]=v})}else{var A=a();A.open(e,h,!0);n(m,function(a,b){x(a)&&A.setRequestHeader(b,a)});A.onload=function(){var a=A.statusText||"",b="response"in A?A.response:A.responseText,c=1223===A.status?204:A.status;0===c&&(c=b?200:"file"==Aa(h).protocol?404:0);L(k,c,b,A.getAllResponseHeaders(),a)};e=function(){L(k,-1,null,null,
|
||||||
|
"")};A.onerror=e;A.onabort=e;s&&(A.withCredentials=!0);if(t)try{A.responseType=t}catch(r){if("json"!==t)throw r;}A.send(l)}if(0<q)var M=c(E,q);else q&&B(q.then)&&q.then(E)}}function af(){var b="{{",a="}}";this.startSymbol=function(a){return a?(b=a,this):b};this.endSymbol=function(b){return b?(a=b,this):a};this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(a){return"\\\\\\"+a}function g(c){return c.replace(m,b).replace(q,a)}function h(f,h,m,q){function w(a){try{var b=a;a=m?e.getTrusted(m,
|
||||||
|
b):e.valueOf(b);var c;if(q&&!x(a))c=a;else if(null==a)c="";else{switch(typeof a){case "string":break;case "number":a=""+a;break;default:a=db(a)}c=a}return c}catch(g){d(Ka.interr(f,g))}}q=!!q;for(var p,n,r=0,M=[],O=[],J=f.length,F=[],V=[];r<J;)if(-1!=(p=f.indexOf(b,r))&&-1!=(n=f.indexOf(a,p+l)))r!==p&&F.push(g(f.substring(r,p))),r=f.substring(p+l,n),M.push(r),O.push(c(r,w)),r=n+k,V.push(F.length),F.push("");else{r!==J&&F.push(g(f.substring(r)));break}m&&1<F.length&&Ka.throwNoconcat(f);if(!h||M.length){var S=
|
||||||
|
function(a){for(var b=0,c=M.length;b<c;b++){if(q&&y(a[b]))return;F[V[b]]=a[b]}return F.join("")};return Q(function(a){var b=0,c=M.length,e=Array(c);try{for(;b<c;b++)e[b]=O[b](a);return S(e)}catch(g){d(Ka.interr(f,g))}},{exp:f,expressions:M,$$watchDelegate:function(a,b){var c;return a.$watchGroup(O,function(d,e){var f=S(d);B(b)&&b.call(this,f,d!==e?c:f,a);c=f})}})}}var l=b.length,k=a.length,m=new RegExp(b.replace(/./g,f),"g"),q=new RegExp(a.replace(/./g,f),"g");h.startSymbol=function(){return b};h.endSymbol=
|
||||||
|
function(){return a};return h}]}function bf(){this.$get=["$rootScope","$window","$q","$$q",function(b,a,c,d){function e(e,h,l,k){var m=4<arguments.length,q=m?xa.call(arguments,4):[],s=a.setInterval,t=a.clearInterval,E=0,L=x(k)&&!k,w=(L?d:c).defer(),p=w.promise;l=x(l)?l:0;p.then(null,null,m?function(){e.apply(null,q)}:e);p.$$intervalId=s(function(){w.notify(E++);0<l&&E>=l&&(w.resolve(E),t(p.$$intervalId),delete f[p.$$intervalId]);L||b.$apply()},h);f[p.$$intervalId]=w;return p}var f={};e.cancel=function(b){return b&&
|
||||||
|
b.$$intervalId in f?(f[b.$$intervalId].reject("canceled"),a.clearInterval(b.$$intervalId),delete f[b.$$intervalId],!0):!1};return e}]}function ac(b){b=b.split("/");for(var a=b.length;a--;)b[a]=nb(b[a]);return b.join("/")}function hd(b,a){var c=Aa(b);a.$$protocol=c.protocol;a.$$host=c.hostname;a.$$port=Y(c.port)||Tf[c.protocol]||null}function id(b,a){var c="/"!==b.charAt(0);c&&(b="/"+b);var d=Aa(b);a.$$path=decodeURIComponent(c&&"/"===d.pathname.charAt(0)?d.pathname.substring(1):d.pathname);a.$$search=
|
||||||
|
xc(d.search);a.$$hash=decodeURIComponent(d.hash);a.$$path&&"/"!=a.$$path.charAt(0)&&(a.$$path="/"+a.$$path)}function ra(b,a){if(0===a.indexOf(b))return a.substr(b.length)}function Ja(b){var a=b.indexOf("#");return-1==a?b:b.substr(0,a)}function Cb(b){return b.replace(/(#.+)|#$/,"$1")}function bc(b,a,c){this.$$html5=!0;c=c||"";hd(b,this);this.$$parse=function(b){var c=ra(a,b);if(!H(c))throw Db("ipthprfx",b,a);id(c,this);this.$$path||(this.$$path="/");this.$$compose()};this.$$compose=function(){var b=
|
||||||
|
Pb(this.$$search),c=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=ac(this.$$path)+(b?"?"+b:"")+c;this.$$absUrl=a+this.$$url.substr(1)};this.$$parseLinkUrl=function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;(f=ra(b,d))!==u?(g=f,g=(f=ra(c,f))!==u?a+(ra("/",f)||f):b+g):(f=ra(a,d))!==u?g=a+f:a==d+"/"&&(g=a);g&&this.$$parse(g);return!!g}}function cc(b,a,c){hd(b,this);this.$$parse=function(d){var e=ra(b,d)||ra(a,d),f;y(e)||"#"!==e.charAt(0)?this.$$html5?f=e:(f="",y(e)&&(b=d,this.replace())):
|
||||||
|
(f=ra(c,e),y(f)&&(f=e));id(f,this);d=this.$$path;var e=b,g=/^\/[A-Z]:(\/.*)/;0===f.indexOf(e)&&(f=f.replace(e,""));g.exec(f)||(d=(f=g.exec(d))?f[1]:d);this.$$path=d;this.$$compose()};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+(this.$$url?c+this.$$url:"")};this.$$parseLinkUrl=function(a,c){return Ja(b)==Ja(a)?(this.$$parse(a),!0):!1}}function jd(b,a,c){this.$$html5=!0;cc.apply(this,arguments);this.$$parseLinkUrl=
|
||||||
|
function(d,e){if(e&&"#"===e[0])return this.hash(e.slice(1)),!0;var f,g;b==Ja(d)?f=d:(g=ra(a,d))?f=b+c+g:a===d+"/"&&(f=a);f&&this.$$parse(f);return!!f};this.$$compose=function(){var a=Pb(this.$$search),e=this.$$hash?"#"+nb(this.$$hash):"";this.$$url=ac(this.$$path)+(a?"?"+a:"")+e;this.$$absUrl=b+c+this.$$url}}function Eb(b){return function(){return this[b]}}function kd(b,a){return function(c){if(y(c))return this[b];this[b]=a(c);this.$$compose();return this}}function gf(){var b="",a={enabled:!1,requireBase:!0,
|
||||||
|
rewriteLinks:!0};this.hashPrefix=function(a){return x(a)?(b=a,this):b};this.html5Mode=function(b){return ab(b)?(a.enabled=b,this):D(b)?(ab(b.enabled)&&(a.enabled=b.enabled),ab(b.requireBase)&&(a.requireBase=b.requireBase),ab(b.rewriteLinks)&&(a.rewriteLinks=b.rewriteLinks),this):a};this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function(c,d,e,f,g){function h(a,b,c){var e=k.url(),f=k.$$state;try{d.url(a,b,c),k.$$state=d.state()}catch(g){throw k.url(e),k.$$state=f,g;}}function l(a,
|
||||||
|
b){c.$broadcast("$locationChangeSuccess",k.absUrl(),a,k.$$state,b)}var k,m;m=d.baseHref();var q=d.url(),s;if(a.enabled){if(!m&&a.requireBase)throw Db("nobase");s=q.substring(0,q.indexOf("/",q.indexOf("//")+2))+(m||"/");m=e.history?bc:jd}else s=Ja(q),m=cc;var t=s.substr(0,Ja(s).lastIndexOf("/")+1);k=new m(s,t,"#"+b);k.$$parseLinkUrl(q,q);k.$$state=d.state();var E=/^\s*(javascript|mailto):/i;f.on("click",function(b){if(a.rewriteLinks&&!b.ctrlKey&&!b.metaKey&&!b.shiftKey&&2!=b.which&&2!=b.button){for(var e=
|
||||||
|
z(b.target);"a"!==ta(e[0]);)if(e[0]===f[0]||!(e=e.parent())[0])return;var h=e.prop("href"),l=e.attr("href")||e.attr("xlink:href");D(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Aa(h.animVal).href);E.test(h)||!h||e.attr("target")||b.isDefaultPrevented()||!k.$$parseLinkUrl(h,l)||(b.preventDefault(),k.absUrl()!=d.url()&&(c.$apply(),g.angular["ff-684208-preventDefault"]=!0))}});Cb(k.absUrl())!=Cb(q)&&d.url(k.absUrl(),!0);var L=!0;d.onUrlChange(function(a,b){y(ra(t,a))?g.location.href=a:(c.$evalAsync(function(){var d=
|
||||||
|
k.absUrl(),e=k.$$state,f;k.$$parse(a);k.$$state=b;f=c.$broadcast("$locationChangeStart",a,d,b,e).defaultPrevented;k.absUrl()===a&&(f?(k.$$parse(d),k.$$state=e,h(d,!1,e)):(L=!1,l(d,e)))}),c.$$phase||c.$digest())});c.$watch(function(){var a=Cb(d.url()),b=Cb(k.absUrl()),f=d.state(),g=k.$$replace,m=a!==b||k.$$html5&&e.history&&f!==k.$$state;if(L||m)L=!1,c.$evalAsync(function(){var b=k.absUrl(),d=c.$broadcast("$locationChangeStart",b,a,k.$$state,f).defaultPrevented;k.absUrl()===b&&(d?(k.$$parse(a),k.$$state=
|
||||||
|
f):(m&&h(b,g,f===k.$$state?null:k.$$state),l(a,f)))});k.$$replace=!1});return k}]}function hf(){var b=!0,a=this;this.debugEnabled=function(a){return x(a)?(b=a,this):b};this.$get=["$window",function(c){function d(a){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));return a}function e(a){var b=c.console||{},e=b[a]||b.log||v;a=!1;try{a=!!e.apply}catch(l){}return a?function(){var a=
|
||||||
|
[];n(arguments,function(b){a.push(d(b))});return 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(){b&&c.apply(a,arguments)}}()}}]}function Wa(b,a){if("__defineGetter__"===b||"__defineSetter__"===b||"__lookupGetter__"===b||"__lookupSetter__"===b||"__proto__"===b)throw da("isecfld",a);return b}function Ba(b,a){if(b){if(b.constructor===b)throw da("isecfn",a);if(b.window===b)throw da("isecwindow",
|
||||||
|
a);if(b.children&&(b.nodeName||b.prop&&b.attr&&b.find))throw da("isecdom",a);if(b===Object)throw da("isecobj",a);}return b}function ld(b,a){if(b){if(b.constructor===b)throw da("isecfn",a);if(b===Uf||b===Vf||b===Wf)throw da("isecff",a);}}function Xf(b,a){return"undefined"!==typeof b?b:a}function md(b,a){return"undefined"===typeof b?a:"undefined"===typeof a?b:b+a}function U(b,a){var c,d;switch(b.type){case r.Program:c=!0;n(b.body,function(b){U(b.expression,a);c=c&&b.expression.constant});b.constant=
|
||||||
|
c;break;case r.Literal:b.constant=!0;b.toWatch=[];break;case r.UnaryExpression:U(b.argument,a);b.constant=b.argument.constant;b.toWatch=b.argument.toWatch;break;case r.BinaryExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.left.toWatch.concat(b.right.toWatch);break;case r.LogicalExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=b.constant?[]:[b];break;case r.ConditionalExpression:U(b.test,a);U(b.alternate,a);U(b.consequent,
|
||||||
|
a);b.constant=b.test.constant&&b.alternate.constant&&b.consequent.constant;b.toWatch=b.constant?[]:[b];break;case r.Identifier:b.constant=!1;b.toWatch=[b];break;case r.MemberExpression:U(b.object,a);b.computed&&U(b.property,a);b.constant=b.object.constant&&(!b.computed||b.property.constant);b.toWatch=[b];break;case r.CallExpression:c=b.filter?!a(b.callee.name).$stateful:!1;d=[];n(b.arguments,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=b.filter&&
|
||||||
|
!a(b.callee.name).$stateful?d:[b];break;case r.AssignmentExpression:U(b.left,a);U(b.right,a);b.constant=b.left.constant&&b.right.constant;b.toWatch=[b];break;case r.ArrayExpression:c=!0;d=[];n(b.elements,function(b){U(b,a);c=c&&b.constant;b.constant||d.push.apply(d,b.toWatch)});b.constant=c;b.toWatch=d;break;case r.ObjectExpression:c=!0;d=[];n(b.properties,function(b){U(b.value,a);c=c&&b.value.constant;b.value.constant||d.push.apply(d,b.value.toWatch)});b.constant=c;b.toWatch=d;break;case r.ThisExpression:b.constant=
|
||||||
|
!1,b.toWatch=[]}}function nd(b){if(1==b.length){b=b[0].expression;var a=b.toWatch;return 1!==a.length?a:a[0]!==b?a:u}}function od(b){return b.type===r.Identifier||b.type===r.MemberExpression}function pd(b){if(1===b.body.length&&od(b.body[0].expression))return{type:r.AssignmentExpression,left:b.body[0].expression,right:{type:r.NGValueParameter},operator:"="}}function qd(b){return 0===b.body.length||1===b.body.length&&(b.body[0].expression.type===r.Literal||b.body[0].expression.type===r.ArrayExpression||
|
||||||
|
b.body[0].expression.type===r.ObjectExpression)}function rd(b,a){this.astBuilder=b;this.$filter=a}function sd(b,a){this.astBuilder=b;this.$filter=a}function Fb(b){return"constructor"==b}function dc(b){return B(b.valueOf)?b.valueOf():Yf.call(b)}function jf(){var b=ga(),a=ga();this.$get=["$filter",function(c){function d(a,b){return null==a||null==b?a===b:"object"===typeof a&&(a=dc(a),"object"===typeof a)?!1:a===b||a!==a&&b!==b}function e(a,b,c,e,f){var g=e.inputs,h;if(1===g.length){var k=d,g=g[0];return a.$watch(function(a){var b=
|
||||||
|
g(a);d(b,k)||(h=e(a,u,u,[b]),k=b&&dc(b));return h},b,c,f)}for(var l=[],m=[],q=0,n=g.length;q<n;q++)l[q]=d,m[q]=null;return a.$watch(function(a){for(var b=!1,c=0,f=g.length;c<f;c++){var k=g[c](a);if(b||(b=!d(k,l[c])))m[c]=k,l[c]=k&&dc(k)}b&&(h=e(a,u,u,m));return h},b,c,f)}function f(a,b,c,d){var e,f;return e=a.$watch(function(a){return d(a)},function(a,c,d){f=a;B(b)&&b.apply(this,arguments);x(a)&&d.$$postDigest(function(){x(f)&&e()})},c)}function g(a,b,c,d){function e(a){var b=!0;n(a,function(a){x(a)||
|
||||||
|
(b=!1)});return b}var f,g;return f=a.$watch(function(a){return d(a)},function(a,c,d){g=a;B(b)&&b.call(this,a,c,d);e(a)&&d.$$postDigest(function(){e(g)&&f()})},c)}function h(a,b,c,d){var e;return e=a.$watch(function(a){return d(a)},function(a,c,d){B(b)&&b.apply(this,arguments);e()},c)}function l(a,b){if(!b)return a;var c=a.$$watchDelegate,c=c!==g&&c!==f?function(c,d,e,f){e=a(c,d,e,f);return b(e,c,d)}:function(c,d,e,f){e=a(c,d,e,f);c=b(e,c,d);return x(e)?c:e};a.$$watchDelegate&&a.$$watchDelegate!==
|
||||||
|
e?c.$$watchDelegate=a.$$watchDelegate:b.$stateful||(c.$$watchDelegate=e,c.inputs=a.inputs?a.inputs:[a]);return c}var k=Fa().noUnsafeEval,m={csp:k,expensiveChecks:!1},q={csp:k,expensiveChecks:!0};return function(d,k,E){var n,w,p;switch(typeof d){case "string":p=d=d.trim();var r=E?a:b;n=r[p];n||(":"===d.charAt(0)&&":"===d.charAt(1)&&(w=!0,d=d.substring(2)),E=E?q:m,n=new ec(E),n=(new fc(n,c,E)).parse(d),n.constant?n.$$watchDelegate=h:w?n.$$watchDelegate=n.literal?g:f:n.inputs&&(n.$$watchDelegate=e),
|
||||||
|
r[p]=n);return l(n,k);case "function":return l(d,k);default:return v}}}]}function lf(){this.$get=["$rootScope","$exceptionHandler",function(b,a){return td(function(a){b.$evalAsync(a)},a)}]}function mf(){this.$get=["$browser","$exceptionHandler",function(b,a){return td(function(a){b.defer(a)},a)}]}function td(b,a){function c(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 d(){this.$$state={status:0}}function e(a,b){return function(c){b.call(a,c)}}
|
||||||
|
function f(c){!c.processScheduled&&c.pending&&(c.processScheduled=!0,b(function(){var b,d,e;e=c.pending;c.processScheduled=!1;c.pending=u;for(var f=0,g=e.length;f<g;++f){d=e[f][0];b=e[f][c.status];try{B(b)?d.resolve(b(c.value)):1===c.status?d.resolve(c.value):d.reject(c.value)}catch(h){d.reject(h),a(h)}}}))}function g(){this.promise=new d;this.resolve=e(this,this.resolve);this.reject=e(this,this.reject);this.notify=e(this,this.notify)}var h=G("$q",TypeError);Q(d.prototype,{then:function(a,b,c){if(y(a)&&
|
||||||
|
y(b)&&y(c))return this;var d=new g;this.$$state.pending=this.$$state.pending||[];this.$$state.pending.push([d,a,b,c]);0<this.$$state.status&&f(this.$$state);return d.promise},"catch":function(a){return this.then(null,a)},"finally":function(a,b){return this.then(function(b){return k(b,!0,a)},function(b){return k(b,!1,a)},b)}});Q(g.prototype,{resolve:function(a){this.promise.$$state.status||(a===this.promise?this.$$reject(h("qcycle",a)):this.$$resolve(a))},$$resolve:function(b){var d,e;e=c(this,this.$$resolve,
|
||||||
|
this.$$reject);try{if(D(b)||B(b))d=b&&b.then;B(d)?(this.promise.$$state.status=-1,d.call(b,e[0],e[1],this.notify)):(this.promise.$$state.value=b,this.promise.$$state.status=1,f(this.promise.$$state))}catch(g){e[1](g),a(g)}},reject:function(a){this.promise.$$state.status||this.$$reject(a)},$$reject:function(a){this.promise.$$state.value=a;this.promise.$$state.status=2;f(this.promise.$$state)},notify:function(c){var d=this.promise.$$state.pending;0>=this.promise.$$state.status&&d&&d.length&&b(function(){for(var b,
|
||||||
|
e,f=0,g=d.length;f<g;f++){e=d[f][0];b=d[f][3];try{e.notify(B(b)?b(c):c)}catch(h){a(h)}}})}});var l=function(a,b){var c=new g;b?c.resolve(a):c.reject(a);return c.promise},k=function(a,b,c){var d=null;try{B(c)&&(d=c())}catch(e){return l(e,!1)}return d&&B(d.then)?d.then(function(){return l(a,b)},function(a){return l(a,!1)}):l(a,b)},m=function(a,b,c,d){var e=new g;e.resolve(a);return e.promise.then(b,c,d)},q=function t(a){if(!B(a))throw h("norslvr",a);if(!(this instanceof t))return new t(a);var b=new g;
|
||||||
|
a(function(a){b.resolve(a)},function(a){b.reject(a)});return b.promise};q.defer=function(){return new g};q.reject=function(a){var b=new g;b.reject(a);return b.promise};q.when=m;q.resolve=m;q.all=function(a){var b=new g,c=0,d=K(a)?[]:{};n(a,function(a,e){c++;m(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);return b.promise};return q}function vf(){this.$get=["$window","$timeout",function(b,a){var c=b.requestAnimationFrame||
|
||||||
|
b.webkitRequestAnimationFrame,d=b.cancelAnimationFrame||b.webkitCancelAnimationFrame||b.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(b){var c=a(b,16.66,!1);return function(){a.cancel(c)}};f.supported=e;return f}]}function kf(){function b(a){function b(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$id=++mb;this.$$ChildScope=null}b.prototype=a;
|
||||||
|
return b}var a=10,c=G("$rootScope"),d=null,e=null;this.digestTtl=function(b){arguments.length&&(a=b);return a};this.$get=["$injector","$exceptionHandler","$parse","$browser",function(f,g,h,l){function k(a){a.currentScope.$$destroyed=!0}function m(){this.$id=++mb;this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null;this.$root=this;this.$$destroyed=!1;this.$$listeners={};this.$$listenerCount={};this.$$watchersCount=0;this.$$isolateBindings=
|
||||||
|
null}function q(a){if(p.$$phase)throw c("inprog",p.$$phase);p.$$phase=a}function s(a,b){do a.$$watchersCount+=b;while(a=a.$parent)}function t(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function r(){}function L(){for(;M.length;)try{M.shift()()}catch(a){g(a)}e=null}function w(){null===e&&(e=l.defer(function(){p.$apply(L)}))}m.prototype={constructor:m,$new:function(a,c){var d;c=c||this;a?(d=new m,d.$root=this.$root):(this.$$ChildScope||
|
||||||
|
(this.$$ChildScope=b(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;(a||c!=this)&&d.$on("$destroy",k);return d},$watch:function(a,b,c,e){var f=h(a);if(f.$$watchDelegate)return f.$$watchDelegate(this,b,c,f,a);var g=this,k=g.$$watchers,l={fn:b,last:r,get:f,exp:e||a,eq:!!c};d=null;B(b)||(l.fn=v);k||(k=g.$$watchers=[]);k.unshift(l);s(this,1);return function(){0<=bb(k,l)&&s(g,-1);d=null}},
|
||||||
|
$watchGroup:function(a,b){function c(){h=!1;k?(k=!1,b(e,e,g)):b(e,d,g)}var d=Array(a.length),e=Array(a.length),f=[],g=this,h=!1,k=!0;if(!a.length){var l=!0;g.$evalAsync(function(){l&&b(e,e,g)});return function(){l=!1}}if(1===a.length)return this.$watch(a[0],function(a,c,f){e[0]=a;d[0]=c;b(e,a===c?e:d,f)});n(a,function(a,b){var k=g.$watch(a,function(a,f){e[b]=a;d[b]=f;h||(h=!0,g.$evalAsync(c))});f.push(k)});return function(){for(;f.length;)f.shift()()}},$watchCollection:function(a,b){function c(a){e=
|
||||||
|
a;var b,d,g,h;if(!y(e)){if(D(e))if(Da(e))for(f!==q&&(f=q,t=f.length=0,l++),a=e.length,t!==a&&(l++,f.length=t=a),b=0;b<a;b++)h=f[b],g=e[b],d=h!==h&&g!==g,d||h===g||(l++,f[b]=g);else{f!==s&&(f=s={},t=0,l++);a=0;for(b in e)e.hasOwnProperty(b)&&(a++,g=e[b],h=f[b],b in f?(d=h!==h&&g!==g,d||h===g||(l++,f[b]=g)):(t++,f[b]=g,l++));if(t>a)for(b in l++,f)e.hasOwnProperty(b)||(t--,delete f[b])}else f!==e&&(f=e,l++);return l}}c.$stateful=!0;var d=this,e,f,g,k=1<b.length,l=0,m=h(a,c),q=[],s={},p=!0,t=0;return this.$watch(m,
|
||||||
|
function(){p?(p=!1,b(e,e,d)):b(e,g,d);if(k)if(D(e))if(Da(e)){g=Array(e.length);for(var a=0;a<e.length;a++)g[a]=e[a]}else for(a in g={},e)Na.call(e,a)&&(g[a]=e[a]);else g=e})},$digest:function(){var b,f,h,k,m,s,t=a,n,w=[],C,M;q("$digest");l.$$checkUrlChange();this===p&&null!==e&&(l.defer.cancel(e),L());d=null;do{s=!1;for(n=this;u.length;){try{M=u.shift(),M.scope.$eval(M.expression,M.locals)}catch(v){g(v)}d=null}a:do{if(k=n.$$watchers)for(m=k.length;m--;)try{if(b=k[m])if((f=b.get(n))!==(h=b.last)&&
|
||||||
|
!(b.eq?ka(f,h):"number"===typeof f&&"number"===typeof h&&isNaN(f)&&isNaN(h)))s=!0,d=b,b.last=b.eq?fa(f,null):f,b.fn(f,h===r?f:h,n),5>t&&(C=4-t,w[C]||(w[C]=[]),w[C].push({msg:B(b.exp)?"fn: "+(b.exp.name||b.exp.toString()):b.exp,newVal:f,oldVal:h}));else if(b===d){s=!1;break a}}catch(y){g(y)}if(!(k=n.$$watchersCount&&n.$$childHead||n!==this&&n.$$nextSibling))for(;n!==this&&!(k=n.$$nextSibling);)n=n.$parent}while(n=k);if((s||u.length)&&!t--)throw p.$$phase=null,c("infdig",a,w);}while(s||u.length);for(p.$$phase=
|
||||||
|
null;x.length;)try{x.shift()()}catch(z){g(z)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy");this.$$destroyed=!0;this===p&&l.$$applicationDestroyed();s(this,-this.$$watchersCount);for(var b in this.$$listenerCount)t(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=v;this.$on=this.$watch=this.$watchGroup=function(){return v};this.$$listeners={};this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=this.$$watchers=null}},$eval:function(a,b){return h(a)(this,b)},$evalAsync:function(a,b){p.$$phase||u.length||l.defer(function(){u.length&&p.$digest()});u.push({scope:this,expression:a,locals:b})},$$postDigest:function(a){x.push(a)},
|
||||||
|
$apply:function(a){try{q("$apply");try{return this.$eval(a)}finally{p.$$phase=null}}catch(b){g(b)}finally{try{p.$digest()}catch(c){throw g(c),c;}}},$applyAsync:function(a){function b(){c.$eval(a)}var c=this;a&&M.push(b);w()},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]);c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){var d=c.indexOf(b);-1!==d&&(c[d]=null,t(e,1,a))}},$emit:function(a,
|
||||||
|
b){var c=[],d,e=this,f=!1,h={name:a,targetScope:e,stopPropagation:function(){f=!0},preventDefault:function(){h.defaultPrevented=!0},defaultPrevented:!1},k=cb([h],arguments,1),l,m;do{d=e.$$listeners[a]||c;h.currentScope=e;l=0;for(m=d.length;l<m;l++)if(d[l])try{d[l].apply(null,k)}catch(q){g(q)}else d.splice(l,1),l--,m--;if(f)return h.currentScope=null,h;e=e.$parent}while(e);h.currentScope=null;return h},$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=cb([e],arguments,1),h,k;c=d;){e.currentScope=c;d=c.$$listeners[a]||[];h=0;for(k=d.length;h<k;h++)if(d[h])try{d[h].apply(null,f)}catch(l){g(l)}else d.splice(h,1),h--,k--;if(!(d=c.$$listenerCount[a]&&c.$$childHead||c!==this&&c.$$nextSibling))for(;c!==this&&!(d=c.$$nextSibling);)c=c.$parent}e.currentScope=null;return e}};var p=new m,u=p.$$asyncQueue=[],x=p.$$postDigestQueue=[],M=p.$$applyAsyncQueue=[];return p}]}function ge(){var b=
|
||||||
|
/^\s*(https?|ftp|mailto|tel|file):/,a=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(a){return x(a)?(b=a,this):b};this.imgSrcSanitizationWhitelist=function(b){return x(b)?(a=b,this):a};this.$get=function(){return function(c,d){var e=d?a:b,f;f=Aa(c).href;return""===f||f.match(e)?c:"unsafe:"+f}}}function Zf(b){if("self"===b)return b;if(H(b)){if(-1<b.indexOf("***"))throw Ca("iwcard",b);b=ud(b).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*");return new RegExp("^"+
|
||||||
|
b+"$")}if(Oa(b))return new RegExp("^"+b.source+"$");throw Ca("imatcher");}function vd(b){var a=[];x(b)&&n(b,function(b){a.push(Zf(b))});return a}function of(){this.SCE_CONTEXTS=oa;var b=["self"],a=[];this.resourceUrlWhitelist=function(a){arguments.length&&(b=vd(a));return b};this.resourceUrlBlacklist=function(b){arguments.length&&(a=vd(b));return a};this.$get=["$injector",function(c){function d(a,b){return"self"===a?gd(b):!!a.exec(b.href)}function e(a){var b=function(a){this.$$unwrapTrustedValue=
|
||||||
|
function(){return a}};a&&(b.prototype=new a);b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()};b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()};return b}var f=function(a){throw Ca("unsafe");};c.has("$sanitize")&&(f=c.get("$sanitize"));var g=e(),h={};h[oa.HTML]=e(g);h[oa.CSS]=e(g);h[oa.URL]=e(g);h[oa.JS]=e(g);h[oa.RESOURCE_URL]=e(h[oa.URL]);return{trustAs:function(a,b){var c=h.hasOwnProperty(a)?h[a]:null;if(!c)throw Ca("icontext",a,b);if(null===b||b===
|
||||||
|
u||""===b)return b;if("string"!==typeof b)throw Ca("itype",a);return new c(b)},getTrusted:function(c,e){if(null===e||e===u||""===e)return e;var g=h.hasOwnProperty(c)?h[c]:null;if(g&&e instanceof g)return e.$$unwrapTrustedValue();if(c===oa.RESOURCE_URL){var g=Aa(e.toString()),q,s,t=!1;q=0;for(s=b.length;q<s;q++)if(d(b[q],g)){t=!0;break}if(t)for(q=0,s=a.length;q<s;q++)if(d(a[q],g)){t=!1;break}if(t)return e;throw Ca("insecurl",e.toString());}if(c===oa.HTML)return f(e);throw Ca("unsafe");},valueOf:function(a){return a instanceof
|
||||||
|
g?a.$$unwrapTrustedValue():a}}}]}function nf(){var b=!0;this.enabled=function(a){arguments.length&&(b=!!a);return b};this.$get=["$parse","$sceDelegate",function(a,c){if(b&&8>Va)throw Ca("iequirks");var d=ia(oa);d.isEnabled=function(){return b};d.trustAs=c.trustAs;d.getTrusted=c.getTrusted;d.valueOf=c.valueOf;b||(d.trustAs=d.getTrusted=function(a,b){return b},d.valueOf=Za);d.parseAs=function(b,c){var e=a(c);return e.literal&&e.constant?e:a(c,function(a){return d.getTrusted(b,a)})};var e=d.parseAs,
|
||||||
|
f=d.getTrusted,g=d.trustAs;n(oa,function(a,b){var c=I(b);d[fb("parse_as_"+c)]=function(b){return e(a,b)};d[fb("get_trusted_"+c)]=function(b){return f(a,b)};d[fb("trust_as_"+c)]=function(b){return g(a,b)}});return d}]}function pf(){this.$get=["$window","$document",function(b,a){var c={},d=Y((/android (\d+)/.exec(I((b.navigator||{}).userAgent))||[])[1]),e=/Boxee/i.test((b.navigator||{}).userAgent),f=a[0]||{},g,h=/^(Moz|webkit|ms)(?=[A-Z])/,l=f.body&&f.body.style,k=!1,m=!1;if(l){for(var q in l)if(k=
|
||||||
|
h.exec(q)){g=k[0];g=g.substr(0,1).toUpperCase()+g.substr(1);break}g||(g="WebkitOpacity"in l&&"webkit");k=!!("transition"in l||g+"Transition"in l);m=!!("animation"in l||g+"Animation"in l);!d||k&&m||(k=H(l.webkitTransition),m=H(l.webkitAnimation))}return{history:!(!b.history||!b.history.pushState||4>d||e),hasEvent:function(a){if("input"===a&&11>=Va)return!1;if(y(c[a])){var b=f.createElement("div");c[a]="on"+a in b}return c[a]},csp:Fa(),vendorPrefix:g,transitions:k,animations:m,android:d}}]}function rf(){this.$get=
|
||||||
|
["$templateCache","$http","$q","$sce",function(b,a,c,d){function e(f,g){e.totalPendingRequests++;H(f)&&b.get(f)||(f=d.getTrustedResourceUrl(f));var h=a.defaults&&a.defaults.transformResponse;K(h)?h=h.filter(function(a){return a!==Zb}):h===Zb&&(h=null);return a.get(f,{cache:b,transformResponse:h})["finally"](function(){e.totalPendingRequests--}).then(function(a){b.put(f,a.data);return a.data},function(a){if(!g)throw ea("tpload",f,a.status,a.statusText);return c.reject(a)})}e.totalPendingRequests=0;
|
||||||
|
return e}]}function sf(){this.$get=["$rootScope","$browser","$location",function(b,a,c){return{findBindings:function(a,b,c){a=a.getElementsByClassName("ng-binding");var g=[];n(a,function(a){var d=aa.element(a).data("$binding");d&&n(d,function(d){c?(new RegExp("(^|\\s)"+ud(b)+"(\\s|\\||$)")).test(d)&&g.push(a):-1!=d.indexOf(b)&&g.push(a)})});return g},findModels:function(a,b,c){for(var g=["ng-","data-ng-","ng\\:"],h=0;h<g.length;++h){var l=a.querySelectorAll("["+g[h]+"model"+(c?"=":"*=")+'"'+b+'"]');
|
||||||
|
if(l.length)return l}},getLocation:function(){return c.url()},setLocation:function(a){a!==c.url()&&(c.url(a),b.$digest())},whenStable:function(b){a.notifyWhenNoOutstandingRequests(b)}}}]}function tf(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function(b,a,c,d,e){function f(f,l,k){B(f)||(k=l,l=f,f=v);var m=xa.call(arguments,3),q=x(k)&&!k,s=(q?d:c).defer(),t=s.promise,n;n=a.defer(function(){try{s.resolve(f.apply(null,m))}catch(a){s.reject(a),e(a)}finally{delete g[t.$$timeoutId]}q||
|
||||||
|
b.$apply()},l);t.$$timeoutId=n;g[n]=s;return t}var g={};f.cancel=function(b){return b&&b.$$timeoutId in g?(g[b.$$timeoutId].reject("canceled"),delete g[b.$$timeoutId],a.defer.cancel(b.$$timeoutId)):!1};return f}]}function Aa(b){Va&&(Z.setAttribute("href",b),b=Z.href);Z.setAttribute("href",b);return{href:Z.href,protocol:Z.protocol?Z.protocol.replace(/:$/,""):"",host:Z.host,search:Z.search?Z.search.replace(/^\?/,""):"",hash:Z.hash?Z.hash.replace(/^#/,""):"",hostname:Z.hostname,port:Z.port,pathname:"/"===
|
||||||
|
Z.pathname.charAt(0)?Z.pathname:"/"+Z.pathname}}function gd(b){b=H(b)?Aa(b):b;return b.protocol===wd.protocol&&b.host===wd.host}function uf(){this.$get=qa(N)}function xd(b){function a(a){try{return decodeURIComponent(a)}catch(b){return a}}var c=b[0]||{},d={},e="";return function(){var b,g,h,l,k;b=c.cookie||"";if(b!==e)for(e=b,b=e.split("; "),d={},h=0;h<b.length;h++)g=b[h],l=g.indexOf("="),0<l&&(k=a(g.substring(0,l)),d[k]===u&&(d[k]=a(g.substring(l+1))));return d}}function yf(){this.$get=xd}function Jc(b){function a(c,
|
||||||
|
d){if(D(c)){var e={};n(c,function(b,c){e[c]=a(c,b)});return e}return b.factory(c+"Filter",d)}this.register=a;this.$get=["$injector",function(a){return function(b){return a.get(b+"Filter")}}];a("currency",yd);a("date",zd);a("filter",$f);a("json",ag);a("limitTo",bg);a("lowercase",cg);a("number",Ad);a("orderBy",Bd);a("uppercase",dg)}function $f(){return function(b,a,c){if(!Da(b)){if(null==b)return b;throw G("filter")("notarray",b);}var d;switch(gc(a)){case "function":break;case "boolean":case "null":case "number":case "string":d=
|
||||||
|
!0;case "object":a=eg(a,c,d);break;default:return b}return Array.prototype.filter.call(b,a)}}function eg(b,a,c){var d=D(b)&&"$"in b;!0===a?a=ka:B(a)||(a=function(a,b){if(y(a))return!1;if(null===a||null===b)return a===b;if(D(b)||D(a)&&!pc(a))return!1;a=I(""+a);b=I(""+b);return-1!==a.indexOf(b)});return function(e){return d&&!D(e)?La(e,b.$,a,!1):La(e,b,a,c)}}function La(b,a,c,d,e){var f=gc(b),g=gc(a);if("string"===g&&"!"===a.charAt(0))return!La(b,a.substring(1),c,d);if(K(b))return b.some(function(b){return La(b,
|
||||||
|
a,c,d)});switch(f){case "object":var h;if(d){for(h in b)if("$"!==h.charAt(0)&&La(b[h],a,c,!0))return!0;return e?!1:La(b,a,c,!1)}if("object"===g){for(h in a)if(e=a[h],!B(e)&&!y(e)&&(f="$"===h,!La(f?b:b[h],e,c,f,f)))return!1;return!0}return c(b,a);case "function":return!1;default:return c(b,a)}}function gc(b){return null===b?"null":typeof b}function yd(b){var a=b.NUMBER_FORMATS;return function(b,d,e){y(d)&&(d=a.CURRENCY_SYM);y(e)&&(e=a.PATTERNS[1].maxFrac);return null==b?b:Cd(b,a.PATTERNS[1],a.GROUP_SEP,
|
||||||
|
a.DECIMAL_SEP,e).replace(/\u00A4/g,d)}}function Ad(b){var a=b.NUMBER_FORMATS;return function(b,d){return null==b?b:Cd(b,a.PATTERNS[0],a.GROUP_SEP,a.DECIMAL_SEP,d)}}function Cd(b,a,c,d,e){if(D(b))return"";var f=0>b;b=Math.abs(b);var g=Infinity===b;if(!g&&!isFinite(b))return"";var h=b+"",l="",k=!1,m=[];g&&(l="\u221e");if(!g&&-1!==h.indexOf("e")){var q=h.match(/([\d\.]+)e(-?)(\d+)/);q&&"-"==q[2]&&q[3]>e+1?b=0:(l=h,k=!0)}if(g||k)0<e&&1>b&&(l=b.toFixed(e),b=parseFloat(l));else{g=(h.split(Dd)[1]||"").length;
|
||||||
|
y(e)&&(e=Math.min(Math.max(a.minFrac,g),a.maxFrac));b=+(Math.round(+(b.toString()+"e"+e)).toString()+"e"+-e);var g=(""+b).split(Dd),h=g[0],g=g[1]||"",q=0,s=a.lgSize,t=a.gSize;if(h.length>=s+t)for(q=h.length-s,k=0;k<q;k++)0===(q-k)%t&&0!==k&&(l+=c),l+=h.charAt(k);for(k=q;k<h.length;k++)0===(h.length-k)%s&&0!==k&&(l+=c),l+=h.charAt(k);for(;g.length<e;)g+="0";e&&"0"!==e&&(l+=d+g.substr(0,e))}0===b&&(f=!1);m.push(f?a.negPre:a.posPre,l,f?a.negSuf:a.posSuf);return m.join("")}function Gb(b,a,c){var d="";
|
||||||
|
0>b&&(d="-",b=-b);for(b=""+b;b.length<a;)b="0"+b;c&&(b=b.substr(b.length-a));return d+b}function $(b,a,c,d){c=c||0;return function(e){e=e["get"+b]();if(0<c||e>-c)e+=c;0===e&&-12==c&&(e=12);return Gb(e,a,d)}}function Hb(b,a){return function(c,d){var e=c["get"+b](),f=rb(a?"SHORT"+b:b);return d[f][e]}}function Ed(b){var a=(new Date(b,0,1)).getDay();return new Date(b,0,(4>=a?5:12)-a)}function Fd(b){return function(a){var c=Ed(a.getFullYear());a=+new Date(a.getFullYear(),a.getMonth(),a.getDate()+(4-a.getDay()))-
|
||||||
|
+c;a=1+Math.round(a/6048E5);return Gb(a,b)}}function hc(b,a){return 0>=b.getFullYear()?a.ERAS[0]:a.ERAS[1]}function zd(b){function a(a){var b;if(b=a.match(c)){a=new Date(0);var f=0,g=0,h=b[8]?a.setUTCFullYear:a.setFullYear,l=b[8]?a.setUTCHours:a.setHours;b[9]&&(f=Y(b[9]+b[10]),g=Y(b[9]+b[11]));h.call(a,Y(b[1]),Y(b[2])-1,Y(b[3]));f=Y(b[4]||0)-f;g=Y(b[5]||0)-g;h=Y(b[6]||0);b=Math.round(1E3*parseFloat("0."+(b[7]||0)));l.call(a,f,g,h,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,e,f){var g="",h=[],l,k;e=e||"mediumDate";e=b.DATETIME_FORMATS[e]||e;H(c)&&(c=fg.test(c)?Y(c):a(c));X(c)&&(c=new Date(c));if(!ca(c)||!isFinite(c.getTime()))return c;for(;e;)(k=gg.exec(e))?(h=cb(h,k,1),e=h.pop()):(h.push(e),e=null);var m=c.getTimezoneOffset();f&&(m=vc(f,c.getTimezoneOffset()),c=Ob(c,f,!0));n(h,function(a){l=hg[a];g+=l?l(c,b.DATETIME_FORMATS,m):a.replace(/(^'|'$)/g,"").replace(/''/g,"'")});return g}}function ag(){return function(b,a){y(a)&&(a=2);return db(b,a)}}function bg(){return function(b,
|
||||||
|
a,c){a=Infinity===Math.abs(Number(a))?Number(a):Y(a);if(isNaN(a))return b;X(b)&&(b=b.toString());if(!K(b)&&!H(b))return b;c=!c||isNaN(c)?0:Y(c);c=0>c&&c>=-b.length?b.length+c:c;return 0<=a?b.slice(c,c+a):0===c?b.slice(a,b.length):b.slice(Math.max(0,c+a),c)}}function Bd(b){function a(a,c){c=c?-1:1;return a.map(function(a){var d=1,h=Za;if(B(a))h=a;else if(H(a)){if("+"==a.charAt(0)||"-"==a.charAt(0))d="-"==a.charAt(0)?-1:1,a=a.substring(1);if(""!==a&&(h=b(a),h.constant))var l=h(),h=function(a){return a[l]}}return{get:h,
|
||||||
|
descending:d*c}})}function c(a){switch(typeof a){case "number":case "boolean":case "string":return!0;default:return!1}}return function(b,e,f){if(!Da(b))return b;K(e)||(e=[e]);0===e.length&&(e=["+"]);var g=a(e,f);g.push({get:function(){return{}},descending:f?-1:1});b=Array.prototype.map.call(b,function(a,b){return{value:a,predicateValues:g.map(function(d){var e=d.get(a);d=typeof e;if(null===e)d="string",e="null";else if("string"===d)e=e.toLowerCase();else if("object"===d)a:{if("function"===typeof e.valueOf&&
|
||||||
|
(e=e.valueOf(),c(e)))break a;if(pc(e)&&(e=e.toString(),c(e)))break a;e=b}return{value:e,type:d}})}});b.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],t=0;c.type===f.type?c.value!==f.value&&(t=c.value<f.value?-1:1):t=c.type<f.type?-1:1;if(c=t*g[d].descending)break}return c});return b=b.map(function(a){return a.value})}}function Ma(b){B(b)&&(b={link:b});b.restrict=b.restrict||"AC";return qa(b)}function Gd(b,a,c,d,e){var f=this,g=[],h=f.$$parentForm=
|
||||||
|
b.parent().controller("form")||Ib;f.$error={};f.$$success={};f.$pending=u;f.$name=e(a.name||a.ngForm||"")(c);f.$dirty=!1;f.$pristine=!0;f.$valid=!0;f.$invalid=!1;f.$submitted=!1;h.$addControl(f);f.$rollbackViewValue=function(){n(g,function(a){a.$rollbackViewValue()})};f.$commitViewValue=function(){n(g,function(a){a.$commitViewValue()})};f.$addControl=function(a){Ta(a.$name,"input");g.push(a);a.$name&&(f[a.$name]=a)};f.$$renameControl=function(a,b){var c=a.$name;f[c]===a&&delete f[c];f[b]=a;a.$name=
|
||||||
|
b};f.$removeControl=function(a){a.$name&&f[a.$name]===a&&delete f[a.$name];n(f.$pending,function(b,c){f.$setValidity(c,null,a)});n(f.$error,function(b,c){f.$setValidity(c,null,a)});n(f.$$success,function(b,c){f.$setValidity(c,null,a)});bb(g,a)};Hd({ctrl:this,$element:b,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&&(bb(d,c),0===d.length&&delete a[b])},parentForm:h,$animate:d});f.$setDirty=function(){d.removeClass(b,Xa);d.addClass(b,Jb);
|
||||||
|
f.$dirty=!0;f.$pristine=!1;h.$setDirty()};f.$setPristine=function(){d.setClass(b,Xa,Jb+" ng-submitted");f.$dirty=!1;f.$pristine=!0;f.$submitted=!1;n(g,function(a){a.$setPristine()})};f.$setUntouched=function(){n(g,function(a){a.$setUntouched()})};f.$setSubmitted=function(){d.addClass(b,"ng-submitted");f.$submitted=!0;h.$setSubmitted()}}function ic(b){b.$formatters.push(function(a){return b.$isEmpty(a)?a:a.toString()})}function ib(b,a,c,d,e,f){var g=I(a[0].type);if(!e.android){var h=!1;a.on("compositionstart",
|
||||||
|
function(a){h=!0});a.on("compositionend",function(){h=!1;l()})}var l=function(b){k&&(f.defer.cancel(k),k=null);if(!h){var e=a.val();b=b&&b.type;"password"===g||c.ngTrim&&"false"===c.ngTrim||(e=T(e));(d.$viewValue!==e||""===e&&d.$$hasNativeValidators)&&d.$setViewValue(e,b)}};if(e.hasEvent("input"))a.on("input",l);else{var k,m=function(a,b,c){k||(k=f.defer(function(){k=null;b&&b.value===c||l(a)}))};a.on("keydown",function(a){var b=a.keyCode;91===b||15<b&&19>b||37<=b&&40>=b||m(a,this,this.value)});if(e.hasEvent("paste"))a.on("paste cut",
|
||||||
|
m)}a.on("change",l);d.$render=function(){var b=d.$isEmpty(d.$viewValue)?"":d.$viewValue;a.val()!==b&&a.val(b)}}function Kb(b,a){return function(c,d){var e,f;if(ca(c))return c;if(H(c)){'"'==c.charAt(0)&&'"'==c.charAt(c.length-1)&&(c=c.substring(1,c.length-1));if(ig.test(c))return new Date(c);b.lastIndex=0;if(e=b.exec(c))return e.shift(),f=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},n(e,function(b,c){c<a.length&&(f[a[c]]=+b)}),new Date(f.yyyy,f.MM-1,f.dd,f.HH,f.mm,f.ss||0,1E3*f.sss||0)}return NaN}}function jb(b,a,c,d){return function(e,f,g,h,l,k,m){function q(a){return a&&!(a.getTime&&a.getTime()!==a.getTime())}function s(a){return x(a)?ca(a)?a:c(a):u}Id(e,f,g,h);ib(e,f,g,h,l,k);var t=h&&h.$options&&h.$options.timezone,n;h.$$parserName=b;h.$parsers.push(function(b){return h.$isEmpty(b)?null:a.test(b)?(b=c(b,n),t&&(b=Ob(b,t)),b):u});h.$formatters.push(function(a){if(a&&
|
||||||
|
!ca(a))throw kb("datefmt",a);if(q(a))return(n=a)&&t&&(n=Ob(n,t,!0)),m("date")(a,d,t);n=null;return""});if(x(g.min)||g.ngMin){var r;h.$validators.min=function(a){return!q(a)||y(r)||c(a)>=r};g.$observe("min",function(a){r=s(a);h.$validate()})}if(x(g.max)||g.ngMax){var w;h.$validators.max=function(a){return!q(a)||y(w)||c(a)<=w};g.$observe("max",function(a){w=s(a);h.$validate()})}}}function Id(b,a,c,d){(d.$$hasNativeValidators=D(a[0].validity))&&d.$parsers.push(function(b){var c=a.prop("validity")||{};
|
||||||
|
return c.badInput&&!c.typeMismatch?u:b})}function Jd(b,a,c,d,e){if(x(d)){b=b(d);if(!b.constant)throw kb("constexpr",c,d);return b(a)}return e}function jc(b,a){b="ngClass"+b;return["$animate",function(c){function d(a,b){var c=[],d=0;a:for(;d<a.length;d++){for(var e=a[d],m=0;m<b.length;m++)if(e==b[m])continue a;c.push(e)}return c}function e(a){var b=[];return K(a)?(n(a,function(a){b=b.concat(e(a))}),b):H(a)?a.split(" "):D(a)?(n(a,function(a,c){a&&(b=b.concat(c.split(" ")))}),b):a}return{restrict:"AC",
|
||||||
|
link:function(f,g,h){function l(a,b){var c=g.data("$classCounts")||ga(),d=[];n(a,function(a){if(0<b||c[a])c[a]=(c[a]||0)+b,c[a]===+(0<b)&&d.push(a)});g.data("$classCounts",c);return d.join(" ")}function k(b){if(!0===a||f.$index%2===a){var k=e(b||[]);if(!m){var n=l(k,1);h.$addClass(n)}else if(!ka(b,m)){var r=e(m),n=d(k,r),k=d(r,k),n=l(n,1),k=l(k,-1);n&&n.length&&c.addClass(g,n);k&&k.length&&c.removeClass(g,k)}}m=ia(b)}var m;f.$watch(h[b],k,!0);h.$observe("class",function(a){k(f.$eval(h[b]))});"ngClass"!==
|
||||||
|
b&&f.$watch("$index",function(c,d){var g=c&1;if(g!==(d&1)){var k=e(f.$eval(h[b]));g===a?(g=l(k,1),h.$addClass(g)):(g=l(k,-1),h.$removeClass(g))}})}}}]}function Hd(b){function a(a,b){b&&!f[a]?(k.addClass(e,a),f[a]=!0):!b&&f[a]&&(k.removeClass(e,a),f[a]=!1)}function c(b,c){b=b?"-"+zc(b,"-"):"";a(lb+b,!0===c);a(Kd+b,!1===c)}var d=b.ctrl,e=b.$element,f={},g=b.set,h=b.unset,l=b.parentForm,k=b.$animate;f[Kd]=!(f[lb]=e.hasClass(lb));d.$setValidity=function(b,e,f){e===u?(d.$pending||(d.$pending={}),g(d.$pending,
|
||||||
|
b,f)):(d.$pending&&h(d.$pending,b,f),Ld(d.$pending)&&(d.$pending=u));ab(e)?e?(h(d.$error,b,f),g(d.$$success,b,f)):(g(d.$error,b,f),h(d.$$success,b,f)):(h(d.$error,b,f),h(d.$$success,b,f));d.$pending?(a(Md,!0),d.$valid=d.$invalid=u,c("",null)):(a(Md,!1),d.$valid=Ld(d.$error),d.$invalid=!d.$valid,c("",d.$valid));e=d.$pending&&d.$pending[b]?u:d.$error[b]?!1:d.$$success[b]?!0:null;c(b,e);l.$setValidity(b,e,d)}}function Ld(b){if(b)for(var a in b)if(b.hasOwnProperty(a))return!1;return!0}var jg=/^\/(.+)\/([a-z]*)$/,
|
||||||
|
I=function(b){return H(b)?b.toLowerCase():b},Na=Object.prototype.hasOwnProperty,rb=function(b){return H(b)?b.toUpperCase():b},Va,z,la,xa=[].slice,Mf=[].splice,kg=[].push,sa=Object.prototype.toString,qc=Object.getPrototypeOf,Ea=G("ng"),aa=N.angular||(N.angular={}),Rb,mb=0;Va=W.documentMode;v.$inject=[];Za.$inject=[];var K=Array.isArray,sc=/^\[object (Uint8(Clamped)?)|(Uint16)|(Uint32)|(Int8)|(Int16)|(Int32)|(Float(32)|(64))Array\]$/,T=function(b){return H(b)?b.trim():b},ud=function(b){return b.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,
|
||||||
|
"\\$1").replace(/\x08/g,"\\x08")},Fa=function(){if(!x(Fa.rules)){var b=W.querySelector("[ng-csp]")||W.querySelector("[data-ng-csp]");if(b){var a=b.getAttribute("ng-csp")||b.getAttribute("data-ng-csp");Fa.rules={noUnsafeEval:!a||-1!==a.indexOf("no-unsafe-eval"),noInlineStyle:!a||-1!==a.indexOf("no-inline-style")}}else{b=Fa;try{new Function(""),a=!1}catch(c){a=!0}b.rules={noUnsafeEval:a,noInlineStyle:!1}}}return Fa.rules},ob=function(){if(x(ob.name_))return ob.name_;var b,a,c=Qa.length,d,e;for(a=0;a<
|
||||||
|
c;++a)if(d=Qa[a],b=W.querySelector("["+d.replace(":","\\:")+"jq]")){e=b.getAttribute(d+"jq");break}return ob.name_=e},Qa=["ng-","data-ng-","ng:","x-ng-"],be=/[A-Z]/g,Ac=!1,Qb,pa=1,Pa=3,fe={full:"1.4.5",major:1,minor:4,dot:5,codeName:"permanent-internship"};R.expando="ng339";var gb=R.cache={},Ef=1;R._data=function(b){return this.cache[b[this.expando]]||{}};var zf=/([\:\-\_]+(.))/g,Af=/^moz([A-Z])/,lg={mouseleave:"mouseout",mouseenter:"mouseover"},Tb=G("jqLite"),Df=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Sb=/<|&#?\w+;/,
|
||||||
|
Bf=/<([\w:]+)/,Cf=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,na={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};na.optgroup=na.option;na.tbody=na.tfoot=na.colgroup=na.caption=na.thead;na.th=na.td;var Ra=R.prototype={ready:function(b){function a(){c||(c=!0,b())}var c=
|
||||||
|
!1;"complete"===W.readyState?setTimeout(a):(this.on("DOMContentLoaded",a),R(N).on("load",a))},toString:function(){var b=[];n(this,function(a){b.push(""+a)});return"["+b.join(", ")+"]"},eq:function(b){return 0<=b?z(this[b]):z(this[this.length+b])},length:0,push:kg,sort:[].sort,splice:[].splice},Ab={};n("multiple selected checked disabled readOnly required open".split(" "),function(b){Ab[I(b)]=b});var Rc={};n("input select option textarea button form details".split(" "),function(b){Rc[b]=!0});var Sc=
|
||||||
|
{ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern"};n({data:Vb,removeData:ub,hasData:function(b){for(var a in gb[b.ng339])return!0;return!1}},function(b,a){R[a]=b});n({data:Vb,inheritedData:zb,scope:function(b){return z.data(b,"$scope")||zb(b.parentNode||b,["$isolateScope","$scope"])},isolateScope:function(b){return z.data(b,"$isolateScope")||z.data(b,"$isolateScopeNoTemplate")},controller:Oc,injector:function(b){return zb(b,"$injector")},removeAttr:function(b,
|
||||||
|
a){b.removeAttribute(a)},hasClass:wb,css:function(b,a,c){a=fb(a);if(x(c))b.style[a]=c;else return b.style[a]},attr:function(b,a,c){var d=b.nodeType;if(d!==Pa&&2!==d&&8!==d)if(d=I(a),Ab[d])if(x(c))c?(b[a]=!0,b.setAttribute(a,d)):(b[a]=!1,b.removeAttribute(d));else return b[a]||(b.attributes.getNamedItem(a)||v).specified?d:u;else if(x(c))b.setAttribute(a,c);else if(b.getAttribute)return b=b.getAttribute(a,2),null===b?u:b},prop:function(b,a,c){if(x(c))b[a]=c;else return b[a]},text:function(){function b(a,
|
||||||
|
b){if(y(b)){var d=a.nodeType;return d===pa||d===Pa?a.textContent:""}a.textContent=b}b.$dv="";return b}(),val:function(b,a){if(y(a)){if(b.multiple&&"select"===ta(b)){var c=[];n(b.options,function(a){a.selected&&c.push(a.value||a.text)});return 0===c.length?null:c}return b.value}b.value=a},html:function(b,a){if(y(a))return b.innerHTML;tb(b,!0);b.innerHTML=a},empty:Pc},function(b,a){R.prototype[a]=function(a,d){var e,f,g=this.length;if(b!==Pc&&(2==b.length&&b!==wb&&b!==Oc?a:d)===u){if(D(a)){for(e=0;e<
|
||||||
|
g;e++)if(b===Vb)b(this[e],a);else for(f in a)b(this[e],f,a[f]);return this}e=b.$dv;g=e===u?Math.min(g,1):g;for(f=0;f<g;f++){var h=b(this[f],a,d);e=e?e+h:h}return e}for(e=0;e<g;e++)b(this[e],a,d);return this}});n({removeData:ub,on:function a(c,d,e,f){if(x(f))throw Tb("onargs");if(Kc(c)){var g=vb(c,!0);f=g.events;var h=g.handle;h||(h=g.handle=Hf(c,f));for(var g=0<=d.indexOf(" ")?d.split(" "):[d],l=g.length;l--;){d=g[l];var k=f[d];k||(f[d]=[],"mouseenter"===d||"mouseleave"===d?a(c,lg[d],function(a){var c=
|
||||||
|
a.relatedTarget;c&&(c===this||this.contains(c))||h(a,d)}):"$destroy"!==d&&c.addEventListener(d,h,!1),k=f[d]);k.push(e)}}},off:Nc,one:function(a,c,d){a=z(a);a.on(c,function f(){a.off(c,d);a.off(c,f)});a.on(c,d)},replaceWith:function(a,c){var d,e=a.parentNode;tb(a);n(new R(c),function(c){d?e.insertBefore(c,d.nextSibling):e.replaceChild(c,a);d=c})},children:function(a){var c=[];n(a.childNodes,function(a){a.nodeType===pa&&c.push(a)});return c},contents:function(a){return a.contentDocument||a.childNodes||
|
||||||
|
[]},append:function(a,c){var d=a.nodeType;if(d===pa||11===d){c=new R(c);for(var d=0,e=c.length;d<e;d++)a.appendChild(c[d])}},prepend:function(a,c){if(a.nodeType===pa){var d=a.firstChild;n(new R(c),function(c){a.insertBefore(c,d)})}},wrap:function(a,c){c=z(c).eq(0).clone()[0];var d=a.parentNode;d&&d.replaceChild(c,a);c.appendChild(a)},remove:Wb,detach:function(a){Wb(a,!0)},after:function(a,c){var d=a,e=a.parentNode;c=new R(c);for(var f=0,g=c.length;f<g;f++){var h=c[f];e.insertBefore(h,d.nextSibling);
|
||||||
|
d=h}},addClass:yb,removeClass:xb,toggleClass:function(a,c,d){c&&n(c.split(" "),function(c){var f=d;y(f)&&(f=!wb(a,c));(f?yb:xb)(a,c)})},parent:function(a){return(a=a.parentNode)&&11!==a.nodeType?a:null},next:function(a){return a.nextElementSibling},find:function(a,c){return a.getElementsByTagName?a.getElementsByTagName(c):[]},clone:Ub,triggerHandler:function(a,c,d){var e,f,g=c.type||c,h=vb(a);if(h=(h=h&&h.events)&&h[g])e={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return!0===
|
||||||
|
this.defaultPrevented},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return!0===this.immediatePropagationStopped},stopPropagation:v,type:g,target:a},c.type&&(e=Q(e,c)),c=ia(h),f=d?[e].concat(d):[e],n(c,function(c){e.isImmediatePropagationStopped()||c.apply(a,f)})}},function(a,c){R.prototype[c]=function(c,e,f){for(var g,h=0,l=this.length;h<l;h++)y(g)?(g=a(this[h],c,e,f),x(g)&&(g=z(g))):Mc(g,a(this[h],c,e,f));return x(g)?g:this};R.prototype.bind=
|
||||||
|
R.prototype.on;R.prototype.unbind=R.prototype.off});Ua.prototype={put:function(a,c){this[Ga(a,this.nextUid)]=c},get:function(a){return this[Ga(a,this.nextUid)]},remove:function(a){var c=this[a=Ga(a,this.nextUid)];delete this[a];return c}};var xf=[function(){this.$get=[function(){return Ua}]}],Uc=/^[^\(]*\(\s*([^\)]*)\)/m,mg=/,/,ng=/^\s*(_?)(\S+?)\1\s*$/,Tc=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg,Ha=G("$injector");eb.$$annotate=function(a,c,d){var e;if("function"===typeof a){if(!(e=a.$inject)){e=[];if(a.length){if(c)throw H(d)&&
|
||||||
|
d||(d=a.name||If(a)),Ha("strictdi",d);c=a.toString().replace(Tc,"");c=c.match(Uc);n(c[1].split(mg),function(a){a.replace(ng,function(a,c,d){e.push(d)})})}a.$inject=e}}else K(a)?(c=a.length-1,Sa(a[c],"fn"),e=a.slice(0,c)):Sa(a,"fn",!0);return e};var Nd=G("$animate"),Ue=function(){this.$get=["$q","$$rAF",function(a,c){function d(){}d.all=v;d.chain=v;d.prototype={end:v,cancel:v,resume:v,pause:v,complete:v,then:function(d,f){return a(function(a){c(function(){a()})}).then(d,f)}};return d}]},Te=function(){var a=
|
||||||
|
new Ua,c=[];this.$get=["$$AnimateRunner","$rootScope",function(d,e){function f(d,f,l){var k=a.get(d);k||(a.put(d,k={}),c.push(d));d=function(a,c){var d=!1;a&&(a=H(a)?a.split(" "):K(a)?a:[],n(a,function(a){a&&(d=!0,k[a]=c)}));return d};f=d(f,!0);l=d(l,!1);!f&&!l||1<c.length||e.$$postDigest(function(){n(c,function(c){var d=a.get(c);if(d){var e=Jf(c.attr("class")),f="",g="";n(d,function(a,c){a!==!!e[c]&&(a?f+=(f.length?" ":"")+c:g+=(g.length?" ":"")+c)});n(c,function(a){f&&yb(a,f);g&&xb(a,g)});a.remove(c)}});
|
||||||
|
c.length=0})}return{enabled:v,on:v,off:v,pin:v,push:function(a,c,e,k){k&&k();e=e||{};e.from&&a.css(e.from);e.to&&a.css(e.to);(e.addClass||e.removeClass)&&f(a,e.addClass,e.removeClass);return new d}}}]},Re=["$provide",function(a){var c=this;this.$$registeredAnimations=Object.create(null);this.register=function(d,e){if(d&&"."!==d.charAt(0))throw Nd("notcsel",d);var f=d+"-animation";c.$$registeredAnimations[d.substr(1)]=f;a.factory(f,e)};this.classNameFilter=function(a){if(1===arguments.length&&(this.$$classNameFilter=
|
||||||
|
a instanceof RegExp?a:null)&&/(\s+|\/)ng-animate(\s+|\/)/.test(this.$$classNameFilter.toString()))throw Nd("nongcls","ng-animate");return this.$$classNameFilter};this.$get=["$$animateQueue",function(a){function c(a,d,e){if(e){var l;a:{for(l=0;l<e.length;l++){var k=e[l];if(1===k.nodeType){l=k;break a}}l=void 0}!l||l.parentNode||l.previousElementSibling||(e=null)}e?e.after(a):d.prepend(a)}return{on:a.on,off:a.off,pin:a.pin,enabled:a.enabled,cancel:function(a){a.end&&a.end()},enter:function(f,g,h,l){g=
|
||||||
|
g&&z(g);h=h&&z(h);g=g||h.parent();c(f,g,h);return a.push(f,"enter",Ia(l))},move:function(f,g,h,l){g=g&&z(g);h=h&&z(h);g=g||h.parent();c(f,g,h);return a.push(f,"move",Ia(l))},leave:function(c,e){return a.push(c,"leave",Ia(e),function(){c.remove()})},addClass:function(c,e,h){h=Ia(h);h.addClass=hb(h.addclass,e);return a.push(c,"addClass",h)},removeClass:function(c,e,h){h=Ia(h);h.removeClass=hb(h.removeClass,e);return a.push(c,"removeClass",h)},setClass:function(c,e,h,l){l=Ia(l);l.addClass=hb(l.addClass,
|
||||||
|
e);l.removeClass=hb(l.removeClass,h);return a.push(c,"setClass",l)},animate:function(c,e,h,l,k){k=Ia(k);k.from=k.from?Q(k.from,e):e;k.to=k.to?Q(k.to,h):h;k.tempClasses=hb(k.tempClasses,l||"ng-inline-animate");return a.push(c,"animate",k)}}}]}],Se=function(){this.$get=["$$rAF","$q",function(a,c){var d=function(){};d.prototype={done:function(a){this.defer&&this.defer[!0===a?"reject":"resolve"]()},end:function(){this.done()},cancel:function(){this.done(!0)},getPromise:function(){this.defer||(this.defer=
|
||||||
|
c.defer());return this.defer.promise},then:function(a,c){return this.getPromise().then(a,c)},"catch":function(a){return this.getPromise()["catch"](a)},"finally":function(a){return this.getPromise()["finally"](a)}};return function(c,f){function g(){a(function(){f.addClass&&(c.addClass(f.addClass),f.addClass=null);f.removeClass&&(c.removeClass(f.removeClass),f.removeClass=null);f.to&&(c.css(f.to),f.to=null);h||l.done();h=!0});return l}f.from&&(c.css(f.from),f.from=null);var h,l=new d;return{start:g,
|
||||||
|
end:g}}}]},ea=G("$compile");Cc.$inject=["$provide","$$sanitizeUriProvider"];var Xc=/^((?:x|data)[\:\-_])/i,Nf=G("$controller"),Vc=/^(\S+)(\s+as\s+(\w+))?$/,$e=function(){this.$get=["$document",function(a){return function(c){c?!c.nodeType&&c instanceof z&&(c=c[0]):c=a[0].body;return c.offsetWidth+1}}]},bd="application/json",$b={"Content-Type":bd+";charset=utf-8"},Pf=/^\[|^\{(?!\{)/,Qf={"[":/]$/,"{":/}$/},Of=/^\)\]\}',?\n/,og=G("$http"),fd=function(a){return function(){throw og("legacy",a);}},Ka=aa.$interpolateMinErr=
|
||||||
|
G("$interpolate");Ka.throwNoconcat=function(a){throw Ka("noconcat",a);};Ka.interr=function(a,c){return Ka("interr",a,c.toString())};var pg=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Tf={http:80,https:443,ftp:21},Db=G("$location"),qg={$$html5:!1,$$replace:!1,absUrl:Eb("$$absUrl"),url:function(a){if(y(a))return this.$$url;var c=pg.exec(a);(c[1]||""===a)&&this.path(decodeURIComponent(c[1]));(c[2]||c[1]||""===a)&&this.search(c[3]||"");this.hash(c[5]||"");return this},protocol:Eb("$$protocol"),host:Eb("$$host"),
|
||||||
|
port:Eb("$$port"),path:kd("$$path",function(a){a=null!==a?a.toString():"";return"/"==a.charAt(0)?a:"/"+a}),search:function(a,c){switch(arguments.length){case 0:return this.$$search;case 1:if(H(a)||X(a))a=a.toString(),this.$$search=xc(a);else if(D(a))a=fa(a,{}),n(a,function(c,e){null==c&&delete a[e]}),this.$$search=a;else throw Db("isrcharg");break;default:y(c)||null===c?delete this.$$search[a]:this.$$search[a]=c}this.$$compose();return this},hash:kd("$$hash",function(a){return null!==a?a.toString():
|
||||||
|
""}),replace:function(){this.$$replace=!0;return this}};n([jd,cc,bc],function(a){a.prototype=Object.create(qg);a.prototype.state=function(c){if(!arguments.length)return this.$$state;if(a!==bc||!this.$$html5)throw Db("nostate");this.$$state=y(c)?null:c;return this}});var da=G("$parse"),Uf=Function.prototype.call,Vf=Function.prototype.apply,Wf=Function.prototype.bind,Lb=ga();n("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(a){Lb[a]=!0});var rg={n:"\n",f:"\f",r:"\r",t:"\t",v:"\v",
|
||||||
|
"'":"'",'"':'"'},ec=function(a){this.options=a};ec.prototype={constructor:ec,lex:function(a){this.text=a;this.index=0;for(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 c=a+
|
||||||
|
this.peek(),d=c+this.peek(2),e=Lb[c],f=Lb[d];Lb[a]||e||f?(a=f?d:e?c: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,c){return-1!==c.indexOf(a)},peek:function(a){a=a||1;return this.index+a<this.text.length?this.text.charAt(this.index+a):!1},isNumber:function(a){return"0"<=a&&"9">=a&&"string"===typeof a},isWhitespace:function(a){return" "===a||"\r"===a||"\t"===a||"\n"===
|
||||||
|
a||"\v"===a||"\u00a0"===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,c,d){d=d||this.index;c=x(c)?"s "+c+"-"+this.index+" ["+this.text.substring(c,d)+"]":" "+d;throw da("lexerr",a,c,this.text);},readNumber:function(){for(var a="",c=this.index;this.index<this.text.length;){var d=I(this.text.charAt(this.index));if("."==d||this.isNumber(d))a+=d;else{var e=this.peek();if("e"==d&&
|
||||||
|
this.isExpOperator(e))a+=d;else if(this.isExpOperator(d)&&e&&this.isNumber(e)&&"e"==a.charAt(a.length-1))a+=d;else if(!this.isExpOperator(d)||e&&this.isNumber(e)||"e"!=a.charAt(a.length-1))break;else this.throwError("Invalid exponent")}this.index++}this.tokens.push({index:c,text:a,constant:!0,value:Number(a)})},readIdent:function(){for(var a=this.index;this.index<this.text.length;){var c=this.text.charAt(this.index);if(!this.isIdent(c)&&!this.isNumber(c))break;this.index++}this.tokens.push({index:a,
|
||||||
|
text:this.text.slice(a,this.index),identifier:!0})},readString:function(a){var c=this.index;this.index++;for(var d="",e=a,f=!1;this.index<this.text.length;){var g=this.text.charAt(this.index),e=e+g;if(f)"u"===g?(f=this.text.substring(this.index+1,this.index+5),f.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+f+"]"),this.index+=4,d+=String.fromCharCode(parseInt(f,16))):d+=rg[g]||g,f=!1;else if("\\"===g)f=!0;else{if(g===a){this.index++;this.tokens.push({index:c,text:e,constant:!0,
|
||||||
|
value:d});return}d+=g}this.index++}this.throwError("Unterminated quote",c)}};var r=function(a,c){this.lexer=a;this.options=c};r.Program="Program";r.ExpressionStatement="ExpressionStatement";r.AssignmentExpression="AssignmentExpression";r.ConditionalExpression="ConditionalExpression";r.LogicalExpression="LogicalExpression";r.BinaryExpression="BinaryExpression";r.UnaryExpression="UnaryExpression";r.CallExpression="CallExpression";r.MemberExpression="MemberExpression";r.Identifier="Identifier";r.Literal=
|
||||||
|
"Literal";r.ArrayExpression="ArrayExpression";r.Property="Property";r.ObjectExpression="ObjectExpression";r.ThisExpression="ThisExpression";r.NGValueParameter="NGValueParameter";r.prototype={ast:function(a){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]);return a},program:function(){for(var a=[];;)if(0<this.tokens.length&&!this.peek("}",")",";","]")&&a.push(this.expressionStatement()),!this.expect(";"))return{type:r.Program,
|
||||||
|
body:a}},expressionStatement:function(){return{type:r.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();this.expect("=")&&(a={type:r.AssignmentExpression,left:a,right:this.assignment(),operator:"="});return a},ternary:function(){var a=this.logicalOR(),c,d;return this.expect("?")&&(c=this.expression(),this.consume(":"))?
|
||||||
|
(d=this.expression(),{type:r.ConditionalExpression,test:a,alternate:c,consequent:d}):a},logicalOR:function(){for(var a=this.logicalAND();this.expect("||");)a={type:r.LogicalExpression,operator:"||",left:a,right:this.logicalAND()};return a},logicalAND:function(){for(var a=this.equality();this.expect("&&");)a={type:r.LogicalExpression,operator:"&&",left:a,right:this.equality()};return a},equality:function(){for(var a=this.relational(),c;c=this.expect("==","!=","===","!==");)a={type:r.BinaryExpression,
|
||||||
|
operator:c.text,left:a,right:this.relational()};return a},relational:function(){for(var a=this.additive(),c;c=this.expect("<",">","<=",">=");)a={type:r.BinaryExpression,operator:c.text,left:a,right:this.additive()};return a},additive:function(){for(var a=this.multiplicative(),c;c=this.expect("+","-");)a={type:r.BinaryExpression,operator:c.text,left:a,right:this.multiplicative()};return a},multiplicative:function(){for(var a=this.unary(),c;c=this.expect("*","/","%");)a={type:r.BinaryExpression,operator:c.text,
|
||||||
|
left:a,right:this.unary()};return a},unary:function(){var a;return(a=this.expect("+","-","!"))?{type:r.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=fa(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 c;c=this.expect("(","[",".");)"("===c.text?(a={type:r.CallExpression,callee:a,arguments:this.parseArguments()},this.consume(")")):"["===c.text?(a={type:r.MemberExpression,object:a,property:this.expression(),computed:!0},this.consume("]")):"."===c.text?a={type:r.MemberExpression,object:a,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return a},filter:function(a){a=[a];for(var c={type:r.CallExpression,callee:this.identifier(),
|
||||||
|
arguments:a,filter:!0};this.expect(":");)a.push(this.expression());return c},parseArguments:function(){var a=[];if(")"!==this.peekToken().text){do a.push(this.expression());while(this.expect(","))}return a},identifier:function(){var a=this.consume();a.identifier||this.throwError("is not a valid identifier",a);return{type:r.Identifier,name:a.text}},constant:function(){return{type:r.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(","))}this.consume("]");return{type:r.ArrayExpression,elements:a}},object:function(){var a=[],c;if("}"!==this.peekToken().text){do{if(this.peek("}"))break;c={type:r.Property,kind:"init"};this.peek().constant?c.key=this.constant():this.peek().identifier?c.key=this.identifier():this.throwError("invalid key",this.peek());this.consume(":");c.value=this.expression();a.push(c)}while(this.expect(","))}this.consume("}");return{type:r.ObjectExpression,properties:a}},
|
||||||
|
throwError:function(a,c){throw da("syntax",c.text,a,c.index+1,this.text,this.text.substring(c.index));},consume:function(a){if(0===this.tokens.length)throw da("ueoe",this.text);var c=this.expect(a);c||this.throwError("is unexpected, expecting ["+a+"]",this.peek());return c},peekToken:function(){if(0===this.tokens.length)throw da("ueoe",this.text);return this.tokens[0]},peek:function(a,c,d,e){return this.peekAhead(0,a,c,d,e)},peekAhead:function(a,c,d,e,f){if(this.tokens.length>a){a=this.tokens[a];
|
||||||
|
var g=a.text;if(g===c||g===d||g===e||g===f||!(c||d||e||f))return a}return!1},expect:function(a,c,d,e){return(a=this.peek(a,c,d,e))?(this.tokens.shift(),a):!1},constants:{"true":{type:r.Literal,value:!0},"false":{type:r.Literal,value:!1},"null":{type:r.Literal,value:null},undefined:{type:r.Literal,value:u},"this":{type:r.ThisExpression}}};rd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.state={nextId:0,filters:{},expensiveChecks:c,fn:{vars:[],body:[],own:{}},assign:{vars:[],
|
||||||
|
body:[],own:{}},inputs:[]};U(e,d.$filter);var f="",g;this.stage="assign";if(g=pd(e))this.state.computing="assign",f=this.nextId(),this.recurse(g,f),f="fn.assign="+this.generateFunction("assign","s,v,l");g=nd(e.body);d.stage="inputs";n(g,function(a,c){var e="fn"+c;d.state[e]={vars:[],body:[],own:{}};d.state.computing=e;var f=d.nextId();d.recurse(a,f);d.return_(f);d.state.inputs.push(e);a.watchId=c});this.state.computing="fn";this.stage="main";this.recurse(e);f='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+
|
||||||
|
"var fn="+this.generateFunction("fn","s,l,a,i")+f+this.watchFns()+"return fn;";f=(new Function("$filter","ensureSafeMemberName","ensureSafeObject","ensureSafeFunction","ifDefined","plus","text",f))(this.$filter,Wa,Ba,ld,Xf,md,a);this.state=this.stage=u;f.literal=qd(e);f.constant=e.constant;return f},USE:"use",STRICT:"strict",watchFns:function(){var a=[],c=this.state.inputs,d=this;n(c,function(c){a.push("var "+c+"="+d.generateFunction(c,"s"))});c.length&&a.push("fn.inputs=["+c.join(",")+"];");return a.join("")},
|
||||||
|
generateFunction:function(a,c){return"function("+c+"){"+this.varsPrefix(a)+this.body(a)+"};"},filterPrefix:function(){var a=[],c=this;n(this.state.filters,function(d,e){a.push(d+"=$filter("+c.escape(e)+")")});return 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,c,d,e,f,g){var h,l,k=this,m,q;e=e||v;if(!g&&x(a.watchId))c=c||this.nextId(),this.if_("i",
|
||||||
|
this.lazyAssign(c,this.computedMember("i",a.watchId)),this.lazyRecurse(a,c,d,e,f,!0));else switch(a.type){case r.Program:n(a.body,function(c,d){k.recurse(c.expression,u,u,function(a){l=a});d!==a.body.length-1?k.current().body.push(l,";"):k.return_(l)});break;case r.Literal:q=this.escape(a.value);this.assign(c,q);e(q);break;case r.UnaryExpression:this.recurse(a.argument,u,u,function(a){l=a});q=a.operator+"("+this.ifDefined(l,0)+")";this.assign(c,q);e(q);break;case r.BinaryExpression:this.recurse(a.left,
|
||||||
|
u,u,function(a){h=a});this.recurse(a.right,u,u,function(a){l=a});q="+"===a.operator?this.plus(h,l):"-"===a.operator?this.ifDefined(h,0)+a.operator+this.ifDefined(l,0):"("+h+")"+a.operator+"("+l+")";this.assign(c,q);e(q);break;case r.LogicalExpression:c=c||this.nextId();k.recurse(a.left,c);k.if_("&&"===a.operator?c:k.not(c),k.lazyRecurse(a.right,c));e(c);break;case r.ConditionalExpression:c=c||this.nextId();k.recurse(a.test,c);k.if_(c,k.lazyRecurse(a.alternate,c),k.lazyRecurse(a.consequent,c));e(c);
|
||||||
|
break;case r.Identifier:c=c||this.nextId();d&&(d.context="inputs"===k.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",a.name)+"?l:s"),d.computed=!1,d.name=a.name);Wa(a.name);k.if_("inputs"===k.stage||k.not(k.getHasOwnProperty("l",a.name)),function(){k.if_("inputs"===k.stage||"s",function(){f&&1!==f&&k.if_(k.not(k.nonComputedMember("s",a.name)),k.lazyAssign(k.nonComputedMember("s",a.name),"{}"));k.assign(c,k.nonComputedMember("s",a.name))})},c&&k.lazyAssign(c,k.nonComputedMember("l",
|
||||||
|
a.name)));(k.state.expensiveChecks||Fb(a.name))&&k.addEnsureSafeObject(c);e(c);break;case r.MemberExpression:h=d&&(d.context=this.nextId())||this.nextId();c=c||this.nextId();k.recurse(a.object,h,u,function(){k.if_(k.notNull(h),function(){if(a.computed)l=k.nextId(),k.recurse(a.property,l),k.addEnsureSafeMemberName(l),f&&1!==f&&k.if_(k.not(k.computedMember(h,l)),k.lazyAssign(k.computedMember(h,l),"{}")),q=k.ensureSafeObject(k.computedMember(h,l)),k.assign(c,q),d&&(d.computed=!0,d.name=l);else{Wa(a.property.name);
|
||||||
|
f&&1!==f&&k.if_(k.not(k.nonComputedMember(h,a.property.name)),k.lazyAssign(k.nonComputedMember(h,a.property.name),"{}"));q=k.nonComputedMember(h,a.property.name);if(k.state.expensiveChecks||Fb(a.property.name))q=k.ensureSafeObject(q);k.assign(c,q);d&&(d.computed=!1,d.name=a.property.name)}},function(){k.assign(c,"undefined")});e(c)},!!f);break;case r.CallExpression:c=c||this.nextId();a.filter?(l=k.filter(a.callee.name),m=[],n(a.arguments,function(a){var c=k.nextId();k.recurse(a,c);m.push(c)}),q=l+
|
||||||
|
"("+m.join(",")+")",k.assign(c,q),e(c)):(l=k.nextId(),h={},m=[],k.recurse(a.callee,l,h,function(){k.if_(k.notNull(l),function(){k.addEnsureSafeFunction(l);n(a.arguments,function(a){k.recurse(a,k.nextId(),u,function(a){m.push(k.ensureSafeObject(a))})});h.name?(k.state.expensiveChecks||k.addEnsureSafeObject(h.context),q=k.member(h.context,h.name,h.computed)+"("+m.join(",")+")"):q=l+"("+m.join(",")+")";q=k.ensureSafeObject(q);k.assign(c,q)},function(){k.assign(c,"undefined")});e(c)}));break;case r.AssignmentExpression:l=
|
||||||
|
this.nextId();h={};if(!od(a.left))throw da("lval");this.recurse(a.left,u,h,function(){k.if_(k.notNull(h.context),function(){k.recurse(a.right,l);k.addEnsureSafeObject(k.member(h.context,h.name,h.computed));q=k.member(h.context,h.name,h.computed)+a.operator+l;k.assign(c,q);e(c||q)})},1);break;case r.ArrayExpression:m=[];n(a.elements,function(a){k.recurse(a,k.nextId(),u,function(a){m.push(a)})});q="["+m.join(",")+"]";this.assign(c,q);e(q);break;case r.ObjectExpression:m=[];n(a.properties,function(a){k.recurse(a.value,
|
||||||
|
k.nextId(),u,function(c){m.push(k.escape(a.key.type===r.Identifier?a.key.name:""+a.key.value)+":"+c)})});q="{"+m.join(",")+"}";this.assign(c,q);e(q);break;case r.ThisExpression:this.assign(c,"s");e("s");break;case r.NGValueParameter:this.assign(c,"v"),e("v")}},getHasOwnProperty:function(a,c){var d=a+"."+c,e=this.current().own;e.hasOwnProperty(d)||(e[d]=this.nextId(!1,a+"&&("+this.escape(c)+" in "+a+")"));return e[d]},assign:function(a,c){if(a)return this.current().body.push(a,"=",c,";"),a},filter:function(a){this.state.filters.hasOwnProperty(a)||
|
||||||
|
(this.state.filters[a]=this.nextId(!0));return this.state.filters[a]},ifDefined:function(a,c){return"ifDefined("+a+","+this.escape(c)+")"},plus:function(a,c){return"plus("+a+","+c+")"},return_:function(a){this.current().body.push("return ",a,";")},if_:function(a,c,d){if(!0===a)c();else{var e=this.current().body;e.push("if(",a,"){");c();e.push("}");d&&(e.push("else{"),d(),e.push("}"))}},not:function(a){return"!("+a+")"},notNull:function(a){return a+"!=null"},nonComputedMember:function(a,c){return a+
|
||||||
|
"."+c},computedMember:function(a,c){return a+"["+c+"]"},member:function(a,c,d){return d?this.computedMember(a,c):this.nonComputedMember(a,c)},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),";")},ensureSafeObject:function(a){return"ensureSafeObject("+a+",text)"},ensureSafeMemberName:function(a){return"ensureSafeMemberName("+
|
||||||
|
a+",text)"},ensureSafeFunction:function(a){return"ensureSafeFunction("+a+",text)"},lazyRecurse:function(a,c,d,e,f,g){var h=this;return function(){h.recurse(a,c,d,e,f,g)}},lazyAssign:function(a,c){var d=this;return function(){d.assign(a,c)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)},escape:function(a){if(H(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 da("esc");},nextId:function(a,c){var d="v"+this.state.nextId++;a||this.current().vars.push(d+(c?"="+c:""));return d},current:function(){return this.state[this.state.computing]}};sd.prototype={compile:function(a,c){var d=this,e=this.astBuilder.ast(a);this.expression=a;this.expensiveChecks=c;U(e,d.$filter);var f,g;if(f=pd(e))g=this.recurse(f);f=nd(e.body);var h;f&&(h=[],n(f,function(a,c){var e=d.recurse(a);
|
||||||
|
a.input=e;h.push(e);a.watchId=c}));var l=[];n(e.body,function(a){l.push(d.recurse(a.expression))});f=0===e.body.length?function(){}:1===e.body.length?l[0]:function(a,c){var d;n(l,function(e){d=e(a,c)});return d};g&&(f.assign=function(a,c,d){return g(a,d,c)});h&&(f.inputs=h);f.literal=qd(e);f.constant=e.constant;return f},recurse:function(a,c,d){var e,f,g=this,h;if(a.input)return this.inputs(a.input,a.watchId);switch(a.type){case r.Literal:return this.value(a.value,c);case r.UnaryExpression:return f=
|
||||||
|
this.recurse(a.argument),this["unary"+a.operator](f,c);case r.BinaryExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case r.LogicalExpression:return e=this.recurse(a.left),f=this.recurse(a.right),this["binary"+a.operator](e,f,c);case r.ConditionalExpression:return this["ternary?:"](this.recurse(a.test),this.recurse(a.alternate),this.recurse(a.consequent),c);case r.Identifier:return Wa(a.name,g.expression),g.identifier(a.name,g.expensiveChecks||Fb(a.name),
|
||||||
|
c,d,g.expression);case r.MemberExpression:return e=this.recurse(a.object,!1,!!d),a.computed||(Wa(a.property.name,g.expression),f=a.property.name),a.computed&&(f=this.recurse(a.property)),a.computed?this.computedMember(e,f,c,d,g.expression):this.nonComputedMember(e,f,g.expensiveChecks,c,d,g.expression);case r.CallExpression:return h=[],n(a.arguments,function(a){h.push(g.recurse(a))}),a.filter&&(f=this.$filter(a.callee.name)),a.filter||(f=this.recurse(a.callee,!0)),a.filter?function(a,d,e,g){for(var n=
|
||||||
|
[],t=0;t<h.length;++t)n.push(h[t](a,d,e,g));a=f.apply(u,n,g);return c?{context:u,name:u,value:a}:a}:function(a,d,e,q){var n=f(a,d,e,q),t;if(null!=n.value){Ba(n.context,g.expression);ld(n.value,g.expression);t=[];for(var r=0;r<h.length;++r)t.push(Ba(h[r](a,d,e,q),g.expression));t=Ba(n.value.apply(n.context,t),g.expression)}return c?{value:t}:t};case r.AssignmentExpression:return e=this.recurse(a.left,!0,1),f=this.recurse(a.right),function(a,d,h,q){var n=e(a,d,h,q);a=f(a,d,h,q);Ba(n.value,g.expression);
|
||||||
|
n.context[n.name]=a;return c?{value:a}:a};case r.ArrayExpression:return h=[],n(a.elements,function(a){h.push(g.recurse(a))}),function(a,d,e,f){for(var g=[],n=0;n<h.length;++n)g.push(h[n](a,d,e,f));return c?{value:g}:g};case r.ObjectExpression:return h=[],n(a.properties,function(a){h.push({key:a.key.type===r.Identifier?a.key.name:""+a.key.value,value:g.recurse(a.value)})}),function(a,d,e,f){for(var g={},n=0;n<h.length;++n)g[h[n].key]=h[n].value(a,d,e,f);return c?{value:g}:g};case r.ThisExpression:return function(a){return c?
|
||||||
|
{value:a}:a};case r.NGValueParameter:return function(a,d,e,f){return c?{value:e}:e}}},"unary+":function(a,c){return function(d,e,f,g){d=a(d,e,f,g);d=x(d)?+d:0;return c?{value:d}:d}},"unary-":function(a,c){return function(d,e,f,g){d=a(d,e,f,g);d=x(d)?-d:0;return c?{value:d}:d}},"unary!":function(a,c){return function(d,e,f,g){d=!a(d,e,f,g);return c?{value:d}:d}},"binary+":function(a,c,d){return function(e,f,g,h){var l=a(e,f,g,h);e=c(e,f,g,h);l=md(l,e);return d?{value:l}:l}},"binary-":function(a,c,d){return function(e,
|
||||||
|
f,g,h){var l=a(e,f,g,h);e=c(e,f,g,h);l=(x(l)?l:0)-(x(e)?e:0);return d?{value:l}:l}},"binary*":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)*c(e,f,g,h);return d?{value:e}:e}},"binary/":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)/c(e,f,g,h);return d?{value:e}:e}},"binary%":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)%c(e,f,g,h);return d?{value:e}:e}},"binary===":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)===c(e,f,g,h);return d?{value:e}:e}},"binary!==":function(a,
|
||||||
|
c,d){return function(e,f,g,h){e=a(e,f,g,h)!==c(e,f,g,h);return d?{value:e}:e}},"binary==":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)==c(e,f,g,h);return d?{value:e}:e}},"binary!=":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)!=c(e,f,g,h);return d?{value:e}:e}},"binary<":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)<c(e,f,g,h);return d?{value:e}:e}},"binary>":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)>c(e,f,g,h);return d?{value:e}:e}},"binary<=":function(a,c,d){return function(e,
|
||||||
|
f,g,h){e=a(e,f,g,h)<=c(e,f,g,h);return d?{value:e}:e}},"binary>=":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)>=c(e,f,g,h);return d?{value:e}:e}},"binary&&":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)&&c(e,f,g,h);return d?{value:e}:e}},"binary||":function(a,c,d){return function(e,f,g,h){e=a(e,f,g,h)||c(e,f,g,h);return d?{value:e}:e}},"ternary?:":function(a,c,d,e){return function(f,g,h,l){f=a(f,g,h,l)?c(f,g,h,l):d(f,g,h,l);return e?{value:f}:f}},value:function(a,c){return function(){return c?
|
||||||
|
{context:u,name:u,value:a}:a}},identifier:function(a,c,d,e,f){return function(g,h,l,k){g=h&&a in h?h:g;e&&1!==e&&g&&!g[a]&&(g[a]={});h=g?g[a]:u;c&&Ba(h,f);return d?{context:g,name:a,value:h}:h}},computedMember:function(a,c,d,e,f){return function(g,h,l,k){var m=a(g,h,l,k),q,n;null!=m&&(q=c(g,h,l,k),Wa(q,f),e&&1!==e&&m&&!m[q]&&(m[q]={}),n=m[q],Ba(n,f));return d?{context:m,name:q,value:n}:n}},nonComputedMember:function(a,c,d,e,f,g){return function(h,l,k,m){h=a(h,l,k,m);f&&1!==f&&h&&!h[c]&&(h[c]={});
|
||||||
|
l=null!=h?h[c]:u;(d||Fb(c))&&Ba(l,g);return e?{context:h,name:c,value:l}:l}},inputs:function(a,c){return function(d,e,f,g){return g?g[c]:a(d,e,f)}}};var fc=function(a,c,d){this.lexer=a;this.$filter=c;this.options=d;this.ast=new r(this.lexer);this.astCompiler=d.csp?new sd(this.ast,c):new rd(this.ast,c)};fc.prototype={constructor:fc,parse:function(a){return this.astCompiler.compile(a,this.options.expensiveChecks)}};ga();ga();var Yf=Object.prototype.valueOf,Ca=G("$sce"),oa={HTML:"html",CSS:"css",URL:"url",
|
||||||
|
RESOURCE_URL:"resourceUrl",JS:"js"},ea=G("$compile"),Z=W.createElement("a"),wd=Aa(N.location.href);xd.$inject=["$document"];Jc.$inject=["$provide"];yd.$inject=["$locale"];Ad.$inject=["$locale"];var Dd=".",hg={yyyy:$("FullYear",4),yy:$("FullYear",2,0,!0),y:$("FullYear",1),MMMM:Hb("Month"),MMM:Hb("Month",!0),MM:$("Month",2,1),M:$("Month",1,1),dd:$("Date",2),d:$("Date",1),HH:$("Hours",2),H:$("Hours",1),hh:$("Hours",2,-12),h:$("Hours",1,-12),mm:$("Minutes",2),m:$("Minutes",1),ss:$("Seconds",2),s:$("Seconds",
|
||||||
|
1),sss:$("Milliseconds",3),EEEE:Hb("Day"),EEE:Hb("Day",!0),a:function(a,c){return 12>a.getHours()?c.AMPMS[0]:c.AMPMS[1]},Z:function(a,c,d){a=-1*d;return a=(0<=a?"+":"")+(Gb(Math[0<a?"floor":"ceil"](a/60),2)+Gb(Math.abs(a%60),2))},ww:Fd(2),w:Fd(1),G:hc,GG:hc,GGG:hc,GGGG:function(a,c){return 0>=a.getFullYear()?c.ERANAMES[0]:c.ERANAMES[1]}},gg=/((?:[^yMdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,fg=/^\-?\d+$/;zd.$inject=["$locale"];var cg=qa(I),dg=qa(rb);Bd.$inject=
|
||||||
|
["$parse"];var he=qa({restrict:"E",compile:function(a,c){if(!c.href&&!c.xlinkHref)return function(a,c){if("a"===c[0].nodeName.toLowerCase()){var f="[object SVGAnimatedString]"===sa.call(c.prop("href"))?"xlink:href":"href";c.on("click",function(a){c.attr(f)||a.preventDefault()})}}}}),sb={};n(Ab,function(a,c){function d(a,d,f){a.$watch(f[e],function(a){f.$set(c,!!a)})}if("multiple"!=a){var e=va("ng-"+c),f=d;"checked"===a&&(f=function(a,c,f){f.ngModel!==f[e]&&d(a,c,f)});sb[e]=function(){return{restrict:"A",
|
||||||
|
priority:100,link:f}}}});n(Sc,function(a,c){sb[c]=function(){return{priority:100,link:function(a,e,f){if("ngPattern"===c&&"/"==f.ngPattern.charAt(0)&&(e=f.ngPattern.match(jg))){f.$set("ngPattern",new RegExp(e[1],e[2]));return}a.$watch(f[c],function(a){f.$set(c,a)})}}}});n(["src","srcset","href"],function(a){var c=va("ng-"+a);sb[c]=function(){return{priority:99,link:function(d,e,f){var g=a,h=a;"href"===a&&"[object SVGAnimatedString]"===sa.call(e.prop("href"))&&(h="xlinkHref",f.$attr[h]="xlink:href",
|
||||||
|
g=null);f.$observe(c,function(c){c?(f.$set(h,c),Va&&g&&e.prop(g,f[h])):"href"===a&&f.$set(h,null)})}}}});var Ib={$addControl:v,$$renameControl:function(a,c){a.$name=c},$removeControl:v,$setValidity:v,$setDirty:v,$setPristine:v,$setSubmitted:v};Gd.$inject=["$element","$attrs","$scope","$animate","$interpolate"];var Od=function(a){return["$timeout","$parse",function(c,d){function e(a){return""===a?d('this[""]').assign:d(a).assign||v}return{name:"form",restrict:a?"EAC":"E",controller:Gd,compile:function(d,
|
||||||
|
g){d.addClass(Xa).addClass(lb);var h=g.name?"name":a&&g.ngForm?"ngForm":!1;return{pre:function(a,d,f,g){if(!("action"in f)){var n=function(c){a.$apply(function(){g.$commitViewValue();g.$setSubmitted()});c.preventDefault()};d[0].addEventListener("submit",n,!1);d.on("$destroy",function(){c(function(){d[0].removeEventListener("submit",n,!1)},0,!1)})}var t=g.$$parentForm,r=h?e(g.$name):v;h&&(r(a,g),f.$observe(h,function(c){g.$name!==c&&(r(a,u),t.$$renameControl(g,c),r=e(g.$name),r(a,g))}));d.on("$destroy",
|
||||||
|
function(){t.$removeControl(g);r(a,u);Q(g,Ib)})}}}}}]},ie=Od(),ve=Od(!0),ig=/\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/,sg=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,tg=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,ug=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,Pd=/^(\d{4})-(\d{2})-(\d{2})$/,Qd=/^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,kc=/^(\d{4})-W(\d\d)$/,
|
||||||
|
Rd=/^(\d{4})-(\d\d)$/,Sd=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,Td={text:function(a,c,d,e,f,g){ib(a,c,d,e,f,g);ic(e)},date:jb("date",Pd,Kb(Pd,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":jb("datetimelocal",Qd,Kb(Qd,"yyyy MM dd HH mm ss sss".split(" ")),"yyyy-MM-ddTHH:mm:ss.sss"),time:jb("time",Sd,Kb(Sd,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:jb("week",kc,function(a,c){if(ca(a))return a;if(H(a)){kc.lastIndex=0;var d=kc.exec(a);if(d){var e=+d[1],f=+d[2],g=d=0,h=0,l=0,k=Ed(e),f=7*(f-1);
|
||||||
|
c&&(d=c.getHours(),g=c.getMinutes(),h=c.getSeconds(),l=c.getMilliseconds());return new Date(e,0,k.getDate()+f,d,g,h,l)}}return NaN},"yyyy-Www"),month:jb("month",Rd,Kb(Rd,["yyyy","MM"]),"yyyy-MM"),number:function(a,c,d,e,f,g){Id(a,c,d,e);ib(a,c,d,e,f,g);e.$$parserName="number";e.$parsers.push(function(a){return e.$isEmpty(a)?null:ug.test(a)?parseFloat(a):u});e.$formatters.push(function(a){if(!e.$isEmpty(a)){if(!X(a))throw kb("numfmt",a);a=a.toString()}return a});if(x(d.min)||d.ngMin){var h;e.$validators.min=
|
||||||
|
function(a){return e.$isEmpty(a)||y(h)||a>=h};d.$observe("min",function(a){x(a)&&!X(a)&&(a=parseFloat(a,10));h=X(a)&&!isNaN(a)?a:u;e.$validate()})}if(x(d.max)||d.ngMax){var l;e.$validators.max=function(a){return e.$isEmpty(a)||y(l)||a<=l};d.$observe("max",function(a){x(a)&&!X(a)&&(a=parseFloat(a,10));l=X(a)&&!isNaN(a)?a:u;e.$validate()})}},url:function(a,c,d,e,f,g){ib(a,c,d,e,f,g);ic(e);e.$$parserName="url";e.$validators.url=function(a,c){var d=a||c;return e.$isEmpty(d)||sg.test(d)}},email:function(a,
|
||||||
|
c,d,e,f,g){ib(a,c,d,e,f,g);ic(e);e.$$parserName="email";e.$validators.email=function(a,c){var d=a||c;return e.$isEmpty(d)||tg.test(d)}},radio:function(a,c,d,e){y(d.name)&&c.attr("name",++mb);c.on("click",function(a){c[0].checked&&e.$setViewValue(d.value,a&&a.type)});e.$render=function(){c[0].checked=d.value==e.$viewValue};d.$observe("value",e.$render)},checkbox:function(a,c,d,e,f,g,h,l){var k=Jd(l,a,"ngTrueValue",d.ngTrueValue,!0),m=Jd(l,a,"ngFalseValue",d.ngFalseValue,!1);c.on("click",function(a){e.$setViewValue(c[0].checked,
|
||||||
|
a&&a.type)});e.$render=function(){c[0].checked=e.$viewValue};e.$isEmpty=function(a){return!1===a};e.$formatters.push(function(a){return ka(a,k)});e.$parsers.push(function(a){return a?k:m})},hidden:v,button:v,submit:v,reset:v,file:v},Dc=["$browser","$sniffer","$filter","$parse",function(a,c,d,e){return{restrict:"E",require:["?ngModel"],link:{pre:function(f,g,h,l){l[0]&&(Td[I(h.type)]||Td.text)(f,g,h,l[0],c,a,d,e)}}}}],vg=/^(true|false|\d+)$/,Ne=function(){return{restrict:"A",priority:100,compile:function(a,
|
||||||
|
c){return vg.test(c.ngValue)?function(a,c,f){f.$set("value",a.$eval(f.ngValue))}:function(a,c,f){a.$watch(f.ngValue,function(a){f.$set("value",a)})}}}},ne=["$compile",function(a){return{restrict:"AC",compile:function(c){a.$$addBindingClass(c);return function(c,e,f){a.$$addBindingInfo(e,f.ngBind);e=e[0];c.$watch(f.ngBind,function(a){e.textContent=a===u?"":a})}}}}],pe=["$interpolate","$compile",function(a,c){return{compile:function(d){c.$$addBindingClass(d);return function(d,f,g){d=a(f.attr(g.$attr.ngBindTemplate));
|
||||||
|
c.$$addBindingInfo(f,d.expressions);f=f[0];g.$observe("ngBindTemplate",function(a){f.textContent=a===u?"":a})}}}}],oe=["$sce","$parse","$compile",function(a,c,d){return{restrict:"A",compile:function(e,f){var g=c(f.ngBindHtml),h=c(f.ngBindHtml,function(a){return(a||"").toString()});d.$$addBindingClass(e);return function(c,e,f){d.$$addBindingInfo(e,f.ngBindHtml);c.$watch(h,function(){e.html(a.getTrustedHtml(g(c))||"")})}}}}],Me=qa({restrict:"A",require:"ngModel",link:function(a,c,d,e){e.$viewChangeListeners.push(function(){a.$eval(d.ngChange)})}}),
|
||||||
|
qe=jc("",!0),se=jc("Odd",0),re=jc("Even",1),te=Ma({compile:function(a,c){c.$set("ngCloak",u);a.removeClass("ng-cloak")}}),ue=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],Ic={},wg={blur:!0,focus:!0};n("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var c=va("ng-"+a);Ic[c]=["$parse","$rootScope",function(d,e){return{restrict:"A",compile:function(f,g){var h=
|
||||||
|
d(g[c],null,!0);return function(c,d){d.on(a,function(d){var f=function(){h(c,{$event:d})};wg[a]&&e.$$phase?c.$evalAsync(f):c.$apply(f)})}}}}]});var xe=["$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,l,k;c.$watch(e.ngIf,function(c){c?l||g(function(c,f){l=f;c[c.length++]=W.createComment(" end ngIf: "+e.ngIf+" ");h={clone:c};a.enter(c,d.parent(),d)}):(k&&(k.remove(),k=null),l&&(l.$destroy(),l=null),h&&(k=
|
||||||
|
qb(h.clone),a.leave(k).then(function(){k=null}),h=null))})}}}],ye=["$templateRequest","$anchorScroll","$animate",function(a,c,d){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:aa.noop,compile:function(e,f){var g=f.ngInclude||f.src,h=f.onload||"",l=f.autoscroll;return function(e,f,n,s,r){var u=0,v,w,p,A=function(){w&&(w.remove(),w=null);v&&(v.$destroy(),v=null);p&&(d.leave(p).then(function(){w=null}),w=p,p=null)};e.$watch(g,function(g){var n=function(){!x(l)||l&&!e.$eval(l)||
|
||||||
|
c()},q=++u;g?(a(g,!0).then(function(a){if(q===u){var c=e.$new();s.template=a;a=r(c,function(a){A();d.enter(a,null,f).then(n)});v=c;p=a;v.$emit("$includeContentLoaded",g);e.$eval(h)}},function(){q===u&&(A(),e.$emit("$includeContentError",g))}),e.$emit("$includeContentRequested",g)):(A(),s.template=null)})}}}}],Pe=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(c,d,e,f){/SVG/.test(d[0].toString())?(d.empty(),a(Lc(f.template,W).childNodes)(c,function(a){d.append(a)},
|
||||||
|
{futureParentElement:d})):(d.html(f.template),a(d.contents())(c))}}}],ze=Ma({priority:450,compile:function(){return{pre:function(a,c,d){a.$eval(d.ngInit)}}}}),Le=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(a,c,d,e){var f=c.attr(d.$attr.ngList)||", ",g="false"!==d.ngTrim,h=g?T(f):f;e.$parsers.push(function(a){if(!y(a)){var c=[];a&&n(a.split(h),function(a){a&&c.push(g?T(a):a)});return c}});e.$formatters.push(function(a){return K(a)?a.join(f):u});e.$isEmpty=function(a){return!a||
|
||||||
|
!a.length}}}},lb="ng-valid",Kd="ng-invalid",Xa="ng-pristine",Jb="ng-dirty",Md="ng-pending",kb=G("ngModel"),xg=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$rootScope","$q","$interpolate",function(a,c,d,e,f,g,h,l,k,m){this.$modelValue=this.$viewValue=Number.NaN;this.$$rawModelValue=u;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=u;this.$name=m(d.name||"",!1)(a);var q=f(d.ngModel),s=q.assign,r=q,E=s,L=null,w,p=this;this.$$setOptions=function(a){if((p.$options=a)&&a.getterSetter){var c=f(d.ngModel+"()"),g=f(d.ngModel+"($$$p)");r=function(a){var d=q(a);B(d)&&(d=c(a));return d};E=function(a,c){B(q(a))?g(a,{$$$p:p.$modelValue}):s(a,p.$modelValue)}}else if(!q.assign)throw kb("nonassign",d.ngModel,ua(e));};this.$render=v;this.$isEmpty=function(a){return y(a)||
|
||||||
|
""===a||null===a||a!==a};var A=e.inheritedData("$formController")||Ib,z=0;Hd({ctrl:this,$element:e,set:function(a,c){a[c]=!0},unset:function(a,c){delete a[c]},parentForm:A,$animate:g});this.$setPristine=function(){p.$dirty=!1;p.$pristine=!0;g.removeClass(e,Jb);g.addClass(e,Xa)};this.$setDirty=function(){p.$dirty=!0;p.$pristine=!1;g.removeClass(e,Xa);g.addClass(e,Jb);A.$setDirty()};this.$setUntouched=function(){p.$touched=!1;p.$untouched=!0;g.setClass(e,"ng-untouched","ng-touched")};this.$setTouched=
|
||||||
|
function(){p.$touched=!0;p.$untouched=!1;g.setClass(e,"ng-touched","ng-untouched")};this.$rollbackViewValue=function(){h.cancel(L);p.$viewValue=p.$$lastCommittedViewValue;p.$render()};this.$validate=function(){if(!X(p.$modelValue)||!isNaN(p.$modelValue)){var a=p.$$rawModelValue,c=p.$valid,d=p.$modelValue,e=p.$options&&p.$options.allowInvalid;p.$$runValidators(a,p.$$lastCommittedViewValue,function(f){e||c===f||(p.$modelValue=f?a:u,p.$modelValue!==d&&p.$$writeModelToScope())})}};this.$$runValidators=
|
||||||
|
function(a,c,d){function e(){var d=!0;n(p.$validators,function(e,f){var h=e(a,c);d=d&&h;g(f,h)});return d?!0:(n(p.$asyncValidators,function(a,c){g(c,null)}),!1)}function f(){var d=[],e=!0;n(p.$asyncValidators,function(f,h){var k=f(a,c);if(!k||!B(k.then))throw kb("$asyncValidators",k);g(h,u);d.push(k.then(function(){g(h,!0)},function(a){e=!1;g(h,!1)}))});d.length?k.all(d).then(function(){h(e)},v):h(!0)}function g(a,c){l===z&&p.$setValidity(a,c)}function h(a){l===z&&d(a)}z++;var l=z;(function(){var a=
|
||||||
|
p.$$parserName||"parse";if(w===u)g(a,null);else return w||(n(p.$validators,function(a,c){g(c,null)}),n(p.$asyncValidators,function(a,c){g(c,null)})),g(a,w),w;return!0})()?e()?f():h(!1):h(!1)};this.$commitViewValue=function(){var a=p.$viewValue;h.cancel(L);if(p.$$lastCommittedViewValue!==a||""===a&&p.$$hasNativeValidators)p.$$lastCommittedViewValue=a,p.$pristine&&this.$setDirty(),this.$$parseAndValidate()};this.$$parseAndValidate=function(){var c=p.$$lastCommittedViewValue;if(w=y(c)?u:!0)for(var d=
|
||||||
|
0;d<p.$parsers.length;d++)if(c=p.$parsers[d](c),y(c)){w=!1;break}X(p.$modelValue)&&isNaN(p.$modelValue)&&(p.$modelValue=r(a));var e=p.$modelValue,f=p.$options&&p.$options.allowInvalid;p.$$rawModelValue=c;f&&(p.$modelValue=c,p.$modelValue!==e&&p.$$writeModelToScope());p.$$runValidators(c,p.$$lastCommittedViewValue,function(a){f||(p.$modelValue=a?c:u,p.$modelValue!==e&&p.$$writeModelToScope())})};this.$$writeModelToScope=function(){E(a,p.$modelValue);n(p.$viewChangeListeners,function(a){try{a()}catch(d){c(d)}})};
|
||||||
|
this.$setViewValue=function(a,c){p.$viewValue=a;p.$options&&!p.$options.updateOnDefault||p.$$debounceViewValueCommit(c)};this.$$debounceViewValueCommit=function(c){var d=0,e=p.$options;e&&x(e.debounce)&&(e=e.debounce,X(e)?d=e:X(e[c])?d=e[c]:X(e["default"])&&(d=e["default"]));h.cancel(L);d?L=h(function(){p.$commitViewValue()},d):l.$$phase?p.$commitViewValue():a.$apply(function(){p.$commitViewValue()})};a.$watch(function(){var c=r(a);if(c!==p.$modelValue&&(p.$modelValue===p.$modelValue||c===c)){p.$modelValue=
|
||||||
|
p.$$rawModelValue=c;w=u;for(var d=p.$formatters,e=d.length,f=c;e--;)f=d[e](f);p.$viewValue!==f&&(p.$viewValue=p.$$lastCommittedViewValue=f,p.$render(),p.$$runValidators(c,f,v))}return c})}],Ke=["$rootScope",function(a){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:xg,priority:1,compile:function(c){c.addClass(Xa).addClass("ng-untouched").addClass(lb);return{pre:function(a,c,f,g){var h=g[0],l=g[1]||Ib;h.$$setOptions(g[2]&&g[2].$options);l.$addControl(h);f.$observe("name",
|
||||||
|
function(a){h.$name!==a&&l.$$renameControl(h,a)});a.$on("$destroy",function(){l.$removeControl(h)})},post:function(c,e,f,g){var h=g[0];if(h.$options&&h.$options.updateOn)e.on(h.$options.updateOn,function(a){h.$$debounceViewValueCommit(a&&a.type)});e.on("blur",function(e){h.$touched||(a.$$phase?c.$evalAsync(h.$setTouched):c.$apply(h.$setTouched))})}}}}}],yg=/(\s+|^)default(\s+|$)/,Oe=function(){return{restrict:"A",controller:["$scope","$attrs",function(a,c){var d=this;this.$options=fa(a.$eval(c.ngModelOptions));
|
||||||
|
this.$options.updateOn!==u?(this.$options.updateOnDefault=!1,this.$options.updateOn=T(this.$options.updateOn.replace(yg,function(){d.$options.updateOnDefault=!0;return" "}))):this.$options.updateOnDefault=!0}]}},Ae=Ma({terminal:!0,priority:1E3}),zg=G("ngOptions"),Ag=/^\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]+?))?$/,
|
||||||
|
Ie=["$compile","$parse",function(a,c){function d(a,d,e){function f(a,c,d,e,g){this.selectValue=a;this.viewValue=c;this.label=d;this.group=e;this.disabled=g}function m(a){var c;if(!r&&Da(a))c=a;else{c=[];for(var d in a)a.hasOwnProperty(d)&&"$"!==d.charAt(0)&&c.push(d)}return c}var n=a.match(Ag);if(!n)throw zg("iexp",a,ua(d));var s=n[5]||n[7],r=n[6];a=/ as /.test(n[0])&&n[1];var u=n[9];d=c(n[2]?n[1]:s);var v=a&&c(a)||d,w=u&&c(u),p=u?function(a,c){return w(e,c)}:function(a){return Ga(a)},A=function(a,
|
||||||
|
c){return p(a,B(a,c))},x=c(n[2]||n[1]),z=c(n[3]||""),y=c(n[4]||""),J=c(n[8]),F={},B=r?function(a,c){F[r]=c;F[s]=a;return F}:function(a){F[s]=a;return F};return{trackBy:u,getTrackByValue:A,getWatchables:c(J,function(a){var c=[];a=a||[];for(var d=m(a),f=d.length,g=0;g<f;g++){var h=a===d?g:d[g],k=B(a[h],h),h=p(a[h],k);c.push(h);if(n[2]||n[1])h=x(e,k),c.push(h);n[4]&&(k=y(e,k),c.push(k))}return c}),getOptions:function(){for(var a=[],c={},d=J(e)||[],g=m(d),h=g.length,n=0;n<h;n++){var q=d===g?n:g[n],s=
|
||||||
|
B(d[q],q),r=v(e,s),q=p(r,s),t=x(e,s),w=z(e,s),s=y(e,s),r=new f(q,r,t,w,s);a.push(r);c[q]=r}return{items:a,selectValueMap:c,getOptionFromViewValue:function(a){return c[A(a)]},getViewValueFromOption:function(a){return u?aa.copy(a.viewValue):a.viewValue}}}}}var e=W.createElement("option"),f=W.createElement("optgroup");return{restrict:"A",terminal:!0,require:["select","?ngModel"],link:function(c,h,l,k){function m(a,c){a.element=c;c.disabled=a.disabled;a.value!==c.value&&(c.value=a.selectValue);a.label!==
|
||||||
|
c.label&&(c.label=a.label,c.textContent=a.label)}function q(a,c,d,e){c&&I(c.nodeName)===d?d=c:(d=e.cloneNode(!1),c?a.insertBefore(d,c):a.appendChild(d));return d}function s(a){for(var c;a;)c=a.nextSibling,Wb(a),a=c}function r(a){var c=p&&p[0],d=J&&J[0];if(c||d)for(;a&&(a===c||a===d);)a=a.nextSibling;return a}function u(){var a=F&&w.readValue();F=D.getOptions();var c={},d=h[0].firstChild;O&&h.prepend(p);d=r(d);F.items.forEach(function(a){var g,k;a.group?(g=c[a.group],g||(g=q(h[0],d,"optgroup",f),d=
|
||||||
|
g.nextSibling,g.label=a.group,g=c[a.group]={groupElement:g,currentOptionElement:g.firstChild}),k=q(g.groupElement,g.currentOptionElement,"option",e),m(a,k),g.currentOptionElement=k.nextSibling):(k=q(h[0],d,"option",e),m(a,k),d=k.nextSibling)});Object.keys(c).forEach(function(a){s(c[a].currentOptionElement)});s(d);v.$render();if(!v.$isEmpty(a)){var g=w.readValue();(D.trackBy?ka(a,g):a===g)||(v.$setViewValue(g),v.$render())}}var v=k[1];if(v){var w=k[0];k=l.multiple;for(var p,x=0,y=h.children(),B=y.length;x<
|
||||||
|
B;x++)if(""===y[x].value){p=y.eq(x);break}var O=!!p,J=z(e.cloneNode(!1));J.val("?");var F,D=d(l.ngOptions,h,c);k?(v.$isEmpty=function(a){return!a||0===a.length},w.writeValue=function(a){F.items.forEach(function(a){a.element.selected=!1});a&&a.forEach(function(a){(a=F.getOptionFromViewValue(a))&&!a.disabled&&(a.element.selected=!0)})},w.readValue=function(){var a=h.val()||[],c=[];n(a,function(a){(a=F.selectValueMap[a])&&!a.disabled&&c.push(F.getViewValueFromOption(a))});return c},D.trackBy&&c.$watchCollection(function(){if(K(v.$viewValue))return v.$viewValue.map(function(a){return D.getTrackByValue(a)})},
|
||||||
|
function(){v.$render()})):(w.writeValue=function(a){var c=F.getOptionFromViewValue(a);c&&!c.disabled?h[0].value!==c.selectValue&&(J.remove(),O||p.remove(),h[0].value=c.selectValue,c.element.selected=!0,c.element.setAttribute("selected","selected")):null===a||O?(J.remove(),O||h.prepend(p),h.val(""),p.prop("selected",!0),p.attr("selected",!0)):(O||p.remove(),h.prepend(J),h.val("?"),J.prop("selected",!0),J.attr("selected",!0))},w.readValue=function(){var a=F.selectValueMap[h.val()];return a&&!a.disabled?
|
||||||
|
(O||p.remove(),J.remove(),F.getViewValueFromOption(a)):null},D.trackBy&&c.$watch(function(){return D.getTrackByValue(v.$viewValue)},function(){v.$render()}));O?(p.remove(),a(p)(c),p.removeClass("ng-scope")):p=z(e.cloneNode(!1));u();c.$watchCollection(D.getWatchables,u)}}}}],Be=["$locale","$interpolate","$log",function(a,c,d){var e=/{}/g,f=/^when(Minus)?(.+)$/;return{link:function(g,h,l){function k(a){h.text(a||"")}var m=l.count,q=l.$attr.when&&h.attr(l.$attr.when),s=l.offset||0,r=g.$eval(q)||{},u=
|
||||||
|
{},x=c.startSymbol(),w=c.endSymbol(),p=x+m+"-"+s+w,A=aa.noop,z;n(l,function(a,c){var d=f.exec(c);d&&(d=(d[1]?"-":"")+I(d[2]),r[d]=h.attr(l.$attr[c]))});n(r,function(a,d){u[d]=c(a.replace(e,p))});g.$watch(m,function(c){var e=parseFloat(c),f=isNaN(e);f||e in r||(e=a.pluralCat(e-s));e===z||f&&X(z)&&isNaN(z)||(A(),f=u[e],y(f)?(null!=c&&d.debug("ngPluralize: no rule defined for '"+e+"' in "+q),A=v,k()):A=g.$watch(f,k),z=e)})}}}],Ce=["$parse","$animate",function(a,c){var d=G("ngRepeat"),e=function(a,c,
|
||||||
|
d,e,k,m,n){a[d]=e;k&&(a[k]=m);a.$index=c;a.$first=0===c;a.$last=c===n-1;a.$middle=!(a.$first||a.$last);a.$odd=!(a.$even=0===(c&1))};return{restrict:"A",multiElement:!0,transclude:"element",priority:1E3,terminal:!0,$$tlb:!0,compile:function(f,g){var h=g.ngRepeat,l=W.createComment(" end ngRepeat: "+h+" "),k=h.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!k)throw d("iexp",h);var m=k[1],q=k[2],r=k[3],t=k[4],k=m.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/);
|
||||||
|
if(!k)throw d("iidexp",m);var v=k[3]||k[1],x=k[2];if(r&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(r)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(r)))throw d("badident",r);var w,p,A,y,B={$id:Ga};t?w=a(t):(A=function(a,c){return Ga(c)},y=function(a){return a});return function(a,f,g,k,m){w&&(p=function(c,d,e){x&&(B[x]=c);B[v]=d;B.$index=e;return w(a,B)});var t=ga();a.$watchCollection(q,function(g){var k,q,w=f[0],B,D=ga(),F,H,K,G,M,I,N;r&&(a[r]=g);if(Da(g))M=
|
||||||
|
g,q=p||A;else for(N in q=p||y,M=[],g)g.hasOwnProperty(N)&&"$"!==N.charAt(0)&&M.push(N);F=M.length;N=Array(F);for(k=0;k<F;k++)if(H=g===M?k:M[k],K=g[H],G=q(H,K,k),t[G])I=t[G],delete t[G],D[G]=I,N[k]=I;else{if(D[G])throw n(N,function(a){a&&a.scope&&(t[a.id]=a)}),d("dupes",h,G,K);N[k]={id:G,scope:u,clone:u};D[G]=!0}for(B in t){I=t[B];G=qb(I.clone);c.leave(G);if(G[0].parentNode)for(k=0,q=G.length;k<q;k++)G[k].$$NG_REMOVED=!0;I.scope.$destroy()}for(k=0;k<F;k++)if(H=g===M?k:M[k],K=g[H],I=N[k],I.scope){B=
|
||||||
|
w;do B=B.nextSibling;while(B&&B.$$NG_REMOVED);I.clone[0]!=B&&c.move(qb(I.clone),null,z(w));w=I.clone[I.clone.length-1];e(I.scope,k,v,K,x,H,F)}else m(function(a,d){I.scope=d;var f=l.cloneNode(!1);a[a.length++]=f;c.enter(a,null,z(w));w=f;I.clone=a;D[I.id]=I;e(I.scope,k,v,K,x,H,F)});t=D})}}}}],De=["$animate",function(a){return{restrict:"A",multiElement:!0,link:function(c,d,e){c.$watch(e.ngShow,function(c){a[c?"removeClass":"addClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],we=["$animate",
|
||||||
|
function(a){return{restrict:"A",multiElement:!0,link:function(c,d,e){c.$watch(e.ngHide,function(c){a[c?"addClass":"removeClass"](d,"ng-hide",{tempClasses:"ng-hide-animate"})})}}}],Ee=Ma(function(a,c,d){a.$watch(d.ngStyle,function(a,d){d&&a!==d&&n(d,function(a,d){c.css(d,"")});a&&c.css(a)},!0)}),Fe=["$animate",function(a){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(c,d,e,f){var g=[],h=[],l=[],k=[],m=function(a,c){return function(){a.splice(c,1)}};c.$watch(e.ngSwitch||
|
||||||
|
e.on,function(c){var d,e;d=0;for(e=l.length;d<e;++d)a.cancel(l[d]);d=l.length=0;for(e=k.length;d<e;++d){var r=qb(h[d].clone);k[d].$destroy();(l[d]=a.leave(r)).then(m(l,d))}h.length=0;k.length=0;(g=f.cases["!"+c]||f.cases["?"])&&n(g,function(c){c.transclude(function(d,e){k.push(e);var f=c.element;d[d.length++]=W.createComment(" end ngSwitchWhen: ");h.push({clone:d});a.enter(d,f.parent(),f)})})})}}}],Ge=Ma({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,c,d,e,
|
||||||
|
f){e.cases["!"+d.ngSwitchWhen]=e.cases["!"+d.ngSwitchWhen]||[];e.cases["!"+d.ngSwitchWhen].push({transclude:f,element:c})}}),He=Ma({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(a,c,d,e,f){e.cases["?"]=e.cases["?"]||[];e.cases["?"].push({transclude:f,element:c})}}),Je=Ma({restrict:"EAC",link:function(a,c,d,e,f){if(!f)throw G("ngTransclude")("orphan",ua(c));f(function(a){c.empty();c.append(a)})}}),je=["$templateCache",function(a){return{restrict:"E",terminal:!0,
|
||||||
|
compile:function(c,d){"text/ng-template"==d.type&&a.put(d.id,c[0].text)}}}],Bg={$setViewValue:v,$render:v},Cg=["$element","$scope","$attrs",function(a,c,d){var e=this,f=new Ua;e.ngModelCtrl=Bg;e.unknownOption=z(W.createElement("option"));e.renderUnknownOption=function(c){c="? "+Ga(c)+" ?";e.unknownOption.val(c);a.prepend(e.unknownOption);a.val(c)};c.$on("$destroy",function(){e.renderUnknownOption=v});e.removeUnknownOption=function(){e.unknownOption.parent()&&e.unknownOption.remove()};e.readValue=
|
||||||
|
function(){e.removeUnknownOption();return a.val()};e.writeValue=function(c){e.hasOption(c)?(e.removeUnknownOption(),a.val(c),""===c&&e.emptyOption.prop("selected",!0)):null==c&&e.emptyOption?(e.removeUnknownOption(),a.val("")):e.renderUnknownOption(c)};e.addOption=function(a,c){Ta(a,'"option value"');""===a&&(e.emptyOption=c);var d=f.get(a)||0;f.put(a,d+1)};e.removeOption=function(a){var c=f.get(a);c&&(1===c?(f.remove(a),""===a&&(e.emptyOption=u)):f.put(a,c-1))};e.hasOption=function(a){return!!f.get(a)}}],
|
||||||
|
ke=function(){return{restrict:"E",require:["select","?ngModel"],controller:Cg,link:function(a,c,d,e){var f=e[1];if(f){var g=e[0];g.ngModelCtrl=f;f.$render=function(){g.writeValue(f.$viewValue)};c.on("change",function(){a.$apply(function(){f.$setViewValue(g.readValue())})});if(d.multiple){g.readValue=function(){var a=[];n(c.find("option"),function(c){c.selected&&a.push(c.value)});return a};g.writeValue=function(a){var d=new Ua(a);n(c.find("option"),function(a){a.selected=x(d.get(a.value))})};var h,
|
||||||
|
l=NaN;a.$watch(function(){l!==f.$viewValue||ka(h,f.$viewValue)||(h=ia(f.$viewValue),f.$render());l=f.$viewValue});f.$isEmpty=function(a){return!a||0===a.length}}}}}},me=["$interpolate",function(a){function c(a){a[0].hasAttribute("selected")&&(a[0].selected=!0)}return{restrict:"E",priority:100,compile:function(d,e){if(y(e.value)){var f=a(d.text(),!0);f||e.$set("value",d.text())}return function(a,d,e){var k=d.parent(),m=k.data("$selectController")||k.parent().data("$selectController");m&&m.ngModelCtrl&&
|
||||||
|
(f?a.$watch(f,function(a,f){e.$set("value",a);f!==a&&m.removeOption(f);m.addOption(a,d);m.ngModelCtrl.$render();c(d)}):(m.addOption(e.value,d),m.ngModelCtrl.$render(),c(d)),d.on("$destroy",function(){m.removeOption(e.value);m.ngModelCtrl.$render()}))}}}}],le=qa({restrict:"E",terminal:!1}),Fc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){e&&(d.required=!0,e.$validators.required=function(a,c){return!d.required||!e.$isEmpty(c)},d.$observe("required",function(){e.$validate()}))}}},
|
||||||
|
Ec=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f,g=d.ngPattern||d.pattern;d.$observe("pattern",function(a){H(a)&&0<a.length&&(a=new RegExp("^"+a+"$"));if(a&&!a.test)throw G("ngPattern")("noregexp",g,a,ua(c));f=a||u;e.$validate()});e.$validators.pattern=function(a,c){return e.$isEmpty(c)||y(f)||f.test(c)}}}}},Hc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=-1;d.$observe("maxlength",function(a){a=Y(a);f=isNaN(a)?-1:a;e.$validate()});
|
||||||
|
e.$validators.maxlength=function(a,c){return 0>f||e.$isEmpty(c)||c.length<=f}}}}},Gc=function(){return{restrict:"A",require:"?ngModel",link:function(a,c,d,e){if(e){var f=0;d.$observe("minlength",function(a){f=Y(a)||0;e.$validate()});e.$validators.minlength=function(a,c){return e.$isEmpty(c)||c.length>=f}}}}};N.angular.bootstrap?console.log("WARNING: Tried to load angular more than once."):(ce(),ee(aa),aa.module("ngLocale",[],["$provide",function(a){function c(a){a+="";var c=a.indexOf(".");return-1==
|
||||||
|
c?0:a.length-c-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(" "),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:"-\u00a4",negSuf:"",posPre:"\u00a4",posSuf:""}]},id:"en-us",pluralCat:function(a,e){var f=a|0,g=e;u===g&&(g=Math.min(c(a),3));Math.pow(10,g);return 1==
|
||||||
|
f&&0==g?"one":"other"}})}]),z(W).ready(function(){Zd(W,yc)}))})(window,document);!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>');
|
||||||
|
//# sourceMappingURL=angular.min.js.map
|
BIN
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js.gzip
vendored
Normal file
BIN
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js.gzip
vendored
Normal file
Binary file not shown.
8
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js.map
vendored
Normal file
8
public/vendor/jspm/github/angular/bower-angular@1.4.5/angular.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
8
public/vendor/jspm/github/angular/bower-angular@1.4.5/bower.json
vendored
Normal file
8
public/vendor/jspm/github/angular/bower-angular@1.4.5/bower.json
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "angular",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"main": "./angular.js",
|
||||||
|
"ignore": [],
|
||||||
|
"dependencies": {
|
||||||
|
}
|
||||||
|
}
|
4
public/vendor/jspm/github/angular/bower-angular@1.4.5/index.js
vendored
Normal file
4
public/vendor/jspm/github/angular/bower-angular@1.4.5/index.js
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
/* */
|
||||||
|
"format cjs";
|
||||||
|
require('./angular');
|
||||||
|
module.exports = angular;
|
25
public/vendor/jspm/github/angular/bower-angular@1.4.5/package.json
vendored
Normal file
25
public/vendor/jspm/github/angular/bower-angular@1.4.5/package.json
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"name": "angular",
|
||||||
|
"version": "1.4.5",
|
||||||
|
"description": "HTML enhanced for web apps",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/angular/angular.js.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"angular",
|
||||||
|
"framework",
|
||||||
|
"browser",
|
||||||
|
"client-side"
|
||||||
|
],
|
||||||
|
"author": "Angular Core Team <angular-core+npm@google.com>",
|
||||||
|
"license": "MIT",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/angular/angular.js/issues"
|
||||||
|
},
|
||||||
|
"homepage": "http://angularjs.org"
|
||||||
|
}
|
3
public/vendor/jspm/github/components/jquery@2.1.4.js
vendored
Normal file
3
public/vendor/jspm/github/components/jquery@2.1.4.js
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
define(["github:components/jquery@2.1.4/jquery"], function(main) {
|
||||||
|
return main;
|
||||||
|
});
|
1
public/vendor/jspm/github/components/jquery@2.1.4/.gitignore
vendored
Normal file
1
public/vendor/jspm/github/components/jquery@2.1.4/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
build
|
1
public/vendor/jspm/github/components/jquery@2.1.4/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/components/jquery@2.1.4/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
7b1d1104656a092423fbfba13c5920e9bbba290c44ca7a5ccba37a3d7d6ab2331f3a6540jspm-github@0.13.10.16.1
|
12
public/vendor/jspm/github/components/jquery@2.1.4/README.md
vendored
Normal file
12
public/vendor/jspm/github/components/jquery@2.1.4/README.md
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
jQuery Component
|
||||||
|
================
|
||||||
|
|
||||||
|
Shim [repository](https://github.com/components/jquery) for the [jQuery](http://jquery.com).
|
||||||
|
|
||||||
|
Package Managers
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* [Bower](http://bower.io/): `jquery`
|
||||||
|
* [Component](https://github.com/component/component): `components/jquery`
|
||||||
|
* [Composer](http://packagist.org/packages/components/jquery): `components/jquery`
|
||||||
|
* [spm](http://spmjs.io/package/jquery): `jquery`
|
11
public/vendor/jspm/github/components/jquery@2.1.4/bower.json
vendored
Normal file
11
public/vendor/jspm/github/components/jquery@2.1.4/bower.json
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"name": "jquery",
|
||||||
|
"version": "2.1.4",
|
||||||
|
"description": "jQuery component",
|
||||||
|
"keywords": [
|
||||||
|
"jquery",
|
||||||
|
"component"
|
||||||
|
],
|
||||||
|
"main": "jquery.js",
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
15
public/vendor/jspm/github/components/jquery@2.1.4/component.json
vendored
Normal file
15
public/vendor/jspm/github/components/jquery@2.1.4/component.json
vendored
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"name": "jquery",
|
||||||
|
"repo": "components/jquery",
|
||||||
|
"version": "2.1.4",
|
||||||
|
"description": "jQuery component",
|
||||||
|
"keywords": [
|
||||||
|
"jquery",
|
||||||
|
"component"
|
||||||
|
],
|
||||||
|
"main": "jquery.js",
|
||||||
|
"scripts": [
|
||||||
|
"jquery.js"
|
||||||
|
],
|
||||||
|
"license": "MIT"
|
||||||
|
}
|
33
public/vendor/jspm/github/components/jquery@2.1.4/composer.json
vendored
Normal file
33
public/vendor/jspm/github/components/jquery@2.1.4/composer.json
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "components/jquery",
|
||||||
|
"description": "jQuery JavaScript Library",
|
||||||
|
"type": "component",
|
||||||
|
"homepage": "http://jquery.com",
|
||||||
|
"license": "MIT",
|
||||||
|
"support": {
|
||||||
|
"irc": "irc://irc.freenode.org/jquery",
|
||||||
|
"issues": "http://bugs.jquery.com",
|
||||||
|
"forum": "http://forum.jquery.com",
|
||||||
|
"wiki": "http://docs.jquery.com/",
|
||||||
|
"source": "https://github.com/jquery/jquery"
|
||||||
|
},
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "John Resig",
|
||||||
|
"email": "jeresig@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"extra": {
|
||||||
|
"component": {
|
||||||
|
"scripts": [
|
||||||
|
"jquery.js"
|
||||||
|
],
|
||||||
|
"files": [
|
||||||
|
"jquery.min.js",
|
||||||
|
"jquery.min.map",
|
||||||
|
"jquery-migrate.js",
|
||||||
|
"jquery-migrate.min.js"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
521
public/vendor/jspm/github/components/jquery@2.1.4/jquery-migrate.js
vendored
Normal file
521
public/vendor/jspm/github/components/jquery@2.1.4/jquery-migrate.js
vendored
Normal file
@ -0,0 +1,521 @@
|
|||||||
|
/*!
|
||||||
|
* jQuery Migrate - v1.2.1 - 2013-05-08
|
||||||
|
* https://github.com/jquery/jquery-migrate
|
||||||
|
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
|
||||||
|
*/
|
||||||
|
(function( jQuery, window, undefined ) {
|
||||||
|
// See http://bugs.jquery.com/ticket/13335
|
||||||
|
// "use strict";
|
||||||
|
|
||||||
|
|
||||||
|
var warnedAbout = {};
|
||||||
|
|
||||||
|
// List of warnings already given; public read only
|
||||||
|
jQuery.migrateWarnings = [];
|
||||||
|
|
||||||
|
// Set to true to prevent console output; migrateWarnings still maintained
|
||||||
|
// jQuery.migrateMute = false;
|
||||||
|
|
||||||
|
// Show a message on the console so devs know we're active
|
||||||
|
if ( !jQuery.migrateMute && window.console && window.console.log ) {
|
||||||
|
window.console.log("JQMIGRATE: Logging is active");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set to false to disable traces that appear with warnings
|
||||||
|
if ( jQuery.migrateTrace === undefined ) {
|
||||||
|
jQuery.migrateTrace = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Forget any warnings we've already given; public
|
||||||
|
jQuery.migrateReset = function() {
|
||||||
|
warnedAbout = {};
|
||||||
|
jQuery.migrateWarnings.length = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
function migrateWarn( msg) {
|
||||||
|
var console = window.console;
|
||||||
|
if ( !warnedAbout[ msg ] ) {
|
||||||
|
warnedAbout[ msg ] = true;
|
||||||
|
jQuery.migrateWarnings.push( msg );
|
||||||
|
if ( console && console.warn && !jQuery.migrateMute ) {
|
||||||
|
console.warn( "JQMIGRATE: " + msg );
|
||||||
|
if ( jQuery.migrateTrace && console.trace ) {
|
||||||
|
console.trace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function migrateWarnProp( obj, prop, value, msg ) {
|
||||||
|
if ( Object.defineProperty ) {
|
||||||
|
// On ES5 browsers (non-oldIE), warn if the code tries to get prop;
|
||||||
|
// allow property to be overwritten in case some other plugin wants it
|
||||||
|
try {
|
||||||
|
Object.defineProperty( obj, prop, {
|
||||||
|
configurable: true,
|
||||||
|
enumerable: true,
|
||||||
|
get: function() {
|
||||||
|
migrateWarn( msg );
|
||||||
|
return value;
|
||||||
|
},
|
||||||
|
set: function( newValue ) {
|
||||||
|
migrateWarn( msg );
|
||||||
|
value = newValue;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
} catch( err ) {
|
||||||
|
// IE8 is a dope about Object.defineProperty, can't warn there
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Non-ES5 (or broken) browser; just set the property
|
||||||
|
jQuery._definePropertyBroken = true;
|
||||||
|
obj[ prop ] = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( document.compatMode === "BackCompat" ) {
|
||||||
|
// jQuery has never supported or tested Quirks Mode
|
||||||
|
migrateWarn( "jQuery is not compatible with Quirks Mode" );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var attrFn = jQuery( "<input/>", { size: 1 } ).attr("size") && jQuery.attrFn,
|
||||||
|
oldAttr = jQuery.attr,
|
||||||
|
valueAttrGet = jQuery.attrHooks.value && jQuery.attrHooks.value.get ||
|
||||||
|
function() { return null; },
|
||||||
|
valueAttrSet = jQuery.attrHooks.value && jQuery.attrHooks.value.set ||
|
||||||
|
function() { return undefined; },
|
||||||
|
rnoType = /^(?:input|button)$/i,
|
||||||
|
rnoAttrNodeType = /^[238]$/,
|
||||||
|
rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,
|
||||||
|
ruseDefault = /^(?:checked|selected)$/i;
|
||||||
|
|
||||||
|
// jQuery.attrFn
|
||||||
|
migrateWarnProp( jQuery, "attrFn", attrFn || {}, "jQuery.attrFn is deprecated" );
|
||||||
|
|
||||||
|
jQuery.attr = function( elem, name, value, pass ) {
|
||||||
|
var lowerName = name.toLowerCase(),
|
||||||
|
nType = elem && elem.nodeType;
|
||||||
|
|
||||||
|
if ( pass ) {
|
||||||
|
// Since pass is used internally, we only warn for new jQuery
|
||||||
|
// versions where there isn't a pass arg in the formal params
|
||||||
|
if ( oldAttr.length < 4 ) {
|
||||||
|
migrateWarn("jQuery.fn.attr( props, pass ) is deprecated");
|
||||||
|
}
|
||||||
|
if ( elem && !rnoAttrNodeType.test( nType ) &&
|
||||||
|
(attrFn ? name in attrFn : jQuery.isFunction(jQuery.fn[name])) ) {
|
||||||
|
return jQuery( elem )[ name ]( value );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn if user tries to set `type`, since it breaks on IE 6/7/8; by checking
|
||||||
|
// for disconnected elements we don't warn on $( "<button>", { type: "button" } ).
|
||||||
|
if ( name === "type" && value !== undefined && rnoType.test( elem.nodeName ) && elem.parentNode ) {
|
||||||
|
migrateWarn("Can't change the 'type' of an input or button in IE 6/7/8");
|
||||||
|
}
|
||||||
|
|
||||||
|
// Restore boolHook for boolean property/attribute synchronization
|
||||||
|
if ( !jQuery.attrHooks[ lowerName ] && rboolean.test( lowerName ) ) {
|
||||||
|
jQuery.attrHooks[ lowerName ] = {
|
||||||
|
get: function( elem, name ) {
|
||||||
|
// Align boolean attributes with corresponding properties
|
||||||
|
// Fall back to attribute presence where some booleans are not supported
|
||||||
|
var attrNode,
|
||||||
|
property = jQuery.prop( elem, name );
|
||||||
|
return property === true || typeof property !== "boolean" &&
|
||||||
|
( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?
|
||||||
|
|
||||||
|
name.toLowerCase() :
|
||||||
|
undefined;
|
||||||
|
},
|
||||||
|
set: function( elem, value, name ) {
|
||||||
|
var propName;
|
||||||
|
if ( value === false ) {
|
||||||
|
// Remove boolean attributes when set to false
|
||||||
|
jQuery.removeAttr( elem, name );
|
||||||
|
} else {
|
||||||
|
// value is true since we know at this point it's type boolean and not false
|
||||||
|
// Set boolean attributes to the same name and set the DOM property
|
||||||
|
propName = jQuery.propFix[ name ] || name;
|
||||||
|
if ( propName in elem ) {
|
||||||
|
// Only set the IDL specifically if it already exists on the element
|
||||||
|
elem[ propName ] = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
elem.setAttribute( name, name.toLowerCase() );
|
||||||
|
}
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// Warn only for attributes that can remain distinct from their properties post-1.9
|
||||||
|
if ( ruseDefault.test( lowerName ) ) {
|
||||||
|
migrateWarn( "jQuery.fn.attr('" + lowerName + "') may use property instead of attribute" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return oldAttr.call( jQuery, elem, name, value );
|
||||||
|
};
|
||||||
|
|
||||||
|
// attrHooks: value
|
||||||
|
jQuery.attrHooks.value = {
|
||||||
|
get: function( elem, name ) {
|
||||||
|
var nodeName = ( elem.nodeName || "" ).toLowerCase();
|
||||||
|
if ( nodeName === "button" ) {
|
||||||
|
return valueAttrGet.apply( this, arguments );
|
||||||
|
}
|
||||||
|
if ( nodeName !== "input" && nodeName !== "option" ) {
|
||||||
|
migrateWarn("jQuery.fn.attr('value') no longer gets properties");
|
||||||
|
}
|
||||||
|
return name in elem ?
|
||||||
|
elem.value :
|
||||||
|
null;
|
||||||
|
},
|
||||||
|
set: function( elem, value ) {
|
||||||
|
var nodeName = ( elem.nodeName || "" ).toLowerCase();
|
||||||
|
if ( nodeName === "button" ) {
|
||||||
|
return valueAttrSet.apply( this, arguments );
|
||||||
|
}
|
||||||
|
if ( nodeName !== "input" && nodeName !== "option" ) {
|
||||||
|
migrateWarn("jQuery.fn.attr('value', val) no longer sets properties");
|
||||||
|
}
|
||||||
|
// Does not return so that setAttribute is also used
|
||||||
|
elem.value = value;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var matched, browser,
|
||||||
|
oldInit = jQuery.fn.init,
|
||||||
|
oldParseJSON = jQuery.parseJSON,
|
||||||
|
// Note: XSS check is done below after string is trimmed
|
||||||
|
rquickExpr = /^([^<]*)(<[\w\W]+>)([^>]*)$/;
|
||||||
|
|
||||||
|
// $(html) "looks like html" rule change
|
||||||
|
jQuery.fn.init = function( selector, context, rootjQuery ) {
|
||||||
|
var match;
|
||||||
|
|
||||||
|
if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
|
||||||
|
(match = rquickExpr.exec( jQuery.trim( selector ) )) && match[ 0 ] ) {
|
||||||
|
// This is an HTML string according to the "old" rules; is it still?
|
||||||
|
if ( selector.charAt( 0 ) !== "<" ) {
|
||||||
|
migrateWarn("$(html) HTML strings must start with '<' character");
|
||||||
|
}
|
||||||
|
if ( match[ 3 ] ) {
|
||||||
|
migrateWarn("$(html) HTML text after last tag is ignored");
|
||||||
|
}
|
||||||
|
// Consistently reject any HTML-like string starting with a hash (#9521)
|
||||||
|
// Note that this may break jQuery 1.6.x code that otherwise would work.
|
||||||
|
if ( match[ 0 ].charAt( 0 ) === "#" ) {
|
||||||
|
migrateWarn("HTML string cannot start with a '#' character");
|
||||||
|
jQuery.error("JQMIGRATE: Invalid selector string (XSS)");
|
||||||
|
}
|
||||||
|
// Now process using loose rules; let pre-1.8 play too
|
||||||
|
if ( context && context.context ) {
|
||||||
|
// jQuery object as context; parseHTML expects a DOM object
|
||||||
|
context = context.context;
|
||||||
|
}
|
||||||
|
if ( jQuery.parseHTML ) {
|
||||||
|
return oldInit.call( this, jQuery.parseHTML( match[ 2 ], context, true ),
|
||||||
|
context, rootjQuery );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oldInit.apply( this, arguments );
|
||||||
|
};
|
||||||
|
jQuery.fn.init.prototype = jQuery.fn;
|
||||||
|
|
||||||
|
// Let $.parseJSON(falsy_value) return null
|
||||||
|
jQuery.parseJSON = function( json ) {
|
||||||
|
if ( !json && json !== null ) {
|
||||||
|
migrateWarn("jQuery.parseJSON requires a valid JSON string");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return oldParseJSON.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.uaMatch = function( ua ) {
|
||||||
|
ua = ua.toLowerCase();
|
||||||
|
|
||||||
|
var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(webkit)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
|
||||||
|
/(msie) ([\w.]+)/.exec( ua ) ||
|
||||||
|
ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
|
||||||
|
[];
|
||||||
|
|
||||||
|
return {
|
||||||
|
browser: match[ 1 ] || "",
|
||||||
|
version: match[ 2 ] || "0"
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Don't clobber any existing jQuery.browser in case it's different
|
||||||
|
if ( !jQuery.browser ) {
|
||||||
|
matched = jQuery.uaMatch( navigator.userAgent );
|
||||||
|
browser = {};
|
||||||
|
|
||||||
|
if ( matched.browser ) {
|
||||||
|
browser[ matched.browser ] = true;
|
||||||
|
browser.version = matched.version;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Chrome is Webkit, but Webkit is also Safari.
|
||||||
|
if ( browser.chrome ) {
|
||||||
|
browser.webkit = true;
|
||||||
|
} else if ( browser.webkit ) {
|
||||||
|
browser.safari = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
jQuery.browser = browser;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Warn if the code tries to get jQuery.browser
|
||||||
|
migrateWarnProp( jQuery, "browser", jQuery.browser, "jQuery.browser is deprecated" );
|
||||||
|
|
||||||
|
jQuery.sub = function() {
|
||||||
|
function jQuerySub( selector, context ) {
|
||||||
|
return new jQuerySub.fn.init( selector, context );
|
||||||
|
}
|
||||||
|
jQuery.extend( true, jQuerySub, this );
|
||||||
|
jQuerySub.superclass = this;
|
||||||
|
jQuerySub.fn = jQuerySub.prototype = this();
|
||||||
|
jQuerySub.fn.constructor = jQuerySub;
|
||||||
|
jQuerySub.sub = this.sub;
|
||||||
|
jQuerySub.fn.init = function init( selector, context ) {
|
||||||
|
if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {
|
||||||
|
context = jQuerySub( context );
|
||||||
|
}
|
||||||
|
|
||||||
|
return jQuery.fn.init.call( this, selector, context, rootjQuerySub );
|
||||||
|
};
|
||||||
|
jQuerySub.fn.init.prototype = jQuerySub.fn;
|
||||||
|
var rootjQuerySub = jQuerySub(document);
|
||||||
|
migrateWarn( "jQuery.sub() is deprecated" );
|
||||||
|
return jQuerySub;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Ensure that $.ajax gets the new parseJSON defined in core.js
|
||||||
|
jQuery.ajaxSetup({
|
||||||
|
converters: {
|
||||||
|
"text json": jQuery.parseJSON
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var oldFnData = jQuery.fn.data;
|
||||||
|
|
||||||
|
jQuery.fn.data = function( name ) {
|
||||||
|
var ret, evt,
|
||||||
|
elem = this[0];
|
||||||
|
|
||||||
|
// Handles 1.7 which has this behavior and 1.8 which doesn't
|
||||||
|
if ( elem && name === "events" && arguments.length === 1 ) {
|
||||||
|
ret = jQuery.data( elem, name );
|
||||||
|
evt = jQuery._data( elem, name );
|
||||||
|
if ( ( ret === undefined || ret === evt ) && evt !== undefined ) {
|
||||||
|
migrateWarn("Use of jQuery.fn.data('events') is deprecated");
|
||||||
|
return evt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return oldFnData.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
var rscriptType = /\/(java|ecma)script/i,
|
||||||
|
oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
|
||||||
|
|
||||||
|
jQuery.fn.andSelf = function() {
|
||||||
|
migrateWarn("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()");
|
||||||
|
return oldSelf.apply( this, arguments );
|
||||||
|
};
|
||||||
|
|
||||||
|
// Since jQuery.clean is used internally on older versions, we only shim if it's missing
|
||||||
|
if ( !jQuery.clean ) {
|
||||||
|
jQuery.clean = function( elems, context, fragment, scripts ) {
|
||||||
|
// Set context per 1.8 logic
|
||||||
|
context = context || document;
|
||||||
|
context = !context.nodeType && context[0] || context;
|
||||||
|
context = context.ownerDocument || context;
|
||||||
|
|
||||||
|
migrateWarn("jQuery.clean() is deprecated");
|
||||||
|
|
||||||
|
var i, elem, handleScript, jsTags,
|
||||||
|
ret = [];
|
||||||
|
|
||||||
|
jQuery.merge( ret, jQuery.buildFragment( elems, context ).childNodes );
|
||||||
|
|
||||||
|
// Complex logic lifted directly from jQuery 1.8
|
||||||
|
if ( fragment ) {
|
||||||
|
// Special handling of each script element
|
||||||
|
handleScript = function( elem ) {
|
||||||
|
// Check if we consider it executable
|
||||||
|
if ( !elem.type || rscriptType.test( elem.type ) ) {
|
||||||
|
// Detach the script and store it in the scripts array (if provided) or the fragment
|
||||||
|
// Return truthy to indicate that it has been handled
|
||||||
|
return scripts ?
|
||||||
|
scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :
|
||||||
|
fragment.appendChild( elem );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
for ( i = 0; (elem = ret[i]) != null; i++ ) {
|
||||||
|
// Check if we're done after handling an executable script
|
||||||
|
if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) {
|
||||||
|
// Append to fragment and handle embedded scripts
|
||||||
|
fragment.appendChild( elem );
|
||||||
|
if ( typeof elem.getElementsByTagName !== "undefined" ) {
|
||||||
|
// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration
|
||||||
|
jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript );
|
||||||
|
|
||||||
|
// Splice the scripts into ret after their former ancestor and advance our index beyond them
|
||||||
|
ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );
|
||||||
|
i += jsTags.length;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
var eventAdd = jQuery.event.add,
|
||||||
|
eventRemove = jQuery.event.remove,
|
||||||
|
eventTrigger = jQuery.event.trigger,
|
||||||
|
oldToggle = jQuery.fn.toggle,
|
||||||
|
oldLive = jQuery.fn.live,
|
||||||
|
oldDie = jQuery.fn.die,
|
||||||
|
ajaxEvents = "ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",
|
||||||
|
rajaxEvent = new RegExp( "\\b(?:" + ajaxEvents + ")\\b" ),
|
||||||
|
rhoverHack = /(?:^|\s)hover(\.\S+|)\b/,
|
||||||
|
hoverHack = function( events ) {
|
||||||
|
if ( typeof( events ) !== "string" || jQuery.event.special.hover ) {
|
||||||
|
return events;
|
||||||
|
}
|
||||||
|
if ( rhoverHack.test( events ) ) {
|
||||||
|
migrateWarn("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'");
|
||||||
|
}
|
||||||
|
return events && events.replace( rhoverHack, "mouseenter$1 mouseleave$1" );
|
||||||
|
};
|
||||||
|
|
||||||
|
// Event props removed in 1.9, put them back if needed; no practical way to warn them
|
||||||
|
if ( jQuery.event.props && jQuery.event.props[ 0 ] !== "attrChange" ) {
|
||||||
|
jQuery.event.props.unshift( "attrChange", "attrName", "relatedNode", "srcElement" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Undocumented jQuery.event.handle was "deprecated" in jQuery 1.7
|
||||||
|
if ( jQuery.event.dispatch ) {
|
||||||
|
migrateWarnProp( jQuery.event, "handle", jQuery.event.dispatch, "jQuery.event.handle is undocumented and deprecated" );
|
||||||
|
}
|
||||||
|
|
||||||
|
// Support for 'hover' pseudo-event and ajax event warnings
|
||||||
|
jQuery.event.add = function( elem, types, handler, data, selector ){
|
||||||
|
if ( elem !== document && rajaxEvent.test( types ) ) {
|
||||||
|
migrateWarn( "AJAX events should be attached to document: " + types );
|
||||||
|
}
|
||||||
|
eventAdd.call( this, elem, hoverHack( types || "" ), handler, data, selector );
|
||||||
|
};
|
||||||
|
jQuery.event.remove = function( elem, types, handler, selector, mappedTypes ){
|
||||||
|
eventRemove.call( this, elem, hoverHack( types ) || "", handler, selector, mappedTypes );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.error = function() {
|
||||||
|
var args = Array.prototype.slice.call( arguments, 0);
|
||||||
|
migrateWarn("jQuery.fn.error() is deprecated");
|
||||||
|
args.splice( 0, 0, "error" );
|
||||||
|
if ( arguments.length ) {
|
||||||
|
return this.bind.apply( this, args );
|
||||||
|
}
|
||||||
|
// error event should not bubble to window, although it does pre-1.7
|
||||||
|
this.triggerHandler.apply( this, args );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.toggle = function( fn, fn2 ) {
|
||||||
|
|
||||||
|
// Don't mess with animation or css toggles
|
||||||
|
if ( !jQuery.isFunction( fn ) || !jQuery.isFunction( fn2 ) ) {
|
||||||
|
return oldToggle.apply( this, arguments );
|
||||||
|
}
|
||||||
|
migrateWarn("jQuery.fn.toggle(handler, handler...) is deprecated");
|
||||||
|
|
||||||
|
// Save reference to arguments for access in closure
|
||||||
|
var args = arguments,
|
||||||
|
guid = fn.guid || jQuery.guid++,
|
||||||
|
i = 0,
|
||||||
|
toggler = function( event ) {
|
||||||
|
// Figure out which function to execute
|
||||||
|
var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
|
||||||
|
jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
|
||||||
|
|
||||||
|
// Make sure that clicks stop
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
|
// and execute the function
|
||||||
|
return args[ lastToggle ].apply( this, arguments ) || false;
|
||||||
|
};
|
||||||
|
|
||||||
|
// link all the functions, so any of them can unbind this click handler
|
||||||
|
toggler.guid = guid;
|
||||||
|
while ( i < args.length ) {
|
||||||
|
args[ i++ ].guid = guid;
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.click( toggler );
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.live = function( types, data, fn ) {
|
||||||
|
migrateWarn("jQuery.fn.live() is deprecated");
|
||||||
|
if ( oldLive ) {
|
||||||
|
return oldLive.apply( this, arguments );
|
||||||
|
}
|
||||||
|
jQuery( this.context ).on( types, this.selector, data, fn );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
jQuery.fn.die = function( types, fn ) {
|
||||||
|
migrateWarn("jQuery.fn.die() is deprecated");
|
||||||
|
if ( oldDie ) {
|
||||||
|
return oldDie.apply( this, arguments );
|
||||||
|
}
|
||||||
|
jQuery( this.context ).off( types, this.selector || "**", fn );
|
||||||
|
return this;
|
||||||
|
};
|
||||||
|
|
||||||
|
// Turn global events into document-triggered events
|
||||||
|
jQuery.event.trigger = function( event, data, elem, onlyHandlers ){
|
||||||
|
if ( !elem && !rajaxEvent.test( event ) ) {
|
||||||
|
migrateWarn( "Global events are undocumented and deprecated" );
|
||||||
|
}
|
||||||
|
return eventTrigger.call( this, event, data, elem || document, onlyHandlers );
|
||||||
|
};
|
||||||
|
jQuery.each( ajaxEvents.split("|"),
|
||||||
|
function( _, name ) {
|
||||||
|
jQuery.event.special[ name ] = {
|
||||||
|
setup: function() {
|
||||||
|
var elem = this;
|
||||||
|
|
||||||
|
// The document needs no shimming; must be !== for oldIE
|
||||||
|
if ( elem !== document ) {
|
||||||
|
jQuery.event.add( document, name + "." + jQuery.guid, function() {
|
||||||
|
jQuery.event.trigger( name, null, elem, true );
|
||||||
|
});
|
||||||
|
jQuery._data( this, name, jQuery.guid++ );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
teardown: function() {
|
||||||
|
if ( this !== document ) {
|
||||||
|
jQuery.event.remove( document, name + "." + jQuery._data( this, name ) );
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
})( jQuery, window );
|
2
public/vendor/jspm/github/components/jquery@2.1.4/jquery-migrate.min.js
vendored
Normal file
2
public/vendor/jspm/github/components/jquery@2.1.4/jquery-migrate.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
9210
public/vendor/jspm/github/components/jquery@2.1.4/jquery.js
vendored
Normal file
9210
public/vendor/jspm/github/components/jquery@2.1.4/jquery.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
4
public/vendor/jspm/github/components/jquery@2.1.4/jquery.min.js
vendored
Normal file
4
public/vendor/jspm/github/components/jquery@2.1.4/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
public/vendor/jspm/github/components/jquery@2.1.4/jquery.min.map
vendored
Normal file
1
public/vendor/jspm/github/components/jquery@2.1.4/jquery.min.map
vendored
Normal file
File diff suppressed because one or more lines are too long
33
public/vendor/jspm/github/components/jquery@2.1.4/package.json
vendored
Normal file
33
public/vendor/jspm/github/components/jquery@2.1.4/package.json
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "jquery",
|
||||||
|
"description": "JavaScript library for DOM operations",
|
||||||
|
"version": "2.1.4",
|
||||||
|
"homepage": "http://jquery.com",
|
||||||
|
"author": {
|
||||||
|
"name": "jQuery Foundation and other contributors",
|
||||||
|
"url": "https://github.com/jquery/jquery/blob/master/AUTHORS.txt"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/jquery/jquery.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"jquery",
|
||||||
|
"javascript",
|
||||||
|
"browser",
|
||||||
|
"library"
|
||||||
|
],
|
||||||
|
"bugs": {
|
||||||
|
"url": "http://bugs.jquery.com"
|
||||||
|
},
|
||||||
|
"licenses": [
|
||||||
|
{
|
||||||
|
"type": "MIT",
|
||||||
|
"url": "https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"spm": {
|
||||||
|
"main": "jquery.js"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
1
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-assert@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3df1642a7cf401eacbb46a1d8bfe246ab79b57c299914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('assert') : require('assert');
|
6
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-assert@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"assert": "^1.3.0"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-buffer@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
59c7427feb449b75ff772d899fbb79766b75f78299914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('buffer') : require('buffer');
|
6
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-buffer@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": "^3.0.1"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-child_process@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
ed0ce91afafb6c567874b3e890aa0c353c84c97199914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
5
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/index.js
vendored
Normal file
5
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
/* */
|
||||||
|
if (System._nodeRequire)
|
||||||
|
module.exports = System._nodeRequire('child_process');
|
||||||
|
else
|
||||||
|
throw "Node child_process module not supported in browsers.";
|
3
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/package.json
vendored
Normal file
3
public/vendor/jspm/github/jspm/nodelibs-child_process@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm"
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-constants@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
f5546e21a540baccf6c8c5ca093c429ee1eca53399914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('constants') : require('constants-browserify');
|
6
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-constants@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"constants-browserify": "0.0.1"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-crypto@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
727955c647a4099a7d947500b3d1b24dd5cc1be799914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('crypto') : require('crypto-browserify');
|
6
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-crypto@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"crypto-browserify": "^3.7.2"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-events@0.1.1/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
af1e19da3a94f29708baacd94695951a73d2c21e99914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('events') : require('events');
|
6
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-events@0.1.1/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"events": "1.0.2"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-fs@0.1.2/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
e295454174ed9e95b9383f8184859d76c610d19c99914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
25
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/index.js
vendored
Normal file
25
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/index.js
vendored
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
/* */
|
||||||
|
if (System._nodeRequire) {
|
||||||
|
module.exports = System._nodeRequire('fs');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
exports.readFileSync = function(address) {
|
||||||
|
var output;
|
||||||
|
var xhr = new XMLHttpRequest();
|
||||||
|
xhr.open('GET', address, false);
|
||||||
|
xhr.onreadystatechange = function(e) {
|
||||||
|
if (xhr.readyState == 4) {
|
||||||
|
var status = xhr.status;
|
||||||
|
if ((status > 399 && status < 600) || status == 400) {
|
||||||
|
throw 'File read error on ' + address;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
output = xhr.responseText;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xhr.send(null);
|
||||||
|
return output;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
3
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/package.json
vendored
Normal file
3
public/vendor/jspm/github/jspm/nodelibs-fs@0.1.2/package.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm"
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-path@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
11c0cdcfe4abdec26b2847ed816ed4507544fca899914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('path') : require('path-browserify');
|
6
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-path@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"path-browserify": "0.0.0"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-process@0.1.2/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
32790c950d3f375e4beff9c8bdbc3b3837c355e699914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/index.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/index.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = System._nodeRequire ? process : require('process');
|
6
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-process@0.1.2/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "jspm",
|
||||||
|
"dependencies": {
|
||||||
|
"process": "npm:process@^0.11.0"
|
||||||
|
}
|
||||||
|
}
|
1
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0.js
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0.js
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
module.exports = require("github:jspm/nodelibs-stream@0.1.0/index");
|
1
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/.jspm-hash
vendored
Normal file
1
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/.jspm-hash
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
b7ca3f654bb00926747611f3c77c6298afd5c15399914b932bd37a50b983c5e7c90ae93bjspm-github@0.13.10.16.1
|
2
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/index.js
vendored
Normal file
2
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/index.js
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/* */
|
||||||
|
module.exports = System._nodeRequire ? System._nodeRequire('stream') : require('stream-browserify');
|
6
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/package.json
vendored
Normal file
6
public/vendor/jspm/github/jspm/nodelibs-stream@0.1.0/package.json
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"registry": "npm",
|
||||||
|
"dependencies": {
|
||||||
|
"stream-browserify": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user