Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
public_html_old
/
onlyone
/
js
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
bundle.js
| Size :
522.70
KB
Copy
! function e(t, n, r) { function i(a, s) { if (!n[a]) { if (!t[a]) { var u = "function" == typeof require && require; if (!s && u) return u(a, !0); if (o) return o(a, !0); var c = new Error("Cannot find module '" + a + "'"); throw c.code = "MODULE_NOT_FOUND", c } var l = n[a] = { exports: {} }; t[a][0].call(l.exports, function(e) { var n = t[a][1][e]; return i(n ? n : e) }, l, l.exports, e, t, n, r) } return n[a].exports } for (var o = "function" == typeof require && require, a = 0; a < r.length; a++) i(r[a]); return i }({ 1: [function(e) { var t, n; t = e("fastclick"), e("jquery"), e("angular"), e("angular-route"), e("angular-animate"), n = angular.module("champGoal", ["ngRoute", "ngAnimate"]), n.run(function() { return t(document.body) }), e("./controllers"), e("./directives"), e("./services"), n.config(["$routeProvider", function(e) { return e.when("/add", { templateUrl: "partials/add.html", controller: "AddController" }), e.when("/prioritize", { templateUrl: "partials/prioritize.html", controller: "PrioritizeController" }), e.when("/more", { templateUrl: "partials/prioritize-more.html", controller: "PrioritizeMoreController" }), e.when("/result", { templateUrl: "partials/result.html", controller: "ResultController" }), e.otherwise({ redirectTo: "/add" }) }]) }, { "./controllers": 3, "./directives": 8, "./services": 12, angular: 16, "angular-animate": 14, "angular-route": 15, fastclick: 17, jquery: 18 }], 2: [function(e, t) { t.exports = ["$scope", "$location", "$interval", "$timeout", "$window", "Data", function(e, t, n, r, i, o) { var a, s, u; return o.getGoalList().length ? e.goalList = o.getGoalList() : null == e.goalList && (e.goalList = []), i.scrollTo(0, 0), a = "prioritizează obiective, task-uri sau… ", e.placeholderType = "", s = 0, u = n(function() { return s < a.length ? e.placeholderType += a[s] : (n.cancel(u), r(function() { return e.changePlaceholder() }, 1e3)), s++ }, 50), e.changePlaceholder = function() { return angular.isDefined(u) && n.cancel(u), e.placeholderType = "scrie aici apoi apasă enter" }, e.goalAdd = function() { return e.goalInput ? (e.goalList.push({ goalName: e.goalInput, goalIndex: e.goalList.length + 1, goalScore: 0, goalVs: [] }), e.goalInput = "", document.getElementById("goalInput").focus()) : void 0 }, e.goalDelete = function(t) { var n, r, i, o, a, s; for (e.goalList.splice(t, 1), a = e.goalList, s = [], n = i = 0, o = a.length; o > i; n = ++i) r = a[n], s.push(e.goalList[n].goalIndex = n + 1); return s }, e.goPrioritize = function() { return e.goalList.length > 2 ? (o.addGoalList(e.goalList), t.url("/prioritize")) : void 0 } }] }, {}], 3: [function(e) { var t; e("angular"), t = angular.module("champGoal"), t.controller("AddController", e("./add")), t.controller("PrioritizeController", e("./prioritize")), t.controller("PrioritizeMoreController", e("./prioritizemore")), t.controller("ResultController", e("./result")) }, { "./add": 2, "./prioritize": 4, "./prioritizemore": 5, "./result": 6, angular: 16 }], 4: [function(e, t) { t.exports = ["$scope", "$routeParams", "$location", "SortGoals", "Data", function(e, t, n, r, i) { return e.goalList = i.getGoalList(), e.goalList.length < 3 && n.url("/add"), e.goalPairs = r.getPairs(0, e.goalList.length - 1), e.goalPairs = r.getRandomPairs(e.goalPairs), e.goalPairsActive = 0, e.nextGoals = function(t, o) { return e.goalList[t].goalScore++, e.goalList[t].goalVs[e.goalList[o].goalIndex] = 1, e.goalList[o].goalVs[e.goalList[t].goalIndex] = 0, e.goalPairsActive === e.goalPairs.length - 1 ? (e.goalList = r.byScore(e.goalList), i.addGoalList(e.goalList), n.url(r.sameScore(e.goalList, 3) ? "/more" : "/result")) : e.goalPairsActive++ } }] }, {}], 5: [function(e, t) { t.exports = ["$scope", "$routeParams", "$location", "$timeout", "SortGoals", "Data", function(e, t, n, r, i, o) { var a; return e.goalList = o.getGoalList(), e.goalList.length < 3 && n.url("/add"), a = i.sameScore(e.goalList, 3, !0), e.goalThrees = [], e.goalThreesActive = 0, e.goalThrees.push({ first: a[0], second: a[1], third: a[2] }), e.nextThree = function(t) { return e.goalList[t].goalScore += .001, e.goalList = i.byScore(e.goalList), i.sameScore(e.goalList, 3) ? (a = i.sameScore(e.goalList, 3, !0), e.goalThrees.push({ first: a[0], second: a[1], third: a[2] }), r(function() { return e.goalThreesActive++ })) : (o.addGoalList(e.goalList), n.url("/result")) } }] }, {}], 6: [function(e, t) { t.exports = ["$scope", "$location", "Data", "SortGoals", function(e, t, n, r) { return e.goalList = n.getGoalList(), e.goalList.length < 3 && t.url("/add"), e.goalList = r.equalPairs(e.goalList), n.addGoalList(e.goalList) }] }, {}], 7: [function(e, t) { t.exports = ["$timeout", function(e) { var t; return t = '<div class="click-to-edit"> <div class="cte-text" ng-click="editorEnabled=!editorEnabled"> {{text}} </div> <div class="cte-form" ng-show="editorEnabled"> <form name="mailForm" ng-submit="sendMail()"> <input type="email" name="input" ng-model="customerEmail" required> <button type="submit" class="cte-submit" ng-disabled="!mailForm.input.$valid" ng-switch="showicon"> <i ng-switch-when="loading"><i class="fa fa-spinner fa-spin"></i></i> <i ng-switch-when="success" class="fa fa-check"></i> <i ng-switch-when="error" class="fa fa-close"></i> <i ng-switch-default class="fa fa-send"></i> </button> </form> </div> <div id="onlyone-fb-pixel" ng-class="{fbpixelsendmail: trackfb}"></div> </div>', { restrict: "E", replace: !0, template: t, scope: { text: "@" }, controller: ["$scope", "$http", "$timeout", "Data", function(e, t, n, r) { return e.editorEnabled = !1, e.showicon = "send", e.trackfb = !1, e.sendMail = function() { return e.showicon = "loading", t.post("api/sendm.php", { data: r.getGoalList(), em: e.customerEmail }).success(function() { return e.showicon = "success", e.trackfb = !0, n(function() { return e.editorEnabled = !1, e.customerEmail = "", e.showicon = "send" }, 1e3) }).error(function() { return e.showicon = "error", n(function() { return e.editorEnabled = !1, e.customerEmail = "", e.showicon = "send" }, 1e3) }) } }], link: function(t, n) { var r; return r = angular.element(n.children()[1].children[0].children[0]), t.$watch("editorEnabled", function(t) { return t ? e(function() { return r[0].focus() }) : void 0 }) } } }] }, {}], 8: [function(e) { var t; e("angular"), t = angular.module("champGoal"), t.directive("clickToEdit", e("./clicktoedit")), t.directive("menuOptions", e("./menuoptions")), t.directive("wistia", e("./wistia")) }, { "./clicktoedit": 7, "./menuoptions": 9, "./wistia": 10, angular: 16 }], 9: [function(e, t) { t.exports = [function() { var e; return e = '<div class="menu-options"> <div class="menu-text" ng-click="buttonsEnabled=!buttonsEnabled"> {{text}} </div> <div class="menu-text-replace" ng-show="buttonsEnabled"> <button ng-click="reset(\'keep\')">păstrează lista</button> <button ng-click="reset(\'fresh\')">începe de la zero</button> </div> </div>', { restrict: "E", replace: !0, template: e, scope: { text: "@" }, controller: ["$scope", "$location", "Data", function(e, t, n) { return e.buttonsEnabled = !1, e.reset = function(e) { var r, i, o, a, s; if ("keep" === e) { for (i = n.getGoalList(), r = a = 0, s = i.length; s > a; r = ++a) o = i[r], i[r].goalScore = 0, i[r].goalVs = []; n.addGoalList(i), t.url("/add") } return "fresh" === e ? (n.addGoalList([]), t.url("/add")) : void 0 } }] } }] }, {}], 10: [function(e, t) { t.exports = ["$timeout", "$window", function(e, t) { var n; return n = '<div class="howitworks" ng-show="showSlide"> <div class="howslide"> <h2>Cum funcționează OnlyOne</h2> <p>OnlyOne este o aplicație simplă care te ajută să pui în ordinea priorităților orice listă de lucruri: </br><span>#obiective</span> <span>#task-uri</span> <span>#valori</span> <span>#locuri posibile de vacanță</span> <span>#rude enervante</span> etc.</p> <h3>#1 adaugă o listă de elemente pe care vrei să le prioritizezi</h3> <p>Trebuie să adaugi cel puțin 3 elemente pentru a începe prioritizarea. După ce ți-ai creat lista, poți da clic pe pictograma trofeului pentru a începe procesul de prioritizare.</p> <h3>#2 compară toate perechile posibile</h3> <p>Cel mai bun mod de a prioritiza o listă este să compari toate perechile posibile. OnlyOne face acest lucru pentru tine. Îți arată fiecare pereche posibilă (una câte una) și îți cere să alegi o singură variantă. De exemplu, dacă dorești să prioritizezi o listă de sarcini, întreabă-te pentru fiecare pereche: dacă ar trebui să realizez o singură sarcina astăzi (sau săptămâna aceasta) pe care aș alege-o? După aceea, dai clic pe sarcina aleasă.</p> <p>* Dacă după compararea tuturor combinațiilor posibile de perechi, OnlyOne nu dispune de suficiente informații pentru a organiza lista ta, îți va cere să alegi dintre trei elemente până când va avea suficiente date pentru a-ți arăta o listă perfect ordonată în funcție de prioritățile tale.</p> <h3>#3 vezi lista finală cu prioritățile tale</h3> <p>Când OnlyOne are suficiente date pentru a prioritiza elemntele introduse de tine, îți va afișa lista. De acolo poți alege să începi din nou procesul (cu aceeași listă sau de la zero) sau poți trimite lista prin e-mail astfel încât să o poți avea pentru referințe viitoare.</p> </div> <div class="howclose" ng-click="closeSlide()"> <i class="fa fa-close"></i> </div> </div>', { restrict: "E", replace: !0, template: n, scope: { showSlide: "=" }, link: function(e) { return e.closeSlide = function() { return e.showSlide = !1, t.scrollTo(0, 0) }, e.prevSlide = function() {}, e.nextSlide = function() {} } } }] }, {}], 11: [function(e, t) { t.exports = [function() { var e, t; return e = [], t = [], { addGoalList: function(t) { return e = t }, getGoalList: function() { return e } } }] }, {}], 12: [function(e) { var t; e("angular"), t = angular.module("champGoal"), t.factory("SortGoals", e("./sort-goals")), t.factory("Data", e("./data")) }, { "./data": 11, "./sort-goals": 13, angular: 16 }], 13: [function(e, t) { t.exports = [function() { var e; return e = function(e, t) { return Math.floor(Math.random() * (t - e + 1)) + e }, Array.prototype.swapItems = function(e, t) { var n; return n = this[e], this[e] = this[t], this[t] = n }, { getPairs: function(e, t) { var n, r, i, o, a, s, u, c, l, f; for (r = function() { f = []; for (var n = e; t >= e ? t >= n : n >= t; t >= e ? n++ : n--) f.push(n); return f }.apply(this), i = [], a = 0, u = r.length; u > a; a++) for (n = r[a], o = s = c = n + 1, l = r.length - 1; l >= c ? l >= s : s >= l; o = l >= c ? ++s : --s) n < r.length - 1 && i.push({ first: n, second: o }); return i }, getRandomPairs: function(t) { var n, r, i, o, a, s; for (r = t.length - 1, i = [], n = s = 0; r >= 0 ? r >= s : s >= r; n = r >= 0 ? ++s : --s) o = e(0, t.length - 1), a = e(0, 1), i.push(1 === a ? { first: t[o].first, second: t[o].second, third: "nothing" } : { first: t[o].second, second: t[o].first, third: "nothing" }), t.splice(o, 1); return i }, byScore: function(e) { for (var t, n, r, i, o;;) { for (n = !0, t = i = 0, o = e.length; o > i; t = ++i) r = e[t], t !== e.length - 1 && e[t].goalScore < e[t + 1].goalScore && (e.swapItems(t, t + 1), n = !1); if (n) break } return e }, sameScore: function(e, t, n) { var r, i, o, a, s, u, c, l, f, d, p; if (null == t && (t = 3), null == n && (n = !1), t > e.length) return n ? [] : !1; for (o = u = 0, f = e.length; f > u; o = ++u) if (s = e[o], o < e.length - t + 1) { for (r = !0, i = c = 0, d = t - 2; d >= 0 ? d >= c : c >= d; i = d >= 0 ? ++c : --c) e[o + i].goalScore !== e[o + i + 1].goalScore && (r = !1); if (r) { if (!n) return !0; for (a = [], i = l = 0, p = t - 1; p >= 0 ? p >= l : l >= p; i = p >= 0 ? ++l : --l) a.push(o + i); return a } } return !1 }, equalPairs: function(e) { for (var t, n, r, i, o;;) { for (n = !0, t = i = 0, o = e.length; o > i; t = ++i) r = e[t], t !== e.length - 1 && e[t].goalScore === e[t + 1].goalScore && (e[t].goalVs[e[t + 1].goalIndex] || (e.swapItems(t, t + 1), n = !1)); if (n) break } return e } } }] }, {}], 14: [function() { ! function(e, t, n) { "use strict"; t.module("ngAnimate", ["ng"]).directive("ngAnimateChildren", function() { var e = "$$ngAnimateChildren"; return function(n, r, i) { var o = i.ngAnimateChildren; t.isString(o) && 0 === o.length ? r.data(e, !0) : n.$watch(o, function(t) { r.data(e, !!t) }) } }).factory("$$animateReflow", ["$$rAF", "$document", function(e, t) { var n = t[0].body; return function(t) { return e(function() { n.offsetWidth + 1; t() }) } }]).config(["$provide", "$animateProvider", function(r, i) { function o(e) { for (var t = 0; t < e.length; t++) { var n = e[t]; if (n.nodeType == g) return n } } function a(e) { return e && t.element(e) } function s(e) { return t.element(o(e)) } function u(e, t) { return o(e) == o(t) } var c, l = t.noop, f = t.forEach, d = i.$$selectors, p = t.isArray, h = t.isString, v = t.isObject, g = 1, m = "$$ngAnimateState", $ = "$$ngAnimateChildren", y = "ng-animate", b = { running: !0 }; r.decorator("$animate", ["$delegate", "$$q", "$injector", "$sniffer", "$rootElement", "$$asyncCallback", "$rootScope", "$document", "$templateRequest", "$$jqLite", function(e, n, r, g, w, x, C, S, k, T) { function E(e, t) { var n = e.data(m) || {}; return t && (n.running = !0, n.structural = !0, e.data(m, n)), n.disabled || n.running && n.structural } function A(e) { var t, r = n.defer(); return r.promise.$$cancelFn = function() { t && t() }, C.$$postDigest(function() { t = e(function() { r.resolve() }) }), r.promise } function N(e) { return v(e) ? (e.tempClasses && h(e.tempClasses) && (e.tempClasses = e.tempClasses.split(/\s+/)), e) : void 0 } function D(e, t, n) { n = n || {}; var r = {}; f(n, function(e, t) { f(t.split(" "), function(t) { r[t] = e }) }); var i = Object.create(null); f((e.attr("class") || "").split(/\s+/), function(e) { i[e] = !0 }); var o = [], a = []; return f(t && t.classes || [], function(e, t) { var n = i[t], s = r[t] || {}; e === !1 ? (n || "addClass" == s.event) && a.push(t) : e === !0 && (n && "removeClass" != s.event || o.push(t)) }), o.length + a.length > 0 && [o.join(" "), a.join(" ")] } function O(e) { if (e) { var t = [], n = {}, i = e.substr(1).split("."); (g.transitions || g.animations) && t.push(r.get(d[""])); for (var o = 0; o < i.length; o++) { var a = i[o], s = d[a]; s && !n[a] && (t.push(r.get(s)), n[a] = !0) } return t } } function M(e, n, r, i) { function o(e, t) { var n = e[t], r = e["before" + t.charAt(0).toUpperCase() + t.substr(1)]; return n || r ? ("leave" == t && (r = n, n = null), x.push({ event: t, fn: n }), y.push({ event: t, fn: r }), !0) : void 0 } function a(t, n, o) { function a(e) { if (n) { if ((n[e] || l)(), ++d < s.length) return; n = null } o() } var s = []; f(t, function(e) { e.fn && s.push(e) }); var d = 0; f(s, function(t, o) { var s = function() { a(o) }; switch (t.event) { case "setClass": n.push(t.fn(e, u, c, s, i)); break; case "animate": n.push(t.fn(e, r, i.from, i.to, s)); break; case "addClass": n.push(t.fn(e, u || r, s, i)); break; case "removeClass": n.push(t.fn(e, c || r, s, i)); break; default: n.push(t.fn(e, s, i)) } }), n && 0 === n.length && o() } var s = e[0]; if (s) { i && (i.to = i.to || {}, i.from = i.from || {}); var u, c; p(r) && (u = r[0], c = r[1], u ? c ? r = u + " " + c : (r = u, n = "addClass") : (r = c, n = "removeClass")); var d = "setClass" == n, h = d || "addClass" == n || "removeClass" == n || "animate" == n, v = e.attr("class"), g = v + " " + r; if (H(g)) { var m = l, $ = [], y = [], b = l, w = [], x = [], C = (" " + g).replace(/\s+/g, "."); return f(O(C), function(e) { var t = o(e, n); !t && d && (o(e, "addClass"), o(e, "removeClass")) }), { node: s, event: n, className: r, isClassBased: h, isSetClassOperation: d, applyStyles: function() { i && e.css(t.extend(i.from || {}, i.to || {})) }, before: function(e) { m = e, a(y, $, function() { m = l, e() }) }, after: function(e) { b = e, a(x, w, function() { b = l, e() }) }, cancel: function() { $ && (f($, function(e) { (e || l)(!0) }), m(!0)), w && (f(w, function(e) { (e || l)(!0) }), b(!0)) } } } } } function j(e, n, r, i, o, a, s, u) { function d(t) { var i = "$animate:" + t; C && C[i] && C[i].length > 0 && x(function() { r.triggerHandler(i, { event: e, className: n }) }) } function p() { d("before") } function h() { d("after") } function v() { d("close"), u() } function g() { g.hasBeenRun || (g.hasBeenRun = !0, a()) } function $() { if (!$.hasBeenRun) { w && w.applyStyles(), $.hasBeenRun = !0, s && s.tempClasses && f(s.tempClasses, function(e) { c.removeClass(r, e) }); var t = r.data(m); t && (w && w.isClassBased ? P(r, n) : (x(function() { var t = r.data(m) || {}; j == t.index && P(r, n, e) }), r.data(m, t))), v() } } var b = l, w = M(r, e, n, s); if (!w) return g(), p(), h(), $(), b; e = w.event, n = w.className; var C = t.element._data(w.node); if (C = C && C.events, i || (i = o ? o.parent() : r.parent()), q(r, i)) return g(), p(), h(), $(), b; var S = r.data(m) || {}, k = S.active || {}, T = S.totalActive || 0, E = S.last, A = !1; if (T > 0) { var N = []; if (w.isClassBased) { if ("setClass" == E.event) N.push(E), P(r, n); else if (k[n]) { var D = k[n]; D.event == e ? A = !0 : (N.push(D), P(r, n)) } } else if ("leave" == e && k["ng-leave"]) A = !0; else { for (var O in k) N.push(k[O]); S = {}, P(r, !0) } N.length > 0 && f(N, function(e) { e.cancel() }) } if (!w.isClassBased || w.isSetClassOperation || "animate" == e || A || (A = "addClass" == e == r.hasClass(n)), A) return g(), p(), h(), v(), b; k = S.active || {}, T = S.totalActive || 0, "leave" == e && r.one("$destroy", function() { var e = t.element(this), n = e.data(m); if (n) { var r = n.active["ng-leave"]; r && (r.cancel(), P(e, "ng-leave")) } }), c.addClass(r, y), s && s.tempClasses && f(s.tempClasses, function(e) { c.addClass(r, e) }); var j = I++; return T++, k[n] = w, r.data(m, { last: w, active: k, index: j, totalActive: T }), p(), w.before(function(t) { var i = r.data(m); t = t || !i || !i.active[n] || w.isClassBased && i.active[n].event != e, g(), t === !0 ? $() : (h(), w.after($)) }), w.cancel } function L(e) { var n = o(e); if (n) { var r = t.isFunction(n.getElementsByClassName) ? n.getElementsByClassName(y) : n.querySelectorAll("." + y); f(r, function(e) { e = t.element(e); var n = e.data(m); n && n.active && f(n.active, function(e) { e.cancel() }) }) } } function P(e, t) { if (u(e, w)) b.disabled || (b.running = !1, b.structural = !1); else if (t) { var n = e.data(m) || {}, r = t === !0; !r && n.active && n.active[t] && (n.totalActive--, delete n.active[t]), (r || !n.totalActive) && (c.removeClass(e, y), e.removeData(m)) } } function q(e, n) { if (b.disabled) return !0; if (u(e, w)) return b.running; var r, i, o; do { if (0 === n.length) break; var a = u(n, w), s = a ? b : n.data(m) || {}; if (s.disabled) return !0; if (a && (o = !0), r !== !1) { var c = n.data($); t.isDefined(c) && (r = c) } i = i || s.running || s.last && !s.last.isClassBased } while (n = n.parent()); return !o || !r && i } c = T, w.data(m, b); var R = C.$watch(function() { return k.totalPendingRequests }, function(e) { 0 === e && (R(), C.$$postDigest(function() { C.$$postDigest(function() { b.running = !1 }) })) }), I = 0, F = i.classNameFilter(), H = F ? function(e) { return F.test(e) } : function() { return !0 }; return { animate: function(e, t, n, r, i) { return r = r || "ng-inline-animate", i = N(i) || {}, i.from = n ? t : null, i.to = n ? n : t, A(function(t) { return j("animate", r, s(e), null, null, l, i, t) }) }, enter: function(n, r, i, o) { return o = N(o), n = t.element(n), r = a(r), i = a(i), E(n, !0), e.enter(n, r, i), A(function(e) { return j("enter", "ng-enter", s(n), r, i, l, o, e) }) }, leave: function(n, r) { return r = N(r), n = t.element(n), L(n), E(n, !0), A(function(t) { return j("leave", "ng-leave", s(n), null, null, function() { e.leave(n) }, r, t) }) }, move: function(n, r, i, o) { return o = N(o), n = t.element(n), r = a(r), i = a(i), L(n), E(n, !0), e.move(n, r, i), A(function(e) { return j("move", "ng-move", s(n), r, i, l, o, e) }) }, addClass: function(e, t, n) { return this.setClass(e, t, [], n) }, removeClass: function(e, t, n) { return this.setClass(e, [], t, n) }, setClass: function(n, r, i, a) { a = N(a); var u = "$$animateClasses"; if (n = t.element(n), n = s(n), E(n)) return e.$$setClassImmediately(n, r, i, a); var c, l = n.data(u), d = !!l; return l || (l = {}, l.classes = {}), c = l.classes, r = p(r) ? r : r.split(" "), f(r, function(e) { e && e.length && (c[e] = !0) }), i = p(i) ? i : i.split(" "), f(i, function(e) { e && e.length && (c[e] = !1) }), d ? (a && l.options && (l.options = t.extend(l.options || {}, a)), l.promise) : (n.data(u, l = { classes: c, options: a }), l.promise = A(function(t) { var r = n.parent(), i = o(n), a = i.parentNode; if (!a || a.$$NG_REMOVED || i.$$NG_REMOVED) return void t(); var s = n.data(u); n.removeData(u); var c = n.data(m) || {}, l = D(n, s, c.active); return l ? j("setClass", l, n, r, null, function() { l[0] && e.$$addClassImmediately(n, l[0]), l[1] && e.$$removeClassImmediately(n, l[1]) }, s.options, t) : t() })) }, cancel: function(e) { e.$$cancelFn() }, enabled: function(e, t) { switch (arguments.length) { case 2: if (e) P(t); else { var n = t.data(m) || {}; n.disabled = !0, t.data(m, n) } break; case 1: b.disabled = !e; break; default: e = !b.disabled } return !!e } } }]), i.register("", ["$window", "$sniffer", "$timeout", "$$animateReflow", function(r, i, a, s) { function u() { P || (P = s(function() { X = [], P = null, z = {} })) } function d(e, t) { P && P(), X.push(t), P = s(function() { f(X, function(e) { e() }), X = [], P = null, z = {} }) } function v(e, n) { var r = o(e); e = t.element(r), K.push(e); var i = Date.now() + n; J >= i || (a.cancel(Y), J = i, Y = a(function() { m(K), K = [] }, n, !1)) } function m(e) { f(e, function(e) { var t = e.data(_); t && f(t.closeAnimationFns, function(e) { e() }) }) } function $(e, t) { var n = t ? z[t] : null; if (!n) { var i = 0, o = 0, a = 0, s = 0; f(e, function(e) { if (e.nodeType == g) { var t = r.getComputedStyle(e) || {}, n = t[D + q]; i = Math.max(y(n), i); var u = t[D + I]; o = Math.max(y(u), o); { t[M + I] } s = Math.max(y(t[M + I]), s); var c = y(t[M + q]); c > 0 && (c *= parseInt(t[M + F], 10) || 1), a = Math.max(c, a) } }), n = { total: 0, transitionDelay: o, transitionDuration: i, animationDelay: s, animationDuration: a }, t && (z[t] = n) } return n } function y(e) { var t = 0, n = h(e) ? e.split(/\s*,\s*/) : []; return f(n, function(e) { t = Math.max(parseFloat(e) || 0, t) }), t } function b(e) { var t = e.parent(), n = t.data(V); return n || (t.data(V, ++G), n = G), n + "-" + o(e).getAttribute("class") } function w(e, t, n, r) { var i = ["ng-enter", "ng-leave", "ng-move"].indexOf(n) >= 0, a = b(t), s = a + " " + n, u = z[s] ? ++z[s].total : 0, l = {}; if (u > 0) { var f = n + "-stagger", d = a + " " + f, p = !z[d]; p && c.addClass(t, f), l = $(t, d), p && c.removeClass(t, f) } c.addClass(t, n); var h = t.data(_) || {}, v = $(t, s), g = v.transitionDuration, m = v.animationDuration; if (i && 0 === g && 0 === m) return c.removeClass(t, n), !1; var y = r || i && g > 0, w = m > 0 && l.animationDelay > 0 && 0 === l.animationDuration, x = h.closeAnimationFns || []; t.data(_, { stagger: l, cacheKey: s, running: h.running || 0, itemIndex: u, blockTransition: y, closeAnimationFns: x }); var k = o(t); return y && (C(k, !0), r && t.css(r)), w && S(k, !0), !0 } function x(e, t, n, r, i) { function s() { t.off(I, u), c.removeClass(t, p), c.removeClass(t, h), q && a.cancel(q), A(t, n); var e = o(t); for (var r in m) e.style.removeProperty(m[r]) } function u(e) { e.stopPropagation(); var t = e.originalEvent || e, n = t.$manualTimeStamp || t.timeStamp || Date.now(), i = parseFloat(t.elapsedTime.toFixed(U)); Math.max(n - R, 0) >= M && i >= N && r() } var l = o(t), d = t.data(_); if (-1 == l.getAttribute("class").indexOf(n) || !d) return void r(); var p = "", h = ""; f(n.split(" "), function(e, t) { var n = (t > 0 ? " " : "") + e; p += n + "-active", h += n + "-pending" }); var g = "", m = [], y = d.itemIndex, b = d.stagger, w = 0; if (y > 0) { var x = 0; b.transitionDelay > 0 && 0 === b.transitionDuration && (x = b.transitionDelay * y); var k = 0; b.animationDelay > 0 && 0 === b.animationDuration && (k = b.animationDelay * y, m.push(L + "animation-play-state")), w = Math.round(100 * Math.max(x, k)) / 100 } w || (c.addClass(t, p), d.blockTransition && C(l, !1)); var T = d.cacheKey + " " + p, E = $(t, T), N = Math.max(E.transitionDuration, E.animationDuration); if (0 === N) return c.removeClass(t, p), A(t, n), void r(); !w && i && (E.transitionDuration || (t.css("transition", E.animationDuration + "s linear all"), m.push("transition")), t.css(i)); var D = Math.max(E.transitionDelay, E.animationDelay), M = D * W; if (m.length > 0) { var P = l.getAttribute("style") || ""; ";" !== P.charAt(P.length - 1) && (P += ";"), l.setAttribute("style", P + " " + g) } var q, R = Date.now(), I = j + " " + O, F = (D + N) * B, H = (w + F) * W; return w > 0 && (c.addClass(t, h), q = a(function() { q = null, E.transitionDuration > 0 && C(l, !1), E.animationDuration > 0 && S(l, !1), c.addClass(t, p), c.removeClass(t, h), i && (0 === E.transitionDuration && t.css("transition", E.animationDuration + "s linear all"), t.css(i), m.push("transition")) }, w * W, !1)), t.on(I, u), d.closeAnimationFns.push(function() { s(), r() }), d.running++, v(t, H), s } function C(e, t) { e.style[D + R] = t ? "none" : "" } function S(e, t) { e.style[M + H] = t ? "paused" : "" } function k(e, t, n, r) { return w(e, t, n, r) ? function(e) { e && A(t, n) } : void 0 } function T(e, t, n, r, i) { return t.data(_) ? x(e, t, n, r, i) : (A(t, n), void r()) } function E(e, t, n, r, i) { var o = k(e, t, n, i.from); if (!o) return u(), void r(); var a = o; return d(t, function() { a = T(e, t, n, r, i.to) }), function(e) { (a || l)(e) } } function A(e, t) { c.removeClass(e, t); var n = e.data(_); n && (n.running && n.running--, n.running && 0 !== n.running || e.removeData(_)) } function N(e, t) { var n = ""; return e = p(e) ? e : e.split(/\s+/), f(e, function(e, r) { e && e.length > 0 && (n += (r > 0 ? " " : "") + e + t) }), n } var D, O, M, j, L = ""; e.ontransitionend === n && e.onwebkittransitionend !== n ? (L = "-webkit-", D = "WebkitTransition", O = "webkitTransitionEnd transitionend") : (D = "transition", O = "transitionend"), e.onanimationend === n && e.onwebkitanimationend !== n ? (L = "-webkit-", M = "WebkitAnimation", j = "webkitAnimationEnd animationend") : (M = "animation", j = "animationend"); var P, q = "Duration", R = "Property", I = "Delay", F = "IterationCount", H = "PlayState", V = "$$ngAnimateKey", _ = "$$ngAnimateCSS3Data", U = 3, B = 1.5, W = 1e3, z = {}, G = 0, X = [], Y = null, J = 0, K = []; return { animate: function(e, t, n, r, i, o) { return o = o || {}, o.from = n, o.to = r, E("animate", e, t, i, o) }, enter: function(e, t, n) { return n = n || {}, E("enter", e, "ng-enter", t, n) }, leave: function(e, t, n) { return n = n || {}, E("leave", e, "ng-leave", t, n) }, move: function(e, t, n) { return n = n || {}, E("move", e, "ng-move", t, n) }, beforeSetClass: function(e, t, n, r, i) { i = i || {}; var o = N(n, "-remove") + " " + N(t, "-add"), a = k("setClass", e, o, i.from); return a ? (d(e, r), a) : (u(), void r()) }, beforeAddClass: function(e, t, n, r) { r = r || {}; var i = k("addClass", e, N(t, "-add"), r.from); return i ? (d(e, n), i) : (u(), void n()) }, beforeRemoveClass: function(e, t, n, r) { r = r || {}; var i = k("removeClass", e, N(t, "-remove"), r.from); return i ? (d(e, n), i) : (u(), void n()) }, setClass: function(e, t, n, r, i) { i = i || {}, n = N(n, "-remove"), t = N(t, "-add"); var o = n + " " + t; return T("setClass", e, o, r, i.to) }, addClass: function(e, t, n, r) { return r = r || {}, T("addClass", e, N(t, "-add"), n, r.to) }, removeClass: function(e, t, n, r) { return r = r || {}, T("removeClass", e, N(t, "-remove"), n, r.to) } } }]) }]) }(window, window.angular) }, {}], 15: [function() { ! function(e, t) { "use strict"; function n() { function e(e, n) { return t.extend(Object.create(e), n) } function n(e, t) { var n = t.caseInsensitiveMatch, r = { originalPath: e, regexp: e }, i = r.keys = []; return e = e.replace(/([().])/g, "\\$1").replace(/(\/)?:(\w+)([\?\*])?/g, function(e, t, n, r) { var o = "?" === r ? r : null, a = "*" === r ? r : null; return i.push({ name: n, optional: !!o }), t = t || "", "" + (o ? "" : t) + "(?:" + (o ? t : "") + (a && "(.+?)" || "([^/]+)") + (o || "") + ")" + (o || "") }).replace(/([\/$\*])/g, "\\$1"), r.regexp = new RegExp("^" + e + "$", n ? "i" : ""), r } var r = {}; this.when = function(e, i) { var o = t.copy(i); if (t.isUndefined(o.reloadOnSearch) && (o.reloadOnSearch = !0), t.isUndefined(o.caseInsensitiveMatch) && (o.caseInsensitiveMatch = this.caseInsensitiveMatch), r[e] = t.extend(o, e && n(e, o)), e) { var a = "/" == e[e.length - 1] ? e.substr(0, e.length - 1) : e + "/"; r[a] = t.extend({ redirectTo: e }, n(a, o)) } return this }, this.caseInsensitiveMatch = !1, this.otherwise = function(e) { return "string" == typeof e && (e = { redirectTo: e }), this.when(null, e), this }, this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$templateRequest", "$sce", function(n, i, o, a, u, c, l) { function f(e, t) { var n = t.keys, r = {}; if (!t.regexp) return null; var i = t.regexp.exec(e); if (!i) return null; for (var o = 1, a = i.length; a > o; ++o) { var s = n[o - 1], u = i[o]; s && u && (r[s.name] = u) } return r } function d(e) { var r = y.current; g = h(), m = g && r && g.$$route === r.$$route && t.equals(g.pathParams, r.pathParams) && !g.reloadOnSearch && !$, m || !r && !g || n.$broadcast("$routeChangeStart", g, r).defaultPrevented && e && e.preventDefault() } function p() { var e = y.current, r = g; m ? (e.params = r.params, t.copy(e.params, o), n.$broadcast("$routeUpdate", e)) : (r || e) && ($ = !1, y.current = r, r && r.redirectTo && (t.isString(r.redirectTo) ? i.path(v(r.redirectTo, r.params)).search(r.params).replace() : i.url(r.redirectTo(r.pathParams, i.path(), i.search())).replace()), a.when(r).then(function() { if (r) { var e, n, i = t.extend({}, r.resolve); return t.forEach(i, function(e, n) { i[n] = t.isString(e) ? u.get(e) : u.invoke(e, null, null, n) }), t.isDefined(e = r.template) ? t.isFunction(e) && (e = e(r.params)) : t.isDefined(n = r.templateUrl) && (t.isFunction(n) && (n = n(r.params)), n = l.getTrustedResourceUrl(n), t.isDefined(n) && (r.loadedTemplateUrl = n, e = c(n))), t.isDefined(e) && (i.$template = e), a.all(i) } }).then(function(i) { r == y.current && (r && (r.locals = i, t.copy(r.params, o)), n.$broadcast("$routeChangeSuccess", r, e)) }, function(t) { r == y.current && n.$broadcast("$routeChangeError", r, e, t) })) } function h() { var n, o; return t.forEach(r, function(r) { !o && (n = f(i.path(), r)) && (o = e(r, { params: t.extend({}, i.search(), n), pathParams: n }), o.$$route = r) }), o || r[null] && e(r[null], { params: {}, pathParams: {} }) } function v(e, n) { var r = []; return t.forEach((e || "").split(":"), function(e, t) { if (0 === t) r.push(e); else { var i = e.match(/(\w+)(?:[?*])?(.*)/), o = i[1]; r.push(n[o]), r.push(i[2] || ""), delete n[o] } }), r.join("") } var g, m, $ = !1, y = { routes: r, reload: function() { $ = !0, n.$evalAsync(function() { d(), p() }) }, updateParams: function(e) { if (!this.current || !this.current.$$route) throw s("norout", "Tried updating route when with no current route"); var n = {}, r = this; t.forEach(Object.keys(e), function(t) { r.current.pathParams[t] || (n[t] = e[t]) }), e = t.extend({}, this.current.params, e), i.path(v(this.current.$$route.originalPath, e)), i.search(t.extend({}, i.search(), n)) } }; return n.$on("$locationChangeStart", d), n.$on("$locationChangeSuccess", p), y }] } function r() { this.$get = function() { return {} } } function i(e, n, r) { return { restrict: "ECA", terminal: !0, priority: 400, transclude: "element", link: function(i, o, a, s, u) { function c() { p && (r.cancel(p), p = null), f && (f.$destroy(), f = null), d && (p = r.leave(d), p.then(function() { p = null }), d = null) } function l() { var a = e.current && e.current.locals, s = a && a.$template; if (t.isDefined(s)) { var l = i.$new(), p = e.current, g = u(l, function(e) { r.enter(e, null, d || o).then(function() { !t.isDefined(h) || h && !i.$eval(h) || n() }), c() }); d = g, f = p.scope = l, f.$emit("$viewContentLoaded"), f.$eval(v) } else c() } var f, d, p, h = a.autoscroll, v = a.onload || ""; i.$on("$routeChangeSuccess", l), l() } } } function o(e, t, n) { return { restrict: "ECA", priority: -400, link: function(r, i) { var o = n.current, a = o.locals; i.html(a.$template); var s = e(i.contents()); if (o.controller) { a.$scope = r; var u = t(o.controller, a); o.controllerAs && (r[o.controllerAs] = u), i.data("$ngControllerController", u), i.children().data("$ngControllerController", u) } s(r) } } } var a = t.module("ngRoute", ["ng"]).provider("$route", n), s = t.$$minErr("ngRoute"); a.provider("$routeParams", r), a.directive("ngView", i), a.directive("ngView", o), i.$inject = ["$route", "$anchorScroll", "$animate"], o.$inject = ["$compile", "$controller", "$route"] }(window, window.angular) }, {}], 16: [function() { ! function(e, t, n) { "use strict"; function r(e, t) { return t = t || Error, function() { var n, r, i = arguments[0], o = "[" + (e ? e + ":" : "") + i + "] ", a = arguments[1], s = arguments; for (n = o + a.replace(/\{\d+\}/g, function(e) { var t = +e.slice(1, -1); return t + 2 < s.length ? dt(s[t + 2]) : e }), n = n + "\nhttp://errors.angularjs.org/1.3.8/" + (e ? e + "/" : "") + i, r = 2; r < arguments.length; r++) n = n + (2 == r ? "?" : "&") + "p" + (r - 2) + "=" + encodeURIComponent(dt(arguments[r])); return new t(n) } } function i(e) { if (null == e || k(e)) return !1; var t = e.length; return e.nodeType === mi && t ? !0 : b(e) || li(e) || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function o(e, t, n) { var r, a; if (e) if (C(e)) for (r in e) "prototype" == r || "length" == r || "name" == r || e.hasOwnProperty && !e.hasOwnProperty(r) || t.call(n, e[r], r, e); else if (li(e) || i(e)) { var s = "object" != typeof e; for (r = 0, a = e.length; a > r; r++)(s || r in e) && t.call(n, e[r], r, e) } else if (e.forEach && e.forEach !== o) e.forEach(t, n, e); else for (r in e) e.hasOwnProperty(r) && t.call(n, e[r], r, e); return e } function a(e) { return Object.keys(e).sort() } function s(e, t, n) { for (var r = a(e), i = 0; i < r.length; i++) t.call(n, e[r[i]], r[i]); return r } function u(e) { return function(t, n) { e(n, t) } } function c() { return ++ui } function l(e, t) { t ? e.$$hashKey = t : delete e.$$hashKey } function f(e) { for (var t = e.$$hashKey, n = 1, r = arguments.length; r > n; n++) { var i = arguments[n]; if (i) for (var o = Object.keys(i), a = 0, s = o.length; s > a; a++) { var u = o[a]; e[u] = i[u] } } return l(e, t), e } function d(e) { return parseInt(e, 10) } function p(e, t) { return f(Object.create(e), t) } function h() {} function v(e) { return e } function g(e) { return function() { return e } } function m(e) { return "undefined" == typeof e } function $(e) { return "undefined" != typeof e } function y(e) { return null !== e && "object" == typeof e } function b(e) { return "string" == typeof e } function w(e) { return "number" == typeof e } function x(e) { return "[object Date]" === oi.call(e) } function C(e) { return "function" == typeof e } function S(e) { return "[object RegExp]" === oi.call(e) } function k(e) { return e && e.window === e } function T(e) { return e && e.$evalAsync && e.$watch } function E(e) { return "[object File]" === oi.call(e) } function A(e) { return "[object FormData]" === oi.call(e) } function N(e) { return "[object Blob]" === oi.call(e) } function D(e) { return "boolean" == typeof e } function O(e) { return e && C(e.then) } function M(e) { return !(!e || !(e.nodeName || e.prop && e.attr && e.find)) } function j(e) { var t, n = {}, r = e.split(","); for (t = 0; t < r.length; t++) n[r[t]] = !0; return n } function L(e) { return Gr(e.nodeName || e[0] && e[0].nodeName) } function P(e, t) { var n = e.indexOf(t); return n >= 0 && e.splice(n, 1), t } function q(e, t, n, r) { if (k(e) || T(e)) throw ai("cpws", "Can't copy! Making copies of Window or Scope instances is not supported."); if (t) { if (e === t) throw ai("cpi", "Can't copy! Source and destination are identical."); if (n = n || [], r = r || [], y(e)) { var i = n.indexOf(e); if (-1 !== i) return r[i]; n.push(e), r.push(t) } var a; if (li(e)) { t.length = 0; for (var s = 0; s < e.length; s++) a = q(e[s], null, n, r), y(e[s]) && (n.push(e[s]), r.push(a)), t.push(a) } else { var u = t.$$hashKey; li(t) ? t.length = 0 : o(t, function(e, n) { delete t[n] }); for (var c in e) e.hasOwnProperty(c) && (a = q(e[c], null, n, r), y(e[c]) && (n.push(e[c]), r.push(a)), t[c] = a); l(t, u) } } else if (t = e, e) if (li(e)) t = q(e, [], n, r); else if (x(e)) t = new Date(e.getTime()); else if (S(e)) t = new RegExp(e.source, e.toString().match(/[^\/]*$/)[0]), t.lastIndex = e.lastIndex; else if (y(e)) { var f = Object.create(Object.getPrototypeOf(e)); t = q(e, f, n, r) } return t } function R(e, t) { if (li(e)) { t = t || []; for (var n = 0, r = e.length; r > n; n++) t[n] = e[n] } else if (y(e)) { t = t || {}; for (var i in e)("$" !== i.charAt(0) || "$" !== i.charAt(1)) && (t[i] = e[i]) } return t || e } function I(e, t) { if (e === t) return !0; if (null === e || null === t) return !1; if (e !== e && t !== t) return !0; var r, i, o, a = typeof e, s = typeof t; if (a == s && "object" == a) { if (!li(e)) { if (x(e)) return x(t) ? I(e.getTime(), t.getTime()) : !1; if (S(e) && S(t)) return e.toString() == t.toString(); if (T(e) || T(t) || k(e) || k(t) || li(t)) return !1; o = {}; for (i in e) if ("$" !== i.charAt(0) && !C(e[i])) { if (!I(e[i], t[i])) return !1; o[i] = !0 } for (i in t) if (!o.hasOwnProperty(i) && "$" !== i.charAt(0) && t[i] !== n && !C(t[i])) return !1; return !0 } if (!li(t)) return !1; if ((r = e.length) == t.length) { for (i = 0; r > i; i++) if (!I(e[i], t[i])) return !1; return !0 } } return !1 } function F(e, t, n) { return e.concat(ni.call(t, n)) } function H(e, t) { return ni.call(e, t || 0) } function V(e, t) { var n = arguments.length > 2 ? H(arguments, 2) : []; return !C(t) || t instanceof RegExp ? t : n.length ? function() { return arguments.length ? t.apply(e, F(n, arguments, 0)) : t.apply(e, n) } : function() { return arguments.length ? t.apply(e, arguments) : t.call(e) } } function _(e, r) { var i = r; return "string" == typeof e && "$" === e.charAt(0) && "$" === e.charAt(1) ? i = n : k(r) ? i = "$WINDOW" : r && t === r ? i = "$DOCUMENT" : T(r) && (i = "$SCOPE"), i } function U(e, t) { return "undefined" == typeof e ? n : (w(t) || (t = t ? 2 : null), JSON.stringify(e, _, t)) } function B(e) { return b(e) ? JSON.parse(e) : e } function W(e) { e = Qr(e).clone(); try { e.empty() } catch (t) {} var n = Qr("<div>").append(e).html(); try { return e[0].nodeType === $i ? Gr(n) : n.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function(e, t) { return "<" + Gr(t) }) } catch (t) { return Gr(n) } } function z(e) { try { return decodeURIComponent(e) } catch (t) {} } function G(e) { var t, n, r = {}; return o((e || "").split("&"), function(e) { if (e && (t = e.replace(/\+/g, "%20").split("="), n = z(t[0]), $(n))) { var i = $(t[1]) ? z(t[1]) : !0; Xr.call(r, n) ? li(r[n]) ? r[n].push(i) : r[n] = [r[n], i] : r[n] = i } }), r } function X(e) { var t = []; return o(e, function(e, n) { li(e) ? o(e, function(e) { t.push(J(n, !0) + (e === !0 ? "" : "=" + J(e, !0))) }) : t.push(J(n, !0) + (e === !0 ? "" : "=" + J(e, !0))) }), t.length ? t.join("&") : "" } function Y(e) { return J(e, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+") } function J(e, t) { return encodeURIComponent(e).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%3B/gi, ";").replace(/%20/g, t ? "%20" : "+") } function K(e, t) { var n, r, i = hi.length; for (e = Qr(e), r = 0; i > r; ++r) if (n = hi[r] + t, b(n = e.attr(n))) return n; return null } function Z(e, t) { var n, r, i = {}; o(hi, function(t) { var i = t + "app"; !n && e.hasAttribute && e.hasAttribute(i) && (n = e, r = e.getAttribute(i)) }), o(hi, function(t) { var i, o = t + "app"; !n && (i = e.querySelector("[" + o.replace(":", "\\:") + "]")) && (n = i, r = i.getAttribute(o)) }), n && (i.strictDi = null !== K(n, "strict-di"), t(n, r ? [r] : [], i)) } function Q(n, r, i) { y(i) || (i = {}); var a = { strictDi: !1 }; i = f(a, i); var s = function() { if (n = Qr(n), n.injector()) { var e = n[0] === t ? "document" : W(n); throw ai("btstrpd", "App Already Bootstrapped with this Element '{0}'", e.replace(/</, "<").replace(/>/, ">")) } r = r || [], r.unshift(["$provide", function(e) { e.value("$rootElement", n) }]), i.debugInfoEnabled && r.push(["$compileProvider", function(e) { e.debugInfoEnabled(!0) }]), r.unshift("ng"); var o = Bt(r, i.strictDi); return o.invoke(["$rootScope", "$rootElement", "$compile", "$injector", function(e, t, n, r) { e.$apply(function() { t.data("$injector", r), n(t)(e) }) }]), o }, u = /^NG_ENABLE_DEBUG_INFO!/, c = /^NG_DEFER_BOOTSTRAP!/; return e && u.test(e.name) && (i.debugInfoEnabled = !0, e.name = e.name.replace(u, "")), e && !c.test(e.name) ? s() : (e.name = e.name.replace(c, ""), void(si.resumeBootstrap = function(e) { o(e, function(e) { r.push(e) }), s() })) } function et() { e.name = "NG_ENABLE_DEBUG_INFO!" + e.name, e.location.reload() } function tt(e) { var t = si.element(e).injector(); if (!t) throw ai("test", "no injector found for element argument to getTestability"); return t.get("$$testability") } function nt(e, t) { return t = t || "_", e.replace(vi, function(e, n) { return (n ? t : "") + e.toLowerCase() }) } function rt() { var t; gi || (ei = e.jQuery, ei && ei.fn.on ? (Qr = ei, f(ei.fn, { scope: qi.scope, isolateScope: qi.isolateScope, controller: qi.controller, injector: qi.injector, inheritedData: qi.inheritedData }), t = ei.cleanData, ei.cleanData = function(e) { var n; if (ci) ci = !1; else for (var r, i = 0; null != (r = e[i]); i++) n = ei._data(r, "events"), n && n.$destroy && ei(r).triggerHandler("$destroy"); t(e) }) : Qr = bt, si.element = Qr, gi = !0) } function it(e, t, n) { if (!e) throw ai("areq", "Argument '{0}' is {1}", t || "?", n || "required"); return e } function ot(e, t, n) { return n && li(e) && (e = e[e.length - 1]), it(C(e), t, "not a function, got " + (e && "object" == typeof e ? e.constructor.name || "Object" : typeof e)), e } function at(e, t) { if ("hasOwnProperty" === e) throw ai("badname", "hasOwnProperty is not a valid {0} name", t) } function st(e, t, n) { if (!t) return e; for (var r, i = t.split("."), o = e, a = i.length, s = 0; a > s; s++) r = i[s], e && (e = (o = e)[r]); return !n && C(e) ? V(o, e) : e } function ut(e) { var t = e[0], n = e[e.length - 1], r = [t]; do { if (t = t.nextSibling, !t) break; r.push(t) } while (t !== n); return Qr(r) } function ct() { return Object.create(null) } function lt(e) { function t(e, t, n) { return e[t] || (e[t] = n()) } var n = r("$injector"), i = r("ng"), o = t(e, "angular", Object); return o.$$minErr = o.$$minErr || r, t(o, "module", function() { var e = {}; return function(r, o, a) { var s = function(e, t) { if ("hasOwnProperty" === e) throw i("badname", "hasOwnProperty is not a valid {0} name", t) }; return s(r, "module"), o && e.hasOwnProperty(r) && (e[r] = null), t(e, r, function() { function e(e, n, r, i) { return i || (i = t), function() { return i[r || "push"]([e, n, arguments]), c } } if (!o) throw n("nomod", "Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.", r); var t = [], i = [], s = [], u = e("$injector", "invoke", "push", i), c = { _invokeQueue: t, _configBlocks: i, _runBlocks: s, requires: o, name: r, provider: e("$provide", "provider"), factory: e("$provide", "factory"), service: e("$provide", "service"), value: e("$provide", "value"), constant: e("$provide", "constant", "unshift"), animation: e("$animateProvider", "register"), filter: e("$filterProvider", "register"), controller: e("$controllerProvider", "register"), directive: e("$compileProvider", "directive"), config: u, run: function(e) { return s.push(e), this } }; return a && u(a), c }) } }) } function ft(e) { var t = []; return JSON.stringify(e, function(e, n) { if (n = _(e, n), y(n)) { if (t.indexOf(n) >= 0) return "<<already seen>>"; t.push(n) } return n }) } function dt(e) { return "function" == typeof e ? e.toString().replace(/ \{[\s\S]*$/, "") : "undefined" == typeof e ? "undefined" : "string" != typeof e ? ft(e) : e } function pt(t) { f(t, { bootstrap: Q, copy: q, extend: f, equals: I, element: Qr, forEach: o, injector: Bt, noop: h, bind: V, toJson: U, fromJson: B, identity: v, isUndefined: m, isDefined: $, isString: b, isFunction: C, isObject: y, isNumber: w, isElement: M, isArray: li, version: xi, isDate: x, lowercase: Gr, uppercase: Yr, callbacks: { counter: 0 }, getTestability: tt, $$minErr: r, $$csp: pi, reloadWithDebugInfo: et }), ti = lt(e); try { ti("ngLocale") } catch (n) { ti("ngLocale", []).provider("$locale", mn) } ti("ng", ["ngLocale"], ["$provide", function(e) { e.provider({ $$sanitizeUri: Yn }), e.provider("$compile", Kt).directive({ a: Ao, input: Go, textarea: Go, form: jo, script: Ia, select: Va, style: Ua, option: _a, ngBind: da, ngBindHtml: ha, ngBindTemplate: pa, ngClass: va, ngClassEven: ma, ngClassOdd: ga, ngCloak: $a, ngController: ya, ngForm: Lo, ngHide: Ma, ngIf: xa, ngInclude: Ca, ngInit: ka, ngNonBindable: Ta, ngPluralize: Ea, ngRepeat: Aa, ngShow: Oa, ngStyle: ja, ngSwitch: La, ngSwitchWhen: Pa, ngSwitchDefault: qa, ngOptions: Ha, ngTransclude: Ra, ngModel: na, ngList: ua, ngChange: ra, pattern: oa, ngPattern: oa, required: ia, ngRequired: ia, minlength: sa, ngMinlength: sa, maxlength: aa, ngMaxlength: aa, ngValue: la, ngModelOptions: fa }).directive({ ngInclude: Sa }).directive(No).directive(ba), e.provider({ $anchorScroll: Wt, $animate: zi, $browser: Xt, $cacheFactory: Yt, $controller: tn, $document: nn, $exceptionHandler: rn, $filter: sr, $interpolate: vn, $interval: gn, $http: fn, $httpBackend: pn, $location: On, $log: Mn, $parse: Un, $rootScope: Xn, $q: Bn, $$q: Wn, $sce: Qn, $sceDelegate: Zn, $sniffer: er, $templateCache: Jt, $templateRequest: tr, $$testability: nr, $timeout: rr, $window: ar, $$rAF: Gn, $$asyncCallback: zt, $$jqLite: Ft }) }]) } function ht() { return ++Si } function vt(e) { return e.replace(Ei, function(e, t, n, r) { return r ? n.toUpperCase() : n }).replace(Ai, "Moz$1") } function gt(e) { return !Mi.test(e) } function mt(e) { var t = e.nodeType; return t === mi || !t || t === bi } function $t(e, t) { var n, r, i, a, s = t.createDocumentFragment(), u = []; if (gt(e)) u.push(t.createTextNode(e)); else { for (n = n || s.appendChild(t.createElement("div")), r = (ji.exec(e) || ["", ""])[1].toLowerCase(), i = Pi[r] || Pi._default, n.innerHTML = i[1] + e.replace(Li, "<$1></$2>") + i[2], a = i[0]; a--;) n = n.lastChild; u = F(u, n.childNodes), n = s.firstChild, n.textContent = "" } return s.textContent = "", s.innerHTML = "", o(u, function(e) { s.appendChild(e) }), s } function yt(e, n) { n = n || t; var r; return (r = Oi.exec(e)) ? [n.createElement(r[1])] : (r = $t(e, n)) ? r.childNodes : [] } function bt(e) { if (e instanceof bt) return e; var t; if (b(e) && (e = fi(e), t = !0), !(this instanceof bt)) { if (t && "<" != e.charAt(0)) throw Di("nosel", "Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element"); return new bt(e) } t ? Dt(this, yt(e)) : Dt(this, e) } function wt(e) { return e.cloneNode(!0) } function xt(e, t) { if (t || St(e), e.querySelectorAll) for (var n = e.querySelectorAll("*"), r = 0, i = n.length; i > r; r++) St(n[r]) } function Ct(e, t, n, r) { if ($(r)) throw Di("offargs", "jqLite#off() does not support the `selector` argument"); var i = kt(e), a = i && i.events, s = i && i.handle; if (s) if (t) o(t.split(" "), function(t) { if ($(n)) { var r = a[t]; if (P(r || [], n), r && r.length > 0) return } Ti(e, t, s), delete a[t] }); else for (t in a) "$destroy" !== t && Ti(e, t, s), delete a[t] } function St(e, t) { var r = e.ng339, i = r && Ci[r]; if (i) { if (t) return void delete i.data[t]; i.handle && (i.events.$destroy && i.handle({}, "$destroy"), Ct(e)), delete Ci[r], e.ng339 = n } } function kt(e, t) { var r = e.ng339, i = r && Ci[r]; return t && !i && (e.ng339 = r = ht(), i = Ci[r] = { events: {}, data: {}, handle: n }), i } function Tt(e, t, n) { if (mt(e)) { var r = $(n), i = !r && t && !y(t), o = !t, a = kt(e, !i), s = a && a.data; if (r) s[t] = n; else { if (o) return s; if (i) return s && s[t]; f(s, t) } } } function Et(e, t) { return e.getAttribute ? (" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").indexOf(" " + t + " ") > -1 : !1 } function At(e, t) { t && e.setAttribute && o(t.split(" "), function(t) { e.setAttribute("class", fi((" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " ").replace(" " + fi(t) + " ", " "))) }) } function Nt(e, t) { if (t && e.setAttribute) { var n = (" " + (e.getAttribute("class") || "") + " ").replace(/[\n\t]/g, " "); o(t.split(" "), function(e) { e = fi(e), -1 === n.indexOf(" " + e + " ") && (n += e + " ") }), e.setAttribute("class", fi(n)) } } function Dt(e, t) { if (t) if (t.nodeType) e[e.length++] = t; else { var n = t.length; if ("number" == typeof n && t.window !== t) { if (n) for (var r = 0; n > r; r++) e[e.length++] = t[r] } else e[e.length++] = t } } function Ot(e, t) { return Mt(e, "$" + (t || "ngController") + "Controller") } function Mt(e, t, r) { e.nodeType == bi && (e = e.documentElement); for (var i = li(t) ? t : [t]; e;) { for (var o = 0, a = i.length; a > o; o++) if ((r = Qr.data(e, i[o])) !== n) return r; e = e.parentNode || e.nodeType === wi && e.host } } function jt(e) { for (xt(e, !0); e.firstChild;) e.removeChild(e.firstChild) } function Lt(e, t) { t || xt(e); var n = e.parentNode; n && n.removeChild(e) } function Pt(t, n) { n = n || e, "complete" === n.document.readyState ? n.setTimeout(t) : Qr(n).on("load", t) } function qt(e, t) { var n = Ri[t.toLowerCase()]; return n && Ii[L(e)] && n } function Rt(e, t) { var n = e.nodeName; return ("INPUT" === n || "TEXTAREA" === n) && Fi[t] } function It(e, t) { var n = function(n, r) { n.isDefaultPrevented = function() { return n.defaultPrevented }; var i = t[r || n.type], o = i ? i.length : 0; if (o) { if (m(n.immediatePropagationStopped)) { var a = n.stopImmediatePropagation; n.stopImmediatePropagation = function() { n.immediatePropagationStopped = !0, n.stopPropagation && n.stopPropagation(), a && a.call(n) } } n.isImmediatePropagationStopped = function() { return n.immediatePropagationStopped === !0 }, o > 1 && (i = R(i)); for (var s = 0; o > s; s++) n.isImmediatePropagationStopped() || i[s].call(e, n) } }; return n.elem = e, n } function Ft() { this.$get = function() { return f(bt, { hasClass: function(e, t) { return e.attr && (e = e[0]), Et(e, t) }, addClass: function(e, t) { return e.attr && (e = e[0]), Nt(e, t) }, removeClass: function(e, t) { return e.attr && (e = e[0]), At(e, t) } }) } } function Ht(e, t) { var n = e && e.$$hashKey; if (n) return "function" == typeof n && (n = e.$$hashKey()), n; var r = typeof e; return n = "function" == r || "object" == r && null !== e ? e.$$hashKey = r + ":" + (t || c)() : r + ":" + e } function Vt(e, t) { if (t) { var n = 0; this.nextUid = function() { return ++n } } o(e, this.put, this) } function _t(e) { var t = e.toString().replace(Ui, ""), n = t.match(Hi); return n ? "function(" + (n[1] || "").replace(/[\s\r\n]+/, " ") + ")" : "fn" } function Ut(e, t, n) { var r, i, a, s; if ("function" == typeof e) { if (!(r = e.$inject)) { if (r = [], e.length) { if (t) throw b(n) && n || (n = e.name || _t(e)), Bi("strictdi", "{0} is not using explicit annotation and cannot be invoked in strict mode", n); i = e.toString().replace(Ui, ""), a = i.match(Hi), o(a[1].split(Vi), function(e) { e.replace(_i, function(e, t, n) { r.push(n) }) }) } e.$inject = r } } else li(e) ? (s = e.length - 1, ot(e[s], "fn"), r = e.slice(0, s)) : ot(e, "fn", !0); return r } function Bt(e, t) { function r(e) { return function(t, n) { return y(t) ? void o(t, u(e)) : e(t, n) } } function i(e, t) { if (at(e, "service"), (C(t) || li(t)) && (t = T.instantiate(t)), !t.$get) throw Bi("pget", "Provider '{0}' must define $get factory method.", e); return k[e + w] = t } function a(e, t) { return function() { var n = A.invoke(t, this); if (m(n)) throw Bi("undef", "Provider '{0}' must return a value from $get factory method.", e); return n } } function s(e, t, n) { return i(e, { $get: n !== !1 ? a(e, t) : t }) } function c(e, t) { return s(e, ["$injector", function(e) { return e.instantiate(t) }]) } function l(e, t) { return s(e, g(t), !1) } function f(e, t) { at(e, "constant"), k[e] = t, E[e] = t } function d(e, t) { var n = T.get(e + w), r = n.$get; n.$get = function() { var e = A.invoke(r, n); return A.invoke(t, null, { $delegate: e }) } } function p(e) { var t, n = []; return o(e, function(e) { function r(e) { var t, n; for (t = 0, n = e.length; n > t; t++) { var r = e[t], i = T.get(r[0]); i[r[1]].apply(i, r[2]) } } if (!S.get(e)) { S.put(e, !0); try { b(e) ? (t = ti(e), n = n.concat(p(t.requires)).concat(t._runBlocks), r(t._invokeQueue), r(t._configBlocks)) : C(e) ? n.push(T.invoke(e)) : li(e) ? n.push(T.invoke(e)) : ot(e, "module") } catch (i) { throw li(e) && (e = e[e.length - 1]), i.message && i.stack && -1 == i.stack.indexOf(i.message) && (i = i.message + "\n" + i.stack), Bi("modulerr", "Failed to instantiate module {0} due to:\n{1}", e, i.stack || i.message || i) } } }), n } function v(e, n) { function r(t, r) { if (e.hasOwnProperty(t)) { if (e[t] === $) throw Bi("cdep", "Circular dependency found: {0}", t + " <- " + x.join(" <- ")); return e[t] } try { return x.unshift(t), e[t] = $, e[t] = n(t, r) } catch (i) { throw e[t] === $ && delete e[t], i } finally { x.shift() } } function i(e, n, i, o) { "string" == typeof i && (o = i, i = null); var a, s, u, c = [], l = Ut(e, t, o); for (s = 0, a = l.length; a > s; s++) { if (u = l[s], "string" != typeof u) throw Bi("itkn", "Incorrect injection token! Expected service name as string, got {0}", u); c.push(i && i.hasOwnProperty(u) ? i[u] : r(u, o)) } return li(e) && (e = e[a]), e.apply(n, c) } function o(e, t, n) { var r = Object.create((li(e) ? e[e.length - 1] : e).prototype), o = i(e, r, t, n); return y(o) || C(o) ? o : r } return { invoke: i, instantiate: o, get: r, annotate: Ut, has: function(t) { return k.hasOwnProperty(t + w) || e.hasOwnProperty(t) } } } t = t === !0; var $ = {}, w = "Provider", x = [], S = new Vt([], !0), k = { $provide: { provider: r(i), factory: r(s), service: r(c), value: r(l), constant: r(f), decorator: d } }, T = k.$injector = v(k, function(e, t) { throw si.isString(t) && x.push(t), Bi("unpr", "Unknown provider: {0}", x.join(" <- ")) }), E = {}, A = E.$injector = v(E, function(e, t) { var r = T.get(e + w, t); return A.invoke(r.$get, r, n, e) }); return o(p(e), function(e) { A.invoke(e || h) }), A } function Wt() { var e = !0; this.disableAutoScrolling = function() { e = !1 }, this.$get = ["$window", "$location", "$rootScope", function(t, n, r) { function i(e) { var t = null; return Array.prototype.some.call(e, function(e) { return "a" === L(e) ? (t = e, !0) : void 0 }), t } function o() { var e = s.yOffset; if (C(e)) e = e(); else if (M(e)) { var n = e[0], r = t.getComputedStyle(n); e = "fixed" !== r.position ? 0 : n.getBoundingClientRect().bottom } else w(e) || (e = 0); return e } function a(e) { if (e) { e.scrollIntoView(); var n = o(); if (n) { var r = e.getBoundingClientRect().top; t.scrollBy(0, r - n) } } else t.scrollTo(0, 0) } function s() { var e, t = n.hash(); t ? (e = u.getElementById(t)) ? a(e) : (e = i(u.getElementsByName(t))) ? a(e) : "top" === t && a(null) : a(null) } var u = t.document; return e && r.$watch(function() { return n.hash() }, function(e, t) { (e !== t || "" !== e) && Pt(function() { r.$evalAsync(s) }) }), s }] } function zt() { this.$get = ["$$rAF", "$timeout", function(e, t) { return e.supported ? function(t) { return e(t) } : function(e) { return t(e, 0, !1) } }] } function Gt(e, t, r, i) { function a(e) { try { e.apply(null, H(arguments, 1)) } finally { if (C--, 0 === C) for (; S.length;) try { S.pop()() } catch (t) { r.error(t) } } } function s(e) { var t = e.indexOf("#"); return -1 === t ? "" : e.substr(t + 1) } function u(e, t) { ! function n() { o(T, function(e) { e() }), k = t(n, e) }() } function c() { l(), f() } function l() { E = e.history.state, E = m(E) ? null : E, I(E, L) && (E = L), L = E } function f() { (N !== p.url() || A !== E) && (N = p.url(), A = E, o(M, function(e) { e(p.url(), E) })) } function d(e) { try { return decodeURIComponent(e) } catch (t) { return e } } var p = this, v = t[0], g = e.location, $ = e.history, y = e.setTimeout, w = e.clearTimeout, x = {}; p.isMock = !1; var C = 0, S = []; p.$$completeOutstandingRequest = a, p.$$incOutstandingRequestCount = function() { C++ }, p.notifyWhenNoOutstandingRequests = function(e) { o(T, function(e) { e() }), 0 === C ? e() : S.push(e) }; var k, T = []; p.addPollFn = function(e) { return m(k) && u(100, y), T.push(e), e }; var E, A, N = g.href, D = t.find("base"), O = null; l(), A = E, p.url = function(t, n, r) { if (m(r) && (r = null), g !== e.location && (g = e.location), $ !== e.history && ($ = e.history), t) { var o = A === r; if (N === t && (!i.history || o)) return p; var a = N && xn(N) === xn(t); return N = t, A = r, !i.history || a && o ? (a || (O = t), n ? g.replace(t) : a ? g.hash = s(t) : g.href = t) : ($[n ? "replaceState" : "pushState"](r, "", t), l(), A = E), p } return O || g.href.replace(/%27/g, "'") }, p.state = function() { return E }; var M = [], j = !1, L = null; p.onUrlChange = function(t) { return j || (i.history && Qr(e).on("popstate", c), Qr(e).on("hashchange", c), j = !0), M.push(t), t }, p.$$checkUrlChange = f, p.baseHref = function() { var e = D.attr("href"); return e ? e.replace(/^(https?\:)?\/\/[^\/]*/, "") : "" }; var P = {}, q = "", R = p.baseHref(); p.cookies = function(e, t) { var i, o, a, s, u; if (!e) { if (v.cookie !== q) for (q = v.cookie, o = q.split("; "), P = {}, s = 0; s < o.length; s++) a = o[s], u = a.indexOf("="), u > 0 && (e = d(a.substring(0, u)), P[e] === n && (P[e] = d(a.substring(u + 1)))); return P } t === n ? v.cookie = encodeURIComponent(e) + "=;path=" + R + ";expires=Thu, 01 Jan 1970 00:00:00 GMT" : b(t) && (i = (v.cookie = encodeURIComponent(e) + "=" + encodeURIComponent(t) + ";path=" + R).length + 1, i > 4096 && r.warn("Cookie '" + e + "' possibly not set or overflowed because it was too large (" + i + " > 4096 bytes)!")) }, p.defer = function(e, t) { var n; return C++, n = y(function() { delete x[n], a(e) }, t || 0), x[n] = !0, n }, p.defer.cancel = function(e) { return x[e] ? (delete x[e], w(e), a(h), !0) : !1 } } function Xt() { this.$get = ["$window", "$log", "$sniffer", "$document", function(e, t, n, r) { return new Gt(e, r, t, n) }] } function Yt() { this.$get = function() { function e(e, n) { function i(e) { e != d && (p ? p == e && (p = e.n) : p = e, o(e.n, e.p), o(e, d), d = e, d.n = null) } function o(e, t) { e != t && (e && (e.p = t), t && (t.n = e)) } if (e in t) throw r("$cacheFactory")("iid", "CacheId '{0}' is already taken!", e); var a = 0, s = f({}, n, { id: e }), u = {}, c = n && n.capacity || Number.MAX_VALUE, l = {}, d = null, p = null; return t[e] = { put: function(e, t) { if (c < Number.MAX_VALUE) { var n = l[e] || (l[e] = { key: e }); i(n) } if (!m(t)) return e in u || a++, u[e] = t, a > c && this.remove(p.key), t }, get: function(e) { if (c < Number.MAX_VALUE) { var t = l[e]; if (!t) return; i(t) } return u[e] }, remove: function(e) { if (c < Number.MAX_VALUE) { var t = l[e]; if (!t) return; t == d && (d = t.p), t == p && (p = t.n), o(t.n, t.p), delete l[e] } delete u[e], a-- }, removeAll: function() { u = {}, a = 0, l = {}, d = p = null }, destroy: function() { u = null, s = null, l = null, delete t[e] }, info: function() { return f({}, s, { size: a }) } } } var t = {}; return e.info = function() { var e = {}; return o(t, function(t, n) { e[n] = t.info() }), e }, e.get = function(e) { return t[e] }, e } } function Jt() { this.$get = ["$cacheFactory", function(e) { return e("templates") }] } function Kt(e, r) { function i(e, t) { var n = /^\s*([@&]|=(\*?))(\??)\s*(\w*)\s*$/, r = {}; return o(e, function(e, i) { var o = e.match(n); if (!o) throw Gi("iscp", "Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}", t, i, e); r[i] = { mode: o[1][0], collection: "*" === o[2], optional: "?" === o[3], attrName: o[4] || i } }), r } var a = {}, s = "Directive", c = /^\s*directive\:\s*([\w\-]+)\s+(.*)$/, l = /(([\w\-]+)(?:\:([^;]+))?;?)/, d = j("ngSrc,ngSrcset,src,srcset"), m = /^(?:(\^\^?)?(\?)?(\^\^?)?)?/, w = /^(on[a-z]+|formaction)$/; this.directive = function S(t, n) { return at(t, "directive"), b(t) ? (it(n, "directiveFactory"), a.hasOwnProperty(t) || (a[t] = [], e.factory(t + s, ["$injector", "$exceptionHandler", function(e, n) { var r = []; return o(a[t], function(o, a) { try { var s = e.invoke(o); C(s) ? s = { compile: g(s) } : !s.compile && s.link && (s.compile = g(s.link)), s.priority = s.priority || 0, s.index = a, s.name = s.name || t, s.require = s.require || s.controller && s.name, s.restrict = s.restrict || "EA", y(s.scope) && (s.$$isolateBindings = i(s.scope, s.name)), r.push(s) } catch (u) { n(u) } }), r }])), a[t].push(n)) : o(t, u(S)), this }, this.aHrefSanitizationWhitelist = function(e) { return $(e) ? (r.aHrefSanitizationWhitelist(e), this) : r.aHrefSanitizationWhitelist() }, this.imgSrcSanitizationWhitelist = function(e) { return $(e) ? (r.imgSrcSanitizationWhitelist(e), this) : r.imgSrcSanitizationWhitelist() }; var x = !0; this.debugInfoEnabled = function(e) { return $(e) ? (x = e, this) : x }, this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$templateRequest", "$parse", "$controller", "$rootScope", "$document", "$sce", "$animate", "$$sanitizeUri", function(e, r, i, u, g, $, S, k, E, A, N) { function D(e, t) { try { e.addClass(t) } catch (n) {} } function O(e, t, n, r, i) { e instanceof Qr || (e = Qr(e)), o(e, function(t, n) { t.nodeType == $i && t.nodeValue.match(/\S+/) && (e[n] = Qr(t).wrap("<span></span>").parent()[0]) }); var a = j(e, t, e, n, r, i); O.$$addScopeClass(e); var s = null; return function(t, n, r) { it(t, "scope"), r = r || {}; var i = r.parentBoundTranscludeFn, o = r.transcludeControllers, u = r.futureParentElement; i && i.$$boundTransclude && (i = i.$$boundTransclude), s || (s = M(u)); var c; if (c = "html" !== s ? Qr(Z(s, Qr("<div>").append(e).html())) : n ? qi.clone.call(e) : e, o) for (var l in o) c.data("$" + l + "Controller", o[l].instance); return O.$$addScopeInfo(c, t), n && n(c, t), a && a(t, c, c, i), c } } function M(e) { var t = e && e[0]; return t && "foreignobject" !== L(t) && t.toString().match(/SVG/) ? "svg" : "html" } function j(e, t, r, i, o, a) { function s(e, r, i, o) { var a, s, u, c, l, f, d, p, g; if (h) { var m = r.length; for (g = new Array(m), l = 0; l < v.length; l += 3) d = v[l], g[d] = r[d] } else g = r; for (l = 0, f = v.length; f > l;) u = g[v[l++]], a = v[l++], s = v[l++], a ? (a.scope ? (c = e.$new(), O.$$addScopeInfo(Qr(u), c)) : c = e, p = a.transcludeOnThisElement ? q(e, a.transclude, o, a.elementTranscludeOnThisElement) : !a.templateOnThisElement && o ? o : !o && t ? q(e, t) : null, a(s, c, u, i, p)) : s && s(e, u.childNodes, n, o) } for (var u, c, l, f, d, p, h, v = [], g = 0; g < e.length; g++) u = new at, c = R(e[g], [], u, 0 === g ? i : n, o), l = c.length ? _(c, e[g], u, t, r, null, [], [], a) : null, l && l.scope && O.$$addScopeClass(u.$$element), d = l && l.terminal || !(f = e[g].childNodes) || !f.length ? null : j(f, l ? (l.transcludeOnThisElement || !l.templateOnThisElement) && l.transclude : t), (l || d) && (v.push(g, l, d), p = !0, h = h || l), a = null; return p ? s : null } function q(e, t, n) { var r = function(r, i, o, a, s) { return r || (r = e.$new(!1, s), r.$$transcluded = !0), t(r, i, { parentBoundTranscludeFn: n, transcludeControllers: o, futureParentElement: a }) }; return r } function R(e, t, n, r, i) { var o, a, s = e.nodeType, u = n.$attr; switch (s) { case mi: B(t, Zt(L(e)), "E", r, i); for (var f, d, p, h, v, g, m = e.attributes, $ = 0, y = m && m.length; y > $; $++) { var w = !1, x = !1; f = m[$], d = f.name, v = fi(f.value), h = Zt(d), (g = ft.test(h)) && (d = d.replace(Xi, "").substr(8).replace(/_(.)/g, function(e, t) { return t.toUpperCase() })); var C = h.replace(/(Start|End)$/, ""); z(C) && h === C + "Start" && (w = d, x = d.substr(0, d.length - 5) + "end", d = d.substr(0, d.length - 6)), p = Zt(d.toLowerCase()), u[p] = d, (g || !n.hasOwnProperty(p)) && (n[p] = v, qt(e, p) && (n[p] = !0)), et(e, t, v, p, g), B(t, p, "A", r, i, w, x) } if (a = e.className, b(a) && "" !== a) for (; o = l.exec(a);) p = Zt(o[2]), B(t, p, "C", r, i) && (n[p] = fi(o[3])), a = a.substr(o.index + o[0].length); break; case $i: K(t, e.nodeValue); break; case yi: try { o = c.exec(e.nodeValue), o && (p = Zt(o[1]), B(t, p, "M", r, i) && (n[p] = fi(o[2]))) } catch (S) {} } return t.sort(Y), t } function F(e, t, n) { var r = [], i = 0; if (t && e.hasAttribute && e.hasAttribute(t)) { do { if (!e) throw Gi("uterdir", "Unterminated attribute, found '{0}' but no matching '{1}' found.", t, n); e.nodeType == mi && (e.hasAttribute(t) && i++, e.hasAttribute(n) && i--), r.push(e), e = e.nextSibling } while (i > 0) } else r.push(e); return Qr(r) } function V(e, t, n) { return function(r, i, o, a, s) { return i = F(i[0], t, n), e(r, i, o, a, s) } } function _(e, a, s, u, c, l, f, d, p) { function h(e, t, n, r) { e && (n && (e = V(e, n, r)), e.require = k.require, e.directiveName = E, (L === k || k.$$isolateScope) && (e = rt(e, { isolateScope: !0 })), f.push(e)), t && (n && (t = V(t, n, r)), t.require = k.require, t.directiveName = E, (L === k || k.$$isolateScope) && (t = rt(t, { isolateScope: !0 })), d.push(t)) } function v(e, t, n, r) { var i, a, s = "data", u = !1, c = n; if (b(t)) { if (a = t.match(m), t = t.substring(a[0].length), a[3] && (a[1] ? a[3] = null : a[1] = a[3]), "^" === a[1] ? s = "inheritedData" : "^^" === a[1] && (s = "inheritedData", c = n.parent()), "?" === a[2] && (u = !0), i = null, r && "data" === s && (i = r[t]) && (i = i.instance), i = i || c[s]("$" + t + "Controller"), !i && !u) throw Gi("ctreq", "Controller '{0}', required by directive '{1}', can't be found!", t, e); return i || null } return li(t) && (i = [], o(t, function(t) { i.push(v(e, t, n, r)) })), i } function w(e, t, i, u, c) { function l(e, t, r) { var i; return T(e) || (r = t, t = e, e = n), z && (i = w), r || (r = z ? C.parent() : C), c(e, t, i, r, N) } var p, h, m, y, b, w, x, C, k; if (a === i ? (k = s, C = s.$$element) : (C = Qr(i), k = new at(C, s)), L && (b = t.$new(!0)), c && (x = l, x.$$boundTransclude = c), j && (S = {}, w = {}, o(j, function(e) { var n, r = { $scope: e === L || e.$$isolateScope ? b : t, $element: C, $attrs: k, $transclude: x }; y = e.controller, "@" == y && (y = k[e.name]), n = $(y, r, !0, e.controllerAs), w[e.name] = n, z || C.data("$" + e.name + "Controller", n.instance), S[e.name] = n })), L) { O.$$addScopeInfo(C, b, !0, !(P && (P === L || P === L.$$originalDirective))), O.$$addScopeClass(C, !0); var E = S && S[L.name], A = b; E && E.identifier && L.bindToController === !0 && (A = E.instance), o(b.$$isolateBindings = L.$$isolateBindings, function(e, n) { var i, o, a, s, u = e.attrName, c = e.optional, l = e.mode; switch (l) { case "@": k.$observe(u, function(e) { A[n] = e }), k.$$observers[u].$$scope = t, k[u] && (A[n] = r(k[u])(t)); break; case "=": if (c && !k[u]) return; o = g(k[u]), s = o.literal ? I : function(e, t) { return e === t || e !== e && t !== t }, a = o.assign || function() { throw i = A[n] = o(t), Gi("nonassign", "Expression '{0}' used with directive '{1}' is non-assignable!", k[u], L.name) }, i = A[n] = o(t); var f = function(e) { return s(e, A[n]) || (s(e, i) ? a(t, e = A[n]) : A[n] = e), i = e }; f.$stateful = !0; var d; d = e.collection ? t.$watchCollection(k[u], f) : t.$watch(g(k[u], f), null, o.literal), b.$on("$destroy", d); break; case "&": o = g(k[u]), A[n] = function(e) { return o(t, e) } } }) } for (S && (o(S, function(e) { e() }), S = null), p = 0, h = f.length; h > p; p++) m = f[p], ot(m, m.isolateScope ? b : t, C, k, m.require && v(m.directiveName, m.require, C, w), x); var N = t; for (L && (L.template || null === L.templateUrl) && (N = b), e && e(N, i.childNodes, n, c), p = d.length - 1; p >= 0; p--) m = d[p], ot(m, m.isolateScope ? b : t, C, k, m.require && v(m.directiveName, m.require, C, w), x) } p = p || {}; for (var x, S, k, E, A, N, D, M = -Number.MAX_VALUE, j = p.controllerDirectives, L = p.newIsolateScopeDirective, P = p.templateDirective, q = p.nonTlbTranscludeDirective, _ = !1, B = !1, z = p.hasElementTranscludeDirective, Y = s.$$element = Qr(a), K = l, Q = u, et = 0, nt = e.length; nt > et; et++) { k = e[et]; var it = k.$$start, st = k.$$end; if (it && (Y = F(a, it, st)), A = n, M > k.priority) break; if ((D = k.scope) && (k.templateUrl || (y(D) ? (J("new/isolated scope", L || x, k, Y), L = k) : J("new/isolated scope", L, k, Y)), x = x || k), E = k.name, !k.templateUrl && k.controller && (D = k.controller, j = j || {}, J("'" + E + "' controller", j[E], k, Y), j[E] = k), (D = k.transclude) && (_ = !0, k.$$tlb || (J("transclusion", q, k, Y), q = k), "element" == D ? (z = !0, M = k.priority, A = Y, Y = s.$$element = Qr(t.createComment(" " + E + ": " + s[E] + " ")), a = Y[0], tt(c, H(A), a), Q = O(A, u, M, K && K.name, { nonTlbTranscludeDirective: q })) : (A = Qr(wt(a)).contents(), Y.empty(), Q = O(A, u))), k.template) if (B = !0, J("template", P, k, Y), P = k, D = C(k.template) ? k.template(Y, s) : k.template, D = lt(D), k.replace) { if (K = k, A = gt(D) ? [] : en(Z(k.templateNamespace, fi(D))), a = A[0], 1 != A.length || a.nodeType !== mi) throw Gi("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", E, ""); tt(c, Y, a); var ut = { $attr: {} }, ct = R(a, [], ut), ft = e.splice(et + 1, e.length - (et + 1)); L && U(ct), e = e.concat(ct).concat(ft), G(s, ut), nt = e.length } else Y.html(D); if (k.templateUrl) B = !0, J("template", P, k, Y), P = k, k.replace && (K = k), w = X(e.splice(et, e.length - et), Y, s, c, _ && Q, f, d, { controllerDirectives: j, newIsolateScopeDirective: L, templateDirective: P, nonTlbTranscludeDirective: q }), nt = e.length; else if (k.compile) try { N = k.compile(Y, s, Q), C(N) ? h(null, N, it, st) : N && h(N.pre, N.post, it, st) } catch (dt) { i(dt, W(Y)) } k.terminal && (w.terminal = !0, M = Math.max(M, k.priority)) } return w.scope = x && x.scope === !0, w.transcludeOnThisElement = _, w.elementTranscludeOnThisElement = z, w.templateOnThisElement = B, w.transclude = Q, p.hasElementTranscludeDirective = z, w } function U(e) { for (var t = 0, n = e.length; n > t; t++) e[t] = p(e[t], { $$isolateScope: !0 }) } function B(t, r, o, u, c, l, f) { if (r === c) return null; var d = null; if (a.hasOwnProperty(r)) for (var h, v = e.get(r + s), g = 0, m = v.length; m > g; g++) try { h = v[g], (u === n || u > h.priority) && -1 != h.restrict.indexOf(o) && (l && (h = p(h, { $$start: l, $$end: f })), t.push(h), d = h) } catch ($) { i($) } return d } function z(t) { if (a.hasOwnProperty(t)) for (var n, r = e.get(t + s), i = 0, o = r.length; o > i; i++) if (n = r[i], n.multiElement) return !0; return !1 } function G(e, t) { var n = t.$attr, r = e.$attr, i = e.$$element; o(e, function(r, i) { "$" != i.charAt(0) && (t[i] && t[i] !== r && (r += ("style" === i ? ";" : " ") + t[i]), e.$set(i, r, !0, n[i])) }), o(t, function(t, o) { "class" == o ? (D(i, t), e["class"] = (e["class"] ? e["class"] + " " : "") + t) : "style" == o ? (i.attr("style", i.attr("style") + ";" + t), e.style = (e.style ? e.style + ";" : "") + t) : "$" == o.charAt(0) || e.hasOwnProperty(o) || (e[o] = t, r[o] = n[o]) }) } function X(e, t, n, r, i, a, s, c) { var l, d, p = [], h = t[0], v = e.shift(), g = f({}, v, { templateUrl: null, transclude: null, replace: null, $$originalDirective: v }), m = C(v.templateUrl) ? v.templateUrl(t, n) : v.templateUrl, $ = v.templateNamespace; return t.empty(), u(E.getTrustedResourceUrl(m)).then(function(u) { var f, b, w, x; if (u = lt(u), v.replace) { if (w = gt(u) ? [] : en(Z($, fi(u))), f = w[0], 1 != w.length || f.nodeType !== mi) throw Gi("tplrt", "Template for directive '{0}' must have exactly one root element. {1}", v.name, m); b = { $attr: {} }, tt(r, t, f); var C = R(f, [], b); y(v.scope) && U(C), e = C.concat(e), G(n, b) } else f = h, t.html(u); for (e.unshift(g), l = _(e, f, n, i, t, v, a, s, c), o(r, function(e, n) { e == f && (r[n] = t[0]) }), d = j(t[0].childNodes, i); p.length;) { var S = p.shift(), k = p.shift(), T = p.shift(), E = p.shift(), A = t[0]; if (!S.$$destroyed) { if (k !== h) { var N = k.className; c.hasElementTranscludeDirective && v.replace || (A = wt(f)), tt(T, Qr(k), A), D(Qr(A), N) } x = l.transcludeOnThisElement ? q(S, l.transclude, E) : E, l(d, S, A, r, x) } } p = null }), function(e, t, n, r, i) { var o = i; t.$$destroyed || (p ? p.push(t, n, r, o) : (l.transcludeOnThisElement && (o = q(t, l.transclude, i)), l(d, t, n, r, o))) } } function Y(e, t) { var n = t.priority - e.priority; return 0 !== n ? n : e.name !== t.name ? e.name < t.name ? -1 : 1 : e.index - t.index } function J(e, t, n, r) { if (t) throw Gi("multidir", "Multiple directives [{0}, {1}] asking for {2} on: {3}", t.name, n.name, e, W(r)) } function K(e, t) { var n = r(t, !0); n && e.push({ priority: 0, compile: function(e) { var t = e.parent(), r = !!t.length; return r && O.$$addBindingClass(t), function(e, t) { var i = t.parent(); r || O.$$addBindingClass(i), O.$$addBindingInfo(i, n.expressions), e.$watch(n, function(e) { t[0].nodeValue = e }) } } }) } function Z(e, n) { switch (e = Gr(e || "html")) { case "svg": case "math": var r = t.createElement("div"); return r.innerHTML = "<" + e + ">" + n + "</" + e + ">", r.childNodes[0].childNodes; default: return n } } function Q(e, t) { if ("srcdoc" == t) return E.HTML; var n = L(e); return "xlinkHref" == t || "form" == n && "action" == t || "img" != n && ("src" == t || "ngSrc" == t) ? E.RESOURCE_URL : void 0 } function et(e, t, n, i, o) { var a = Q(e, i); o = d[i] || o; var s = r(n, !0, a, o); if (s) { if ("multiple" === i && "select" === L(e)) throw Gi("selmulti", "Binding to the 'multiple' attribute is not supported. Element: {0}", W(e)); t.push({ priority: 100, compile: function() { return { pre: function(e, t, u) { var c = u.$$observers || (u.$$observers = {}); if (w.test(i)) throw Gi("nodomevents", "Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead."); var l = u[i]; l !== n && (s = l && r(l, !0, a, o), n = l), s && (u[i] = s(e), (c[i] || (c[i] = [])).$$inter = !0, (u.$$observers && u.$$observers[i].$$scope || e).$watch(s, function(e, t) { "class" === i && e != t ? u.$updateClass(e, t) : u.$set(i, e) })) } } } }) } } function tt(e, n, r) { var i, o, a = n[0], s = n.length, u = a.parentNode; if (e) for (i = 0, o = e.length; o > i; i++) if (e[i] == a) { e[i++] = r; for (var c = i, l = c + s - 1, f = e.length; f > c; c++, l++) f > l ? e[c] = e[l] : delete e[c]; e.length -= s - 1, e.context === a && (e.context = r); break } u && u.replaceChild(r, a); var d = t.createDocumentFragment(); d.appendChild(a), Qr(r).data(Qr(a).data()), ei ? (ci = !0, ei.cleanData([a])) : delete Qr.cache[a[Qr.expando]]; for (var p = 1, h = n.length; h > p; p++) { var v = n[p]; Qr(v).remove(), d.appendChild(v), delete n[p] } n[0] = r, n.length = 1 } function rt(e, t) { return f(function() { return e.apply(null, arguments) }, e, t) } function ot(e, t, n, r, o, a) { try { e(t, n, r, o, a) } catch (s) { i(s, W(n)) } } var at = function(e, t) { if (t) { var n, r, i, o = Object.keys(t); for (n = 0, r = o.length; r > n; n++) i = o[n], this[i] = t[i] } else this.$attr = {}; this.$$element = e }; at.prototype = { $normalize: Zt, $addClass: function(e) { e && e.length > 0 && A.addClass(this.$$element, e) }, $removeClass: function(e) { e && e.length > 0 && A.removeClass(this.$$element, e) }, $updateClass: function(e, t) { var n = Qt(e, t); n && n.length && A.addClass(this.$$element, n); var r = Qt(t, e); r && r.length && A.removeClass(this.$$element, r) }, $set: function(e, t, r, a) { var s, u = this.$$element[0], c = qt(u, e), l = Rt(u, e), f = e; if (c ? (this.$$element.prop(e, t), a = c) : l && (this[l] = t, f = l), this[e] = t, a ? this.$attr[e] = a : (a = this.$attr[e], a || (this.$attr[e] = a = nt(e, "-"))), s = L(this.$$element), "a" === s && "href" === e || "img" === s && "src" === e) this[e] = t = N(t, "src" === e); else if ("img" === s && "srcset" === e) { for (var d = "", p = fi(t), h = /(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/, v = /\s/.test(p) ? h : /(,)/, g = p.split(v), m = Math.floor(g.length / 2), $ = 0; m > $; $++) { var y = 2 * $; d += N(fi(g[y]), !0), d += " " + fi(g[y + 1]) } var b = fi(g[2 * $]).split(/\s/); d += N(fi(b[0]), !0), 2 === b.length && (d += " " + fi(b[1])), this[e] = t = d } r !== !1 && (null === t || t === n ? this.$$element.removeAttr(a) : this.$$element.attr(a, t)); var w = this.$$observers; w && o(w[f], function(e) { try { e(t) } catch (n) { i(n) } }) }, $observe: function(e, t) { var n = this, r = n.$$observers || (n.$$observers = ct()), i = r[e] || (r[e] = []); return i.push(t), S.$evalAsync(function() { !i.$$inter && n.hasOwnProperty(e) && t(n[e]) }), function() { P(i, t) } } }; var st = r.startSymbol(), ut = r.endSymbol(), lt = "{{" == st || "}}" == ut ? v : function(e) { return e.replace(/\{\{/g, st).replace(/}}/g, ut) }, ft = /^ngAttr[A-Z]/; return O.$$addBindingInfo = x ? function(e, t) { var n = e.data("$binding") || []; li(t) ? n = n.concat(t) : n.push(t), e.data("$binding", n) } : h, O.$$addBindingClass = x ? function(e) { D(e, "ng-binding") } : h, O.$$addScopeInfo = x ? function(e, t, n, r) { var i = n ? r ? "$isolateScopeNoTemplate" : "$isolateScope" : "$scope"; e.data(i, t) } : h, O.$$addScopeClass = x ? function(e, t) { D(e, t ? "ng-isolate-scope" : "ng-scope") } : h, O }] } function Zt(e) { return vt(e.replace(Xi, "")) } function Qt(e, t) { var n = "", r = e.split(/\s+/), i = t.split(/\s+/); e: for (var o = 0; o < r.length; o++) { for (var a = r[o], s = 0; s < i.length; s++) if (a == i[s]) continue e; n += (n.length > 0 ? " " : "") + a } return n } function en(e) { e = Qr(e); var t = e.length; if (1 >= t) return e; for (; t--;) { var n = e[t]; n.nodeType === yi && ri.call(e, t, 1) } return e } function tn() { var e = {}, t = !1, i = /^(\S+)(\s+as\s+(\w+))?$/; this.register = function(t, n) { at(t, "controller"), y(t) ? f(e, t) : e[t] = n }, this.allowGlobals = function() { t = !0 }, this.$get = ["$injector", "$window", function(o, a) { function s(e, t, n, i) { if (!e || !y(e.$scope)) throw r("$controller")("noscp", "Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.", i, t); e.$scope[t] = n } return function(r, u, c, l) { var d, p, h, v; if (c = c === !0, l && b(l) && (v = l), b(r) && (p = r.match(i), h = p[1], v = v || p[3], r = e.hasOwnProperty(h) ? e[h] : st(u.$scope, h, !0) || (t ? st(a, h, !0) : n), ot(r, h, !0)), c) { var g = (li(r) ? r[r.length - 1] : r).prototype; return d = Object.create(g), v && s(u, v, d, h || r.name), f(function() { return o.invoke(r, d, u, h), d }, { instance: d, identifier: v }) } return d = o.instantiate(r, u, h), v && s(u, v, d, h || r.name), d } }] } function nn() { this.$get = ["$window", function(e) { return Qr(e.document) }] } function rn() { this.$get = ["$log", function(e) { return function() { e.error.apply(e, arguments) } }] } function on(e, t) { if (b(e)) { var n = e.replace(Qi, "").trim(); if (n) { var r = t("Content-Type"); (r && 0 === r.indexOf(Yi) || an(n)) && (e = B(n)) } } return e } function an(e) { var t = e.match(Ki); return t && Zi[t[0]].test(e) } function sn(e) { var t, n, r, i = ct(); return e ? (o(e.split("\n"), function(e) { r = e.indexOf(":"), t = Gr(fi(e.substr(0, r))), n = fi(e.substr(r + 1)), t && (i[t] = i[t] ? i[t] + ", " + n : n) }), i) : i } function un(e) { var t = y(e) ? e : n; return function(n) { if (t || (t = sn(e)), n) { var r = t[Gr(n)]; return void 0 === r && (r = null), r } return t } } function cn(e, t, n, r) { return C(r) ? r(e, t, n) : (o(r, function(r) { e = r(e, t, n) }), e) } function ln(e) { return e >= 200 && 300 > e } function fn() { var e = this.defaults = { transformResponse: [on], transformRequest: [function(e) { return !y(e) || E(e) || N(e) || A(e) ? e : U(e) }], headers: { common: { Accept: "application/json, text/plain, */*" }, post: R(Ji), put: R(Ji), patch: R(Ji) }, xsrfCookieName: "XSRF-TOKEN", xsrfHeaderName: "X-XSRF-TOKEN" }, t = !1; this.useApplyAsync = function(e) { return $(e) ? (t = !!e, this) : t }; var i = this.interceptors = []; this.$get = ["$httpBackend", "$browser", "$cacheFactory", "$rootScope", "$q", "$injector", function(a, u, c, l, d, p) { function h(t) { function i(e) { var t = f({}, e); return t.data = e.data ? cn(e.data, e.headers, e.status, u.transformResponse) : e.data, ln(e.status) ? t : d.reject(t) } function a(e) { var t, n = {}; return o(e, function(e, r) { C(e) ? (t = e(), null != t && (n[r] = t)) : n[r] = e }), n } function s(t) { var n, r, i, o = e.headers, s = f({}, t.headers); o = f({}, o.common, o[Gr(t.method)]); e: for (n in o) { r = Gr(n); for (i in s) if (Gr(i) === r) continue e; s[n] = o[n] } return a(s) } if (!si.isObject(t)) throw r("$http")("badreq", "Http request configuration must be an object. Received: {0}", t); var u = f({ method: "get", transformRequest: e.transformRequest, transformResponse: e.transformResponse }, t); u.headers = s(t), u.method = Yr(u.method); var c = function(t) { var r = t.headers, a = cn(t.data, un(r), n, t.transformRequest); return m(a) && o(r, function(e, t) { "content-type" === Gr(t) && delete r[t] }), m(t.withCredentials) && !m(e.withCredentials) && (t.withCredentials = e.withCredentials), w(t, a).then(i, i) }, l = [c, n], p = d.when(u); for (o(T, function(e) { (e.request || e.requestError) && l.unshift(e.request, e.requestError), (e.response || e.responseError) && l.push(e.response, e.responseError) }); l.length;) { var h = l.shift(), v = l.shift(); p = p.then(h, v) } return p.success = function(e) { return p.then(function(t) { e(t.data, t.status, t.headers, u) }), p }, p.error = function(e) { return p.then(null, function(t) { e(t.data, t.status, t.headers, u) }), p }, p } function v() { o(arguments, function(e) { h[e] = function(t, n) { return h(f(n || {}, { method: e, url: t })) } }) } function g() { o(arguments, function(e) { h[e] = function(t, n, r) { return h(f(r || {}, { method: e, url: t, data: n })) } }) } function w(r, i) { function o(e, n, r, i) { function o() { s(n, e, r, i) } p && (ln(e) ? p.put(x, [e, n, sn(r), i]) : p.remove(x)), t ? l.$applyAsync(o) : (o(), l.$$phase || l.$apply()) } function s(e, t, n, i) { t = Math.max(t, 0), (ln(t) ? g.resolve : g.reject)({ data: e, status: t, headers: un(n), config: r, statusText: i }) } function c(e) { s(e.data, e.status, R(e.headers()), e.statusText) } function f() { var e = h.pendingRequests.indexOf(r); - 1 !== e && h.pendingRequests.splice(e, 1) } var p, v, g = d.defer(), b = g.promise, w = r.headers, x = S(r.url, r.params); if (h.pendingRequests.push(r), b.then(f, f), !r.cache && !e.cache || r.cache === !1 || "GET" !== r.method && "JSONP" !== r.method || (p = y(r.cache) ? r.cache : y(e.cache) ? e.cache : k), p && (v = p.get(x), $(v) ? O(v) ? v.then(c, c) : li(v) ? s(v[1], v[0], R(v[2]), v[3]) : s(v, 200, {}, "OK") : p.put(x, b)), m(v)) { var C = or(r.url) ? u.cookies()[r.xsrfCookieName || e.xsrfCookieName] : n; C && (w[r.xsrfHeaderName || e.xsrfHeaderName] = C), a(r.method, x, i, o, w, r.timeout, r.withCredentials, r.responseType) } return b } function S(e, t) { if (!t) return e; var n = []; return s(t, function(e, t) { null === e || m(e) || (li(e) || (e = [e]), o(e, function(e) { y(e) && (e = x(e) ? e.toISOString() : U(e)), n.push(J(t) + "=" + J(e)) })) }), n.length > 0 && (e += (-1 == e.indexOf("?") ? "?" : "&") + n.join("&")), e } var k = c("$http"), T = []; return o(i, function(e) { T.unshift(b(e) ? p.get(e) : p.invoke(e)) }), h.pendingRequests = [], v("get", "delete", "head", "jsonp"), g("post", "put", "patch"), h.defaults = e, h }] } function dn() { return new e.XMLHttpRequest } function pn() { this.$get = ["$browser", "$window", "$document", function(e, t, n) { return hn(e, dn, e.defer, t.angular.callbacks, n[0]) }] } function hn(e, t, r, i, a) { function s(e, t, n) { var r = a.createElement("script"), o = null; return r.type = "text/javascript", r.src = e, r.async = !0, o = function(e) { Ti(r, "load", o), Ti(r, "error", o), a.body.removeChild(r), r = null; var s = -1, u = "unknown"; e && ("load" !== e.type || i[t].called || (e = { type: "error" }), u = e.type, s = "error" === e.type ? 404 : 200), n && n(s, u) }, ki(r, "load", o), ki(r, "error", o), a.body.appendChild(r), o } return function(a, u, c, l, f, d, p, v) { function g() { b && b(), w && w.abort() } function m(t, i, o, a, s) { S !== n && r.cancel(S), b = w = null, t(i, o, a, s), e.$$completeOutstandingRequest(h) } if (e.$$incOutstandingRequestCount(), u = u || e.url(), "jsonp" == Gr(a)) { var y = "_" + (i.counter++).toString(36); i[y] = function(e) { i[y].data = e, i[y].called = !0 }; var b = s(u.replace("JSON_CALLBACK", "angular.callbacks." + y), y, function(e, t) { m(l, e, i[y].data, "", t), i[y] = h }) } else { var w = t(); w.open(a, u, !0), o(f, function(e, t) { $(e) && w.setRequestHeader(t, e) }), w.onload = function() { var e = w.statusText || "", t = "response" in w ? w.response : w.responseText, n = 1223 === w.status ? 204 : w.status; 0 === n && (n = t ? 200 : "file" == ir(u).protocol ? 404 : 0), m(l, n, t, w.getAllResponseHeaders(), e) }; var x = function() { m(l, -1, null, null, "") }; if (w.onerror = x, w.onabort = x, p && (w.withCredentials = !0), v) try { w.responseType = v } catch (C) { if ("json" !== v) throw C } w.send(c || null) } if (d > 0) var S = r(g, d); else O(d) && d.then(g) } } function vn() { var e = "{{", t = "}}"; this.startSymbol = function(t) { return t ? (e = t, this) : e }, this.endSymbol = function(e) { return e ? (t = e, this) : t }, this.$get = ["$parse", "$exceptionHandler", "$sce", function(n, r, i) { function o(e) { return "\\\\\\" + e } function a(o, a, d, p) { function h(n) { return n.replace(c, e).replace(l, t) } function v(e) { try { return e = N(e), p && !$(e) ? e : D(e) } catch (t) { var n = eo("interr", "Can't interpolate: {0}\n{1}", o, t.toString()); r(n) } } p = !!p; for (var g, y, b, w = 0, x = [], S = [], k = o.length, T = [], E = []; k > w;) { if (-1 == (g = o.indexOf(e, w)) || -1 == (y = o.indexOf(t, g + s))) { w !== k && T.push(h(o.substring(w))); break } w !== g && T.push(h(o.substring(w, g))), b = o.substring(g + s, y), x.push(b), S.push(n(b, v)), w = y + u, E.push(T.length), T.push("") } if (d && T.length > 1) throw eo("noconcat", "Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce", o); if (!a || x.length) { var A = function(e) { for (var t = 0, n = x.length; n > t; t++) { if (p && m(e[t])) return; T[E[t]] = e[t] } return T.join("") }, N = function(e) { return d ? i.getTrusted(d, e) : i.valueOf(e) }, D = function(e) { if (null == e) return ""; switch (typeof e) { case "string": break; case "number": e = "" + e; break; default: e = U(e) } return e }; return f(function(e) { var t = 0, n = x.length, i = new Array(n); try { for (; n > t; t++) i[t] = S[t](e); return A(i) } catch (a) { var s = eo("interr", "Can't interpolate: {0}\n{1}", o, a.toString()); r(s) } }, { exp: o, expressions: x, $$watchDelegate: function(e, t, n) { var r; return e.$watchGroup(S, function(n, i) { var o = A(n); C(t) && t.call(this, o, n !== i ? r : o, e), r = o }, n) } }) } } var s = e.length, u = t.length, c = new RegExp(e.replace(/./g, o), "g"), l = new RegExp(t.replace(/./g, o), "g"); return a.startSymbol = function() { return e }, a.endSymbol = function() { return t }, a }] } function gn() { this.$get = ["$rootScope", "$window", "$q", "$$q", function(e, t, n, r) { function i(i, a, s, u) { var c = t.setInterval, l = t.clearInterval, f = 0, d = $(u) && !u, p = (d ? r : n).defer(), h = p.promise; return s = $(s) ? s : 0, h.then(null, null, i), h.$$intervalId = c(function() { p.notify(f++), s > 0 && f >= s && (p.resolve(f), l(h.$$intervalId), delete o[h.$$intervalId]), d || e.$apply() }, a), o[h.$$intervalId] = p, h } var o = {}; return i.cancel = function(e) { return e && e.$$intervalId in o ? (o[e.$$intervalId].reject("canceled"), t.clearInterval(e.$$intervalId), delete o[e.$$intervalId], !0) : !1 }, i }] } function mn() { this.$get = function() { return { id: "en-us", NUMBER_FORMATS: { DECIMAL_SEP: ".", GROUP_SEP: ",", PATTERNS: [{ minInt: 1, minFrac: 0, maxFrac: 3, posPre: "", posSuf: "", negPre: "-", negSuf: "", gSize: 3, lgSize: 3 }, { minInt: 1, minFrac: 2, maxFrac: 2, posPre: "¤", posSuf: "", negPre: "(¤", negSuf: ")", gSize: 3, lgSize: 3 }], CURRENCY_SYM: "$" }, DATETIME_FORMATS: { MONTH: "January,February,March,April,May,June,July,August,September,October,November,December".split(","), SHORTMONTH: "Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","), DAY: "Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","), SHORTDAY: "Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","), AMPMS: ["AM", "PM"], medium: "MMM d, y h:mm:ss a", "short": "M/d/yy h:mm a", fullDate: "EEEE, MMMM d, y", longDate: "MMMM d, y", mediumDate: "MMM d, y", shortDate: "M/d/yy", mediumTime: "h:mm:ss a", shortTime: "h:mm a" }, pluralCat: function(e) { return 1 === e ? "one" : "other" } } } } function $n(e) { for (var t = e.split("/"), n = t.length; n--;) t[n] = Y(t[n]); return t.join("/") } function yn(e, t) { var n = ir(e); t.$$protocol = n.protocol, t.$$host = n.hostname, t.$$port = d(n.port) || no[n.protocol] || null } function bn(e, t) { var n = "/" !== e.charAt(0); n && (e = "/" + e); var r = ir(e); t.$$path = decodeURIComponent(n && "/" === r.pathname.charAt(0) ? r.pathname.substring(1) : r.pathname), t.$$search = G(r.search), t.$$hash = decodeURIComponent(r.hash), t.$$path && "/" != t.$$path.charAt(0) && (t.$$path = "/" + t.$$path) } function wn(e, t) { return 0 === t.indexOf(e) ? t.substr(e.length) : void 0 } function xn(e) { var t = e.indexOf("#"); return -1 == t ? e : e.substr(0, t) } function Cn(e) { return e.replace(/(#.+)|#$/, "$1") } function Sn(e) { return e.substr(0, xn(e).lastIndexOf("/") + 1) } function kn(e) { return e.substring(0, e.indexOf("/", e.indexOf("//") + 2)) } function Tn(e, t) { this.$$html5 = !0, t = t || ""; var r = Sn(e); yn(e, this), this.$$parse = function(e) { var t = wn(r, e); if (!b(t)) throw ro("ipthprfx", 'Invalid url "{0}", missing path prefix "{1}".', e, r); bn(t, this), this.$$path || (this.$$path = "/"), this.$$compose() }, this.$$compose = function() { var e = X(this.$$search), t = this.$$hash ? "#" + Y(this.$$hash) : ""; this.$$url = $n(this.$$path) + (e ? "?" + e : "") + t, this.$$absUrl = r + this.$$url.substr(1) }, this.$$parseLinkUrl = function(i, o) { if (o && "#" === o[0]) return this.hash(o.slice(1)), !0; var a, s, u; return (a = wn(e, i)) !== n ? (s = a, u = (a = wn(t, a)) !== n ? r + (wn("/", a) || a) : e + s) : (a = wn(r, i)) !== n ? u = r + a : r == i + "/" && (u = r), u && this.$$parse(u), !!u } } function En(e, t) { var n = Sn(e); yn(e, this), this.$$parse = function(r) { function i(e, t, n) { var r, i = /^\/[A-Z]:(\/.*)/; return 0 === t.indexOf(n) && (t = t.replace(n, "")), i.exec(t) ? e : (r = i.exec(e), r ? r[1] : e) } var o, a = wn(e, r) || wn(n, r); "#" === a.charAt(0) ? (o = wn(t, a), m(o) && (o = a)) : o = this.$$html5 ? a : "", bn(o, this), this.$$path = i(this.$$path, o, e), this.$$compose() }, this.$$compose = function() { var n = X(this.$$search), r = this.$$hash ? "#" + Y(this.$$hash) : ""; this.$$url = $n(this.$$path) + (n ? "?" + n : "") + r, this.$$absUrl = e + (this.$$url ? t + this.$$url : "") }, this.$$parseLinkUrl = function(t) { return xn(e) == xn(t) ? (this.$$parse(t), !0) : !1 } } function An(e, t) { this.$$html5 = !0, En.apply(this, arguments); var n = Sn(e); this.$$parseLinkUrl = function(r, i) { if (i && "#" === i[0]) return this.hash(i.slice(1)), !0; var o, a; return e == xn(r) ? o = r : (a = wn(n, r)) ? o = e + t + a : n === r + "/" && (o = n), o && this.$$parse(o), !!o }, this.$$compose = function() { var n = X(this.$$search), r = this.$$hash ? "#" + Y(this.$$hash) : ""; this.$$url = $n(this.$$path) + (n ? "?" + n : "") + r, this.$$absUrl = e + t + this.$$url } } function Nn(e) { return function() { return this[e] } } function Dn(e, t) { return function(n) { return m(n) ? this[e] : (this[e] = t(n), this.$$compose(), this) } } function On() { var e = "", t = { enabled: !1, requireBase: !0, rewriteLinks: !0 }; this.hashPrefix = function(t) { return $(t) ? (e = t, this) : e }, this.html5Mode = function(e) { return D(e) ? (t.enabled = e, this) : y(e) ? (D(e.enabled) && (t.enabled = e.enabled), D(e.requireBase) && (t.requireBase = e.requireBase), D(e.rewriteLinks) && (t.rewriteLinks = e.rewriteLinks), this) : t }, this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", "$window", function(n, r, i, o, a) { function s(e, t, n) { var i = c.url(), o = c.$$state; try { r.url(e, t, n), c.$$state = r.state() } catch (a) { throw c.url(i), c.$$state = o, a } } function u(e, t) { n.$broadcast("$locationChangeSuccess", c.absUrl(), e, c.$$state, t) } var c, l, f, d = r.baseHref(), p = r.url(); if (t.enabled) { if (!d && t.requireBase) throw ro("nobase", "$location in HTML5 mode requires a <base> tag to be present!"); f = kn(p) + (d || "/"), l = i.history ? Tn : An } else f = xn(p), l = En; c = new l(f, "#" + e), c.$$parseLinkUrl(p, p), c.$$state = r.state(); var h = /^\s*(javascript|mailto):/i; o.on("click", function(e) { if (t.rewriteLinks && !e.ctrlKey && !e.metaKey && 2 != e.which) { for (var i = Qr(e.target); "a" !== L(i[0]);) if (i[0] === o[0] || !(i = i.parent())[0]) return; var s = i.prop("href"), u = i.attr("href") || i.attr("xlink:href"); y(s) && "[object SVGAnimatedString]" === s.toString() && (s = ir(s.animVal).href), h.test(s) || !s || i.attr("target") || e.isDefaultPrevented() || c.$$parseLinkUrl(s, u) && (e.preventDefault(), c.absUrl() != r.url() && (n.$apply(), a.angular["ff-684208-preventDefault"] = !0)) } }), c.absUrl() != p && r.url(c.absUrl(), !0); var v = !0; return r.onUrlChange(function(e, t) { n.$evalAsync(function() { var r, i = c.absUrl(), o = c.$$state; c.$$parse(e), c.$$state = t, r = n.$broadcast("$locationChangeStart", e, i, t, o).defaultPrevented, c.absUrl() === e && (r ? (c.$$parse(i), c.$$state = o, s(i, !1, o)) : (v = !1, u(i, o))) }), n.$$phase || n.$digest() }), n.$watch(function() { var e = Cn(r.url()), t = Cn(c.absUrl()), o = r.state(), a = c.$$replace, l = e !== t || c.$$html5 && i.history && o !== c.$$state; (v || l) && (v = !1, n.$evalAsync(function() { var t = c.absUrl(), r = n.$broadcast("$locationChangeStart", t, e, c.$$state, o).defaultPrevented; c.absUrl() === t && (r ? (c.$$parse(e), c.$$state = o) : (l && s(t, a, o === c.$$state ? null : c.$$state), u(e, o))) })), c.$$replace = !1 }), c }] } function Mn() { var e = !0, t = this; this.debugEnabled = function(t) { return $(t) ? (e = t, this) : e }, this.$get = ["$window", function(n) { function r(e) { return e instanceof Error && (e.stack ? e = e.message && -1 === e.stack.indexOf(e.message) ? "Error: " + e.message + "\n" + e.stack : e.stack : e.sourceURL && (e = e.message + "\n" + e.sourceURL + ":" + e.line)), e } function i(e) { var t = n.console || {}, i = t[e] || t.log || h, a = !1; try { a = !!i.apply } catch (s) {} return a ? function() { var e = []; return o(arguments, function(t) { e.push(r(t)) }), i.apply(t, e) } : function(e, t) { i(e, null == t ? "" : t) } } return { log: i("log"), info: i("info"), warn: i("warn"), error: i("error"), debug: function() { var n = i("debug"); return function() { e && n.apply(t, arguments) } }() } }] } function jn(e, t) { if ("__defineGetter__" === e || "__defineSetter__" === e || "__lookupGetter__" === e || "__lookupSetter__" === e || "__proto__" === e) throw oo("isecfld", "Attempting to access a disallowed field in Angular expressions! Expression: {0}", t); return e } function Ln(e, t) { if (e) { if (e.constructor === e) throw oo("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", t); if (e.window === e) throw oo("isecwindow", "Referencing the Window in Angular expressions is disallowed! Expression: {0}", t); if (e.children && (e.nodeName || e.prop && e.attr && e.find)) throw oo("isecdom", "Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}", t); if (e === Object) throw oo("isecobj", "Referencing Object in Angular expressions is disallowed! Expression: {0}", t) } return e } function Pn(e, t) { if (e) { if (e.constructor === e) throw oo("isecfn", "Referencing Function in Angular expressions is disallowed! Expression: {0}", t); if (e === ao || e === so || e === uo) throw oo("isecff", "Referencing call, apply or bind in Angular expressions is disallowed! Expression: {0}", t) } } function qn(e) { return e.constant } function Rn(e, t, n, r) { Ln(e, r); for (var i, o = t.split("."), a = 0; o.length > 1; a++) { i = jn(o.shift(), r); var s = Ln(e[i], r); s || (s = {}, e[i] = s), e = s } return i = jn(o.shift(), r), Ln(e[i], r), e[i] = n, n } function In(e) { return "constructor" == e } function Fn(e, t, r, i, o, a, s) { jn(e, a), jn(t, a), jn(r, a), jn(i, a), jn(o, a); var u = function(e) { return Ln(e, a) }, c = s || In(e) ? u : v, l = s || In(t) ? u : v, f = s || In(r) ? u : v, d = s || In(i) ? u : v, p = s || In(o) ? u : v; return function(a, s) { var u = s && s.hasOwnProperty(e) ? s : a; return null == u ? u : (u = c(u[e]), t ? null == u ? n : (u = l(u[t]), r ? null == u ? n : (u = f(u[r]), i ? null == u ? n : (u = d(u[i]), o ? null == u ? n : u = p(u[o]) : u) : u) : u) : u) } } function Hn(e, t) { return function(n, r) { return e(n, r, Ln, t) } } function Vn(e, t, r) { var i = t.expensiveChecks, a = i ? go : vo, s = a[e]; if (s) return s; var u = e.split("."), c = u.length; if (t.csp) s = 6 > c ? Fn(u[0], u[1], u[2], u[3], u[4], r, i) : function(e, t) { var o, a = 0; do o = Fn(u[a++], u[a++], u[a++], u[a++], u[a++], r, i)(e, t), t = n, e = o; while (c > a); return o }; else { var l = ""; i && (l += "s = eso(s, fe);\nl = eso(l, fe);\n"); var f = i; o(u, function(e, t) { jn(e, r); var n = (t ? "s" : '((l&&l.hasOwnProperty("' + e + '"))?l:s)') + "." + e; (i || In(e)) && (n = "eso(" + n + ", fe)", f = !0), l += "if(s == null) return undefined;\ns=" + n + ";\n" }), l += "return s;"; var d = new Function("s", "l", "eso", "fe", l); d.toString = g(l), f && (d = Hn(d, r)), s = d } return s.sharedGetter = !0, s.assign = function(t, n) { return Rn(t, e, n, e) }, a[e] = s, s } function _n(e) { return C(e.valueOf) ? e.valueOf() : mo.call(e) } function Un() { var e = ct(), t = ct(); this.$get = ["$filter", "$sniffer", function(n, r) { function i(e) { var t = e; return e.sharedGetter && (t = function(t, n) { return e(t, n) }, t.literal = e.literal, t.constant = e.constant, t.assign = e.assign), t } function a(e, t) { for (var n = 0, r = e.length; r > n; n++) { var i = e[n]; i.constant || (i.inputs ? a(i.inputs, t) : -1 === t.indexOf(i) && t.push(i)) } return t } function s(e, t) { return null == e || null == t ? e === t : "object" == typeof e && (e = _n(e), "object" == typeof e) ? !1 : e === t || e !== e && t !== t } function u(e, t, n, r) { var i, o = r.$$inputs || (r.$$inputs = a(r.inputs, [])); if (1 === o.length) { var u = s; return o = o[0], e.$watch(function(e) { var t = o(e); return s(t, u) || (i = r(e), u = t && _n(t)), i }, t, n) } for (var c = [], l = 0, f = o.length; f > l; l++) c[l] = s; return e.$watch(function(e) { for (var t = !1, n = 0, a = o.length; a > n; n++) { var u = o[n](e); (t || (t = !s(u, c[n]))) && (c[n] = u && _n(u)) } return t && (i = r(e)), i }, t, n) } function c(e, t, n, r) { var i, o; return i = e.$watch(function(e) { return r(e) }, function(e, n, r) { o = e, C(t) && t.apply(this, arguments), $(e) && r.$$postDigest(function() { $(o) && i() }) }, n) } function l(e, t, n, r) { function i(e) { var t = !0; return o(e, function(e) { $(e) || (t = !1) }), t } var a, s; return a = e.$watch(function(e) { return r(e) }, function(e, n, r) { s = e, C(t) && t.call(this, e, n, r), i(e) && r.$$postDigest(function() { i(s) && a() }) }, n) } function f(e, t, n, r) { var i; return i = e.$watch(function(e) { return r(e) }, function() { C(t) && t.apply(this, arguments), i() }, n) } function d(e, t) { if (!t) return e; var n = e.$$watchDelegate, r = n !== l && n !== c, i = r ? function(n, r) { var i = e(n, r); return t(i, n, r) } : function(n, r) { var i = e(n, r), o = t(i, n, r); return $(i) ? o : i }; return e.$$watchDelegate && e.$$watchDelegate !== u ? i.$$watchDelegate = e.$$watchDelegate : t.$stateful || (i.$$watchDelegate = u, i.inputs = [e]), i } var p = { csp: r.csp, expensiveChecks: !1 }, v = { csp: r.csp, expensiveChecks: !0 }; return function(r, o, a) { var s, g, m; switch (typeof r) { case "string": m = r = r.trim(); var $ = a ? t : e; if (s = $[m], !s) { ":" === r.charAt(0) && ":" === r.charAt(1) && (g = !0, r = r.substring(2)); var y = a ? v : p, b = new po(y), w = new ho(b, n, y); s = w.parse(r), s.constant ? s.$$watchDelegate = f : g ? (s = i(s), s.$$watchDelegate = s.literal ? l : c) : s.inputs && (s.$$watchDelegate = u), $[m] = s } return d(s, o); case "function": return d(r, o); default: return d(h, o) } } }] } function Bn() { this.$get = ["$rootScope", "$exceptionHandler", function(e, t) { return zn(function(t) { e.$evalAsync(t) }, t) }] } function Wn() { this.$get = ["$browser", "$exceptionHandler", function(e, t) { return zn(function(t) { e.defer(t) }, t) }] } function zn(e, t) { function i(e, t, n) { function r(t) { return function(n) { i || (i = !0, t.call(e, n)) } } var i = !1; return [r(t), r(n)] } function a() { this.$$state = { status: 0 } } function s(e, t) { return function(n) { t.call(e, n) } } function u(e) { var r, i, o; o = e.pending, e.processScheduled = !1, e.pending = n; for (var a = 0, s = o.length; s > a; ++a) { i = o[a][0], r = o[a][e.status]; try { C(r) ? i.resolve(r(e.value)) : 1 === e.status ? i.resolve(e.value) : i.reject(e.value) } catch (u) { i.reject(u), t(u) } } } function c(t) { !t.processScheduled && t.pending && (t.processScheduled = !0, e(function() { u(t) })) } function l() { this.promise = new a, this.resolve = s(this, this.resolve), this.reject = s(this, this.reject), this.notify = s(this, this.notify) } function f(e) { var t = new l, n = 0, r = li(e) ? [] : {}; return o(e, function(e, i) { n++, m(e).then(function(e) { r.hasOwnProperty(i) || (r[i] = e, --n || t.resolve(r)) }, function(e) { r.hasOwnProperty(i) || t.reject(e) }) }), 0 === n && t.resolve(r), t.promise } var d = r("$q", TypeError), p = function() { return new l }; a.prototype = { then: function(e, t, n) { var r = new l; return this.$$state.pending = this.$$state.pending || [], this.$$state.pending.push([r, e, t, n]), this.$$state.status > 0 && c(this.$$state), r.promise }, "catch": function(e) { return this.then(null, e) }, "finally": function(e, t) { return this.then(function(t) { return g(t, !0, e) }, function(t) { return g(t, !1, e) }, t) } }, l.prototype = { resolve: function(e) { this.promise.$$state.status || (e === this.promise ? this.$$reject(d("qcycle", "Expected promise to be resolved with value other than itself '{0}'", e)) : this.$$resolve(e)) }, $$resolve: function(e) { var n, r; r = i(this, this.$$resolve, this.$$reject); try { (y(e) || C(e)) && (n = e && e.then), C(n) ? (this.promise.$$state.status = -1, n.call(e, r[0], r[1], this.notify)) : (this.promise.$$state.value = e, this.promise.$$state.status = 1, c(this.promise.$$state)) } catch (o) { r[1](o), t(o) } }, reject: function(e) { this.promise.$$state.status || this.$$reject(e) }, $$reject: function(e) { this.promise.$$state.value = e, this.promise.$$state.status = 2, c(this.promise.$$state) }, notify: function(n) { var r = this.promise.$$state.pending; this.promise.$$state.status <= 0 && r && r.length && e(function() { for (var e, i, o = 0, a = r.length; a > o; o++) { i = r[o][0], e = r[o][3]; try { i.notify(C(e) ? e(n) : n) } catch (s) { t(s) } } }) } }; var h = function(e) { var t = new l; return t.reject(e), t.promise }, v = function(e, t) { var n = new l; return t ? n.resolve(e) : n.reject(e), n.promise }, g = function(e, t, n) { var r = null; try { C(n) && (r = n()) } catch (i) { return v(i, !1) } return O(r) ? r.then(function() { return v(e, t) }, function(e) { return v(e, !1) }) : v(e, t) }, m = function(e, t, n, r) { var i = new l; return i.resolve(e), i.promise.then(t, n, r) }, $ = function b(e) { function t(e) { r.resolve(e) } function n(e) { r.reject(e) } if (!C(e)) throw d("norslvr", "Expected resolverFn, got '{0}'", e); if (!(this instanceof b)) return new b(e); var r = new l; return e(t, n), r.promise }; return $.defer = p, $.reject = h, $.when = m, $.all = f, $ } function Gn() { this.$get = ["$window", "$timeout", function(e, t) { var n = e.requestAnimationFrame || e.webkitRequestAnimationFrame, r = e.cancelAnimationFrame || e.webkitCancelAnimationFrame || e.webkitCancelRequestAnimationFrame, i = !!n, o = i ? function(e) { var t = n(e); return function() { r(t) } } : function(e) { var n = t(e, 16.66, !1); return function() { t.cancel(n) } }; return o.supported = i, o }] } function Xn() { var e = 10, t = r("$rootScope"), n = null, a = null; this.digestTtl = function(t) { return arguments.length && (e = t), e }, this.$get = ["$injector", "$exceptionHandler", "$parse", "$browser", function(r, s, u, l) { function f() { this.$id = c(), this.$$phase = this.$parent = this.$$watchers = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null, this.$root = this, this.$$destroyed = !1, this.$$listeners = {}, this.$$listenerCount = {}, this.$$isolateBindings = null } function d(e) { if (w.$$phase) throw t("inprog", "{0} already in progress", w.$$phase); w.$$phase = e } function p() { w.$$phase = null } function v(e, t, n) { do e.$$listenerCount[n] -= t, 0 === e.$$listenerCount[n] && delete e.$$listenerCount[n]; while (e = e.$parent) } function g() {} function $() { for (; k.length;) try { k.shift()() } catch (e) { s(e) } a = null } function b() { null === a && (a = l.defer(function() { w.$apply($) })) } f.prototype = { constructor: f, $new: function(e, t) { function n() { r.$$destroyed = !0 } var r; return t = t || this, e ? (r = new f, r.$root = this.$root) : (this.$$ChildScope || (this.$$ChildScope = function() { this.$$watchers = this.$$nextSibling = this.$$childHead = this.$$childTail = null, this.$$listeners = {}, this.$$listenerCount = {}, this.$id = c(), this.$$ChildScope = null }, this.$$ChildScope.prototype = this), r = new this.$$ChildScope), r.$parent = t, r.$$prevSibling = t.$$childTail, t.$$childHead ? (t.$$childTail.$$nextSibling = r, t.$$childTail = r) : t.$$childHead = t.$$childTail = r, (e || t != this) && r.$on("$destroy", n), r }, $watch: function(e, t, r) { var i = u(e); if (i.$$watchDelegate) return i.$$watchDelegate(this, t, r, i); var o = this, a = o.$$watchers, s = { fn: t, last: g, get: i, exp: e, eq: !!r }; return n = null, C(t) || (s.fn = h), a || (a = o.$$watchers = []), a.unshift(s), function() { P(a, s), n = null } }, $watchGroup: function(e, t) { function n() { u = !1, c ? (c = !1, t(i, i, s)) : t(i, r, s) } var r = new Array(e.length), i = new Array(e.length), a = [], s = this, u = !1, c = !0; if (!e.length) { var l = !0; return s.$evalAsync(function() { l && t(i, i, s) }), function() { l = !1 } } return 1 === e.length ? this.$watch(e[0], function(e, n, o) { i[0] = e, r[0] = n, t(i, e === n ? i : r, o) }) : (o(e, function(e, t) { var o = s.$watch(e, function(e, o) { i[t] = e, r[t] = o, u || (u = !0, s.$evalAsync(n)) }); a.push(o) }), function() { for (; a.length;) a.shift()() }) }, $watchCollection: function(e, t) { function n(e) { o = e; var t, n, r, s, u; if (!m(o)) { if (y(o)) if (i(o)) { a !== p && (a = p, g = a.length = 0, f++), t = o.length, g !== t && (f++, a.length = g = t); for (var c = 0; t > c; c++) u = a[c], s = o[c], r = u !== u && s !== s, r || u === s || (f++, a[c] = s) } else { a !== h && (a = h = {}, g = 0, f++), t = 0; for (n in o) o.hasOwnProperty(n) && (t++, s = o[n], u = a[n], n in a ? (r = u !== u && s !== s, r || u === s || (f++, a[n] = s)) : (g++, a[n] = s, f++)); if (g > t) { f++; for (n in a) o.hasOwnProperty(n) || (g--, delete a[n]) } } else a !== o && (a = o, f++); return f } } function r() { if (v ? (v = !1, t(o, o, c)) : t(o, s, c), l) if (y(o)) if (i(o)) { s = new Array(o.length); for (var e = 0; e < o.length; e++) s[e] = o[e] } else { s = {}; for (var n in o) Xr.call(o, n) && (s[n] = o[n]) } else s = o } n.$stateful = !0; var o, a, s, c = this, l = t.length > 1, f = 0, d = u(e, n), p = [], h = {}, v = !0, g = 0; return this.$watch(d, r) }, $digest: function() { var r, i, o, u, c, f, h, v, m, y, b = e, k = this, T = []; d("$digest"), l.$$checkUrlChange(), this === w && null !== a && (l.defer.cancel(a), $()), n = null; do { for (f = !1, v = k; x.length;) { try { y = x.shift(), y.scope.$eval(y.expression, y.locals) } catch (E) { s(E) } n = null } e: do { if (u = v.$$watchers) for (c = u.length; c--;) try { if (r = u[c]) if ((i = r.get(v)) === (o = r.last) || (r.eq ? I(i, o) : "number" == typeof i && "number" == typeof o && isNaN(i) && isNaN(o))) { if (r === n) { f = !1; break e } } else f = !0, n = r, r.last = r.eq ? q(i, null) : i, r.fn(i, o === g ? i : o, v), 5 > b && (m = 4 - b, T[m] || (T[m] = []), T[m].push({ msg: C(r.exp) ? "fn: " + (r.exp.name || r.exp.toString()) : r.exp, newVal: i, oldVal: o })) } catch (E) { s(E) } if (!(h = v.$$childHead || v !== k && v.$$nextSibling)) for (; v !== k && !(h = v.$$nextSibling);) v = v.$parent } while (v = h); if ((f || x.length) && !b--) throw p(), t("infdig", "{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}", e, T) } while (f || x.length); for (p(); S.length;) try { S.shift()() } catch (E) { s(E) } }, $destroy: function() { if (!this.$$destroyed) { var e = this.$parent; if (this.$broadcast("$destroy"), this.$$destroyed = !0, this !== w) { for (var t in this.$$listenerCount) v(this, this.$$listenerCount[t], t); e.$$childHead == this && (e.$$childHead = this.$$nextSibling), e.$$childTail == this && (e.$$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 = h, this.$on = this.$watch = this.$watchGroup = function() { return h }, this.$$listeners = {}, this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = this.$root = this.$$watchers = null } } }, $eval: function(e, t) { return u(e)(this, t) }, $evalAsync: function(e, t) { w.$$phase || x.length || l.defer(function() { x.length && w.$digest() }), x.push({ scope: this, expression: e, locals: t }) }, $$postDigest: function(e) { S.push(e) }, $apply: function(e) { try { return d("$apply"), this.$eval(e) } catch (t) { s(t) } finally { p(); try { w.$digest() } catch (t) { throw s(t), t } } }, $applyAsync: function(e) { function t() { n.$eval(e) } var n = this; e && k.push(t), b() }, $on: function(e, t) { var n = this.$$listeners[e]; n || (this.$$listeners[e] = n = []), n.push(t); var r = this; do r.$$listenerCount[e] || (r.$$listenerCount[e] = 0), r.$$listenerCount[e]++; while (r = r.$parent); var i = this; return function() { var r = n.indexOf(t); - 1 !== r && (n[r] = null, v(i, 1, e)) } }, $emit: function(e) { var t, n, r, i = [], o = this, a = !1, u = { name: e, targetScope: o, stopPropagation: function() { a = !0 }, preventDefault: function() { u.defaultPrevented = !0 }, defaultPrevented: !1 }, c = F([u], arguments, 1); do { for (t = o.$$listeners[e] || i, u.currentScope = o, n = 0, r = t.length; r > n; n++) if (t[n]) try { t[n].apply(null, c) } catch (l) { s(l) } else t.splice(n, 1), n--, r--; if (a) return u.currentScope = null, u; o = o.$parent } while (o); return u.currentScope = null, u }, $broadcast: function(e) { var t = this, n = t, r = t, i = { name: e, targetScope: t, preventDefault: function() { i.defaultPrevented = !0 }, defaultPrevented: !1 }; if (!t.$$listenerCount[e]) return i; for (var o, a, u, c = F([i], arguments, 1); n = r;) { for (i.currentScope = n, o = n.$$listeners[e] || [], a = 0, u = o.length; u > a; a++) if (o[a]) try { o[a].apply(null, c) } catch (l) { s(l) } else o.splice(a, 1), a--, u--; if (!(r = n.$$listenerCount[e] && n.$$childHead || n !== t && n.$$nextSibling)) for (; n !== t && !(r = n.$$nextSibling);) n = n.$parent } return i.currentScope = null, i } }; var w = new f, x = w.$$asyncQueue = [], S = w.$$postDigestQueue = [], k = w.$$applyAsyncQueue = []; return w }] } function Yn() { var e = /^\s*(https?|ftp|mailto|tel|file):/, t = /^\s*((https?|ftp|file|blob):|data:image\/)/; this.aHrefSanitizationWhitelist = function(t) { return $(t) ? (e = t, this) : e }, this.imgSrcSanitizationWhitelist = function(e) { return $(e) ? (t = e, this) : t }, this.$get = function() { return function(n, r) { var i, o = r ? t : e; return i = ir(n).href, "" === i || i.match(o) ? n : "unsafe:" + i } } } function Jn(e) { if ("self" === e) return e; if (b(e)) { if (e.indexOf("***") > -1) throw $o("iwcard", "Illegal sequence *** in string matcher. String: {0}", e); return e = di(e).replace("\\*\\*", ".*").replace("\\*", "[^:/.?&;]*"), new RegExp("^" + e + "$") } if (S(e)) return new RegExp("^" + e.source + "$"); throw $o("imatcher", 'Matchers may only be "self", string patterns or RegExp objects') } function Kn(e) { var t = []; return $(e) && o(e, function(e) { t.push(Jn(e)) }), t } function Zn() { this.SCE_CONTEXTS = yo; var e = ["self"], t = []; this.resourceUrlWhitelist = function(t) { return arguments.length && (e = Kn(t)), e }, this.resourceUrlBlacklist = function(e) { return arguments.length && (t = Kn(e)), t }, this.$get = ["$injector", function(r) { function i(e, t) { return "self" === e ? or(t) : !!e.exec(t.href) } function o(n) { var r, o, a = ir(n.toString()), s = !1; for (r = 0, o = e.length; o > r; r++) if (i(e[r], a)) { s = !0; break } if (s) for (r = 0, o = t.length; o > r; r++) if (i(t[r], a)) { s = !1; break } return s } function a(e) { var t = function(e) { this.$$unwrapTrustedValue = function() { return e } }; return e && (t.prototype = new e), t.prototype.valueOf = function() { return this.$$unwrapTrustedValue() }, t.prototype.toString = function() { return this.$$unwrapTrustedValue().toString() }, t } function s(e, t) { var r = d.hasOwnProperty(e) ? d[e] : null; if (!r) throw $o("icontext", "Attempted to trust a value in invalid context. Context: {0}; Value: {1}", e, t); if (null === t || t === n || "" === t) return t; if ("string" != typeof t) throw $o("itype", "Attempted to trust a non-string value in a content requiring a string: Context: {0}", e); return new r(t) } function u(e) { return e instanceof f ? e.$$unwrapTrustedValue() : e } function c(e, t) { if (null === t || t === n || "" === t) return t; var r = d.hasOwnProperty(e) ? d[e] : null; if (r && t instanceof r) return t.$$unwrapTrustedValue(); if (e === yo.RESOURCE_URL) { if (o(t)) return t; throw $o("insecurl", "Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}", t.toString()) } if (e === yo.HTML) return l(t); throw $o("unsafe", "Attempting to use an unsafe value in a safe context.") } var l = function() { throw $o("unsafe", "Attempting to use an unsafe value in a safe context.") }; r.has("$sanitize") && (l = r.get("$sanitize")); var f = a(), d = {}; return d[yo.HTML] = a(f), d[yo.CSS] = a(f), d[yo.URL] = a(f), d[yo.JS] = a(f), d[yo.RESOURCE_URL] = a(d[yo.URL]), { trustAs: s, getTrusted: c, valueOf: u } }] } function Qn() { var e = !0; this.enabled = function(t) { return arguments.length && (e = !!t), e }, this.$get = ["$parse", "$sceDelegate", function(t, n) { if (e && 8 > Zr) throw $o("iequirks", "Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information."); var r = R(yo); r.isEnabled = function() { return e }, r.trustAs = n.trustAs, r.getTrusted = n.getTrusted, r.valueOf = n.valueOf, e || (r.trustAs = r.getTrusted = function(e, t) { return t }, r.valueOf = v), r.parseAs = function(e, n) { var i = t(n); return i.literal && i.constant ? i : t(n, function(t) { return r.getTrusted(e, t) }) }; var i = r.parseAs, a = r.getTrusted, s = r.trustAs; return o(yo, function(e, t) { var n = Gr(t); r[vt("parse_as_" + n)] = function(t) { return i(e, t) }, r[vt("get_trusted_" + n)] = function(t) { return a(e, t) }, r[vt("trust_as_" + n)] = function(t) { return s(e, t) } }), r }] } function er() { this.$get = ["$window", "$document", function(e, t) { var n, r, i = {}, o = d((/android (\d+)/.exec(Gr((e.navigator || {}).userAgent)) || [])[1]), a = /Boxee/i.test((e.navigator || {}).userAgent), s = t[0] || {}, u = /^(Moz|webkit|ms)(?=[A-Z])/, c = s.body && s.body.style, l = !1, f = !1; if (c) { for (var p in c) if (r = u.exec(p)) { n = r[0], n = n.substr(0, 1).toUpperCase() + n.substr(1); break } n || (n = "WebkitOpacity" in c && "webkit"), l = !!("transition" in c || n + "Transition" in c), f = !!("animation" in c || n + "Animation" in c), !o || l && f || (l = b(s.body.style.webkitTransition), f = b(s.body.style.webkitAnimation)) } return { history: !(!e.history || !e.history.pushState || 4 > o || a), hasEvent: function(e) { if ("input" === e && 11 >= Zr) return !1; if (m(i[e])) { var t = s.createElement("div"); i[e] = "on" + e in t } return i[e] }, csp: pi(), vendorPrefix: n, transitions: l, animations: f, android: o } }] } function tr() { this.$get = ["$templateCache", "$http", "$q", function(e, t, n) { function r(i, o) { function a(e) { if (s.totalPendingRequests--, !o) throw Gi("tpload", "Failed to load template: {0}", i); return n.reject(e) } var s = r; s.totalPendingRequests++; var u = t.defaults && t.defaults.transformResponse; li(u) ? u = u.filter(function(e) { return e !== on }) : u === on && (u = null); var c = { cache: e, transformResponse: u }; return t.get(i, c).then(function(e) { return s.totalPendingRequests--, e.data }, a) } return r.totalPendingRequests = 0, r }] } function nr() { this.$get = ["$rootScope", "$browser", "$location", function(e, t, n) { var r = {}; return r.findBindings = function(e, t, n) { var r = e.getElementsByClassName("ng-binding"), i = []; return o(r, function(e) { var r = si.element(e).data("$binding"); r && o(r, function(r) { if (n) { var o = new RegExp("(^|\\s)" + di(t) + "(\\s|\\||$)"); o.test(r) && i.push(e) } else -1 != r.indexOf(t) && i.push(e) }) }), i }, r.findModels = function(e, t, n) { for (var r = ["ng-", "data-ng-", "ng\\:"], i = 0; i < r.length; ++i) { var o = n ? "=" : "*=", a = "[" + r[i] + "model" + o + '"' + t + '"]', s = e.querySelectorAll(a); if (s.length) return s } }, r.getLocation = function() { return n.url() }, r.setLocation = function(t) { t !== n.url() && (n.url(t), e.$digest()) }, r.whenStable = function(e) { t.notifyWhenNoOutstandingRequests(e) }, r }] } function rr() { this.$get = ["$rootScope", "$browser", "$q", "$$q", "$exceptionHandler", function(e, t, n, r, i) { function o(o, s, u) { var c, l = $(u) && !u, f = (l ? r : n).defer(), d = f.promise; return c = t.defer(function() { try { f.resolve(o()) } catch (t) { f.reject(t), i(t) } finally { delete a[d.$$timeoutId] } l || e.$apply() }, s), d.$$timeoutId = c, a[c] = f, d } var a = {}; return o.cancel = function(e) { return e && e.$$timeoutId in a ? (a[e.$$timeoutId].reject("canceled"), delete a[e.$$timeoutId], t.defer.cancel(e.$$timeoutId)) : !1 }, o }] } function ir(e) { var t = e; return Zr && (bo.setAttribute("href", t), t = bo.href), bo.setAttribute("href", t), { href: bo.href, protocol: bo.protocol ? bo.protocol.replace(/:$/, "") : "", host: bo.host, search: bo.search ? bo.search.replace(/^\?/, "") : "", hash: bo.hash ? bo.hash.replace(/^#/, "") : "", hostname: bo.hostname, port: bo.port, pathname: "/" === bo.pathname.charAt(0) ? bo.pathname : "/" + bo.pathname } } function or(e) { var t = b(e) ? ir(e) : e; return t.protocol === wo.protocol && t.host === wo.host } function ar() { this.$get = g(e) } function sr(e) { function t(r, i) { if (y(r)) { var a = {}; return o(r, function(e, n) { a[n] = t(n, e) }), a } return e.factory(r + n, i) } var n = "Filter"; this.register = t, this.$get = ["$injector", function(e) { return function(t) { return e.get(t + n) } }], t("currency", fr), t("date", xr), t("filter", ur), t("json", Cr), t("limitTo", Sr), t("lowercase", To), t("number", dr), t("orderBy", kr), t("uppercase", Eo) } function ur() { return function(e, t, n) { if (!li(e)) return e; var r, i; switch (typeof t) { case "function": r = t; break; case "boolean": case "number": case "string": i = !0; case "object": r = cr(t, n, i); break; default: return e } return e.filter(r) } } function cr(e, t, n) { var r, i = y(e) && "$" in e; return t === !0 ? t = I : C(t) || (t = function(e, t) { return y(e) || y(t) ? !1 : (e = Gr("" + e), t = Gr("" + t), -1 !== e.indexOf(t)) }), r = function(r) { return i && !y(r) ? lr(r, e.$, t, !1) : lr(r, e, t, n) } } function lr(e, t, n, r, i) { var o = typeof e, a = typeof t; if ("string" === a && "!" === t.charAt(0)) return !lr(e, t.substring(1), n, r); if ("array" === o) return e.some(function(e) { return lr(e, t, n, r) }); switch (o) { case "object": var s; if (r) { for (s in e) if ("$" !== s.charAt(0) && lr(e[s], t, n, !0)) return !0; return i ? !1 : lr(e, t, n, !1) } if ("object" === a) { for (s in t) { var u = t[s]; if (!C(u)) { var c = "$" === s, l = c ? e : e[s]; if (!lr(l, u, n, c, c)) return !1 } } return !0 } return n(e, t); case "function": return !1; default: return n(e, t) } } function fr(e) { var t = e.NUMBER_FORMATS; return function(e, n, r) { return m(n) && (n = t.CURRENCY_SYM), m(r) && (r = t.PATTERNS[1].maxFrac), null == e ? e : pr(e, t.PATTERNS[1], t.GROUP_SEP, t.DECIMAL_SEP, r).replace(/\u00A4/g, n) } } function dr(e) { var t = e.NUMBER_FORMATS; return function(e, n) { return null == e ? e : pr(e, t.PATTERNS[0], t.GROUP_SEP, t.DECIMAL_SEP, n) } } function pr(e, t, n, r, i) { if (!isFinite(e) || y(e)) return ""; var o = 0 > e; e = Math.abs(e); var a = e + "", s = "", u = [], c = !1; if (-1 !== a.indexOf("e")) { var l = a.match(/([\d\.]+)e(-?)(\d+)/); l && "-" == l[2] && l[3] > i + 1 ? e = 0 : (s = a, c = !0) } if (c) i > 0 && 1 > e && (s = e.toFixed(i), e = parseFloat(s)); else { var f = (a.split(xo)[1] || "").length; m(i) && (i = Math.min(Math.max(t.minFrac, f), t.maxFrac)), e = +(Math.round(+(e.toString() + "e" + i)).toString() + "e" + -i); var d = ("" + e).split(xo), p = d[0]; d = d[1] || ""; var h, v = 0, g = t.lgSize, $ = t.gSize; if (p.length >= g + $) for (v = p.length - g, h = 0; v > h; h++)(v - h) % $ === 0 && 0 !== h && (s += n), s += p.charAt(h); for (h = v; h < p.length; h++)(p.length - h) % g === 0 && 0 !== h && (s += n), s += p.charAt(h); for (; d.length < i;) d += "0"; i && "0" !== i && (s += r + d.substr(0, i)) } return 0 === e && (o = !1), u.push(o ? t.negPre : t.posPre, s, o ? t.negSuf : t.posSuf), u.join("") } function hr(e, t, n) { var r = ""; for (0 > e && (r = "-", e = -e), e = "" + e; e.length < t;) e = "0" + e; return n && (e = e.substr(e.length - t)), r + e } function vr(e, t, n, r) { return n = n || 0, function(i) { var o = i["get" + e](); return (n > 0 || o > -n) && (o += n), 0 === o && -12 == n && (o = 12), hr(o, t, r) } } function gr(e, t) { return function(n, r) { var i = n["get" + e](), o = Yr(t ? "SHORT" + e : e); return r[o][i] } } function mr(e) { var t = -1 * e.getTimezoneOffset(), n = t >= 0 ? "+" : ""; return n += hr(Math[t > 0 ? "floor" : "ceil"](t / 60), 2) + hr(Math.abs(t % 60), 2) } function $r(e) { var t = new Date(e, 0, 1).getDay(); return new Date(e, 0, (4 >= t ? 5 : 12) - t) } function yr(e) { return new Date(e.getFullYear(), e.getMonth(), e.getDate() + (4 - e.getDay())) } function br(e) { return function(t) { var n = $r(t.getFullYear()), r = yr(t), i = +r - +n, o = 1 + Math.round(i / 6048e5); return hr(o, e) } } function wr(e, t) { return e.getHours() < 12 ? t.AMPMS[0] : t.AMPMS[1] } function xr(e) { function t(e) { var t; if (t = e.match(n)) { var r = new Date(0), i = 0, o = 0, a = t[8] ? r.setUTCFullYear : r.setFullYear, s = t[8] ? r.setUTCHours : r.setHours; t[9] && (i = d(t[9] + t[10]), o = d(t[9] + t[11])), a.call(r, d(t[1]), d(t[2]) - 1, d(t[3])); var u = d(t[4] || 0) - i, c = d(t[5] || 0) - o, l = d(t[6] || 0), f = Math.round(1e3 * parseFloat("0." + (t[7] || 0))); return s.call(r, u, c, l, f), r } return e } var n = /^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/; return function(n, r, i) { var a, s, u = "", c = []; if (r = r || "mediumDate", r = e.DATETIME_FORMATS[r] || r, b(n) && (n = ko.test(n) ? d(n) : t(n)), w(n) && (n = new Date(n)), !x(n)) return n; for (; r;) s = So.exec(r), s ? (c = F(c, s, 1), r = c.pop()) : (c.push(r), r = null); return i && "UTC" === i && (n = new Date(n.getTime()), n.setMinutes(n.getMinutes() + n.getTimezoneOffset())), o(c, function(t) { a = Co[t], u += a ? a(n, e.DATETIME_FORMATS) : t.replace(/(^'|'$)/g, "").replace(/''/g, "'") }), u } } function Cr() { return function(e, t) { return m(t) && (t = 2), U(e, t) } } function Sr() { return function(e, t) { if (w(e) && (e = e.toString()), !li(e) && !b(e)) return e; if (t = 1 / 0 === Math.abs(Number(t)) ? Number(t) : d(t), b(e)) return t ? t >= 0 ? e.slice(0, t) : e.slice(t, e.length) : ""; var n, r; if (t > e.length ? t = e.length : t < -e.length && (t = -e.length), t > 0) n = 0, r = t; else { if (!t) return []; n = e.length + t, r = e.length } return e.slice(n, r) } } function kr(e) { return function(t, n, r) { function o(e, t) { for (var r = 0; r < n.length; r++) { var i = n[r](e, t); if (0 !== i) return i } return 0 } function a(e, t) { return t ? function(t, n) { return e(n, t) } : e } function s(e) { switch (typeof e) { case "number": case "boolean": case "string": return !0; default: return !1 } } function u(e) { return null === e ? "null" : "function" == typeof e.valueOf && (e = e.valueOf(), s(e)) ? e : "function" == typeof e.toString && (e = e.toString(), s(e)) ? e : "" } function c(e, t) { var n = typeof e, r = typeof t; return n === r && "object" === n && (e = u(e), t = u(t)), n === r ? ("string" === n && (e = e.toLowerCase(), t = t.toLowerCase()), e === t ? 0 : t > e ? -1 : 1) : r > n ? -1 : 1 } return i(t) ? (n = li(n) ? n : [n], 0 === n.length && (n = ["+"]), n = n.map(function(t) { var n = !1, r = t || v; if (b(t)) { if (("+" == t.charAt(0) || "-" == t.charAt(0)) && (n = "-" == t.charAt(0), t = t.substring(1)), "" === t) return a(c, n); if (r = e(t), r.constant) { var i = r(); return a(function(e, t) { return c(e[i], t[i]) }, n) } } return a(function(e, t) { return c(r(e), r(t)) }, n) }), ni.call(t).sort(a(o, r))) : t } } function Tr(e) { return C(e) && (e = { link: e }), e.restrict = e.restrict || "AC", g(e) } function Er(e, t) { e.$name = t } function Ar(e, t, r, i, a) { var s = this, u = [], c = s.$$parentForm = e.parent().controller("form") || Do; s.$error = {}, s.$$success = {}, s.$pending = n, s.$name = a(t.name || t.ngForm || "")(r), s.$dirty = !1, s.$pristine = !0, s.$valid = !0, s.$invalid = !1, s.$submitted = !1, c.$addControl(s), s.$rollbackViewValue = function() { o(u, function(e) { e.$rollbackViewValue() }) }, s.$commitViewValue = function() { o(u, function(e) { e.$commitViewValue() }) }, s.$addControl = function(e) { at(e.$name, "input"), u.push(e), e.$name && (s[e.$name] = e) }, s.$$renameControl = function(e, t) { var n = e.$name; s[n] === e && delete s[n], s[t] = e, e.$name = t }, s.$removeControl = function(e) { e.$name && s[e.$name] === e && delete s[e.$name], o(s.$pending, function(t, n) { s.$setValidity(n, null, e) }), o(s.$error, function(t, n) { s.$setValidity(n, null, e) }), P(u, e) }, _r({ ctrl: this, $element: e, set: function(e, t, n) { var r = e[t]; if (r) { var i = r.indexOf(n); - 1 === i && r.push(n) } else e[t] = [n] }, unset: function(e, t, n) { var r = e[t]; r && (P(r, n), 0 === r.length && delete e[t]) }, parentForm: c, $animate: i }), s.$setDirty = function() { i.removeClass(e, Jo), i.addClass(e, Ko), s.$dirty = !0, s.$pristine = !1, c.$setDirty() }, s.$setPristine = function() { i.setClass(e, Jo, Ko + " " + Oo), s.$dirty = !1, s.$pristine = !0, s.$submitted = !1, o(u, function(e) { e.$setPristine() }) }, s.$setUntouched = function() { o(u, function(e) { e.$setUntouched() }) }, s.$setSubmitted = function() { i.addClass(e, Oo), s.$submitted = !0, c.$setSubmitted() } } function Nr(e) { e.$formatters.push(function(t) { return e.$isEmpty(t) ? t : t.toString() }) } function Dr(e, t, n, r, i, o) { Or(e, t, n, r, i, o), Nr(r) } function Or(e, t, n, r, i, o) { var a = Gr(t[0].type); if (!i.android) { var s = !1; t.on("compositionstart", function() { s = !0 }), t.on("compositionend", function() { s = !1, u() }) } var u = function(e) { if (c && (o.defer.cancel(c), c = null), !s) { var i = t.val(), u = e && e.type; "password" === a || n.ngTrim && "false" === n.ngTrim || (i = fi(i)), (r.$viewValue !== i || "" === i && r.$$hasNativeValidators) && r.$setViewValue(i, u) } }; if (i.hasEvent("input")) t.on("input", u); else { var c, l = function(e, t, n) { c || (c = o.defer(function() { c = null, t && t.value === n || u(e) })) }; t.on("keydown", function(e) { var t = e.keyCode; 91 === t || t > 15 && 19 > t || t >= 37 && 40 >= t || l(e, this, this.value) }), i.hasEvent("paste") && t.on("paste cut", l) } t.on("change", u), r.$render = function() { t.val(r.$isEmpty(r.$viewValue) ? "" : r.$viewValue) } } function Mr(e, t) { if (x(e)) return e; if (b(e)) { Vo.lastIndex = 0; var n = Vo.exec(e); if (n) { var r = +n[1], i = +n[2], o = 0, a = 0, s = 0, u = 0, c = $r(r), l = 7 * (i - 1); return t && (o = t.getHours(), a = t.getMinutes(), s = t.getSeconds(), u = t.getMilliseconds()), new Date(r, 0, c.getDate() + l, o, a, s, u) } } return 0 / 0 } function jr(e, t) { return function(n, r) { var i, a; if (x(n)) return n; if (b(n)) { if ('"' == n.charAt(0) && '"' == n.charAt(n.length - 1) && (n = n.substring(1, n.length - 1)), Po.test(n)) return new Date(n); if (e.lastIndex = 0, i = e.exec(n)) return i.shift(), a = r ? { yyyy: r.getFullYear(), MM: r.getMonth() + 1, dd: r.getDate(), HH: r.getHours(), mm: r.getMinutes(), ss: r.getSeconds(), sss: r.getMilliseconds() / 1e3 } : { yyyy: 1970, MM: 1, dd: 1, HH: 0, mm: 0, ss: 0, sss: 0 }, o(i, function(e, n) { n < t.length && (a[t[n]] = +e) }), new Date(a.yyyy, a.MM - 1, a.dd, a.HH, a.mm, a.ss || 0, 1e3 * a.sss || 0) } return 0 / 0 } } function Lr(e, t, r, i) { return function(o, a, s, u, c, l, f) { function d(e) { return e && !(e.getTime && e.getTime() !== e.getTime()) } function p(e) { return $(e) ? x(e) ? e : r(e) : n } Pr(o, a, s, u), Or(o, a, s, u, c, l); var h, v = u && u.$options && u.$options.timezone; if (u.$$parserName = e, u.$parsers.push(function(e) { if (u.$isEmpty(e)) return null; if (t.test(e)) { var i = r(e, h); return "UTC" === v && i.setMinutes(i.getMinutes() - i.getTimezoneOffset()), i } return n }), u.$formatters.push(function(e) { if (e && !x(e)) throw Wo("datefmt", "Expected `{0}` to be a date", e); if (d(e)) { if (h = e, h && "UTC" === v) { var t = 6e4 * h.getTimezoneOffset(); h = new Date(h.getTime() + t) } return f("date")(e, i, v) } return h = null, "" }), $(s.min) || s.ngMin) { var g; u.$validators.min = function(e) { return !d(e) || m(g) || r(e) >= g }, s.$observe("min", function(e) { g = p(e), u.$validate() }) } if ($(s.max) || s.ngMax) { var y; u.$validators.max = function(e) { return !d(e) || m(y) || r(e) <= y }, s.$observe("max", function(e) { y = p(e), u.$validate() }) } } } function Pr(e, t, r, i) { var o = t[0], a = i.$$hasNativeValidators = y(o.validity); a && i.$parsers.push(function(e) { var r = t.prop(zr) || {}; return r.badInput && !r.typeMismatch ? n : e }) } function qr(e, t, r, i, o, a) { if (Pr(e, t, r, i), Or(e, t, r, i, o, a), i.$$parserName = "number", i.$parsers.push(function(e) { return i.$isEmpty(e) ? null : Io.test(e) ? parseFloat(e) : n }), i.$formatters.push(function(e) { if (!i.$isEmpty(e)) { if (!w(e)) throw Wo("numfmt", "Expected `{0}` to be a number", e); e = e.toString() } return e }), r.min || r.ngMin) { var s; i.$validators.min = function(e) { return i.$isEmpty(e) || m(s) || e >= s }, r.$observe("min", function(e) { $(e) && !w(e) && (e = parseFloat(e, 10)), s = w(e) && !isNaN(e) ? e : n, i.$validate() }) } if (r.max || r.ngMax) { var u; i.$validators.max = function(e) { return i.$isEmpty(e) || m(u) || u >= e }, r.$observe("max", function(e) { $(e) && !w(e) && (e = parseFloat(e, 10)), u = w(e) && !isNaN(e) ? e : n, i.$validate() }) } } function Rr(e, t, n, r, i, o) { Or(e, t, n, r, i, o), Nr(r), r.$$parserName = "url", r.$validators.url = function(e, t) { var n = e || t; return r.$isEmpty(n) || qo.test(n) } } function Ir(e, t, n, r, i, o) { Or(e, t, n, r, i, o), Nr(r), r.$$parserName = "email", r.$validators.email = function(e, t) { var n = e || t; return r.$isEmpty(n) || Ro.test(n) } } function Fr(e, t, n, r) { m(n.name) && t.attr("name", c()); var i = function(e) { t[0].checked && r.$setViewValue(n.value, e && e.type) }; t.on("click", i), r.$render = function() { var e = n.value; t[0].checked = e == r.$viewValue }, n.$observe("value", r.$render) } function Hr(e, t, n, i, o) { var a; if ($(i)) { if (a = e(i), !a.constant) throw r("ngModel")("constexpr", "Expected constant expression for `{0}`, but saw `{1}`.", n, i); return a(t) } return o } function Vr(e, t, n, r, i, o, a, s) { var u = Hr(s, e, "ngTrueValue", n.ngTrueValue, !0), c = Hr(s, e, "ngFalseValue", n.ngFalseValue, !1), l = function(e) { r.$setViewValue(t[0].checked, e && e.type) }; t.on("click", l), r.$render = function() { t[0].checked = r.$viewValue }, r.$isEmpty = function(e) { return e === !1 }, r.$formatters.push(function(e) { return I(e, u) }), r.$parsers.push(function(e) { return e ? u : c }) } function _r(e) { function t(e, t, u) { t === n ? r("$pending", e, u) : i("$pending", e, u), D(t) ? t ? (f(s.$error, e, u), l(s.$$success, e, u)) : (l(s.$error, e, u), f(s.$$success, e, u)) : (f(s.$error, e, u), f(s.$$success, e, u)), s.$pending ? (o(ea, !0), s.$valid = s.$invalid = n, a("", null)) : (o(ea, !1), s.$valid = Ur(s.$error), s.$invalid = !s.$valid, a("", s.$valid)); var c; c = s.$pending && s.$pending[e] ? n : s.$error[e] ? !1 : s.$$success[e] ? !0 : null, a(e, c), d.$setValidity(e, c, s) } function r(e, t, n) { s[e] || (s[e] = {}), l(s[e], t, n) } function i(e, t, r) { s[e] && f(s[e], t, r), Ur(s[e]) && (s[e] = n) } function o(e, t) { t && !c[e] ? (p.addClass(u, e), c[e] = !0) : !t && c[e] && (p.removeClass(u, e), c[e] = !1) } function a(e, t) { e = e ? "-" + nt(e, "-") : "", o(Xo + e, t === !0), o(Yo + e, t === !1) } var s = e.ctrl, u = e.$element, c = {}, l = e.set, f = e.unset, d = e.parentForm, p = e.$animate; c[Yo] = !(c[Xo] = u.hasClass(Xo)), s.$setValidity = t } function Ur(e) { if (e) for (var t in e) return !1; return !0 } function Br(e, t) { return e = "ngClass" + e, ["$animate", function(n) { function r(e, t) { var n = []; e: for (var r = 0; r < e.length; r++) { for (var i = e[r], o = 0; o < t.length; o++) if (i == t[o]) continue e; n.push(i) } return n } function i(e) { if (li(e)) return e; if (b(e)) return e.split(" "); if (y(e)) { var t = []; return o(e, function(e, n) { e && (t = t.concat(n.split(" "))) }), t } return e } return { restrict: "AC", link: function(a, s, u) { function c(e) { var t = f(e, 1); u.$addClass(t) } function l(e) { var t = f(e, -1); u.$removeClass(t) } function f(e, t) { var n = s.data("$classCounts") || {}, r = []; return o(e, function(e) { (t > 0 || n[e]) && (n[e] = (n[e] || 0) + t, n[e] === +(t > 0) && r.push(e)) }), s.data("$classCounts", n), r.join(" ") } function d(e, t) { var i = r(t, e), o = r(e, t); i = f(i, 1), o = f(o, -1), i && i.length && n.addClass(s, i), o && o.length && n.removeClass(s, o) } function p(e) { if (t === !0 || a.$index % 2 === t) { var n = i(e || []); if (h) { if (!I(e, h)) { var r = i(h); d(r, n) } } else c(n) } h = R(e) } var h; a.$watch(u[e], p, !0), u.$observe("class", function() { p(a.$eval(u[e])) }), "ngClass" !== e && a.$watch("$index", function(n, r) { var o = 1 & n; if (o !== (1 & r)) { var s = i(a.$eval(u[e])); o === t ? c(s) : l(s) } }) } } }] } var Wr = /^\/(.+)\/([a-z]*)$/, zr = "validity", Gr = function(e) { return b(e) ? e.toLowerCase() : e }, Xr = Object.prototype.hasOwnProperty, Yr = function(e) { return b(e) ? e.toUpperCase() : e }, Jr = function(e) { return b(e) ? e.replace(/[A-Z]/g, function(e) { return String.fromCharCode(32 | e.charCodeAt(0)) }) : e }, Kr = function(e) { return b(e) ? e.replace(/[a-z]/g, function(e) { return String.fromCharCode(-33 & e.charCodeAt(0)) }) : e }; "i" !== "I".toLowerCase() && (Gr = Jr, Yr = Kr); var Zr, Qr, ei, ti, ni = [].slice, ri = [].splice, ii = [].push, oi = Object.prototype.toString, ai = r("ng"), si = e.angular || (e.angular = {}), ui = 0; Zr = t.documentMode, h.$inject = [], v.$inject = []; var ci, li = Array.isArray, fi = function(e) { return b(e) ? e.trim() : e }, di = function(e) { return e.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") }, pi = function() { if ($(pi.isActive_)) return pi.isActive_; var e = !(!t.querySelector("[ng-csp]") && !t.querySelector("[data-ng-csp]")); if (!e) try { new Function("") } catch (n) { e = !0 } return pi.isActive_ = e }, hi = ["ng-", "data-ng-", "ng:", "x-ng-"], vi = /[A-Z]/g, gi = !1, mi = 1, $i = 3, yi = 8, bi = 9, wi = 11, xi = { full: "1.3.8", major: 1, minor: 3, dot: 8, codeName: "prophetic-narwhal" }; bt.expando = "ng339"; var Ci = bt.cache = {}, Si = 1, ki = function(e, t, n) { e.addEventListener(t, n, !1) }, Ti = function(e, t, n) { e.removeEventListener(t, n, !1) }; bt._data = function(e) { return this.cache[e[this.expando]] || {} }; var Ei = /([\:\-\_]+(.))/g, Ai = /^moz([A-Z])/, Ni = { mouseleave: "mouseout", mouseenter: "mouseover" }, Di = r("jqLite"), Oi = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, Mi = /<|&#?\w+;/, ji = /<([\w:]+)/, Li = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Pi = { 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, "", ""] }; Pi.optgroup = Pi.option, Pi.tbody = Pi.tfoot = Pi.colgroup = Pi.caption = Pi.thead, Pi.th = Pi.td; var qi = bt.prototype = { ready: function(n) { function r() { i || (i = !0, n()) } var i = !1; "complete" === t.readyState ? setTimeout(r) : (this.on("DOMContentLoaded", r), bt(e).on("load", r)) }, toString: function() { var e = []; return o(this, function(t) { e.push("" + t) }), "[" + e.join(", ") + "]" }, eq: function(e) { return Qr(e >= 0 ? this[e] : this[this.length + e]) }, length: 0, push: ii, sort: [].sort, splice: [].splice }, Ri = {}; o("multiple,selected,checked,disabled,readOnly,required,open".split(","), function(e) { Ri[Gr(e)] = e }); var Ii = {}; o("input,select,option,textarea,button,form,details".split(","), function(e) { Ii[e] = !0 }); var Fi = { ngMinlength: "minlength", ngMaxlength: "maxlength", ngMin: "min", ngMax: "max", ngPattern: "pattern" }; o({ data: Tt, removeData: St }, function(e, t) { bt[t] = e }), o({ data: Tt, inheritedData: Mt, scope: function(e) { return Qr.data(e, "$scope") || Mt(e.parentNode || e, ["$isolateScope", "$scope"]) }, isolateScope: function(e) { return Qr.data(e, "$isolateScope") || Qr.data(e, "$isolateScopeNoTemplate") }, controller: Ot, injector: function(e) { return Mt(e, "$injector") }, removeAttr: function(e, t) { e.removeAttribute(t) }, hasClass: Et, css: function(e, t, n) { return t = vt(t), $(n) ? void(e.style[t] = n) : e.style[t] }, attr: function(e, t, r) { var i = Gr(t); if (Ri[i]) { if (!$(r)) return e[t] || (e.attributes.getNamedItem(t) || h).specified ? i : n; r ? (e[t] = !0, e.setAttribute(t, i)) : (e[t] = !1, e.removeAttribute(i)) } else if ($(r)) e.setAttribute(t, r); else if (e.getAttribute) { var o = e.getAttribute(t, 2); return null === o ? n : o } }, prop: function(e, t, n) { return $(n) ? void(e[t] = n) : e[t] }, text: function() { function e(e, t) { if (m(t)) { var n = e.nodeType; return n === mi || n === $i ? e.textContent : "" } e.textContent = t } return e.$dv = "", e }(), val: function(e, t) { if (m(t)) { if (e.multiple && "select" === L(e)) { var n = []; return o(e.options, function(e) { e.selected && n.push(e.value || e.text) }), 0 === n.length ? null : n } return e.value } e.value = t }, html: function(e, t) { return m(t) ? e.innerHTML : (xt(e, !0), void(e.innerHTML = t)) }, empty: jt }, function(e, t) { bt.prototype[t] = function(t, r) { var i, o, a = this.length; if (e !== jt && (2 == e.length && e !== Et && e !== Ot ? t : r) === n) { if (y(t)) { for (i = 0; a > i; i++) if (e === Tt) e(this[i], t); else for (o in t) e(this[i], o, t[o]); return this } for (var s = e.$dv, u = s === n ? Math.min(a, 1) : a, c = 0; u > c; c++) { var l = e(this[c], t, r); s = s ? s + l : l } return s } for (i = 0; a > i; i++) e(this[i], t, r); return this } }), o({ removeData: St, on: function Ba(e, t, n, r) { if ($(r)) throw Di("onargs", "jqLite#on() does not support the `selector` or `eventData` parameters"); if (mt(e)) { var i = kt(e, !0), o = i.events, a = i.handle; a || (a = i.handle = It(e, o)); for (var s = t.indexOf(" ") >= 0 ? t.split(" ") : [t], u = s.length; u--;) { t = s[u]; var c = o[t]; c || (o[t] = [], "mouseenter" === t || "mouseleave" === t ? Ba(e, Ni[t], function(e) { var n = this, r = e.relatedTarget; (!r || r !== n && !n.contains(r)) && a(e, t) }) : "$destroy" !== t && ki(e, t, a), c = o[t]), c.push(n) } } }, off: Ct, one: function(e, t, n) { e = Qr(e), e.on(t, function r() { e.off(t, n), e.off(t, r) }), e.on(t, n) }, replaceWith: function(e, t) { var n, r = e.parentNode; xt(e), o(new bt(t), function(t) { n ? r.insertBefore(t, n.nextSibling) : r.replaceChild(t, e), n = t }) }, children: function(e) { var t = []; return o(e.childNodes, function(e) { e.nodeType === mi && t.push(e) }), t }, contents: function(e) { return e.contentDocument || e.childNodes || [] }, append: function(e, t) { var n = e.nodeType; if (n === mi || n === wi) { t = new bt(t); for (var r = 0, i = t.length; i > r; r++) { var o = t[r]; e.appendChild(o) } } }, prepend: function(e, t) { if (e.nodeType === mi) { var n = e.firstChild; o(new bt(t), function(t) { e.insertBefore(t, n) }) } }, wrap: function(e, t) { t = Qr(t).eq(0).clone()[0]; var n = e.parentNode; n && n.replaceChild(t, e), t.appendChild(e) }, remove: Lt, detach: function(e) { Lt(e, !0) }, after: function(e, t) { var n = e, r = e.parentNode; t = new bt(t); for (var i = 0, o = t.length; o > i; i++) { var a = t[i]; r.insertBefore(a, n.nextSibling), n = a } }, addClass: Nt, removeClass: At, toggleClass: function(e, t, n) { t && o(t.split(" "), function(t) { var r = n; m(r) && (r = !Et(e, t)), (r ? Nt : At)(e, t) }) }, parent: function(e) { var t = e.parentNode; return t && t.nodeType !== wi ? t : null }, next: function(e) { return e.nextElementSibling }, find: function(e, t) { return e.getElementsByTagName ? e.getElementsByTagName(t) : [] }, clone: wt, triggerHandler: function(e, t, n) { var r, i, a, s = t.type || t, u = kt(e), c = u && u.events, l = c && c[s]; l && (r = { preventDefault: function() { this.defaultPrevented = !0 }, isDefaultPrevented: function() { return this.defaultPrevented === !0 }, stopImmediatePropagation: function() { this.immediatePropagationStopped = !0 }, isImmediatePropagationStopped: function() { return this.immediatePropagationStopped === !0 }, stopPropagation: h, type: s, target: e }, t.type && (r = f(r, t)), i = R(l), a = n ? [r].concat(n) : [r], o(i, function(t) { r.isImmediatePropagationStopped() || t.apply(e, a) })) } }, function(e, t) { bt.prototype[t] = function(t, n, r) { for (var i, o = 0, a = this.length; a > o; o++) m(i) ? (i = e(this[o], t, n, r), $(i) && (i = Qr(i))) : Dt(i, e(this[o], t, n, r)); return $(i) ? i : this }, bt.prototype.bind = bt.prototype.on, bt.prototype.unbind = bt.prototype.off }), Vt.prototype = { put: function(e, t) { this[Ht(e, this.nextUid)] = t }, get: function(e) { return this[Ht(e, this.nextUid)] }, remove: function(e) { var t = this[e = Ht(e, this.nextUid)]; return delete this[e], t } }; var Hi = /^function\s*[^\(]*\(\s*([^\)]*)\)/m, Vi = /,/, _i = /^\s*(_?)(\S+?)\1\s*$/, Ui = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm, Bi = r("$injector"); Bt.$$annotate = Ut; var Wi = r("$animate"), zi = ["$provide", function(e) { this.$$selectors = {}, this.register = function(t, n) { var r = t + "-animation"; if (t && "." != t.charAt(0)) throw Wi("notcsel", "Expecting class selector starting with '.' got '{0}'.", t); this.$$selectors[t.substr(1)] = r, e.factory(r, n) }, this.classNameFilter = function(e) { return 1 === arguments.length && (this.$$classNameFilter = e instanceof RegExp ? e : null), this.$$classNameFilter }, this.$get = ["$$q", "$$asyncCallback", "$rootScope", function(e, t, n) { function r(t) { var r, i = e.defer(); return i.promise.$$cancelFn = function() { r && r() }, n.$$postDigest(function() { r = t(function() { i.resolve() }) }), i.promise } function i(e, t) { var n = [], r = [], i = ct(); return o((e.attr("class") || "").split(/\s+/), function(e) { i[e] = !0 }), o(t, function(e, t) { var o = i[t]; e === !1 && o ? r.push(t) : e !== !0 || o || n.push(t) }), n.length + r.length > 0 && [n.length ? n : null, r.length ? r : null] } function a(e, t, n) { for (var r = 0, i = t.length; i > r; ++r) { var o = t[r]; e[o] = n } } function s() { return c || (c = e.defer(), t(function() { c.resolve(), c = null })), c.promise } function u(e, t) { if (si.isObject(t)) { var n = f(t.from || {}, t.to || {}); e.css(n) } } var c; return { animate: function(e, t, n) { return u(e, { from: t, to: n }), s() }, enter: function(e, t, n, r) { return u(e, r), n ? n.after(e) : t.prepend(e), s() }, leave: function(e) { return e.remove(), s() }, move: function(e, t, n, r) { return this.enter(e, t, n, r) }, addClass: function(e, t, n) { return this.setClass(e, t, [], n) }, $$addClassImmediately: function(e, t, n) { return e = Qr(e), t = b(t) ? t : li(t) ? t.join(" ") : "", o(e, function(e) { Nt(e, t) }), u(e, n), s() }, removeClass: function(e, t, n) { return this.setClass(e, [], t, n) }, $$removeClassImmediately: function(e, t, n) { return e = Qr(e), t = b(t) ? t : li(t) ? t.join(" ") : "", o(e, function(e) { At(e, t) }), u(e, n), s() }, setClass: function(e, t, n, o) { var s = this, u = "$$animateClasses", c = !1; e = Qr(e); var l = e.data(u); l ? o && l.options && (l.options = si.extend(l.options || {}, o)) : (l = { classes: {}, options: o }, c = !0); var f = l.classes; return t = li(t) ? t : t.split(" "), n = li(n) ? n : n.split(" "), a(f, t, !0), a(f, n, !1), c && (l.promise = r(function(t) { var n = e.data(u); if (e.removeData(u), n) { var r = i(e, n.classes); r && s.$$setClassImmediately(e, r[0], r[1], n.options) } t() }), e.data(u, l)), l.promise }, $$setClassImmediately: function(e, t, n, r) { return t && this.$$addClassImmediately(e, t), n && this.$$removeClassImmediately(e, n), u(e, r), s() }, enabled: h, cancel: h } }] }], Gi = r("$compile"); Kt.$inject = ["$provide", "$$sanitizeUriProvider"]; var Xi = /^((?:x|data)[\:\-_])/i, Yi = "application/json", Ji = { "Content-Type": Yi + ";charset=utf-8" }, Ki = /^\[|^\{(?!\{)/, Zi = { "[": /]$/, "{": /}$/ }, Qi = /^\)\]\}',?\n/, eo = r("$interpolate"), to = /^([^\?#]*)(\?([^#]*))?(#(.*))?$/, no = { http: 80, https: 443, ftp: 21 }, ro = r("$location"), io = { $$html5: !1, $$replace: !1, absUrl: Nn("$$absUrl"), url: function(e) { if (m(e)) return this.$$url; var t = to.exec(e); return (t[1] || "" === e) && this.path(decodeURIComponent(t[1])), (t[2] || t[1] || "" === e) && this.search(t[3] || ""), this.hash(t[5] || ""), this }, protocol: Nn("$$protocol"), host: Nn("$$host"), port: Nn("$$port"), path: Dn("$$path", function(e) { return e = null !== e ? e.toString() : "", "/" == e.charAt(0) ? e : "/" + e }), search: function(e, t) { switch (arguments.length) { case 0: return this.$$search; case 1: if (b(e) || w(e)) e = e.toString(), this.$$search = G(e); else { if (!y(e)) throw ro("isrcharg", "The first argument of the `$location#search()` call must be a string or an object."); e = q(e, {}), o(e, function(t, n) { null == t && delete e[n] }), this.$$search = e } break; default: m(t) || null === t ? delete this.$$search[e] : this.$$search[e] = t } return this.$$compose(), this }, hash: Dn("$$hash", function(e) { return null !== e ? e.toString() : "" }), replace: function() { return this.$$replace = !0, this } }; o([An, En, Tn], function(e) { e.prototype = Object.create(io), e.prototype.state = function(t) { if (!arguments.length) return this.$$state; if (e !== Tn || !this.$$html5) throw ro("nostate", "History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API"); return this.$$state = m(t) ? null : t, this } }); var oo = r("$parse"), ao = Function.prototype.call, so = Function.prototype.apply, uo = Function.prototype.bind, co = ct(); o({ "null": function() { return null }, "true": function() { return !0 }, "false": function() { return !1 }, undefined: function() {} }, function(e, t) { e.constant = e.literal = e.sharedGetter = !0, co[t] = e }), co["this"] = function(e) { return e }, co["this"].sharedGetter = !0; var lo = f(ct(), { "+": function(e, t, r, i) { return r = r(e, t), i = i(e, t), $(r) ? $(i) ? r + i : r : $(i) ? i : n }, "-": function(e, t, n, r) { return n = n(e, t), r = r(e, t), ($(n) ? n : 0) - ($(r) ? r : 0) }, "*": function(e, t, n, r) { return n(e, t) * r(e, t) }, "/": function(e, t, n, r) { return n(e, t) / r(e, t) }, "%": function(e, t, n, r) { return n(e, t) % r(e, t) }, "===": function(e, t, n, r) { return n(e, t) === r(e, t) }, "!==": function(e, t, n, r) { return n(e, t) !== r(e, t) }, "==": function(e, t, n, r) { return n(e, t) == r(e, t) }, "!=": function(e, t, n, r) { return n(e, t) != r(e, t) }, "<": function(e, t, n, r) { return n(e, t) < r(e, t) }, ">": function(e, t, n, r) { return n(e, t) > r(e, t) }, "<=": function(e, t, n, r) { return n(e, t) <= r(e, t) }, ">=": function(e, t, n, r) { return n(e, t) >= r(e, t) }, "&&": function(e, t, n, r) { return n(e, t) && r(e, t) }, "||": function(e, t, n, r) { return n(e, t) || r(e, t) }, "!": function(e, t, n) { return !n(e, t) }, "=": !0, "|": !0 }), fo = { n: "\n", f: "\f", r: "\r", t: " ", v: "", "'": "'", '"': '"' }, po = function(e) { this.options = e }; po.prototype = { constructor: po, lex: function(e) { for (this.text = e, this.index = 0, this.tokens = []; this.index < this.text.length;) { var t = this.text.charAt(this.index); if ('"' === t || "'" === t) this.readString(t); else if (this.isNumber(t) || "." === t && this.isNumber(this.peek())) this.readNumber(); else if (this.isIdent(t)) this.readIdent(); else if (this.is(t, "(){}[].,;:?")) this.tokens.push({ index: this.index, text: t }), this.index++; else if (this.isWhitespace(t)) this.index++; else { var n = t + this.peek(), r = n + this.peek(2), i = lo[t], o = lo[n], a = lo[r]; if (i || o || a) { var s = a ? r : o ? n : t; this.tokens.push({ index: this.index, text: s, operator: !0 }), this.index += s.length } else this.throwError("Unexpected next character ", this.index, this.index + 1) } } return this.tokens }, is: function(e, t) { return -1 !== t.indexOf(e) }, peek: function(e) { var t = e || 1; return this.index + t < this.text.length ? this.text.charAt(this.index + t) : !1 }, isNumber: function(e) { return e >= "0" && "9" >= e && "string" == typeof e }, isWhitespace: function(e) { return " " === e || "\r" === e || " " === e || "\n" === e || "" === e || " " === e }, isIdent: function(e) { return e >= "a" && "z" >= e || e >= "A" && "Z" >= e || "_" === e || "$" === e }, isExpOperator: function(e) { return "-" === e || "+" === e || this.isNumber(e) }, throwError: function(e, t, n) { n = n || this.index; var r = $(t) ? "s " + t + "-" + this.index + " [" + this.text.substring(t, n) + "]" : " " + n; throw oo("lexerr", "Lexer Error: {0} at column{1} in expression [{2}].", e, r, this.text) }, readNumber: function() { for (var e = "", t = this.index; this.index < this.text.length;) { var n = Gr(this.text.charAt(this.index)); if ("." == n || this.isNumber(n)) e += n; else { var r = this.peek(); if ("e" == n && this.isExpOperator(r)) e += n; else if (this.isExpOperator(n) && r && this.isNumber(r) && "e" == e.charAt(e.length - 1)) e += n; else { if (!this.isExpOperator(n) || r && this.isNumber(r) || "e" != e.charAt(e.length - 1)) break; this.throwError("Invalid exponent") } } this.index++ } this.tokens.push({ index: t, text: e, constant: !0, value: Number(e) }) }, readIdent: function() { for (var e = this.index; this.index < this.text.length;) { var t = this.text.charAt(this.index); if (!this.isIdent(t) && !this.isNumber(t)) break; this.index++ } this.tokens.push({ index: e, text: this.text.slice(e, this.index), identifier: !0 }) }, readString: function(e) { var t = this.index; this.index++; for (var n = "", r = e, i = !1; this.index < this.text.length;) { var o = this.text.charAt(this.index); if (r += o, i) { if ("u" === o) { var a = this.text.substring(this.index + 1, this.index + 5); a.match(/[\da-f]{4}/i) || this.throwError("Invalid unicode escape [\\u" + a + "]"), this.index += 4, n += String.fromCharCode(parseInt(a, 16)) } else { var s = fo[o]; n += s || o } i = !1 } else if ("\\" === o) i = !0; else { if (o === e) return this.index++, void this.tokens.push({ index: t, text: r, constant: !0, value: n }); n += o } this.index++ } this.throwError("Unterminated quote", t) } }; var ho = function(e, t, n) { this.lexer = e, this.$filter = t, this.options = n }; ho.ZERO = f(function() { return 0 }, { sharedGetter: !0, constant: !0 }), ho.prototype = { constructor: ho, parse: function(e) { this.text = e, this.tokens = this.lexer.lex(e); var t = this.statements(); return 0 !== this.tokens.length && this.throwError("is an unexpected token", this.tokens[0]), t.literal = !!t.literal, t.constant = !!t.constant, t }, primary: function() { var e; this.expect("(") ? (e = this.filterChain(), this.consume(")")) : this.expect("[") ? e = this.arrayDeclaration() : this.expect("{") ? e = this.object() : this.peek().identifier && this.peek().text in co ? e = co[this.consume().text] : this.peek().identifier ? e = this.identifier() : this.peek().constant ? e = this.constant() : this.throwError("not a primary expression", this.peek()); for (var t, n; t = this.expect("(", "[", ".");) "(" === t.text ? (e = this.functionCall(e, n), n = null) : "[" === t.text ? (n = e, e = this.objectIndex(e)) : "." === t.text ? (n = e, e = this.fieldAccess(e)) : this.throwError("IMPOSSIBLE"); return e }, throwError: function(e, t) { throw oo("syntax", "Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].", t.text, e, t.index + 1, this.text, this.text.substring(t.index)) }, peekToken: function() { if (0 === this.tokens.length) throw oo("ueoe", "Unexpected end of expression: {0}", this.text); return this.tokens[0] }, peek: function(e, t, n, r) { return this.peekAhead(0, e, t, n, r) }, peekAhead: function(e, t, n, r, i) { if (this.tokens.length > e) { var o = this.tokens[e], a = o.text; if (a === t || a === n || a === r || a === i || !t && !n && !r && !i) return o } return !1 }, expect: function(e, t, n, r) { var i = this.peek(e, t, n, r); return i ? (this.tokens.shift(), i) : !1 }, consume: function(e) { if (0 === this.tokens.length) throw oo("ueoe", "Unexpected end of expression: {0}", this.text); var t = this.expect(e); return t || this.throwError("is unexpected, expecting [" + e + "]", this.peek()), t }, unaryFn: function(e, t) { var n = lo[e]; return f(function(e, r) { return n(e, r, t) }, { constant: t.constant, inputs: [t] }) }, binaryFn: function(e, t, n, r) { var i = lo[t]; return f(function(t, r) { return i(t, r, e, n) }, { constant: e.constant && n.constant, inputs: !r && [e, n] }) }, identifier: function() { for (var e = this.consume().text; this.peek(".") && this.peekAhead(1).identifier && !this.peekAhead(2, "(");) e += this.consume().text + this.consume().text; return Vn(e, this.options, this.text) }, constant: function() { var e = this.consume().value; return f(function() { return e }, { constant: !0, literal: !0 }) }, statements: function() { for (var e = [];;) if (this.tokens.length > 0 && !this.peek("}", ")", ";", "]") && e.push(this.filterChain()), !this.expect(";")) return 1 === e.length ? e[0] : function(t, n) { for (var r, i = 0, o = e.length; o > i; i++) r = e[i](t, n); return r } }, filterChain: function() { for (var e, t = this.expression(); e = this.expect("|");) t = this.filter(t); return t }, filter: function(e) { var t, r, i = this.$filter(this.consume().text); if (this.peek(":")) for (t = [], r = []; this.expect(":");) t.push(this.expression()); var o = [e].concat(t || []); return f(function(o, a) { var s = e(o, a); if (r) { r[0] = s; for (var u = t.length; u--;) r[u + 1] = t[u](o, a); return i.apply(n, r) } return i(s) }, { constant: !i.$stateful && o.every(qn), inputs: !i.$stateful && o }) }, expression: function() { return this.assignment() }, assignment: function() { var e, t, n = this.ternary(); return (t = this.expect("=")) ? (n.assign || this.throwError("implies assignment but [" + this.text.substring(0, t.index) + "] can not be assigned to", t), e = this.ternary(), f(function(t, r) { return n.assign(t, e(t, r), r) }, { inputs: [n, e] })) : n }, ternary: function() { var e, t, n = this.logicalOR(); if ((t = this.expect("?")) && (e = this.assignment(), this.consume(":"))) { var r = this.assignment(); return f(function(t, i) { return n(t, i) ? e(t, i) : r(t, i) }, { constant: n.constant && e.constant && r.constant }) } return n }, logicalOR: function() { for (var e, t = this.logicalAND(); e = this.expect("||");) t = this.binaryFn(t, e.text, this.logicalAND(), !0); return t }, logicalAND: function() { for (var e, t = this.equality(); e = this.expect("&&");) t = this.binaryFn(t, e.text, this.equality(), !0); return t }, equality: function() { for (var e, t = this.relational(); e = this.expect("==", "!=", "===", "!==");) t = this.binaryFn(t, e.text, this.relational()); return t }, relational: function() { for (var e, t = this.additive(); e = this.expect("<", ">", "<=", ">=");) t = this.binaryFn(t, e.text, this.additive()); return t }, additive: function() { for (var e, t = this.multiplicative(); e = this.expect("+", "-");) t = this.binaryFn(t, e.text, this.multiplicative()); return t }, multiplicative: function() { for (var e, t = this.unary(); e = this.expect("*", "/", "%");) t = this.binaryFn(t, e.text, this.unary()); return t }, unary: function() { var e; return this.expect("+") ? this.primary() : (e = this.expect("-")) ? this.binaryFn(ho.ZERO, e.text, this.unary()) : (e = this.expect("!")) ? this.unaryFn(e.text, this.unary()) : this.primary() }, fieldAccess: function(e) { var t = this.identifier(); return f(function(r, i, o) { var a = o || e(r, i); return null == a ? n : t(a) }, { assign: function(n, r, i) { var o = e(n, i); return o || e.assign(n, o = {}), t.assign(o, r) } }) }, objectIndex: function(e) { var t = this.text, r = this.expression(); return this.consume("]"), f(function(i, o) { var a, s = e(i, o), u = r(i, o); return jn(u, t), s ? a = Ln(s[u], t) : n }, { assign: function(n, i, o) { var a = jn(r(n, o), t), s = Ln(e(n, o), t); return s || e.assign(n, s = {}), s[a] = i } }) }, functionCall: function(e, t) { var r = []; if (")" !== this.peekToken().text) do r.push(this.expression()); while (this.expect(",")); this.consume(")"); var i = this.text, o = r.length ? [] : null; return function(a, s) { var u = t ? t(a, s) : $(t) ? n : a, c = e(a, s, u) || h; if (o) for (var l = r.length; l--;) o[l] = Ln(r[l](a, s), i); Ln(u, i), Pn(c, i); var f = c.apply ? c.apply(u, o) : c(o[0], o[1], o[2], o[3], o[4]); return Ln(f, i) } }, arrayDeclaration: function() { var e = []; if ("]" !== this.peekToken().text) do { if (this.peek("]")) break; e.push(this.expression()) } while (this.expect(",")); return this.consume("]"), f(function(t, n) { for (var r = [], i = 0, o = e.length; o > i; i++) r.push(e[i](t, n)); return r }, { literal: !0, constant: e.every(qn), inputs: e }) }, object: function() { var e = [], t = []; if ("}" !== this.peekToken().text) do { if (this.peek("}")) break; var n = this.consume(); n.constant ? e.push(n.value) : n.identifier ? e.push(n.text) : this.throwError("invalid key", n), this.consume(":"), t.push(this.expression()) } while (this.expect(",")); return this.consume("}"), f(function(n, r) { for (var i = {}, o = 0, a = t.length; a > o; o++) i[e[o]] = t[o](n, r); return i }, { literal: !0, constant: t.every(qn), inputs: t }) } }; var vo = ct(), go = ct(), mo = Object.prototype.valueOf, $o = r("$sce"), yo = { HTML: "html", CSS: "css", URL: "url", RESOURCE_URL: "resourceUrl", JS: "js" }, Gi = r("$compile"), bo = t.createElement("a"), wo = ir(e.location.href); sr.$inject = ["$provide"], fr.$inject = ["$locale"], dr.$inject = ["$locale"]; var xo = ".", Co = { yyyy: vr("FullYear", 4), yy: vr("FullYear", 2, 0, !0), y: vr("FullYear", 1), MMMM: gr("Month"), MMM: gr("Month", !0), MM: vr("Month", 2, 1), M: vr("Month", 1, 1), dd: vr("Date", 2), d: vr("Date", 1), HH: vr("Hours", 2), H: vr("Hours", 1), hh: vr("Hours", 2, -12), h: vr("Hours", 1, -12), mm: vr("Minutes", 2), m: vr("Minutes", 1), ss: vr("Seconds", 2), s: vr("Seconds", 1), sss: vr("Milliseconds", 3), EEEE: gr("Day"), EEE: gr("Day", !0), a: wr, Z: mr, ww: br(2), w: br(1) }, So = /((?:[^yMdHhmsaZEw']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z|w+))(.*)/, ko = /^\-?\d+$/; xr.$inject = ["$locale"]; var To = g(Gr), Eo = g(Yr); kr.$inject = ["$parse"]; var Ao = g({ restrict: "E", compile: function(e, t) { return t.href || t.xlinkHref || t.name ? void 0 : function(e, t) { var n = "[object SVGAnimatedString]" === oi.call(t.prop("href")) ? "xlink:href" : "href"; t.on("click", function(e) { t.attr(n) || e.preventDefault() }) } } }), No = {}; o(Ri, function(e, t) { if ("multiple" != e) { var n = Zt("ng-" + t); No[n] = function() { return { restrict: "A", priority: 100, link: function(e, r, i) { e.$watch(i[n], function(e) { i.$set(t, !!e) }) } } } } }), o(Fi, function(e, t) { No[t] = function() { return { priority: 100, link: function(e, n, r) { if ("ngPattern" === t && "/" == r.ngPattern.charAt(0)) { var i = r.ngPattern.match(Wr); if (i) return void r.$set("ngPattern", new RegExp(i[1], i[2])) } e.$watch(r[t], function(e) { r.$set(t, e) }) } } } }), o(["src", "srcset", "href"], function(e) { var t = Zt("ng-" + e); No[t] = function() { return { priority: 99, link: function(n, r, i) { var o = e, a = e; "href" === e && "[object SVGAnimatedString]" === oi.call(r.prop("href")) && (a = "xlinkHref", i.$attr[a] = "xlink:href", o = null), i.$observe(t, function(t) { return t ? (i.$set(a, t), void(Zr && o && r.prop(o, i[a]))) : void("href" === e && i.$set(a, null)) }) } } } }); var Do = { $addControl: h, $$renameControl: Er, $removeControl: h, $setValidity: h, $setDirty: h, $setPristine: h, $setSubmitted: h }, Oo = "ng-submitted"; Ar.$inject = ["$element", "$attrs", "$scope", "$animate", "$interpolate"]; var Mo = function(e) { return ["$timeout", function(t) { var r = { name: "form", restrict: e ? "EAC" : "E", controller: Ar, compile: function(e) { return e.addClass(Jo).addClass(Xo), { pre: function(e, r, i, o) { if (!("action" in i)) { var a = function(t) { e.$apply(function() { o.$commitViewValue(), o.$setSubmitted() }), t.preventDefault() }; ki(r[0], "submit", a), r.on("$destroy", function() { t(function() { Ti(r[0], "submit", a) }, 0, !1) }) } var s = o.$$parentForm, u = o.$name; u && (Rn(e, u, o, u), i.$observe(i.name ? "name" : "ngForm", function(t) { u !== t && (Rn(e, u, n, u), u = t, Rn(e, u, o, u), s.$$renameControl(o, u)) })), r.on("$destroy", function() { s.$removeControl(o), u && Rn(e, u, n, u), f(o, Do) }) } } } }; return r }] }, jo = Mo(), Lo = Mo(!0), Po = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/, qo = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/, Ro = /^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i, Io = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/, Fo = /^(\d{4})-(\d{2})-(\d{2})$/, Ho = /^(\d{4})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Vo = /^(\d{4})-W(\d\d)$/, _o = /^(\d{4})-(\d\d)$/, Uo = /^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/, Bo = /(\s+|^)default(\s+|$)/, Wo = new r("ngModel"), zo = { text: Dr, date: Lr("date", Fo, jr(Fo, ["yyyy", "MM", "dd"]), "yyyy-MM-dd"), "datetime-local": Lr("datetimelocal", Ho, jr(Ho, ["yyyy", "MM", "dd", "HH", "mm", "ss", "sss"]), "yyyy-MM-ddTHH:mm:ss.sss"), time: Lr("time", Uo, jr(Uo, ["HH", "mm", "ss", "sss"]), "HH:mm:ss.sss"), week: Lr("week", Vo, Mr, "yyyy-Www"), month: Lr("month", _o, jr(_o, ["yyyy", "MM"]), "yyyy-MM"), number: qr, url: Rr, email: Ir, radio: Fr, checkbox: Vr, hidden: h, button: h, submit: h, reset: h, file: h }, Go = ["$browser", "$sniffer", "$filter", "$parse", function(e, t, n, r) { return { restrict: "E", require: ["?ngModel"], link: { pre: function(i, o, a, s) { s[0] && (zo[Gr(a.type)] || zo.text)(i, o, a, s[0], t, e, n, r) } } } }], Xo = "ng-valid", Yo = "ng-invalid", Jo = "ng-pristine", Ko = "ng-dirty", Zo = "ng-untouched", Qo = "ng-touched", ea = "ng-pending", ta = ["$scope", "$exceptionHandler", "$attrs", "$element", "$parse", "$animate", "$timeout", "$rootScope", "$q", "$interpolate", function(e, t, r, i, a, s, u, c, l, f) { this.$viewValue = Number.NaN, this.$modelValue = Number.NaN, this.$$rawModelValue = n, 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 = n, this.$name = f(r.name || "", !1)(e); var d = a(r.ngModel), p = d.assign, v = d, g = p, y = null, b = this; this.$$setOptions = function(e) { if (b.$options = e, e && e.getterSetter) { var t = a(r.ngModel + "()"), n = a(r.ngModel + "($$$p)"); v = function(e) { var n = d(e); return C(n) && (n = t(e)), n }, g = function(e) { C(d(e)) ? n(e, { $$$p: b.$modelValue }) : p(e, b.$modelValue) } } else if (!d.assign) throw Wo("nonassign", "Expression '{0}' is non-assignable. Element: {1}", r.ngModel, W(i)) }, this.$render = h, this.$isEmpty = function(e) { return m(e) || "" === e || null === e || e !== e }; var x = i.inheritedData("$formController") || Do, S = 0; _r({ ctrl: this, $element: i, set: function(e, t) { e[t] = !0 }, unset: function(e, t) { delete e[t] }, parentForm: x, $animate: s }), this.$setPristine = function() { b.$dirty = !1, b.$pristine = !0, s.removeClass(i, Ko), s.addClass(i, Jo) }, this.$setDirty = function() { b.$dirty = !0, b.$pristine = !1, s.removeClass(i, Jo), s.addClass(i, Ko), x.$setDirty() }, this.$setUntouched = function() { b.$touched = !1, b.$untouched = !0, s.setClass(i, Zo, Qo) }, this.$setTouched = function() { b.$touched = !0, b.$untouched = !1, s.setClass(i, Qo, Zo) }, this.$rollbackViewValue = function() { u.cancel(y), b.$viewValue = b.$$lastCommittedViewValue, b.$render() }, this.$validate = function() { if (!w(b.$modelValue) || !isNaN(b.$modelValue)) { var e = b.$$lastCommittedViewValue, t = b.$$rawModelValue, r = b.$$parserName || "parse", i = b.$error[r] ? !1 : n, o = b.$valid, a = b.$modelValue, s = b.$options && b.$options.allowInvalid; b.$$runValidators(i, t, e, function(e) { s || o === e || (b.$modelValue = e ? t : n, b.$modelValue !== a && b.$$writeModelToScope()) }) } }, this.$$runValidators = function(e, t, r, i) { function a(e) { var t = b.$$parserName || "parse"; if (e === n) c(t, null); else if (c(t, e), !e) return o(b.$validators, function(e, t) { c(t, null) }), o(b.$asyncValidators, function(e, t) { c(t, null) }), !1; return !0 } function s() { var e = !0; return o(b.$validators, function(n, i) { var o = n(t, r); e = e && o, c(i, o) }), e ? !0 : (o(b.$asyncValidators, function(e, t) { c(t, null) }), !1) } function u() { var e = [], i = !0; o(b.$asyncValidators, function(o, a) { var s = o(t, r); if (!O(s)) throw Wo("$asyncValidators", "Expected asynchronous validator to return a promise but got '{0}' instead.", s); c(a, n), e.push(s.then(function() { c(a, !0) }, function() { i = !1, c(a, !1) })) }), e.length ? l.all(e).then(function() { f(i) }, h) : f(!0) } function c(e, t) { d === S && b.$setValidity(e, t) } function f(e) { d === S && i(e) } S++; var d = S; return a(e) && s() ? void u() : void f(!1) }, this.$commitViewValue = function() { var e = b.$viewValue; u.cancel(y), (b.$$lastCommittedViewValue !== e || "" === e && b.$$hasNativeValidators) && (b.$$lastCommittedViewValue = e, b.$pristine && this.$setDirty(), this.$$parseAndValidate()) }, this.$$parseAndValidate = function() { function t() { b.$modelValue !== s && b.$$writeModelToScope() } var r = b.$$lastCommittedViewValue, i = r, o = m(i) ? n : !0; if (o) for (var a = 0; a < b.$parsers.length; a++) if (i = b.$parsers[a](i), m(i)) { o = !1; break } w(b.$modelValue) && isNaN(b.$modelValue) && (b.$modelValue = v(e)); var s = b.$modelValue, u = b.$options && b.$options.allowInvalid; b.$$rawModelValue = i, u && (b.$modelValue = i, t()), b.$$runValidators(o, i, b.$$lastCommittedViewValue, function(e) { u || (b.$modelValue = e ? i : n, t()) }) }, this.$$writeModelToScope = function() { g(e, b.$modelValue), o(b.$viewChangeListeners, function(e) { try { e() } catch (n) { t(n) } }) }, this.$setViewValue = function(e, t) { b.$viewValue = e, (!b.$options || b.$options.updateOnDefault) && b.$$debounceViewValueCommit(t) }, this.$$debounceViewValueCommit = function(t) { var n, r = 0, i = b.$options; i && $(i.debounce) && (n = i.debounce, w(n) ? r = n : w(n[t]) ? r = n[t] : w(n["default"]) && (r = n["default"])), u.cancel(y), r ? y = u(function() { b.$commitViewValue() }, r) : c.$$phase ? b.$commitViewValue() : e.$apply(function() { b.$commitViewValue() }) }, e.$watch(function() { var t = v(e); if (t !== b.$modelValue) { b.$modelValue = b.$$rawModelValue = t; for (var r = b.$formatters, i = r.length, o = t; i--;) o = r[i](o); b.$viewValue !== o && (b.$viewValue = b.$$lastCommittedViewValue = o, b.$render(), b.$$runValidators(n, t, o, h)) } return t }) }], na = ["$rootScope", function(e) { return { restrict: "A", require: ["ngModel", "^?form", "^?ngModelOptions"], controller: ta, priority: 1, compile: function(t) { return t.addClass(Jo).addClass(Zo).addClass(Xo), { pre: function(e, t, n, r) { var i = r[0], o = r[1] || Do; i.$$setOptions(r[2] && r[2].$options), o.$addControl(i), n.$observe("name", function(e) { i.$name !== e && o.$$renameControl(i, e) }), e.$on("$destroy", function() { o.$removeControl(i) }) }, post: function(t, n, r, i) { var o = i[0]; o.$options && o.$options.updateOn && n.on(o.$options.updateOn, function(e) { o.$$debounceViewValueCommit(e && e.type) }), n.on("blur", function() { o.$touched || (e.$$phase ? t.$evalAsync(o.$setTouched) : t.$apply(o.$setTouched)) }) } } } } }], ra = g({ restrict: "A", require: "ngModel", link: function(e, t, n, r) { r.$viewChangeListeners.push(function() { e.$eval(n.ngChange) }) } }), ia = function() { return { restrict: "A", require: "?ngModel", link: function(e, t, n, r) { r && (n.required = !0, r.$validators.required = function(e, t) { return !n.required || !r.$isEmpty(t) }, n.$observe("required", function() { r.$validate() })) } } }, oa = function() { return { restrict: "A", require: "?ngModel", link: function(e, t, i, o) { if (o) { var a, s = i.ngPattern || i.pattern; i.$observe("pattern", function(e) { if (b(e) && e.length > 0 && (e = new RegExp("^" + e + "$")), e && !e.test) throw r("ngPattern")("noregexp", "Expected {0} to be a RegExp but was {1}. Element: {2}", s, e, W(t)); a = e || n, o.$validate() }), o.$validators.pattern = function(e) { return o.$isEmpty(e) || m(a) || a.test(e) } } } } }, aa = function() { return { restrict: "A", require: "?ngModel", link: function(e, t, n, r) { if (r) { var i = -1; n.$observe("maxlength", function(e) { var t = d(e); i = isNaN(t) ? -1 : t, r.$validate() }), r.$validators.maxlength = function(e, t) { return 0 > i || r.$isEmpty(e) || t.length <= i } } } } }, sa = function() { return { restrict: "A", require: "?ngModel", link: function(e, t, n, r) { if (r) { var i = 0; n.$observe("minlength", function(e) { i = d(e) || 0, r.$validate() }), r.$validators.minlength = function(e, t) { return r.$isEmpty(t) || t.length >= i } } } } }, ua = function() { return { restrict: "A", priority: 100, require: "ngModel", link: function(e, t, r, i) { var a = t.attr(r.$attr.ngList) || ", ", s = "false" !== r.ngTrim, u = s ? fi(a) : a, c = function(e) { if (!m(e)) { var t = []; return e && o(e.split(u), function(e) { e && t.push(s ? fi(e) : e) }), t } }; i.$parsers.push(c), i.$formatters.push(function(e) { return li(e) ? e.join(a) : n }), i.$isEmpty = function(e) { return !e || !e.length } } } }, ca = /^(true|false|\d+)$/, la = function() { return { restrict: "A", priority: 100, compile: function(e, t) { return ca.test(t.ngValue) ? function(e, t, n) { n.$set("value", e.$eval(n.ngValue)) } : function(e, t, n) { e.$watch(n.ngValue, function(e) { n.$set("value", e) }) } } } }, fa = function() { return { restrict: "A", controller: ["$scope", "$attrs", function(e, t) { var r = this; this.$options = e.$eval(t.ngModelOptions), this.$options.updateOn !== n ? (this.$options.updateOnDefault = !1, this.$options.updateOn = fi(this.$options.updateOn.replace(Bo, function() { return r.$options.updateOnDefault = !0, " " }))) : this.$options.updateOnDefault = !0 }] } }, da = ["$compile", function(e) { return { restrict: "AC", compile: function(t) { return e.$$addBindingClass(t), function(t, r, i) { e.$$addBindingInfo(r, i.ngBind), r = r[0], t.$watch(i.ngBind, function(e) { r.textContent = e === n ? "" : e }) } } } }], pa = ["$interpolate", "$compile", function(e, t) { return { compile: function(r) { return t.$$addBindingClass(r), function(r, i, o) { var a = e(i.attr(o.$attr.ngBindTemplate)); t.$$addBindingInfo(i, a.expressions), i = i[0], o.$observe("ngBindTemplate", function(e) { i.textContent = e === n ? "" : e }) } } } }], ha = ["$sce", "$parse", "$compile", function(e, t, n) { return { restrict: "A", compile: function(r, i) { var o = t(i.ngBindHtml), a = t(i.ngBindHtml, function(e) { return (e || "").toString() }); return n.$$addBindingClass(r), function(t, r, i) { n.$$addBindingInfo(r, i.ngBindHtml), t.$watch(a, function() { r.html(e.getTrustedHtml(o(t)) || "") }) } } } }], va = Br("", !0), ga = Br("Odd", 0), ma = Br("Even", 1), $a = Tr({ compile: function(e, t) { t.$set("ngCloak", n), e.removeClass("ng-cloak") } }), ya = [function() { return { restrict: "A", scope: !0, controller: "@", priority: 500 } }], ba = {}, wa = { blur: !0, focus: !0 }; o("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "), function(e) { var t = Zt("ng-" + e); ba[t] = ["$parse", "$rootScope", function(n, r) { return { restrict: "A", compile: function(i, o) { var a = n(o[t], null, !0); return function(t, n) { n.on(e, function(n) { var i = function() { a(t, { $event: n }) }; wa[e] && r.$$phase ? t.$evalAsync(i) : t.$apply(i) }) } } } }] }); var xa = ["$animate", function(e) { return { multiElement: !0, transclude: "element", priority: 600, terminal: !0, restrict: "A", $$tlb: !0, link: function(n, r, i, o, a) { var s, u, c; n.$watch(i.ngIf, function(n) { n ? u || a(function(n, o) { u = o, n[n.length++] = t.createComment(" end ngIf: " + i.ngIf + " "), s = { clone: n }, e.enter(n, r.parent(), r) }) : (c && (c.remove(), c = null), u && (u.$destroy(), u = null), s && (c = ut(s.clone), e.leave(c).then(function() { c = null }), s = null)) }) } } }], Ca = ["$templateRequest", "$anchorScroll", "$animate", "$sce", function(e, t, n, r) { return { restrict: "ECA", priority: 400, terminal: !0, transclude: "element", controller: si.noop, compile: function(i, o) { var a = o.ngInclude || o.src, s = o.onload || "", u = o.autoscroll; return function(i, o, c, l, f) { var d, p, h, v = 0, g = function() { p && (p.remove(), p = null), d && (d.$destroy(), d = null), h && (n.leave(h).then(function() { p = null }), p = h, h = null) }; i.$watch(r.parseAsResourceUrl(a), function(r) { var a = function() { !$(u) || u && !i.$eval(u) || t() }, c = ++v; r ? (e(r, !0).then(function(e) { if (c === v) { var t = i.$new(); l.template = e; var u = f(t, function(e) { g(), n.enter(e, null, o).then(a) }); d = t, h = u, d.$emit("$includeContentLoaded", r), i.$eval(s) } }, function() { c === v && (g(), i.$emit("$includeContentError", r)) }), i.$emit("$includeContentRequested", r)) : (g(), l.template = null) }) } } } }], Sa = ["$compile", function(e) { return { restrict: "ECA", priority: -400, require: "ngInclude", link: function(n, r, i, o) { return /SVG/.test(r[0].toString()) ? (r.empty(), void e($t(o.template, t).childNodes)(n, function(e) { r.append(e) }, { futureParentElement: r })) : (r.html(o.template), void e(r.contents())(n)) } } }], ka = Tr({ priority: 450, compile: function() { return { pre: function(e, t, n) { e.$eval(n.ngInit) } } } }), Ta = Tr({ terminal: !0, priority: 1e3 }), Ea = ["$locale", "$interpolate", function(e, t) { var n = /{}/g, r = /^when(Minus)?(.+)$/; return { restrict: "EA", link: function(i, a, s) { function u(e) { a.text(e || "") } var c, l = s.count, f = s.$attr.when && a.attr(s.$attr.when), d = s.offset || 0, p = i.$eval(f) || {}, h = {}, v = t.startSymbol(), g = t.endSymbol(), m = v + l + "-" + d + g, $ = si.noop; o(s, function(e, t) { var n = r.exec(t); if (n) { var i = (n[1] ? "-" : "") + Gr(n[2]); p[i] = a.attr(s.$attr[t]) } }), o(p, function(e, r) { h[r] = t(e.replace(n, m)) }), i.$watch(l, function(t) { var n = parseFloat(t), r = isNaN(n); r || n in p || (n = e.pluralCat(n - d)), n === c || r && isNaN(c) || ($(), $ = i.$watch(h[n], u), c = n) }) } } }], Aa = ["$parse", "$animate", function(e, a) { var s = "$$NG_REMOVED", u = r("ngRepeat"), c = function(e, t, n, r, i, o, a) { e[n] = r, i && (e[i] = o), e.$index = t, e.$first = 0 === t, e.$last = t === a - 1, e.$middle = !(e.$first || e.$last), e.$odd = !(e.$even = 0 === (1 & t)) }, l = function(e) { return e.clone[0] }, f = function(e) { return e.clone[e.clone.length - 1] }; return { restrict: "A", multiElement: !0, transclude: "element", priority: 1e3, terminal: !0, $$tlb: !0, compile: function(r, d) { var p = d.ngRepeat, h = t.createComment(" end ngRepeat: " + p + " "), v = p.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/); if (!v) throw u("iexp", "Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.", p); var g = v[1], m = v[2], $ = v[3], y = v[4]; if (v = g.match(/^(?:(\s*[\$\w]+)|\(\s*([\$\w]+)\s*,\s*([\$\w]+)\s*\))$/), !v) throw u("iidexp", "'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.", g); var b = v[3] || v[1], w = v[2]; if ($ && (!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test($) || /^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent)$/.test($))) throw u("badident", "alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.", $); var x, C, S, k, T = { $id: Ht }; return y ? x = e(y) : (S = function(e, t) { return Ht(t) }, k = function(e) { return e }), function(e, t, r, d, v) { x && (C = function(t, n, r) { return w && (T[w] = t), T[b] = n, T.$index = r, x(e, T) }); var g = ct(); e.$watchCollection(m, function(r) { var d, m, y, x, T, E, A, N, D, O, M, j, L = t[0], P = ct(); if ($ && (e[$] = r), i(r)) D = r, N = C || S; else { N = C || k, D = []; for (var q in r) r.hasOwnProperty(q) && "$" != q.charAt(0) && D.push(q); D.sort() } for (x = D.length, M = new Array(x), d = 0; x > d; d++) if (T = r === D ? d : D[d], E = r[T], A = N(T, E, d), g[A]) O = g[A], delete g[A], P[A] = O, M[d] = O; else { if (P[A]) throw o(M, function(e) { e && e.scope && (g[e.id] = e) }), u("dupes", "Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}", p, A, E); M[d] = { id: A, scope: n, clone: n }, P[A] = !0 } for (var R in g) { if (O = g[R], j = ut(O.clone), a.leave(j), j[0].parentNode) for (d = 0, m = j.length; m > d; d++) j[d][s] = !0; O.scope.$destroy() } for (d = 0; x > d; d++) if (T = r === D ? d : D[d], E = r[T], O = M[d], O.scope) { y = L; do y = y.nextSibling; while (y && y[s]); l(O) != y && a.move(ut(O.clone), null, Qr(L)), L = f(O), c(O.scope, d, b, E, w, T, x) } else v(function(e, t) { O.scope = t; var n = h.cloneNode(!1); e[e.length++] = n, a.enter(e, null, Qr(L)), L = n, O.clone = e, P[O.id] = O, c(O.scope, d, b, E, w, T, x) }); g = P }) } } } }], Na = "ng-hide", Da = "ng-hide-animate", Oa = ["$animate", function(e) { return { restrict: "A", multiElement: !0, link: function(t, n, r) { t.$watch(r.ngShow, function(t) { e[t ? "removeClass" : "addClass"](n, Na, { tempClasses: Da }) }) } } }], Ma = ["$animate", function(e) { return { restrict: "A", multiElement: !0, link: function(t, n, r) { t.$watch(r.ngHide, function(t) { e[t ? "addClass" : "removeClass"](n, Na, { tempClasses: Da }) }) } } }], ja = Tr(function(e, t, n) { e.$watch(n.ngStyle, function(e, n) { n && e !== n && o(n, function(e, n) { t.css(n, "") }), e && t.css(e) }, !0) }), La = ["$animate", function(e) { return { restrict: "EA", require: "ngSwitch", controller: ["$scope", function() { this.cases = {} }], link: function(n, r, i, a) { var s = i.ngSwitch || i.on, u = [], c = [], l = [], f = [], d = function(e, t) { return function() { e.splice(t, 1) } }; n.$watch(s, function(n) { var r, i; for (r = 0, i = l.length; i > r; ++r) e.cancel(l[r]); for (l.length = 0, r = 0, i = f.length; i > r; ++r) { var s = ut(c[r].clone); f[r].$destroy(); var p = l[r] = e.leave(s); p.then(d(l, r)) } c.length = 0, f.length = 0, (u = a.cases["!" + n] || a.cases["?"]) && o(u, function(n) { n.transclude(function(r, i) { f.push(i); var o = n.element; r[r.length++] = t.createComment(" end ngSwitchWhen: "); var a = { clone: r }; c.push(a), e.enter(r, o.parent(), o) }) }) }) } } }], Pa = Tr({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function(e, t, n, r, i) { r.cases["!" + n.ngSwitchWhen] = r.cases["!" + n.ngSwitchWhen] || [], r.cases["!" + n.ngSwitchWhen].push({ transclude: i, element: t }) } }), qa = Tr({ transclude: "element", priority: 1200, require: "^ngSwitch", multiElement: !0, link: function(e, t, n, r, i) { r.cases["?"] = r.cases["?"] || [], r.cases["?"].push({ transclude: i, element: t }) } }), Ra = Tr({ restrict: "EAC", link: function(e, t, n, i, o) { if (!o) throw r("ngTransclude")("orphan", "Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}", W(t)); o(function(e) { t.empty(), t.append(e) }) } }), Ia = ["$templateCache", function(e) { return { restrict: "E", terminal: !0, compile: function(t, n) { if ("text/ng-template" == n.type) { var r = n.id, i = t[0].text; e.put(r, i) } } } }], Fa = r("ngOptions"), Ha = g({ restrict: "A", terminal: !0 }), Va = ["$compile", "$parse", function(e, r) { var i = /^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/, s = { $setViewValue: h }; return { restrict: "E", require: ["select", "?ngModel"], controller: ["$element", "$scope", "$attrs", function(e, t, n) { var r, i, o = this, a = {}, u = s; o.databound = n.ngModel, o.init = function(e, t, n) { u = e, r = t, i = n }, o.addOption = function(t, n) { at(t, '"option value"'), a[t] = !0, u.$viewValue == t && (e.val(t), i.parent() && i.remove()), n && n[0].hasAttribute("selected") && (n[0].selected = !0) }, o.removeOption = function(e) { this.hasOption(e) && (delete a[e], u.$viewValue === e && this.renderUnknownOption(e)) }, o.renderUnknownOption = function(t) { var n = "? " + Ht(t) + " ?"; i.val(n), e.prepend(i), e.val(n), i.prop("selected", !0) }, o.hasOption = function(e) { return a.hasOwnProperty(e) }, t.$on("$destroy", function() { o.renderUnknownOption = h }) }], link: function(s, u, c, l) { function f(e, t, n, r) { n.$render = function() { var e = n.$viewValue; r.hasOption(e) ? (k.parent() && k.remove(), t.val(e), "" === e && h.prop("selected", !0)) : m(e) && h ? t.val("") : r.renderUnknownOption(e) }, t.on("change", function() { e.$apply(function() { k.parent() && k.remove(), n.$setViewValue(t.val()) }) }) } function d(e, t, n) { var r; n.$render = function() { var e = new Vt(n.$viewValue); o(t.find("option"), function(t) { t.selected = $(e.get(t.value)) }) }, e.$watch(function() { I(r, n.$viewValue) || (r = R(n.$viewValue), n.$render()) }), t.on("change", function() { e.$apply(function() { var e = []; o(t.find("option"), function(t) { t.selected && e.push(t.value) }), n.$setViewValue(e) }) }) } function p(t, s, u) { function c(e, n, r) { return I[E] = r, D && (I[D] = n), e(t, I) } function l() { t.$apply(function() { var e, n = j(t) || []; if (y) e = [], o(s.val(), function(t) { t = P ? q[t] : t, e.push(f(t, n[t])) }); else { var r = P ? q[s.val()] : s.val(); e = f(r, n[r]) } u.$setViewValue(e), m() }) } function f(e, t) { if ("?" === e) return n; if ("" === e) return null; var r = N ? N : M; return c(r, e, t) } function d() { var e, n = j(t); if (n && li(n)) { e = new Array(n.length); for (var r = 0, i = n.length; i > r; r++) e[r] = c(T, r, n[r]); return e } if (n) { e = {}; for (var o in n) n.hasOwnProperty(o) && (e[o] = c(T, o, n[o])) } return e } function p(e) { var t; if (y) if (P && li(e)) { t = new Vt([]); for (var n = 0; n < e.length; n++) t.put(c(P, null, e[n]), !0) } else t = new Vt(e); else P && (e = c(P, null, e)); return function(n, r) { var i; return i = P ? P : N ? N : M, y ? $(t.remove(c(i, n, r))) : e === c(i, n, r) } } function h() { x || (t.$$postDigest(m), x = !0) } function g(e, t, n) { e[t] = e[t] || 0, e[t] += n ? 1 : -1 } function m() { x = !1; var e, n, r, i, l, f, d, h, m, b, k, E, A, N, M, L, F, H = { "": [] }, V = [""], _ = u.$viewValue, U = j(t) || [], B = D ? a(U) : U, W = {}, z = p(_), G = !1; for (q = {}, E = 0; b = B.length, b > E; E++) d = E, D && (d = B[E], "$" === d.charAt(0)) || (h = U[d], e = c(O, d, h) || "", (n = H[e]) || (n = H[e] = [], V.push(e)), A = z(d, h), G = G || A, L = c(T, d, h), L = $(L) ? L : "", F = P ? P(t, I) : D ? B[E] : E, P && (q[F] = d), n.push({ id: F, label: L, selected: A })); for (y || (w || null === _ ? H[""].unshift({ id: "", label: "", selected: !G }) : G || H[""].unshift({ id: "?", label: "", selected: !0 })), k = 0, m = V.length; m > k; k++) { for (e = V[k], n = H[e], R.length <= k ? (i = { element: S.clone().attr("label", e), label: n.label }, l = [i], R.push(l), s.append(i.element)) : (l = R[k], i = l[0], i.label != e && i.element.attr("label", i.label = e)), N = null, E = 0, b = n.length; b > E; E++) r = n[E], (f = l[E + 1]) ? (N = f.element, f.label !== r.label && (g(W, f.label, !1), g(W, r.label, !0), N.text(f.label = r.label), N.prop("label", f.label)), f.id !== r.id && N.val(f.id = r.id), N[0].selected !== r.selected && (N.prop("selected", f.selected = r.selected), Zr && N.prop("selected", f.selected))) : ("" === r.id && w ? M = w : (M = C.clone()).val(r.id).prop("selected", r.selected).attr("selected", r.selected).prop("label", r.label).text(r.label), l.push(f = { element: M, label: r.label, id: r.id, selected: r.selected }), g(W, r.label, !0), N ? N.after(M) : i.element.append(M), N = M); for (E++; l.length > E;) r = l.pop(), g(W, r.label, !1), r.element.remove() } for (; R.length > k;) { for (n = R.pop(), E = 1; E < n.length; ++E) g(W, n[E].label, !1); n[0].element.remove() } o(W, function(e, t) { e > 0 ? v.addOption(t) : 0 > e && v.removeOption(t) }) } var k; if (!(k = b.match(i))) throw Fa("iexp", "Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}", b, W(s)); var T = r(k[2] || k[1]), E = k[4] || k[6], A = / as /.test(k[0]) && k[1], N = A ? r(A) : null, D = k[5], O = r(k[3] || ""), M = r(k[2] ? k[1] : E), j = r(k[7]), L = k[8], P = L ? r(k[8]) : null, q = {}, R = [ [{ element: s, label: "" }] ], I = {}; w && (e(w)(t), w.removeClass("ng-scope"), w.remove()), s.empty(), s.on("change", l), u.$render = m, t.$watchCollection(j, h), t.$watchCollection(d, h), y && t.$watchCollection(function() { return u.$modelValue }, h) } if (l[1]) { for (var h, v = l[0], g = l[1], y = c.multiple, b = c.ngOptions, w = !1, x = !1, C = Qr(t.createElement("option")), S = Qr(t.createElement("optgroup")), k = C.clone(), T = 0, E = u.children(), A = E.length; A > T; T++) if ("" === E[T].value) { h = w = E.eq(T); break } v.init(g, w, k), y && (g.$isEmpty = function(e) { return !e || 0 === e.length }), b ? p(s, u, g) : y ? d(s, u, g) : f(s, u, g, v) } } } }], _a = ["$interpolate", function(e) { var t = { addOption: h, removeOption: h }; return { restrict: "E", priority: 100, compile: function(n, r) { if (m(r.value)) { var i = e(n.text(), !0); i || r.$set("value", n.text()) } return function(e, n, r) { var o = "$selectController", a = n.parent(), s = a.data(o) || a.parent().data(o); s && s.databound || (s = t), i ? e.$watch(i, function(e, t) { r.$set("value", e), t !== e && s.removeOption(t), s.addOption(e, n) }) : s.addOption(r.value, n), n.on("$destroy", function() { s.removeOption(r.value) }) } } } }], Ua = g({ restrict: "E", terminal: !1 }); return e.angular.bootstrap ? void console.log("WARNING: Tried to load angular more than once.") : (rt(), pt(si), void Qr(t).ready(function() { Z(t, Q) })) }(window, document), !window.angular.$$csp() && window.angular.element(document).find("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;}</style>') }, {}], 17: [function(e, t) { function n(e, t) { "use strict"; function i(e, t) { return function() { return e.apply(t, arguments) } } var o; if (t = t || {}, this.trackingClick = !1, this.trackingClickStart = 0, this.targetElement = null, this.touchStartX = 0, this.touchStartY = 0, this.lastTouchIdentifier = 0, this.touchBoundary = t.touchBoundary || 10, this.layer = e, this.tapDelay = t.tapDelay || 200, !n.notNeeded(e)) { for (var a = ["onMouse", "onClick", "onTouchStart", "onTouchMove", "onTouchEnd", "onTouchCancel"], s = this, u = 0, c = a.length; c > u; u++) s[a[u]] = i(s[a[u]], s); r && (e.addEventListener("mouseover", this.onMouse, !0), e.addEventListener("mousedown", this.onMouse, !0), e.addEventListener("mouseup", this.onMouse, !0)), e.addEventListener("click", this.onClick, !0), e.addEventListener("touchstart", this.onTouchStart, !1), e.addEventListener("touchmove", this.onTouchMove, !1), e.addEventListener("touchend", this.onTouchEnd, !1), e.addEventListener("touchcancel", this.onTouchCancel, !1), Event.prototype.stopImmediatePropagation || (e.removeEventListener = function(t, n, r) { var i = Node.prototype.removeEventListener; "click" === t ? i.call(e, t, n.hijacked || n, r) : i.call(e, t, n, r) }, e.addEventListener = function(t, n, r) { var i = Node.prototype.addEventListener; "click" === t ? i.call(e, t, n.hijacked || (n.hijacked = function(e) { e.propagationStopped || n(e) }), r) : i.call(e, t, n, r) }), "function" == typeof e.onclick && (o = e.onclick, e.addEventListener("click", function(e) { o(e) }, !1), e.onclick = null) } } var r = navigator.userAgent.indexOf("Android") > 0, i = /iP(ad|hone|od)/.test(navigator.userAgent), o = i && /OS 4_\d(_\d)?/.test(navigator.userAgent), a = i && /OS ([6-9]|\d{2})_\d/.test(navigator.userAgent), s = navigator.userAgent.indexOf("BB10") > 0; n.prototype.needsClick = function(e) { "use strict"; switch (e.nodeName.toLowerCase()) { case "button": case "select": case "textarea": if (e.disabled) return !0; break; case "input": if (i && "file" === e.type || e.disabled) return !0; break; case "label": case "video": return !0 } return /\bneedsclick\b/.test(e.className) }, n.prototype.needsFocus = function(e) { "use strict"; switch (e.nodeName.toLowerCase()) { case "textarea": return !0; case "select": return !r; case "input": switch (e.type) { case "button": case "checkbox": case "file": case "image": case "radio": case "submit": return !1 } return !e.disabled && !e.readOnly; default: return /\bneedsfocus\b/.test(e.className) } }, n.prototype.sendClick = function(e, t) { "use strict"; var n, r; document.activeElement && document.activeElement !== e && document.activeElement.blur(), r = t.changedTouches[0], n = document.createEvent("MouseEvents"), n.initMouseEvent(this.determineEventType(e), !0, !0, window, 1, r.screenX, r.screenY, r.clientX, r.clientY, !1, !1, !1, !1, 0, null), n.forwardedTouchEvent = !0, e.dispatchEvent(n) }, n.prototype.determineEventType = function(e) { "use strict"; return r && "select" === e.tagName.toLowerCase() ? "mousedown" : "click" }, n.prototype.focus = function(e) { "use strict"; var t; i && e.setSelectionRange && 0 !== e.type.indexOf("date") && "time" !== e.type ? (t = e.value.length, e.setSelectionRange(t, t)) : e.focus() }, n.prototype.updateScrollParent = function(e) { "use strict"; var t, n; if (t = e.fastClickScrollParent, !t || !t.contains(e)) { n = e; do { if (n.scrollHeight > n.offsetHeight) { t = n, e.fastClickScrollParent = n; break } n = n.parentElement } while (n) } t && (t.fastClickLastScrollTop = t.scrollTop) }, n.prototype.getTargetElementFromEventTarget = function(e) { "use strict"; return e.nodeType === Node.TEXT_NODE ? e.parentNode : e }, n.prototype.onTouchStart = function(e) { "use strict"; var t, n, r; if (e.targetTouches.length > 1) return !0; if (t = this.getTargetElementFromEventTarget(e.target), n = e.targetTouches[0], i) { if (r = window.getSelection(), r.rangeCount && !r.isCollapsed) return !0; if (!o) { if (n.identifier && n.identifier === this.lastTouchIdentifier) return e.preventDefault(), !1; this.lastTouchIdentifier = n.identifier, this.updateScrollParent(t) } } return this.trackingClick = !0, this.trackingClickStart = e.timeStamp, this.targetElement = t, this.touchStartX = n.pageX, this.touchStartY = n.pageY, e.timeStamp - this.lastClickTime < this.tapDelay && e.preventDefault(), !0 }, n.prototype.touchHasMoved = function(e) { "use strict"; var t = e.changedTouches[0], n = this.touchBoundary; return Math.abs(t.pageX - this.touchStartX) > n || Math.abs(t.pageY - this.touchStartY) > n ? !0 : !1 }, n.prototype.onTouchMove = function(e) { "use strict"; return this.trackingClick ? ((this.targetElement !== this.getTargetElementFromEventTarget(e.target) || this.touchHasMoved(e)) && (this.trackingClick = !1, this.targetElement = null), !0) : !0 }, n.prototype.findControl = function(e) { "use strict"; return void 0 !== e.control ? e.control : e.htmlFor ? document.getElementById(e.htmlFor) : e.querySelector("button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea") }, n.prototype.onTouchEnd = function(e) { "use strict"; var t, n, s, u, c, l = this.targetElement; if (!this.trackingClick) return !0; if (e.timeStamp - this.lastClickTime < this.tapDelay) return this.cancelNextClick = !0, !0; if (this.cancelNextClick = !1, this.lastClickTime = e.timeStamp, n = this.trackingClickStart, this.trackingClick = !1, this.trackingClickStart = 0, a && (c = e.changedTouches[0], l = document.elementFromPoint(c.pageX - window.pageXOffset, c.pageY - window.pageYOffset) || l, l.fastClickScrollParent = this.targetElement.fastClickScrollParent), s = l.tagName.toLowerCase(), "label" === s) { if (t = this.findControl(l)) { if (this.focus(l), r) return !1; l = t } } else if (this.needsFocus(l)) return e.timeStamp - n > 100 || i && window.top !== window && "input" === s ? (this.targetElement = null, !1) : (this.focus(l), this.sendClick(l, e), i && "select" === s || (this.targetElement = null, e.preventDefault()), !1); return i && !o && (u = l.fastClickScrollParent, u && u.fastClickLastScrollTop !== u.scrollTop) ? !0 : (this.needsClick(l) || (e.preventDefault(), this.sendClick(l, e)), !1) }, n.prototype.onTouchCancel = function() { "use strict"; this.trackingClick = !1, this.targetElement = null }, n.prototype.onMouse = function(e) { "use strict"; return this.targetElement ? e.forwardedTouchEvent ? !0 : e.cancelable && (!this.needsClick(this.targetElement) || this.cancelNextClick) ? (e.stopImmediatePropagation ? e.stopImmediatePropagation() : e.propagationStopped = !0, e.stopPropagation(), e.preventDefault(), !1) : !0 : !0 }, n.prototype.onClick = function(e) { "use strict"; var t; return this.trackingClick ? (this.targetElement = null, this.trackingClick = !1, !0) : "submit" === e.target.type && 0 === e.detail ? !0 : (t = this.onMouse(e), t || (this.targetElement = null), t) }, n.prototype.destroy = function() { "use strict"; var e = this.layer; r && (e.removeEventListener("mouseover", this.onMouse, !0), e.removeEventListener("mousedown", this.onMouse, !0), e.removeEventListener("mouseup", this.onMouse, !0)), e.removeEventListener("click", this.onClick, !0), e.removeEventListener("touchstart", this.onTouchStart, !1), e.removeEventListener("touchmove", this.onTouchMove, !1), e.removeEventListener("touchend", this.onTouchEnd, !1), e.removeEventListener("touchcancel", this.onTouchCancel, !1) }, n.notNeeded = function(e) { "use strict"; var t, n, i; if ("undefined" == typeof window.ontouchstart) return !0; if (n = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [, 0])[1]) { if (!r) return !0; if (t = document.querySelector("meta[name=viewport]")) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (n > 31 && document.documentElement.scrollWidth <= window.outerWidth) return !0 } } if (s && (i = navigator.userAgent.match(/Version\/([0-9]*)\.([0-9]*)/), i[1] >= 10 && i[2] >= 3 && (t = document.querySelector("meta[name=viewport]")))) { if (-1 !== t.content.indexOf("user-scalable=no")) return !0; if (document.documentElement.scrollWidth <= window.outerWidth) return !0 } return "none" === e.style.msTouchAction ? !0 : !1 }, n.attach = function(e, t) { "use strict"; return new n(e, t) }, "function" == typeof define && "object" == typeof define.amd && define.amd ? define(function() { "use strict"; return n }) : "undefined" != typeof t && t.exports ? (t.exports = n.attach, t.exports.FastClick = n) : window.FastClick = n }, {}], 18: [function(e, t) { ! function(e, n) { "object" == typeof t && "object" == typeof t.exports ? t.exports = e.document ? n(e, !0) : function(e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return n(e) } : n(e) }("undefined" != typeof window ? window : this, function(e, t) { function n(e) { var t = e.length, n = Q.type(e); return "function" === n || Q.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e } function r(e, t, n) { if (Q.isFunction(t)) return Q.grep(e, function(e, r) { return !!t.call(e, r, e) !== n }); if (t.nodeType) return Q.grep(e, function(e) { return e === t !== n }); if ("string" == typeof t) { if (st.test(t)) return Q.filter(t, e, n); t = Q.filter(t, e) } return Q.grep(e, function(e) { return z.call(t, e) >= 0 !== n }) } function i(e, t) { for (; (e = e[t]) && 1 !== e.nodeType;); return e } function o(e) { var t = ht[e] = {}; return Q.each(e.match(pt) || [], function(e, n) { t[n] = !0 }), t } function a() { K.removeEventListener("DOMContentLoaded", a, !1), e.removeEventListener("load", a, !1), Q.ready() } function s() { Object.defineProperty(this.cache = {}, 0, { get: function() { return {} } }), this.expando = Q.expando + s.uid++ } function u(e, t, n) { var r; if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(bt, "-$1").toLowerCase(), n = e.getAttribute(r), "string" == typeof n) { try { n = "true" === n ? !0 : "false" === n ? !1 : "null" === n ? null : +n + "" === n ? +n : yt.test(n) ? Q.parseJSON(n) : n } catch (i) {} $t.set(e, t, n) } else n = void 0; return n } function c() { return !0 } function l() { return !1 } function f() { try { return K.activeElement } catch (e) {} } function d(e, t) { return Q.nodeName(e, "table") && Q.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e } function p(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function h(e) { var t = qt.exec(e.type); return t ? e.type = t[1] : e.removeAttribute("type"), e } function v(e, t) { for (var n = 0, r = e.length; r > n; n++) mt.set(e[n], "globalEval", !t || mt.get(t[n], "globalEval")) } function g(e, t) { var n, r, i, o, a, s, u, c; if (1 === t.nodeType) { if (mt.hasData(e) && (o = mt.access(e), a = mt.set(t, o), c = o.events)) { delete a.handle, a.events = {}; for (i in c) for (n = 0, r = c[i].length; r > n; n++) Q.event.add(t, i, c[i][n]) } $t.hasData(e) && (s = $t.access(e), u = Q.extend({}, s), $t.set(t, u)) } } function m(e, t) { var n = e.getElementsByTagName ? e.getElementsByTagName(t || "*") : e.querySelectorAll ? e.querySelectorAll(t || "*") : []; return void 0 === t || t && Q.nodeName(e, t) ? Q.merge([e], n) : n } function $(e, t) { var n = t.nodeName.toLowerCase(); "input" === n && St.test(e.type) ? t.checked = e.checked : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue) } function y(t, n) { var r, i = Q(n.createElement(t)).appendTo(n.body), o = e.getDefaultComputedStyle && (r = e.getDefaultComputedStyle(i[0])) ? r.display : Q.css(i[0], "display"); return i.detach(), o } function b(e) { var t = K, n = Ht[e]; return n || (n = y(e, t), "none" !== n && n || (Ft = (Ft || Q("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement), t = Ft[0].contentDocument, t.write(), t.close(), n = y(e, t), Ft.detach()), Ht[e] = n), n } function w(e, t, n) { var r, i, o, a, s = e.style; return n = n || Ut(e), n && (a = n.getPropertyValue(t) || n[t]), n && ("" !== a || Q.contains(e.ownerDocument, e) || (a = Q.style(e, t)), _t.test(a) && Vt.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a } function x(e, t) { return { get: function() { return e() ? void delete this.get : (this.get = t).apply(this, arguments) } } } function C(e, t) { if (t in e) return t; for (var n = t[0].toUpperCase() + t.slice(1), r = t, i = Yt.length; i--;) if (t = Yt[i] + n, t in e) return t; return r } function S(e, t, n) { var r = Wt.exec(t); return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t } function k(e, t, n, r, i) { for (var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; 4 > o; o += 2) "margin" === n && (a += Q.css(e, n + xt[o], !0, i)), r ? ("content" === n && (a -= Q.css(e, "padding" + xt[o], !0, i)), "margin" !== n && (a -= Q.css(e, "border" + xt[o] + "Width", !0, i))) : (a += Q.css(e, "padding" + xt[o], !0, i), "padding" !== n && (a += Q.css(e, "border" + xt[o] + "Width", !0, i))); return a } function T(e, t, n) { var r = !0, i = "width" === t ? e.offsetWidth : e.offsetHeight, o = Ut(e), a = "border-box" === Q.css(e, "boxSizing", !1, o); if (0 >= i || null == i) { if (i = w(e, t, o), (0 > i || null == i) && (i = e.style[t]), _t.test(i)) return i; r = a && (J.boxSizingReliable() || i === e.style[t]), i = parseFloat(i) || 0 } return i + k(e, t, n || (a ? "border" : "content"), r, o) + "px" } function E(e, t) { for (var n, r, i, o = [], a = 0, s = e.length; s > a; a++) r = e[a], r.style && (o[a] = mt.get(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && Ct(r) && (o[a] = mt.access(r, "olddisplay", b(r.nodeName)))) : (i = Ct(r), "none" === n && i || mt.set(r, "olddisplay", i ? n : Q.css(r, "display")))); for (a = 0; s > a; a++) r = e[a], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none")); return e } function A(e, t, n, r, i) { return new A.prototype.init(e, t, n, r, i) } function N() { return setTimeout(function() { Jt = void 0 }), Jt = Q.now() } function D(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; 4 > r; r += 2 - t) n = xt[r], i["margin" + n] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i } function O(e, t, n) { for (var r, i = (nn[t] || []).concat(nn["*"]), o = 0, a = i.length; a > o; o++) if (r = i[o].call(n, t, e)) return r } function M(e, t, n) { var r, i, o, a, s, u, c, l, f = this, d = {}, p = e.style, h = e.nodeType && Ct(e), v = mt.get(e, "fxshow"); n.queue || (s = Q._queueHooks(e, "fx"), null == s.unqueued && (s.unqueued = 0, u = s.empty.fire, s.empty.fire = function() { s.unqueued || u() }), s.unqueued++, f.always(function() { f.always(function() { s.unqueued--, Q.queue(e, "fx").length || s.empty.fire() }) })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], c = Q.css(e, "display"), l = "none" === c ? mt.get(e, "olddisplay") || b(e.nodeName) : c, "inline" === l && "none" === Q.css(e, "float") && (p.display = "inline-block")), n.overflow && (p.overflow = "hidden", f.always(function() { p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2] })); for (r in t) if (i = t[r], Zt.exec(i)) { if (delete t[r], o = o || "toggle" === i, i === (h ? "hide" : "show")) { if ("show" !== i || !v || void 0 === v[r]) continue; h = !0 } d[r] = v && v[r] || Q.style(e, r) } else c = void 0; if (Q.isEmptyObject(d)) "inline" === ("none" === c ? b(e.nodeName) : c) && (p.display = c); else { v ? "hidden" in v && (h = v.hidden) : v = mt.access(e, "fxshow", {}), o && (v.hidden = !h), h ? Q(e).show() : f.done(function() { Q(e).hide() }), f.done(function() { var t; mt.remove(e, "fxshow"); for (t in d) Q.style(e, t, d[t]) }); for (r in d) a = O(h ? v[r] : 0, r, f), r in v || (v[r] = a.start, h && (a.end = a.start, a.start = "width" === r || "height" === r ? 1 : 0)) } } function j(e, t) { var n, r, i, o, a; for (n in e) if (r = Q.camelCase(n), i = t[r], o = e[n], Q.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), a = Q.cssHooks[r], a && "expand" in a) { o = a.expand(o), delete e[r]; for (n in o) n in e || (e[n] = o[n], t[n] = i) } else t[r] = i } function L(e, t, n) { var r, i, o = 0, a = tn.length, s = Q.Deferred().always(function() { delete u.elem }), u = function() { if (i) return !1; for (var t = Jt || N(), n = Math.max(0, c.startTime + c.duration - t), r = n / c.duration || 0, o = 1 - r, a = 0, u = c.tweens.length; u > a; a++) c.tweens[a].run(o); return s.notifyWith(e, [c, o, n]), 1 > o && u ? n : (s.resolveWith(e, [c]), !1) }, c = s.promise({ elem: e, props: Q.extend({}, t), opts: Q.extend(!0, { specialEasing: {} }, n), originalProperties: t, originalOptions: n, startTime: Jt || N(), duration: n.duration, tweens: [], createTween: function(t, n) { var r = Q.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(r), r }, stop: function(t) { var n = 0, r = t ? c.tweens.length : 0; if (i) return this; for (i = !0; r > n; n++) c.tweens[n].run(1); return t ? s.resolveWith(e, [c, t]) : s.rejectWith(e, [c, t]), this } }), l = c.props; for (j(l, c.opts.specialEasing); a > o; o++) if (r = tn[o].call(c, e, l, c.opts)) return r; return Q.map(l, O, c), Q.isFunction(c.opts.start) && c.opts.start.call(e, c), Q.fx.timer(Q.extend(u, { elem: e, anim: c, queue: c.opts.queue })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) } function P(e) { return function(t, n) { "string" != typeof t && (n = t, t = "*"); var r, i = 0, o = t.toLowerCase().match(pt) || []; if (Q.isFunction(n)) for (; r = o[i++];) "+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n) } } function q(e, t, n, r) { function i(s) { var u; return o[s] = !0, Q.each(e[s] || [], function(e, s) { var c = s(t, n, r); return "string" != typeof c || a || o[c] ? a ? !(u = c) : void 0 : (t.dataTypes.unshift(c), i(c), !1) }), u } var o = {}, a = e === bn; return i(t.dataTypes[0]) || !o["*"] && i("*") } function R(e, t) { var n, r, i = Q.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && Q.extend(!0, e, r), e } function I(e, t, n) { for (var r, i, o, a, s = e.contents, u = e.dataTypes; "*" === u[0];) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r) for (i in s) if (s[i] && s[i].test(r)) { u.unshift(i); break } if (u[0] in n) o = u[0]; else { for (i in n) { if (!u[0] || e.converters[i + " " + u[0]]) { o = i; break } a || (a = i) } o = o || a } return o ? (o !== u[0] && u.unshift(o), n[o]) : void 0 } function F(e, t, n, r) { var i, o, a, s, u, c = {}, l = e.dataTypes.slice(); if (l[1]) for (a in e.converters) c[a.toLowerCase()] = e.converters[a]; for (o = l.shift(); o;) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = l.shift()) if ("*" === o) o = u; else if ("*" !== u && u !== o) { if (a = c[u + " " + o] || c["* " + o], !a) for (i in c) if (s = i.split(" "), s[1] === o && (a = c[u + " " + s[0]] || c["* " + s[0]])) { a === !0 ? a = c[i] : c[i] !== !0 && (o = s[0], l.unshift(s[1])); break } if (a !== !0) if (a && e["throws"]) t = a(t); else try { t = a(t) } catch (f) { return { state: "parsererror", error: a ? f : "No conversion from " + u + " to " + o } } } return { state: "success", data: t } } function H(e, t, n, r) { var i; if (Q.isArray(t)) Q.each(t, function(t, i) { n || kn.test(e) ? r(e, i) : H(e + "[" + ("object" == typeof i ? t : "") + "]", i, n, r) }); else if (n || "object" !== Q.type(t)) r(e, t); else for (i in t) H(e + "[" + i + "]", t[i], n, r) } function V(e) { return Q.isWindow(e) ? e : 9 === e.nodeType && e.defaultView } var _ = [], U = _.slice, B = _.concat, W = _.push, z = _.indexOf, G = {}, X = G.toString, Y = G.hasOwnProperty, J = {}, K = e.document, Z = "2.1.3", Q = function(e, t) { return new Q.fn.init(e, t) }, et = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, tt = /^-ms-/, nt = /-([\da-z])/gi, rt = function(e, t) { return t.toUpperCase() }; Q.fn = Q.prototype = { jquery: Z, constructor: Q, selector: "", length: 0, toArray: function() { return U.call(this) }, get: function(e) { return null != e ? 0 > e ? this[e + this.length] : this[e] : U.call(this) }, pushStack: function(e) { var t = Q.merge(this.constructor(), e); return t.prevObject = this, t.context = this.context, t }, each: function(e, t) { return Q.each(this, e, t) }, map: function(e) { return this.pushStack(Q.map(this, function(t, n) { return e.call(t, n, t) })) }, slice: function() { return this.pushStack(U.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t = this.length, n = +e + (0 > e ? t : 0); return this.pushStack(n >= 0 && t > n ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor(null) }, push: W, sort: _.sort, splice: _.splice }, Q.extend = Q.fn.extend = function() { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, c = !1; for ("boolean" == typeof a && (c = a, a = arguments[s] || {}, s++), "object" == typeof a || Q.isFunction(a) || (a = {}), s === u && (a = this, s--); u > s; s++) if (null != (e = arguments[s])) for (t in e) n = a[t], r = e[t], a !== r && (c && r && (Q.isPlainObject(r) || (i = Q.isArray(r))) ? (i ? (i = !1, o = n && Q.isArray(n) ? n : []) : o = n && Q.isPlainObject(n) ? n : {}, a[t] = Q.extend(c, o, r)) : void 0 !== r && (a[t] = r)); return a }, Q.extend({ expando: "jQuery" + (Z + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" === Q.type(e) }, isArray: Array.isArray, isWindow: function(e) { return null != e && e === e.window }, isNumeric: function(e) { return !Q.isArray(e) && e - parseFloat(e) + 1 >= 0 }, isPlainObject: function(e) { return "object" !== Q.type(e) || e.nodeType || Q.isWindow(e) ? !1 : e.constructor && !Y.call(e.constructor.prototype, "isPrototypeOf") ? !1 : !0 }, isEmptyObject: function(e) { var t; for (t in e) return !1; return !0 }, type: function(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? G[X.call(e)] || "object" : typeof e }, globalEval: function(e) { var t, n = eval; e = Q.trim(e), e && (1 === e.indexOf("use strict") ? (t = K.createElement("script"), t.text = e, K.head.appendChild(t).parentNode.removeChild(t)) : n(e)) }, camelCase: function(e) { return e.replace(tt, "ms-").replace(nt, rt) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() }, each: function(e, t, r) { var i, o = 0, a = e.length, s = n(e); if (r) { if (s) for (; a > o && (i = t.apply(e[o], r), i !== !1); o++); else for (o in e) if (i = t.apply(e[o], r), i === !1) break } else if (s) for (; a > o && (i = t.call(e[o], o, e[o]), i !== !1); o++); else for (o in e) if (i = t.call(e[o], o, e[o]), i === !1) break; return e }, trim: function(e) { return null == e ? "" : (e + "").replace(et, "") }, makeArray: function(e, t) { var r = t || []; return null != e && (n(Object(e)) ? Q.merge(r, "string" == typeof e ? [e] : e) : W.call(r, e)), r }, inArray: function(e, t, n) { return null == t ? -1 : z.call(t, e, n) }, merge: function(e, t) { for (var n = +t.length, r = 0, i = e.length; n > r; r++) e[i++] = t[r]; return e.length = i, e }, grep: function(e, t, n) { for (var r, i = [], o = 0, a = e.length, s = !n; a > o; o++) r = !t(e[o], o), r !== s && i.push(e[o]); return i }, map: function(e, t, r) { var i, o = 0, a = e.length, s = n(e), u = []; if (s) for (; a > o; o++) i = t(e[o], o, r), null != i && u.push(i); else for (o in e) i = t(e[o], o, r), null != i && u.push(i); return B.apply([], u) }, guid: 1, proxy: function(e, t) { var n, r, i; return "string" == typeof t && (n = e[t], t = e, e = n), Q.isFunction(e) ? (r = U.call(arguments, 2), i = function() { return e.apply(t || this, r.concat(U.call(arguments))) }, i.guid = e.guid = e.guid || Q.guid++, i) : void 0 }, now: Date.now, support: J }), Q.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) { G["[object " + t + "]"] = t.toLowerCase() }); var it = function(e) { function t(e, t, n, r) { var i, o, a, s, u, c, f, p, h, v; if ((t ? t.ownerDocument || t : H) !== M && O(t), t = t || M, n = n || [], s = t.nodeType, "string" != typeof e || !e || 1 !== s && 9 !== s && 11 !== s) return n; if (!r && L) { if (11 !== s && (i = $t.exec(e))) if (a = i[1]) { if (9 === s) { if (o = t.getElementById(a), !o || !o.parentNode) return n; if (o.id === a) return n.push(o), n } else if (t.ownerDocument && (o = t.ownerDocument.getElementById(a)) && I(t, o) && o.id === a) return n.push(o), n } else { if (i[2]) return Z.apply(n, t.getElementsByTagName(e)), n; if ((a = i[3]) && w.getElementsByClassName) return Z.apply(n, t.getElementsByClassName(a)), n } if (w.qsa && (!P || !P.test(e))) { if (p = f = F, h = t, v = 1 !== s && e, 1 === s && "object" !== t.nodeName.toLowerCase()) { for (c = k(e), (f = t.getAttribute("id")) ? p = f.replace(bt, "\\$&") : t.setAttribute("id", p), p = "[id='" + p + "'] ", u = c.length; u--;) c[u] = p + d(c[u]); h = yt.test(e) && l(t.parentNode) || t, v = c.join(",") } if (v) try { return Z.apply(n, h.querySelectorAll(v)), n } catch (g) {} finally { f || t.removeAttribute("id") } } } return E(e.replace(ut, "$1"), t, n, r) } function n() { function e(n, r) { return t.push(n + " ") > x.cacheLength && delete e[t.shift()], e[n + " "] = r } var t = []; return e } function r(e) { return e[F] = !0, e } function i(e) { var t = M.createElement("div"); try { return !!e(t) } catch (n) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function o(e, t) { for (var n = e.split("|"), r = e.length; r--;) x.attrHandle[n[r]] = t } function a(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || G) - (~e.sourceIndex || G); if (r) return r; if (n) for (; n = n.nextSibling;) if (n === t) return -1; return e ? 1 : -1 } function s(e) { return function(t) { var n = t.nodeName.toLowerCase(); return "input" === n && t.type === e } } function u(e) { return function(t) { var n = t.nodeName.toLowerCase(); return ("input" === n || "button" === n) && t.type === e } } function c(e) { return r(function(t) { return t = +t, r(function(n, r) { for (var i, o = e([], n.length, t), a = o.length; a--;) n[i = o[a]] && (n[i] = !(r[i] = n[i])) }) }) } function l(e) { return e && "undefined" != typeof e.getElementsByTagName && e } function f() {} function d(e) { for (var t = 0, n = e.length, r = ""; n > t; t++) r += e[t].value; return r } function p(e, t, n) { var r = t.dir, i = n && "parentNode" === r, o = _++; return t.first ? function(t, n, o) { for (; t = t[r];) if (1 === t.nodeType || i) return e(t, n, o) } : function(t, n, a) { var s, u, c = [V, o]; if (a) { for (; t = t[r];) if ((1 === t.nodeType || i) && e(t, n, a)) return !0 } else for (; t = t[r];) if (1 === t.nodeType || i) { if (u = t[F] || (t[F] = {}), (s = u[r]) && s[0] === V && s[1] === o) return c[2] = s[2]; if (u[r] = c, c[2] = e(t, n, a)) return !0 } } } function h(e) { return e.length > 1 ? function(t, n, r) { for (var i = e.length; i--;) if (!e[i](t, n, r)) return !1; return !0 } : e[0] } function v(e, n, r) { for (var i = 0, o = n.length; o > i; i++) t(e, n[i], r); return r } function g(e, t, n, r, i) { for (var o, a = [], s = 0, u = e.length, c = null != t; u > s; s++)(o = e[s]) && (!n || n(o, r, i)) && (a.push(o), c && t.push(s)); return a } function m(e, t, n, i, o, a) { return i && !i[F] && (i = m(i)), o && !o[F] && (o = m(o, a)), r(function(r, a, s, u) { var c, l, f, d = [], p = [], h = a.length, m = r || v(t || "*", s.nodeType ? [s] : s, []), $ = !e || !r && t ? m : g(m, d, e, s, u), y = n ? o || (r ? e : h || i) ? [] : a : $; if (n && n($, y, s, u), i) for (c = g(y, p), i(c, [], s, u), l = c.length; l--;)(f = c[l]) && (y[p[l]] = !($[p[l]] = f)); if (r) { if (o || e) { if (o) { for (c = [], l = y.length; l--;)(f = y[l]) && c.push($[l] = f); o(null, y = [], c, u) } for (l = y.length; l--;)(f = y[l]) && (c = o ? et(r, f) : d[l]) > -1 && (r[c] = !(a[c] = f)) } } else y = g(y === a ? y.splice(h, y.length) : y), o ? o(null, a, y, u) : Z.apply(a, y) }) } function $(e) { for (var t, n, r, i = e.length, o = x.relative[e[0].type], a = o || x.relative[" "], s = o ? 1 : 0, u = p(function(e) { return e === t }, a, !0), c = p(function(e) { return et(t, e) > -1 }, a, !0), l = [function(e, n, r) { var i = !o && (r || n !== A) || ((t = n).nodeType ? u(e, n, r) : c(e, n, r)); return t = null, i }]; i > s; s++) if (n = x.relative[e[s].type]) l = [p(h(l), n)]; else { if (n = x.filter[e[s].type].apply(null, e[s].matches), n[F]) { for (r = ++s; i > r && !x.relative[e[r].type]; r++); return m(s > 1 && h(l), s > 1 && d(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace(ut, "$1"), n, r > s && $(e.slice(s, r)), i > r && $(e = e.slice(r)), i > r && d(e)) } l.push(n) } return h(l) } function y(e, n) { var i = n.length > 0, o = e.length > 0, a = function(r, a, s, u, c) { var l, f, d, p = 0, h = "0", v = r && [], m = [], $ = A, y = r || o && x.find.TAG("*", c), b = V += null == $ ? 1 : Math.random() || .1, w = y.length; for (c && (A = a !== M && a); h !== w && null != (l = y[h]); h++) { if (o && l) { for (f = 0; d = e[f++];) if (d(l, a, s)) { u.push(l); break } c && (V = b) } i && ((l = !d && l) && p--, r && v.push(l)) } if (p += h, i && h !== p) { for (f = 0; d = n[f++];) d(v, m, a, s); if (r) { if (p > 0) for (; h--;) v[h] || m[h] || (m[h] = J.call(u)); m = g(m) } Z.apply(u, m), c && !r && m.length > 0 && p + n.length > 1 && t.uniqueSort(u) } return c && (V = b, A = $), v }; return i ? r(a) : a } var b, w, x, C, S, k, T, E, A, N, D, O, M, j, L, P, q, R, I, F = "sizzle" + 1 * new Date, H = e.document, V = 0, _ = 0, U = n(), B = n(), W = n(), z = function(e, t) { return e === t && (D = !0), 0 }, G = 1 << 31, X = {}.hasOwnProperty, Y = [], J = Y.pop, K = Y.push, Z = Y.push, Q = Y.slice, et = function(e, t) { for (var n = 0, r = e.length; r > n; n++) if (e[n] === t) return n; return -1 }, tt = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", nt = "[\\x20\\t\\r\\n\\f]", rt = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", it = rt.replace("w", "w#"), ot = "\\[" + nt + "*(" + rt + ")(?:" + nt + "*([*^$|!~]?=)" + nt + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + it + "))|)" + nt + "*\\]", at = ":(" + rt + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ot + ")*)|.*)\\)|)", st = new RegExp(nt + "+", "g"), ut = new RegExp("^" + nt + "+|((?:^|[^\\\\])(?:\\\\.)*)" + nt + "+$", "g"), ct = new RegExp("^" + nt + "*," + nt + "*"), lt = new RegExp("^" + nt + "*([>+~]|" + nt + ")" + nt + "*"), ft = new RegExp("=" + nt + "*([^\\]'\"]*?)" + nt + "*\\]", "g"), dt = new RegExp(at), pt = new RegExp("^" + it + "$"), ht = { ID: new RegExp("^#(" + rt + ")"), CLASS: new RegExp("^\\.(" + rt + ")"), TAG: new RegExp("^(" + rt.replace("w", "w*") + ")"), ATTR: new RegExp("^" + ot), PSEUDO: new RegExp("^" + at), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + nt + "*(even|odd|(([+-]|)(\\d*)n|)" + nt + "*(?:([+-]|)" + nt + "*(\\d+)|))" + nt + "*\\)|)", "i"), bool: new RegExp("^(?:" + tt + ")$", "i"), needsContext: new RegExp("^" + nt + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + nt + "*((?:-\\d)?\\d*)" + nt + "*\\)|)(?=[^-]|$)", "i") }, vt = /^(?:input|select|textarea|button)$/i, gt = /^h\d$/i, mt = /^[^{]+\{\s*\[native \w/, $t = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, yt = /[+~]/, bt = /'|\\/g, wt = new RegExp("\\\\([\\da-f]{1,6}" + nt + "?|(" + nt + ")|.)", "ig"), xt = function(e, t, n) { var r = "0x" + t - 65536; return r !== r || n ? t : 0 > r ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320) }, Ct = function() { O() }; try { Z.apply(Y = Q.call(H.childNodes), H.childNodes), Y[H.childNodes.length].nodeType } catch (St) { Z = { apply: Y.length ? function(e, t) { K.apply(e, Q.call(t)) } : function(e, t) { for (var n = e.length, r = 0; e[n++] = t[r++];); e.length = n - 1 } } } w = t.support = {}, S = t.isXML = function(e) { var t = e && (e.ownerDocument || e).documentElement; return t ? "HTML" !== t.nodeName : !1 }, O = t.setDocument = function(e) { var t, n, r = e ? e.ownerDocument || e : H; return r !== M && 9 === r.nodeType && r.documentElement ? (M = r, j = r.documentElement, n = r.defaultView, n && n !== n.top && (n.addEventListener ? n.addEventListener("unload", Ct, !1) : n.attachEvent && n.attachEvent("onunload", Ct)), L = !S(r), w.attributes = i(function(e) { return e.className = "i", !e.getAttribute("className") }), w.getElementsByTagName = i(function(e) { return e.appendChild(r.createComment("")), !e.getElementsByTagName("*").length }), w.getElementsByClassName = mt.test(r.getElementsByClassName), w.getById = i(function(e) { return j.appendChild(e).id = F, !r.getElementsByName || !r.getElementsByName(F).length }), w.getById ? (x.find.ID = function(e, t) { if ("undefined" != typeof t.getElementById && L) { var n = t.getElementById(e); return n && n.parentNode ? [n] : [] } }, x.filter.ID = function(e) { var t = e.replace(wt, xt); return function(e) { return e.getAttribute("id") === t } }) : (delete x.find.ID, x.filter.ID = function(e) { var t = e.replace(wt, xt); return function(e) { var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return n && n.value === t } }), x.find.TAG = w.getElementsByTagName ? function(e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0 } : function(e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) { for (; n = o[i++];) 1 === n.nodeType && r.push(n); return r } return o }, x.find.CLASS = w.getElementsByClassName && function(e, t) { return L ? t.getElementsByClassName(e) : void 0 }, q = [], P = [], (w.qsa = mt.test(r.querySelectorAll)) && (i(function(e) { j.appendChild(e).innerHTML = "<a id='" + F + "'></a><select id='" + F + "-\f]' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && P.push("[*^$]=" + nt + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || P.push("\\[" + nt + "*(?:value|" + tt + ")"), e.querySelectorAll("[id~=" + F + "-]").length || P.push("~="), e.querySelectorAll(":checked").length || P.push(":checked"), e.querySelectorAll("a#" + F + "+*").length || P.push(".#.+[+~]") }), i(function(e) { var t = r.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && P.push("name" + nt + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || P.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), P.push(",.*:") })), (w.matchesSelector = mt.test(R = j.matches || j.webkitMatchesSelector || j.mozMatchesSelector || j.oMatchesSelector || j.msMatchesSelector)) && i(function(e) { w.disconnectedMatch = R.call(e, "div"), R.call(e, "[s!='']:x"), q.push("!=", at) }), P = P.length && new RegExp(P.join("|")), q = q.length && new RegExp(q.join("|")), t = mt.test(j.compareDocumentPosition), I = t || mt.test(j.contains) ? function(e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) } : function(e, t) { if (t) for (; t = t.parentNode;) if (t === e) return !0; return !1 }, z = t ? function(e, t) { if (e === t) return D = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === r || e.ownerDocument === H && I(H, e) ? -1 : t === r || t.ownerDocument === H && I(H, t) ? 1 : N ? et(N, e) - et(N, t) : 0 : 4 & n ? -1 : 1) } : function(e, t) { if (e === t) return D = !0, 0; var n, i = 0, o = e.parentNode, s = t.parentNode, u = [e], c = [t]; if (!o || !s) return e === r ? -1 : t === r ? 1 : o ? -1 : s ? 1 : N ? et(N, e) - et(N, t) : 0; if (o === s) return a(e, t); for (n = e; n = n.parentNode;) u.unshift(n); for (n = t; n = n.parentNode;) c.unshift(n); for (; u[i] === c[i];) i++; return i ? a(u[i], c[i]) : u[i] === H ? -1 : c[i] === H ? 1 : 0 }, r) : M }, t.matches = function(e, n) { return t(e, null, null, n) }, t.matchesSelector = function(e, n) { if ((e.ownerDocument || e) !== M && O(e), n = n.replace(ft, "='$1']"), !(!w.matchesSelector || !L || q && q.test(n) || P && P.test(n))) try { var r = R.call(e, n); if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r } catch (i) {} return t(n, M, null, [e]).length > 0 }, t.contains = function(e, t) { return (e.ownerDocument || e) !== M && O(e), I(e, t) }, t.attr = function(e, t) { (e.ownerDocument || e) !== M && O(e); var n = x.attrHandle[t.toLowerCase()], r = n && X.call(x.attrHandle, t.toLowerCase()) ? n(e, t, !L) : void 0; return void 0 !== r ? r : w.attributes || !L ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null }, t.error = function(e) { throw new Error("Syntax error, unrecognized expression: " + e) }, t.uniqueSort = function(e) { var t, n = [], r = 0, i = 0; if (D = !w.detectDuplicates, N = !w.sortStable && e.slice(0), e.sort(z), D) { for (; t = e[i++];) t === e[i] && (r = n.push(i)); for (; r--;) e.splice(n[r], 1) } return N = null, e }, C = t.getText = function(e) { var t, n = "", r = 0, i = e.nodeType; if (i) { if (1 === i || 9 === i || 11 === i) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling) n += C(e) } else if (3 === i || 4 === i) return e.nodeValue } else for (; t = e[r++];) n += C(t); return n }, x = t.selectors = { cacheLength: 50, createPseudo: r, match: ht, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(e) { return e[1] = e[1].replace(wt, xt), e[3] = (e[3] || e[4] || e[5] || "").replace(wt, xt), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function(e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e }, PSEUDO: function(e) { var t, n = !e[6] && e[2]; return ht.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && dt.test(n) && (t = k(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function(e) { var t = e.replace(wt, xt).toLowerCase(); return "*" === e ? function() { return !0 } : function(e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function(e) { var t = U[e + " "]; return t || (t = new RegExp("(^|" + nt + ")" + e + "(" + nt + "|$)")) && U(e, function(e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "") }) }, ATTR: function(e, n, r) { return function(i) { var o = t.attr(i, e); return null == o ? "!=" === n : n ? (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(st, " ") + " ").indexOf(r) > -1 : "|=" === n ? o === r || o.slice(0, r.length + 1) === r + "-" : !1) : !0 } }, CHILD: function(e, t, n, r, i) { var o = "nth" !== e.slice(0, 3), a = "last" !== e.slice(-4), s = "of-type" === t; return 1 === r && 0 === i ? function(e) { return !!e.parentNode } : function(t, n, u) { var c, l, f, d, p, h, v = o !== a ? "nextSibling" : "previousSibling", g = t.parentNode, m = s && t.nodeName.toLowerCase(), $ = !u && !s; if (g) { if (o) { for (; v;) { for (f = t; f = f[v];) if (s ? f.nodeName.toLowerCase() === m : 1 === f.nodeType) return !1; h = v = "only" === e && !h && "nextSibling" } return !0 } if (h = [a ? g.firstChild : g.lastChild], a && $) { for (l = g[F] || (g[F] = {}), c = l[e] || [], p = c[0] === V && c[1], d = c[0] === V && c[2], f = p && g.childNodes[p]; f = ++p && f && f[v] || (d = p = 0) || h.pop();) if (1 === f.nodeType && ++d && f === t) { l[e] = [V, p, d]; break } } else if ($ && (c = (t[F] || (t[F] = {}))[e]) && c[0] === V) d = c[1]; else for (; (f = ++p && f && f[v] || (d = p = 0) || h.pop()) && ((s ? f.nodeName.toLowerCase() !== m : 1 !== f.nodeType) || !++d || ($ && ((f[F] || (f[F] = {}))[e] = [V, d]), f !== t));); return d -= i, d === r || d % r === 0 && d / r >= 0 } } }, PSEUDO: function(e, n) { var i, o = x.pseudos[e] || x.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e); return o[F] ? o(n) : o.length > 1 ? (i = [e, e, "", n], x.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) { for (var r, i = o(e, n), a = i.length; a--;) r = et(e, i[a]), e[r] = !(t[r] = i[a]) }) : function(e) { return o(e, 0, i) }) : o } }, pseudos: { not: r(function(e) { var t = [], n = [], i = T(e.replace(ut, "$1")); return i[F] ? r(function(e, t, n, r) { for (var o, a = i(e, null, r, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o)) }) : function(e, r, o) { return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop() } }), has: r(function(e) { return function(n) { return t(e, n).length > 0 } }), contains: r(function(e) { return e = e.replace(wt, xt), function(t) { return (t.textContent || t.innerText || C(t)).indexOf(e) > -1 } }), lang: r(function(e) { return pt.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(wt, xt).toLowerCase(), function(t) { var n; do if (n = L ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType); return !1 } }), target: function(t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id }, root: function(e) { return e === j }, focus: function(e) { return e === M.activeElement && (!M.hasFocus || M.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: function(e) { return e.disabled === !1 }, disabled: function(e) { return e.disabled === !0 }, checked: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function(e) { return e.parentNode && e.parentNode.selectedIndex, e.selected === !0 }, empty: function(e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0 }, parent: function(e) { return !x.pseudos.empty(e) }, header: function(e) { return gt.test(e.nodeName) }, input: function(e) { return vt.test(e.nodeName) }, button: function(e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function(e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: c(function() { return [0] }), last: c(function(e, t) { return [t - 1] }), eq: c(function(e, t, n) { return [0 > n ? n + t : n] }), even: c(function(e, t) { for (var n = 0; t > n; n += 2) e.push(n); return e }), odd: c(function(e, t) { for (var n = 1; t > n; n += 2) e.push(n); return e }), lt: c(function(e, t, n) { for (var r = 0 > n ? n + t : n; --r >= 0;) e.push(r); return e }), gt: c(function(e, t, n) { for (var r = 0 > n ? n + t : n; ++r < t;) e.push(r); return e }) } }, x.pseudos.nth = x.pseudos.eq; for (b in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) x.pseudos[b] = s(b); for (b in { submit: !0, reset: !0 }) x.pseudos[b] = u(b); return f.prototype = x.filters = x.pseudos, x.setFilters = new f, k = t.tokenize = function(e, n) { var r, i, o, a, s, u, c, l = B[e + " "]; if (l) return n ? 0 : l.slice(0); for (s = e, u = [], c = x.preFilter; s;) { (!r || (i = ct.exec(s))) && (i && (s = s.slice(i[0].length) || s), u.push(o = [])), r = !1, (i = lt.exec(s)) && (r = i.shift(), o.push({ value: r, type: i[0].replace(ut, " ") }), s = s.slice(r.length)); for (a in x.filter) !(i = ht[a].exec(s)) || c[a] && !(i = c[a](i)) || (r = i.shift(), o.push({ value: r, type: a, matches: i }), s = s.slice(r.length)); if (!r) break } return n ? s.length : s ? t.error(e) : B(e, u).slice(0) }, T = t.compile = function(e, t) { var n, r = [], i = [], o = W[e + " "]; if (!o) { for (t || (t = k(e)), n = t.length; n--;) o = $(t[n]), o[F] ? r.push(o) : i.push(o); o = W(e, y(i, r)), o.selector = e } return o }, E = t.select = function(e, t, n, r) { var i, o, a, s, u, c = "function" == typeof e && e, f = !r && k(e = c.selector || e); if (n = n || [], 1 === f.length) { if (o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (a = o[0]).type && w.getById && 9 === t.nodeType && L && x.relative[o[1].type]) { if (t = (x.find.ID(a.matches[0].replace(wt, xt), t) || [])[0], !t) return n; c && (t = t.parentNode), e = e.slice(o.shift().value.length) } for (i = ht.needsContext.test(e) ? 0 : o.length; i-- && (a = o[i], !x.relative[s = a.type]);) if ((u = x.find[s]) && (r = u(a.matches[0].replace(wt, xt), yt.test(o[0].type) && l(t.parentNode) || t))) { if (o.splice(i, 1), e = r.length && d(o), !e) return Z.apply(n, r), n; break } } return (c || T(e, f))(r, t, !L, n, yt.test(e) && l(t.parentNode) || t), n }, w.sortStable = F.split("").sort(z).join("") === F, w.detectDuplicates = !!D, O(), w.sortDetached = i(function(e) { return 1 & e.compareDocumentPosition(M.createElement("div")) }), i(function(e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || o("type|href|height|width", function(e, t, n) { return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) }), w.attributes && i(function(e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || o("value", function(e, t, n) { return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue }), i(function(e) { return null == e.getAttribute("disabled") }) || o(tt, function(e, t, n) { var r; return n ? void 0 : e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null }), t }(e); Q.find = it, Q.expr = it.selectors, Q.expr[":"] = Q.expr.pseudos, Q.unique = it.uniqueSort, Q.text = it.getText, Q.isXMLDoc = it.isXML, Q.contains = it.contains; var ot = Q.expr.match.needsContext, at = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, st = /^.[^:#\[\.,]*$/; Q.filter = function(e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? Q.find.matchesSelector(r, e) ? [r] : [] : Q.find.matches(e, Q.grep(t, function(e) { return 1 === e.nodeType })) }, Q.fn.extend({ find: function(e) { var t, n = this.length, r = [], i = this; if ("string" != typeof e) return this.pushStack(Q(e).filter(function() { for (t = 0; n > t; t++) if (Q.contains(i[t], this)) return !0 })); for (t = 0; n > t; t++) Q.find(e, i[t], r); return r = this.pushStack(n > 1 ? Q.unique(r) : r), r.selector = this.selector ? this.selector + " " + e : e, r }, filter: function(e) { return this.pushStack(r(this, e || [], !1)) }, not: function(e) { return this.pushStack(r(this, e || [], !0)) }, is: function(e) { return !!r(this, "string" == typeof e && ot.test(e) ? Q(e) : e || [], !1).length } }); var ut, ct = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, lt = Q.fn.init = function(e, t) { var n, r; if (!e) return this; if ("string" == typeof e) { if (n = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : ct.exec(e), !n || !n[1] && t) return !t || t.jquery ? (t || ut).find(e) : this.constructor(t).find(e); if (n[1]) { if (t = t instanceof Q ? t[0] : t, Q.merge(this, Q.parseHTML(n[1], t && t.nodeType ? t.ownerDocument || t : K, !0)), at.test(n[1]) && Q.isPlainObject(t)) for (n in t) Q.isFunction(this[n]) ? this[n](t[n]) : this.attr(n, t[n]); return this } return r = K.getElementById(n[2]), r && r.parentNode && (this.length = 1, this[0] = r), this.context = K, this.selector = e, this } return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : Q.isFunction(e) ? "undefined" != typeof ut.ready ? ut.ready(e) : e(Q) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), Q.makeArray(e, this)) }; lt.prototype = Q.fn, ut = Q(K); var ft = /^(?:parents|prev(?:Until|All))/, dt = { children: !0, contents: !0, next: !0, prev: !0 }; Q.extend({ dir: function(e, t, n) { for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (i && Q(e).is(n)) break; r.push(e) } return r }, sibling: function(e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n } }), Q.fn.extend({ has: function(e) { var t = Q(e, this), n = t.length; return this.filter(function() { for (var e = 0; n > e; e++) if (Q.contains(this, t[e])) return !0 }) }, closest: function(e, t) { for (var n, r = 0, i = this.length, o = [], a = ot.test(e) || "string" != typeof e ? Q(e, t || this.context) : 0; i > r; r++) for (n = this[r]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && Q.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(o.length > 1 ? Q.unique(o) : o) }, index: function(e) { return e ? "string" == typeof e ? z.call(Q(e), this[0]) : z.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function(e, t) { return this.pushStack(Q.unique(Q.merge(this.get(), Q(e, t)))) }, addBack: function(e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), Q.each({ parent: function(e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function(e) { return Q.dir(e, "parentNode") }, parentsUntil: function(e, t, n) { return Q.dir(e, "parentNode", n) }, next: function(e) { return i(e, "nextSibling") }, prev: function(e) { return i(e, "previousSibling") }, nextAll: function(e) { return Q.dir(e, "nextSibling") }, prevAll: function(e) { return Q.dir(e, "previousSibling") }, nextUntil: function(e, t, n) { return Q.dir(e, "nextSibling", n) }, prevUntil: function(e, t, n) { return Q.dir(e, "previousSibling", n) }, siblings: function(e) { return Q.sibling((e.parentNode || {}).firstChild, e) }, children: function(e) { return Q.sibling(e.firstChild) }, contents: function(e) { return e.contentDocument || Q.merge([], e.childNodes) } }, function(e, t) { Q.fn[e] = function(n, r) { var i = Q.map(this, t, n); return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = Q.filter(r, i)), this.length > 1 && (dt[e] || Q.unique(i), ft.test(e) && i.reverse()), this.pushStack(i) } }); var pt = /\S+/g, ht = {}; Q.Callbacks = function(e) { e = "string" == typeof e ? ht[e] || o(e) : Q.extend({}, e); var t, n, r, i, a, s, u = [], c = !e.once && [], l = function(o) { for (t = e.memory && o, n = !0, s = i || 0, i = 0, a = u.length, r = !0; u && a > s; s++) if (u[s].apply(o[0], o[1]) === !1 && e.stopOnFalse) { t = !1; break } r = !1, u && (c ? c.length && l(c.shift()) : t ? u = [] : f.disable()) }, f = { add: function() { if (u) { var n = u.length; ! function o(t) { Q.each(t, function(t, n) { var r = Q.type(n); "function" === r ? e.unique && f.has(n) || u.push(n) : n && n.length && "string" !== r && o(n) }) }(arguments), r ? a = u.length : t && (i = n, l(t)) } return this }, remove: function() { return u && Q.each(arguments, function(e, t) { for (var n; (n = Q.inArray(t, u, n)) > -1;) u.splice(n, 1), r && (a >= n && a--, s >= n && s--) }), this }, has: function(e) { return e ? Q.inArray(e, u) > -1 : !(!u || !u.length) }, empty: function() { return u = [], a = 0, this }, disable: function() { return u = c = t = void 0, this }, disabled: function() { return !u }, lock: function() { return c = void 0, t || f.disable(), this }, locked: function() { return !c }, fireWith: function(e, t) { return !u || n && !c || (t = t || [], t = [e, t.slice ? t.slice() : t], r ? c.push(t) : l(t)), this }, fire: function() { return f.fireWith(this, arguments), this }, fired: function() { return !!n } }; return f }, Q.extend({ Deferred: function(e) { var t = [ ["resolve", "done", Q.Callbacks("once memory"), "resolved"], ["reject", "fail", Q.Callbacks("once memory"), "rejected"], ["notify", "progress", Q.Callbacks("memory")] ], n = "pending", r = { state: function() { return n }, always: function() { return i.done(arguments).fail(arguments), this }, then: function() { var e = arguments; return Q.Deferred(function(n) { Q.each(t, function(t, o) { var a = Q.isFunction(e[t]) && e[t]; i[o[1]](function() { var e = a && a.apply(this, arguments); e && Q.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[o[0] + "With"](this === r ? n.promise() : this, a ? [e] : arguments) }) }), e = null }).promise() }, promise: function(e) { return null != e ? Q.extend(e, r) : r } }, i = {}; return r.pipe = r.then, Q.each(t, function(e, o) { var a = o[2], s = o[3]; r[o[1]] = a.add, s && a.add(function() { n = s }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function() { return i[o[0] + "With"](this === i ? r : this, arguments), this }, i[o[0] + "With"] = a.fireWith }), r.promise(i), e && e.call(i, i), i }, when: function(e) { var t, n, r, i = 0, o = U.call(arguments), a = o.length, s = 1 !== a || e && Q.isFunction(e.promise) ? a : 0, u = 1 === s ? e : Q.Deferred(), c = function(e, n, r) { return function(i) { n[e] = this, r[e] = arguments.length > 1 ? U.call(arguments) : i, r === t ? u.notifyWith(n, r) : --s || u.resolveWith(n, r) } }; if (a > 1) for (t = new Array(a), n = new Array(a), r = new Array(a); a > i; i++) o[i] && Q.isFunction(o[i].promise) ? o[i].promise().done(c(i, r, o)).fail(u.reject).progress(c(i, n, t)) : --s; return s || u.resolveWith(r, o), u.promise() } }); var vt; Q.fn.ready = function(e) { return Q.ready.promise().done(e), this }, Q.extend({ isReady: !1, readyWait: 1, holdReady: function(e) { e ? Q.readyWait++ : Q.ready(!0) }, ready: function(e) { (e === !0 ? --Q.readyWait : Q.isReady) || (Q.isReady = !0, e !== !0 && --Q.readyWait > 0 || (vt.resolveWith(K, [Q]), Q.fn.triggerHandler && (Q(K).triggerHandler("ready"), Q(K).off("ready")))) } }), Q.ready.promise = function(t) { return vt || (vt = Q.Deferred(), "complete" === K.readyState ? setTimeout(Q.ready) : (K.addEventListener("DOMContentLoaded", a, !1), e.addEventListener("load", a, !1))), vt.promise(t) }, Q.ready.promise(); var gt = Q.access = function(e, t, n, r, i, o, a) { var s = 0, u = e.length, c = null == n; if ("object" === Q.type(n)) { i = !0; for (s in n) Q.access(e, t, s, n[s], !0, o, a) } else if (void 0 !== r && (i = !0, Q.isFunction(r) || (a = !0), c && (a ? (t.call(e, r), t = null) : (c = t, t = function(e, t, n) { return c.call(Q(e), n) })), t)) for (; u > s; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : c ? t.call(e) : u ? t(e[0], n) : o }; Q.acceptData = function(e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }, s.uid = 1, s.accepts = Q.acceptData, s.prototype = { key: function(e) { if (!s.accepts(e)) return 0; var t = {}, n = e[this.expando]; if (!n) { n = s.uid++; try { t[this.expando] = { value: n }, Object.defineProperties(e, t) } catch (r) { t[this.expando] = n, Q.extend(e, t) } } return this.cache[n] || (this.cache[n] = {}), n }, set: function(e, t, n) { var r, i = this.key(e), o = this.cache[i]; if ("string" == typeof t) o[t] = n; else if (Q.isEmptyObject(o)) Q.extend(this.cache[i], t); else for (r in t) o[r] = t[r]; return o }, get: function(e, t) { var n = this.cache[this.key(e)]; return void 0 === t ? n : n[t] }, access: function(e, t, n) { var r; return void 0 === t || t && "string" == typeof t && void 0 === n ? (r = this.get(e, t), void 0 !== r ? r : this.get(e, Q.camelCase(t))) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function(e, t) { var n, r, i, o = this.key(e), a = this.cache[o]; if (void 0 === t) this.cache[o] = {}; else { Q.isArray(t) ? r = t.concat(t.map(Q.camelCase)) : (i = Q.camelCase(t), t in a ? r = [t, i] : (r = i, r = r in a ? [r] : r.match(pt) || [])), n = r.length; for (; n--;) delete a[r[n]] } }, hasData: function(e) { return !Q.isEmptyObject(this.cache[e[this.expando]] || {}) }, discard: function(e) { e[this.expando] && delete this.cache[e[this.expando]] } }; var mt = new s, $t = new s, yt = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, bt = /([A-Z])/g; Q.extend({ hasData: function(e) { return $t.hasData(e) || mt.hasData(e) }, data: function(e, t, n) { return $t.access(e, t, n) }, removeData: function(e, t) { $t.remove(e, t) }, _data: function(e, t, n) { return mt.access(e, t, n) }, _removeData: function(e, t) { mt.remove(e, t) } }), Q.fn.extend({ data: function(e, t) { var n, r, i, o = this[0], a = o && o.attributes; if (void 0 === e) { if (this.length && (i = $t.get(o), 1 === o.nodeType && !mt.get(o, "hasDataAttrs"))) { for (n = a.length; n--;) a[n] && (r = a[n].name, 0 === r.indexOf("data-") && (r = Q.camelCase(r.slice(5)), u(o, r, i[r]))); mt.set(o, "hasDataAttrs", !0) } return i } return "object" == typeof e ? this.each(function() { $t.set(this, e) }) : gt(this, function(t) { var n, r = Q.camelCase(e); if (o && void 0 === t) { if (n = $t.get(o, e), void 0 !== n) return n; if (n = $t.get(o, r), void 0 !== n) return n; if (n = u(o, r, void 0), void 0 !== n) return n } else this.each(function() { var n = $t.get(this, r); $t.set(this, r, t), -1 !== e.indexOf("-") && void 0 !== n && $t.set(this, e, t) }) }, null, t, arguments.length > 1, null, !0) }, removeData: function(e) { return this.each(function() { $t.remove(this, e) }) } }), Q.extend({ queue: function(e, t, n) { var r; return e ? (t = (t || "fx") + "queue", r = mt.get(e, t), n && (!r || Q.isArray(n) ? r = mt.access(e, t, Q.makeArray(n)) : r.push(n)), r || []) : void 0 }, dequeue: function(e, t) { t = t || "fx"; var n = Q.queue(e, t), r = n.length, i = n.shift(), o = Q._queueHooks(e, t), a = function() { Q.dequeue(e, t) }; "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire() }, _queueHooks: function(e, t) { var n = t + "queueHooks"; return mt.get(e, n) || mt.access(e, n, { empty: Q.Callbacks("once memory").add(function() { mt.remove(e, [t + "queue", n]) }) }) } }), Q.fn.extend({ queue: function(e, t) { var n = 2; return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? Q.queue(this[0], e) : void 0 === t ? this : this.each(function() { var n = Q.queue(this, e, t); Q._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && Q.dequeue(this, e) }) }, dequeue: function(e) { return this.each(function() { Q.dequeue(this, e) }) }, clearQueue: function(e) { return this.queue(e || "fx", []) }, promise: function(e, t) { var n, r = 1, i = Q.Deferred(), o = this, a = this.length, s = function() { --r || i.resolveWith(o, [o]) }; for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;) n = mt.get(o[a], e + "queueHooks"), n && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t) } }); var wt = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, xt = ["Top", "Right", "Bottom", "Left"], Ct = function(e, t) { return e = t || e, "none" === Q.css(e, "display") || !Q.contains(e.ownerDocument, e) }, St = /^(?:checkbox|radio)$/i; ! function() { var e = K.createDocumentFragment(), t = e.appendChild(K.createElement("div")), n = K.createElement("input"); n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), t.appendChild(n), J.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked, t.innerHTML = "<textarea>x</textarea>", J.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue }(); var kt = "undefined"; J.focusinBubbles = "onfocusin" in e; var Tt = /^key/, Et = /^(?:mouse|pointer|contextmenu)|click/, At = /^(?:focusinfocus|focusoutblur)$/, Nt = /^([^.]*)(?:\.(.+)|)$/; Q.event = { global: {}, add: function(e, t, n, r, i) { var o, a, s, u, c, l, f, d, p, h, v, g = mt.get(e); if (g) for (n.handler && (o = n, n = o.handler, i = o.selector), n.guid || (n.guid = Q.guid++), (u = g.events) || (u = g.events = {}), (a = g.handle) || (a = g.handle = function(t) { return typeof Q !== kt && Q.event.triggered !== t.type ? Q.event.dispatch.apply(e, arguments) : void 0 }), t = (t || "").match(pt) || [""], c = t.length; c--;) s = Nt.exec(t[c]) || [], p = v = s[1], h = (s[2] || "").split(".").sort(), p && (f = Q.event.special[p] || {}, p = (i ? f.delegateType : f.bindType) || p, f = Q.event.special[p] || {}, l = Q.extend({ type: p, origType: v, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && Q.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (d = u[p]) || (d = u[p] = [], d.delegateCount = 0, f.setup && f.setup.call(e, r, h, a) !== !1 || e.addEventListener && e.addEventListener(p, a, !1)), f.add && (f.add.call(e, l), l.handler.guid || (l.handler.guid = n.guid)), i ? d.splice(d.delegateCount++, 0, l) : d.push(l), Q.event.global[p] = !0) }, remove: function(e, t, n, r, i) { var o, a, s, u, c, l, f, d, p, h, v, g = mt.hasData(e) && mt.get(e); if (g && (u = g.events)) { for (t = (t || "").match(pt) || [""], c = t.length; c--;) if (s = Nt.exec(t[c]) || [], p = v = s[1], h = (s[2] || "").split(".").sort(), p) { for (f = Q.event.special[p] || {}, p = (r ? f.delegateType : f.bindType) || p, d = u[p] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = d.length; o--;) l = d[o], !i && v !== l.origType || n && n.guid !== l.guid || s && !s.test(l.namespace) || r && r !== l.selector && ("**" !== r || !l.selector) || (d.splice(o, 1), l.selector && d.delegateCount--, f.remove && f.remove.call(e, l)); a && !d.length && (f.teardown && f.teardown.call(e, h, g.handle) !== !1 || Q.removeEvent(e, p, g.handle), delete u[p]) } else for (p in u) Q.event.remove(e, p + t[c], n, r, !0); Q.isEmptyObject(u) && (delete g.handle, mt.remove(e, "events")) } }, trigger: function(t, n, r, i) { var o, a, s, u, c, l, f, d = [r || K], p = Y.call(t, "type") ? t.type : t, h = Y.call(t, "namespace") ? t.namespace.split(".") : []; if (a = s = r = r || K, 3 !== r.nodeType && 8 !== r.nodeType && !At.test(p + Q.event.triggered) && (p.indexOf(".") >= 0 && (h = p.split("."), p = h.shift(), h.sort()), c = p.indexOf(":") < 0 && "on" + p, t = t[Q.expando] ? t : new Q.Event(p, "object" == typeof t && t), t.isTrigger = i ? 2 : 3, t.namespace = h.join("."), t.namespace_re = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : Q.makeArray(n, [t]), f = Q.event.special[p] || {}, i || !f.trigger || f.trigger.apply(r, n) !== !1)) { if (!i && !f.noBubble && !Q.isWindow(r)) { for (u = f.delegateType || p, At.test(u + p) || (a = a.parentNode); a; a = a.parentNode) d.push(a), s = a; s === (r.ownerDocument || K) && d.push(s.defaultView || s.parentWindow || e) } for (o = 0; (a = d[o++]) && !t.isPropagationStopped();) t.type = o > 1 ? u : f.bindType || p, l = (mt.get(a, "events") || {})[t.type] && mt.get(a, "handle"), l && l.apply(a, n), l = c && a[c], l && l.apply && Q.acceptData(a) && (t.result = l.apply(a, n), t.result === !1 && t.preventDefault()); return t.type = p, i || t.isDefaultPrevented() || f._default && f._default.apply(d.pop(), n) !== !1 || !Q.acceptData(r) || c && Q.isFunction(r[p]) && !Q.isWindow(r) && (s = r[c], s && (r[c] = null), Q.event.triggered = p, r[p](), Q.event.triggered = void 0, s && (r[c] = s)), t.result } }, dispatch: function(e) { e = Q.event.fix(e); var t, n, r, i, o, a = [], s = U.call(arguments), u = (mt.get(this, "events") || {})[e.type] || [], c = Q.event.special[e.type] || {}; if (s[0] = e, e.delegateTarget = this, !c.preDispatch || c.preDispatch.call(this, e) !== !1) { for (a = Q.event.handlers.call(this, e, u), t = 0; (i = a[t++]) && !e.isPropagationStopped();) for (e.currentTarget = i.elem, n = 0; (o = i.handlers[n++]) && !e.isImmediatePropagationStopped();)(!e.namespace_re || e.namespace_re.test(o.namespace)) && (e.handleObj = o, e.data = o.data, r = ((Q.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation())); return c.postDispatch && c.postDispatch.call(this, e), e.result } }, handlers: function(e, t) { var n, r, i, o, a = [], s = t.delegateCount, u = e.target; if (s && u.nodeType && (!e.button || "click" !== e.type)) for (; u !== this; u = u.parentNode || this) if (u.disabled !== !0 || "click" !== e.type) { for (r = [], n = 0; s > n; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? Q(i, this).index(u) >= 0 : Q.find(i, this, null, [u]).length), r[i] && r.push(o); r.length && a.push({ elem: u, handlers: r }) } return s < t.length && a.push({ elem: this, handlers: t.slice(s) }), a }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: "char charCode key keyCode".split(" "), filter: function(e, t) { return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e } }, mouseHooks: { props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function(e, t) { var n, r, i, o = t.button; return null == e.pageX && null != t.clientX && (n = e.target.ownerDocument || K, r = n.documentElement, i = n.body, e.pageX = t.clientX + (r && r.scrollLeft || i && i.scrollLeft || 0) - (r && r.clientLeft || i && i.clientLeft || 0), e.pageY = t.clientY + (r && r.scrollTop || i && i.scrollTop || 0) - (r && r.clientTop || i && i.clientTop || 0)), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e } }, fix: function(e) { if (e[Q.expando]) return e; var t, n, r, i = e.type, o = e, a = this.fixHooks[i]; for (a || (this.fixHooks[i] = a = Et.test(i) ? this.mouseHooks : Tt.test(i) ? this.keyHooks : {}), r = a.props ? this.props.concat(a.props) : this.props, e = new Q.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n]; return e.target || (e.target = K), 3 === e.target.nodeType && (e.target = e.target.parentNode), a.filter ? a.filter(e, o) : e }, special: { load: { noBubble: !0 }, focus: { trigger: function() { return this !== f() && this.focus ? (this.focus(), !1) : void 0 }, delegateType: "focusin" }, blur: { trigger: function() { return this === f() && this.blur ? (this.blur(), !1) : void 0 }, delegateType: "focusout" }, click: { trigger: function() { return "checkbox" === this.type && this.click && Q.nodeName(this, "input") ? (this.click(), !1) : void 0 }, _default: function(e) { return Q.nodeName(e.target, "a") } }, beforeunload: { postDispatch: function(e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } }, simulate: function(e, t, n, r) { var i = Q.extend(new Q.Event, n, { type: e, isSimulated: !0, originalEvent: {} }); r ? Q.event.trigger(i, null, t) : Q.event.dispatch.call(t, i), i.isDefaultPrevented() && n.preventDefault() } }, Q.removeEvent = function(e, t, n) { e.removeEventListener && e.removeEventListener(t, n, !1) }, Q.Event = function(e, t) { return this instanceof Q.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? c : l) : this.type = e, t && Q.extend(this, t), this.timeStamp = e && e.timeStamp || Q.now(), void(this[Q.expando] = !0)) : new Q.Event(e, t) }, Q.Event.prototype = { isDefaultPrevented: l, isPropagationStopped: l, isImmediatePropagationStopped: l, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = c, e && e.preventDefault && e.preventDefault() }, stopPropagation: function() { var e = this.originalEvent; this.isPropagationStopped = c, e && e.stopPropagation && e.stopPropagation() }, stopImmediatePropagation: function() { var e = this.originalEvent; this.isImmediatePropagationStopped = c, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation() } }, Q.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function(e, t) { Q.event.special[e] = { delegateType: t, bindType: t, handle: function(e) { var n, r = this, i = e.relatedTarget, o = e.handleObj; return (!i || i !== r && !Q.contains(r, i)) && (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n } } }), J.focusinBubbles || Q.each({ focus: "focusin", blur: "focusout" }, function(e, t) { var n = function(e) { Q.event.simulate(t, e.target, Q.event.fix(e), !0) }; Q.event.special[t] = { setup: function() { var r = this.ownerDocument || this, i = mt.access(r, t); i || r.addEventListener(e, n, !0), mt.access(r, t, (i || 0) + 1) }, teardown: function() { var r = this.ownerDocument || this, i = mt.access(r, t) - 1; i ? mt.access(r, t, i) : (r.removeEventListener(e, n, !0), mt.remove(r, t)) } } }), Q.fn.extend({ on: function(e, t, n, r, i) { var o, a; if ("object" == typeof e) { "string" != typeof t && (n = n || t, t = void 0); for (a in e) this.on(a, t, n, e[a], i); return this } if (null == n && null == r ? (r = t, n = t = void 0) : null == r && ("string" == typeof t ? (r = n, n = void 0) : (r = n, n = t, t = void 0)), r === !1) r = l; else if (!r) return this; return 1 === i && (o = r, r = function(e) { return Q().off(e), o.apply(this, arguments) }, r.guid = o.guid || (o.guid = Q.guid++)), this.each(function() { Q.event.add(this, e, r, n, t) }) }, one: function(e, t, n, r) { return this.on(e, t, n, r, 1) }, off: function(e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj) return r = e.handleObj, Q(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) { for (i in e) this.off(i, t, e[i]); return this } return (t === !1 || "function" == typeof t) && (n = t, t = void 0), n === !1 && (n = l), this.each(function() { Q.event.remove(this, e, n, t) }) }, trigger: function(e, t) { return this.each(function() { Q.event.trigger(e, t, this) }) }, triggerHandler: function(e, t) { var n = this[0]; return n ? Q.event.trigger(e, t, n, !0) : void 0 } }); var Dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Ot = /<([\w:]+)/, Mt = /<|&#?\w+;/, jt = /<(?:script|style|link)/i, Lt = /checked\s*(?:[^=]|=\s*.checked.)/i, Pt = /^$|\/(?:java|ecma)script/i, qt = /^true\/(.*)/, Rt = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g, It = { 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, "", ""] }; It.optgroup = It.option, It.tbody = It.tfoot = It.colgroup = It.caption = It.thead, It.th = It.td, Q.extend({ clone: function(e, t, n) { var r, i, o, a, s = e.cloneNode(!0), u = Q.contains(e.ownerDocument, e); if (!(J.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || Q.isXMLDoc(e))) for (a = m(s), o = m(e), r = 0, i = o.length; i > r; r++) $(o[r], a[r]); if (t) if (n) for (o = o || m(e), a = a || m(s), r = 0, i = o.length; i > r; r++) g(o[r], a[r]); else g(e, s); return a = m(s, "script"), a.length > 0 && v(a, !u && m(e, "script")), s }, buildFragment: function(e, t, n, r) { for (var i, o, a, s, u, c, l = t.createDocumentFragment(), f = [], d = 0, p = e.length; p > d; d++) if (i = e[d], i || 0 === i) if ("object" === Q.type(i)) Q.merge(f, i.nodeType ? [i] : i); else if (Mt.test(i)) { for (o = o || l.appendChild(t.createElement("div")), a = (Ot.exec(i) || ["", ""])[1].toLowerCase(), s = It[a] || It._default, o.innerHTML = s[1] + i.replace(Dt, "<$1></$2>") + s[2], c = s[0]; c--;) o = o.lastChild; Q.merge(f, o.childNodes), o = l.firstChild, o.textContent = "" } else f.push(t.createTextNode(i)); for (l.textContent = "", d = 0; i = f[d++];) if ((!r || -1 === Q.inArray(i, r)) && (u = Q.contains(i.ownerDocument, i), o = m(l.appendChild(i), "script"), u && v(o), n)) for (c = 0; i = o[c++];) Pt.test(i.type || "") && n.push(i); return l }, cleanData: function(e) { for (var t, n, r, i, o = Q.event.special, a = 0; void 0 !== (n = e[a]); a++) { if (Q.acceptData(n) && (i = n[mt.expando], i && (t = mt.cache[i]))) { if (t.events) for (r in t.events) o[r] ? Q.event.remove(n, r) : Q.removeEvent(n, r, t.handle); mt.cache[i] && delete mt.cache[i] } delete $t.cache[n[$t.expando]] } } }), Q.fn.extend({ text: function(e) { return gt(this, function(e) { return void 0 === e ? Q.text(this) : this.empty().each(function() { (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) && (this.textContent = e) }) }, null, e, arguments.length) }, append: function() { return this.domManip(arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = d(this, e); t.appendChild(e) } }) }, prepend: function() { return this.domManip(arguments, function(e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = d(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function() { return this.domManip(arguments, function(e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, remove: function(e, t) { for (var n, r = e ? Q.filter(e, this) : this, i = 0; null != (n = r[i]); i++) t || 1 !== n.nodeType || Q.cleanData(m(n)), n.parentNode && (t && Q.contains(n.ownerDocument, n) && v(m(n, "script")), n.parentNode.removeChild(n)); return this }, empty: function() { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (Q.cleanData(m(e, !1)), e.textContent = ""); return this }, clone: function(e, t) { return e = null == e ? !1 : e, t = null == t ? e : t, this.map(function() { return Q.clone(this, e, t) }) }, html: function(e) { return gt(this, function(e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !jt.test(e) && !It[(Ot.exec(e) || ["", ""])[1].toLowerCase()]) { e = e.replace(Dt, "<$1></$2>"); try { for (; r > n; n++) t = this[n] || {}, 1 === t.nodeType && (Q.cleanData(m(t, !1)), t.innerHTML = e); t = 0 } catch (i) {} } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function() { var e = arguments[0]; return this.domManip(arguments, function(t) { e = this.parentNode, Q.cleanData(m(this)), e && e.replaceChild(t, this) }), e && (e.length || e.nodeType) ? this : this.remove() }, detach: function(e) { return this.remove(e, !0) }, domManip: function(e, t) { e = B.apply([], e); var n, r, i, o, a, s, u = 0, c = this.length, l = this, f = c - 1, d = e[0], v = Q.isFunction(d); if (v || c > 1 && "string" == typeof d && !J.checkClone && Lt.test(d)) return this.each(function(n) { var r = l.eq(n); v && (e[0] = d.call(this, n, r.html())), r.domManip(e, t) }); if (c && (n = Q.buildFragment(e, this[0].ownerDocument, !1, this), r = n.firstChild, 1 === n.childNodes.length && (n = r), r)) { for (i = Q.map(m(n, "script"), p), o = i.length; c > u; u++) a = n, u !== f && (a = Q.clone(a, !0, !0), o && Q.merge(i, m(a, "script"))), t.call(this[u], a, u); if (o) for (s = i[i.length - 1].ownerDocument, Q.map(i, h), u = 0; o > u; u++) a = i[u], Pt.test(a.type || "") && !mt.access(a, "globalEval") && Q.contains(s, a) && (a.src ? Q._evalUrl && Q._evalUrl(a.src) : Q.globalEval(a.textContent.replace(Rt, ""))) } return this } }), Q.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function(e, t) { Q.fn[e] = function(e) { for (var n, r = [], i = Q(e), o = i.length - 1, a = 0; o >= a; a++) n = a === o ? this : this.clone(!0), Q(i[a])[t](n), W.apply(r, n.get()); return this.pushStack(r) } }); var Ft, Ht = {}, Vt = /^margin/, _t = new RegExp("^(" + wt + ")(?!px)[a-z%]+$", "i"), Ut = function(t) { return t.ownerDocument.defaultView.opener ? t.ownerDocument.defaultView.getComputedStyle(t, null) : e.getComputedStyle(t, null) }; ! function() { function t() { a.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute", a.innerHTML = "", i.appendChild(o); var t = e.getComputedStyle(a, null); n = "1%" !== t.top, r = "4px" === t.width, i.removeChild(o) } var n, r, i = K.documentElement, o = K.createElement("div"), a = K.createElement("div"); a.style && (a.style.backgroundClip = "content-box", a.cloneNode(!0).style.backgroundClip = "", J.clearCloneStyle = "content-box" === a.style.backgroundClip, o.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute", o.appendChild(a), e.getComputedStyle && Q.extend(J, { pixelPosition: function() { return t(), n }, boxSizingReliable: function() { return null == r && t(), r }, reliableMarginRight: function() { var t, n = a.appendChild(K.createElement("div")); return n.style.cssText = a.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0", n.style.marginRight = n.style.width = "0", a.style.width = "1px", i.appendChild(o), t = !parseFloat(e.getComputedStyle(n, null).marginRight), i.removeChild(o), a.removeChild(n), t } })) }(), Q.swap = function(e, t, n, r) { var i, o, a = {}; for (o in t) a[o] = e.style[o], e.style[o] = t[o]; i = n.apply(e, r || []); for (o in t) e.style[o] = a[o]; return i }; var Bt = /^(none|table(?!-c[ea]).+)/, Wt = new RegExp("^(" + wt + ")(.*)$", "i"), zt = new RegExp("^([+-])=(" + wt + ")", "i"), Gt = { position: "absolute", visibility: "hidden", display: "block" }, Xt = { letterSpacing: "0", fontWeight: "400" }, Yt = ["Webkit", "O", "Moz", "ms"]; Q.extend({ cssHooks: { opacity: { get: function(e, t) { if (t) { var n = w(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": "cssFloat" }, style: function(e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var i, o, a, s = Q.camelCase(t), u = e.style; return t = Q.cssProps[s] || (Q.cssProps[s] = C(u, s)), a = Q.cssHooks[t] || Q.cssHooks[s], void 0 === n ? a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : u[t] : (o = typeof n, "string" === o && (i = zt.exec(n)) && (n = (i[1] + 1) * i[2] + parseFloat(Q.css(e, t)), o = "number"), null != n && n === n && ("number" !== o || Q.cssNumber[s] || (n += "px"), J.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (u[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u[t] = n)), void 0) } }, css: function(e, t, n, r) { var i, o, a, s = Q.camelCase(t); return t = Q.cssProps[s] || (Q.cssProps[s] = C(e.style, s)), a = Q.cssHooks[t] || Q.cssHooks[s], a && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = w(e, t, r)), "normal" === i && t in Xt && (i = Xt[t]), "" === n || n ? (o = parseFloat(i), n === !0 || Q.isNumeric(o) ? o || 0 : i) : i } }), Q.each(["height", "width"], function(e, t) { Q.cssHooks[t] = { get: function(e, n, r) { return n ? Bt.test(Q.css(e, "display")) && 0 === e.offsetWidth ? Q.swap(e, Gt, function() { return T(e, t, r) }) : T(e, t, r) : void 0 }, set: function(e, n, r) { var i = r && Ut(e); return S(e, n, r ? k(e, t, r, "border-box" === Q.css(e, "boxSizing", !1, i), i) : 0) } } }), Q.cssHooks.marginRight = x(J.reliableMarginRight, function(e, t) { return t ? Q.swap(e, { display: "inline-block" }, w, [e, "marginRight"]) : void 0 }), Q.each({ margin: "", padding: "", border: "Width" }, function(e, t) { Q.cssHooks[e + t] = { expand: function(n) { for (var r = 0, i = {}, o = "string" == typeof n ? n.split(" ") : [n]; 4 > r; r++) i[e + xt[r] + t] = o[r] || o[r - 2] || o[0]; return i } }, Vt.test(e) || (Q.cssHooks[e + t].set = S) }), Q.fn.extend({ css: function(e, t) { return gt(this, function(e, t, n) { var r, i, o = {}, a = 0; if (Q.isArray(t)) { for (r = Ut(e), i = t.length; i > a; a++) o[t[a]] = Q.css(e, t[a], !1, r); return o } return void 0 !== n ? Q.style(e, t, n) : Q.css(e, t) }, e, t, arguments.length > 1) }, show: function() { return E(this, !0) }, hide: function() { return E(this) }, toggle: function(e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() { Ct(this) ? Q(this).show() : Q(this).hide() }) } }), Q.Tween = A, A.prototype = { constructor: A, init: function(e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || "swing", this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (Q.cssNumber[n] ? "" : "px") }, cur: function() { var e = A.propHooks[this.prop]; return e && e.get ? e.get(this) : A.propHooks._default.get(this) }, run: function(e) { var t, n = A.propHooks[this.prop]; return this.pos = t = this.options.duration ? Q.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : A.propHooks._default.set(this), this } }, A.prototype.init.prototype = A.prototype, A.propHooks = { _default: { get: function(e) { var t; return null == e.elem[e.prop] || e.elem.style && null != e.elem.style[e.prop] ? (t = Q.css(e.elem, e.prop, ""), t && "auto" !== t ? t : 0) : e.elem[e.prop] }, set: function(e) { Q.fx.step[e.prop] ? Q.fx.step[e.prop](e) : e.elem.style && (null != e.elem.style[Q.cssProps[e.prop]] || Q.cssHooks[e.prop]) ? Q.style(e.elem, e.prop, e.now + e.unit) : e.elem[e.prop] = e.now } } }, A.propHooks.scrollTop = A.propHooks.scrollLeft = { set: function(e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, Q.easing = { linear: function(e) { return e }, swing: function(e) { return .5 - Math.cos(e * Math.PI) / 2 } }, Q.fx = A.prototype.init, Q.fx.step = {}; var Jt, Kt, Zt = /^(?:toggle|show|hide)$/, Qt = new RegExp("^(?:([+-])=|)(" + wt + ")([a-z%]*)$", "i"), en = /queueHooks$/, tn = [M], nn = { "*": [function(e, t) { var n = this.createTween(e, t), r = n.cur(), i = Qt.exec(t), o = i && i[3] || (Q.cssNumber[e] ? "" : "px"), a = (Q.cssNumber[e] || "px" !== o && +r) && Qt.exec(Q.css(n.elem, e)), s = 1, u = 20; if (a && a[3] !== o) { o = o || a[3], i = i || [], a = +r || 1; do s = s || ".5", a /= s, Q.style(n.elem, e, a + o); while (s !== (s = n.cur() / r) && 1 !== s && --u) } return i && (a = n.start = +a || +r || 0, n.unit = o, n.end = i[1] ? a + (i[1] + 1) * i[2] : +i[2]), n }] }; Q.Animation = Q.extend(L, { tweener: function(e, t) { Q.isFunction(e) ? (t = e, e = ["*"]) : e = e.split(" "); for (var n, r = 0, i = e.length; i > r; r++) n = e[r], nn[n] = nn[n] || [], nn[n].unshift(t) }, prefilter: function(e, t) { t ? tn.unshift(e) : tn.push(e) } }), Q.speed = function(e, t, n) { var r = e && "object" == typeof e ? Q.extend({}, e) : { complete: n || !n && t || Q.isFunction(e) && e, duration: e, easing: n && t || t && !Q.isFunction(t) && t }; return r.duration = Q.fx.off ? 0 : "number" == typeof r.duration ? r.duration : r.duration in Q.fx.speeds ? Q.fx.speeds[r.duration] : Q.fx.speeds._default, (null == r.queue || r.queue === !0) && (r.queue = "fx"), r.old = r.complete, r.complete = function() { Q.isFunction(r.old) && r.old.call(this), r.queue && Q.dequeue(this, r.queue) }, r }, Q.fn.extend({ fadeTo: function(e, t, n, r) { return this.filter(Ct).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function(e, t, n, r) { var i = Q.isEmptyObject(e), o = Q.speed(t, n, r), a = function() { var t = L(this, Q.extend({}, e), o); (i || mt.get(this, "finish")) && t.stop(!0) }; return a.finish = a, i || o.queue === !1 ? this.each(a) : this.queue(o.queue, a) }, stop: function(e, t, n) { var r = function(e) { var t = e.stop; delete e.stop, t(n) }; return "string" != typeof e && (n = t, t = e, e = void 0), t && e !== !1 && this.queue(e || "fx", []), this.each(function() { var t = !0, i = null != e && e + "queueHooks", o = Q.timers, a = mt.get(this); if (i) a[i] && a[i].stop && r(a[i]); else for (i in a) a[i] && a[i].stop && en.test(i) && r(a[i]); for (i = o.length; i--;) o[i].elem !== this || null != e && o[i].queue !== e || (o[i].anim.stop(n), t = !1, o.splice(i, 1)); (t || !n) && Q.dequeue(this, e) }) }, finish: function(e) { return e !== !1 && (e = e || "fx"), this.each(function() { var t, n = mt.get(this), r = n[e + "queue"], i = n[e + "queueHooks"], o = Q.timers, a = r ? r.length : 0; for (n.finish = !0, Q.queue(this, e, []), i && i.stop && i.stop.call(this, !0), t = o.length; t--;) o[t].elem === this && o[t].queue === e && (o[t].anim.stop(!0), o.splice(t, 1)); for (t = 0; a > t; t++) r[t] && r[t].finish && r[t].finish.call(this); delete n.finish }) } }), Q.each(["toggle", "show", "hide"], function(e, t) { var n = Q.fn[t]; Q.fn[t] = function(e, r, i) { return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(D(t, !0), e, r, i) } }), Q.each({ slideDown: D("show"), slideUp: D("hide"), slideToggle: D("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function(e, t) { Q.fn[e] = function(e, n, r) { return this.animate(t, e, n, r) } }), Q.timers = [], Q.fx.tick = function() { var e, t = 0, n = Q.timers; for (Jt = Q.now(); t < n.length; t++) e = n[t], e() || n[t] !== e || n.splice(t--, 1); n.length || Q.fx.stop(), Jt = void 0 }, Q.fx.timer = function(e) { Q.timers.push(e), e() ? Q.fx.start() : Q.timers.pop() }, Q.fx.interval = 13, Q.fx.start = function() { Kt || (Kt = setInterval(Q.fx.tick, Q.fx.interval)) }, Q.fx.stop = function() { clearInterval(Kt), Kt = null }, Q.fx.speeds = { slow: 600, fast: 200, _default: 400 }, Q.fn.delay = function(e, t) { return e = Q.fx ? Q.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) { var r = setTimeout(t, e); n.stop = function() { clearTimeout(r) } }) }, function() { var e = K.createElement("input"), t = K.createElement("select"), n = t.appendChild(K.createElement("option")); e.type = "checkbox", J.checkOn = "" !== e.value, J.optSelected = n.selected, t.disabled = !0, J.optDisabled = !n.disabled, e = K.createElement("input"), e.value = "t", e.type = "radio", J.radioValue = "t" === e.value }(); var rn, on, an = Q.expr.attrHandle; Q.fn.extend({ attr: function(e, t) { return gt(this, Q.attr, e, t, arguments.length > 1) }, removeAttr: function(e) { return this.each(function() { Q.removeAttr(this, e) }) } }), Q.extend({ attr: function(e, t, n) { var r, i, o = e.nodeType; if (e && 3 !== o && 8 !== o && 2 !== o) return typeof e.getAttribute === kt ? Q.prop(e, t, n) : (1 === o && Q.isXMLDoc(e) || (t = t.toLowerCase(), r = Q.attrHooks[t] || (Q.expr.match.bool.test(t) ? on : rn)), void 0 === n ? r && "get" in r && null !== (i = r.get(e, t)) ? i : (i = Q.find.attr(e, t), null == i ? void 0 : i) : null !== n ? r && "set" in r && void 0 !== (i = r.set(e, n, t)) ? i : (e.setAttribute(t, n + ""), n) : void Q.removeAttr(e, t)) }, removeAttr: function(e, t) { var n, r, i = 0, o = t && t.match(pt); if (o && 1 === e.nodeType) for (; n = o[i++];) r = Q.propFix[n] || n, Q.expr.match.bool.test(n) && (e[r] = !1), e.removeAttribute(n) }, attrHooks: { type: { set: function(e, t) { if (!J.radioValue && "radio" === t && Q.nodeName(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } } }), on = { set: function(e, t, n) { return t === !1 ? Q.removeAttr(e, n) : e.setAttribute(n, n), n } }, Q.each(Q.expr.match.bool.source.match(/\w+/g), function(e, t) { var n = an[t] || Q.find.attr; an[t] = function(e, t, r) { var i, o; return r || (o = an[t], an[t] = i, i = null != n(e, t, r) ? t.toLowerCase() : null, an[t] = o), i } }); var sn = /^(?:input|select|textarea|button)$/i; Q.fn.extend({ prop: function(e, t) { return gt(this, Q.prop, e, t, arguments.length > 1) }, removeProp: function(e) { return this.each(function() { delete this[Q.propFix[e] || e] }) } }), Q.extend({ propFix: { "for": "htmlFor", "class": "className" }, prop: function(e, t, n) { var r, i, o, a = e.nodeType; if (e && 3 !== a && 8 !== a && 2 !== a) return o = 1 !== a || !Q.isXMLDoc(e), o && (t = Q.propFix[t] || t, i = Q.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] }, propHooks: { tabIndex: { get: function(e) { return e.hasAttribute("tabindex") || sn.test(e.nodeName) || e.href ? e.tabIndex : -1 } } } }), J.optSelected || (Q.propHooks.selected = { get: function(e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null } }), Q.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function() { Q.propFix[this.toLowerCase()] = this }); var un = /[\t\r\n\f]/g; Q.fn.extend({ addClass: function(e) { var t, n, r, i, o, a, s = "string" == typeof e && e, u = 0, c = this.length; if (Q.isFunction(e)) return this.each(function(t) { Q(this).addClass(e.call(this, t, this.className)) }); if (s) for (t = (e || "").match(pt) || []; c > u; u++) if (n = this[u], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(un, " ") : " ")) { for (o = 0; i = t[o++];) r.indexOf(" " + i + " ") < 0 && (r += i + " "); a = Q.trim(r), n.className !== a && (n.className = a) } return this }, removeClass: function(e) { var t, n, r, i, o, a, s = 0 === arguments.length || "string" == typeof e && e, u = 0, c = this.length; if (Q.isFunction(e)) return this.each(function(t) { Q(this).removeClass(e.call(this, t, this.className)) }); if (s) for (t = (e || "").match(pt) || []; c > u; u++) if (n = this[u], r = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(un, " ") : "")) { for (o = 0; i = t[o++];) for (; r.indexOf(" " + i + " ") >= 0;) r = r.replace(" " + i + " ", " "); a = e ? Q.trim(r) : "", n.className !== a && (n.className = a) } return this }, toggleClass: function(e, t) { var n = typeof e; return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : this.each(Q.isFunction(e) ? function(n) { Q(this).toggleClass(e.call(this, n, this.className, t), t) } : function() { if ("string" === n) for (var t, r = 0, i = Q(this), o = e.match(pt) || []; t = o[r++];) i.hasClass(t) ? i.removeClass(t) : i.addClass(t); else(n === kt || "boolean" === n) && (this.className && mt.set(this, "__className__", this.className), this.className = this.className || e === !1 ? "" : mt.get(this, "__className__") || "") }) }, hasClass: function(e) { for (var t = " " + e + " ", n = 0, r = this.length; r > n; n++) if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(un, " ").indexOf(t) >= 0) return !0; return !1 } }); var cn = /\r/g; Q.fn.extend({ val: function(e) { var t, n, r, i = this[0]; { if (arguments.length) return r = Q.isFunction(e), this.each(function(n) { var i; 1 === this.nodeType && (i = r ? e.call(this, n, Q(this).val()) : e, null == i ? i = "" : "number" == typeof i ? i += "" : Q.isArray(i) && (i = Q.map(i, function(e) { return null == e ? "" : e + "" })), t = Q.valHooks[this.type] || Q.valHooks[this.nodeName.toLowerCase()], t && "set" in t && void 0 !== t.set(this, i, "value") || (this.value = i)) }); if (i) return t = Q.valHooks[i.type] || Q.valHooks[i.nodeName.toLowerCase()], t && "get" in t && void 0 !== (n = t.get(i, "value")) ? n : (n = i.value, "string" == typeof n ? n.replace(cn, "") : null == n ? "" : n) } } }), Q.extend({ valHooks: { option: { get: function(e) { var t = Q.find.attr(e, "value"); return null != t ? t : Q.trim(Q.text(e)) } }, select: { get: function(e) { for (var t, n, r = e.options, i = e.selectedIndex, o = "select-one" === e.type || 0 > i, a = o ? null : [], s = o ? i + 1 : r.length, u = 0 > i ? s : o ? i : 0; s > u; u++) if (n = r[u], !(!n.selected && u !== i || (J.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && Q.nodeName(n.parentNode, "optgroup"))) { if (t = Q(n).val(), o) return t; a.push(t) } return a }, set: function(e, t) { for (var n, r, i = e.options, o = Q.makeArray(t), a = i.length; a--;) r = i[a], (r.selected = Q.inArray(r.value, o) >= 0) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), Q.each(["radio", "checkbox"], function() { Q.valHooks[this] = { set: function(e, t) { return Q.isArray(t) ? e.checked = Q.inArray(Q(e).val(), t) >= 0 : void 0 } }, J.checkOn || (Q.valHooks[this].get = function(e) { return null === e.getAttribute("value") ? "on" : e.value }) }), Q.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "), function(e, t) { Q.fn[t] = function(e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t) } }), Q.fn.extend({ hover: function(e, t) { return this.mouseenter(e).mouseleave(t || e) }, bind: function(e, t, n) { return this.on(e, null, t, n) }, unbind: function(e, t) { return this.off(e, null, t) }, delegate: function(e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function(e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) } }); var ln = Q.now(), fn = /\?/; Q.parseJSON = function(e) { return JSON.parse(e + "") }, Q.parseXML = function(e) { var t, n; if (!e || "string" != typeof e) return null; try { n = new DOMParser, t = n.parseFromString(e, "text/xml") } catch (r) { t = void 0 } return (!t || t.getElementsByTagName("parsererror").length) && Q.error("Invalid XML: " + e), t }; var dn = /#.*$/, pn = /([?&])_=[^&]*/, hn = /^(.*?):[ \t]*([^\r\n]*)$/gm, vn = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, gn = /^(?:GET|HEAD)$/, mn = /^\/\//, $n = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/, yn = {}, bn = {}, wn = "*/".concat("*"), xn = e.location.href, Cn = $n.exec(xn.toLowerCase()) || []; Q.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: xn, type: "GET", isLocal: vn.test(Cn[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": wn, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: /json/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": Q.parseJSON, "text xml": Q.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function(e, t) { return t ? R(R(e, Q.ajaxSettings), t) : R(Q.ajaxSettings, e) }, ajaxPrefilter: P(yn), ajaxTransport: P(bn), ajax: function(e, t) { function n(e, t, n, a) { var u, l, m, $, b, x = t; 2 !== y && (y = 2, s && clearTimeout(s), r = void 0, o = a || "", w.readyState = e > 0 ? 4 : 0, u = e >= 200 && 300 > e || 304 === e, n && ($ = I(f, w, n)), $ = F(f, $, w, u), u ? (f.ifModified && (b = w.getResponseHeader("Last-Modified"), b && (Q.lastModified[i] = b), b = w.getResponseHeader("etag"), b && (Q.etag[i] = b)), 204 === e || "HEAD" === f.type ? x = "nocontent" : 304 === e ? x = "notmodified" : (x = $.state, l = $.data, m = $.error, u = !m)) : (m = x, (e || !x) && (x = "error", 0 > e && (e = 0))), w.status = e, w.statusText = (t || x) + "", u ? h.resolveWith(d, [l, x, w]) : h.rejectWith(d, [w, x, m]), w.statusCode(g), g = void 0, c && p.trigger(u ? "ajaxSuccess" : "ajaxError", [w, f, u ? l : m]), v.fireWith(d, [w, x]), c && (p.trigger("ajaxComplete", [w, f]), --Q.active || Q.event.trigger("ajaxStop"))) } "object" == typeof e && (t = e, e = void 0), t = t || {}; var r, i, o, a, s, u, c, l, f = Q.ajaxSetup({}, t), d = f.context || f, p = f.context && (d.nodeType || d.jquery) ? Q(d) : Q.event, h = Q.Deferred(), v = Q.Callbacks("once memory"), g = f.statusCode || {}, m = {}, $ = {}, y = 0, b = "canceled", w = { readyState: 0, getResponseHeader: function(e) { var t; if (2 === y) { if (!a) for (a = {}; t = hn.exec(o);) a[t[1].toLowerCase()] = t[2]; t = a[e.toLowerCase()] } return null == t ? null : t }, getAllResponseHeaders: function() { return 2 === y ? o : null }, setRequestHeader: function(e, t) { var n = e.toLowerCase(); return y || (e = $[n] = $[n] || e, m[e] = t), this }, overrideMimeType: function(e) { return y || (f.mimeType = e), this }, statusCode: function(e) { var t; if (e) if (2 > y) for (t in e) g[t] = [g[t], e[t]]; else w.always(e[w.status]); return this }, abort: function(e) { var t = e || b; return r && r.abort(t), n(0, t), this } }; if (h.promise(w).complete = v.add, w.success = w.done, w.error = w.fail, f.url = ((e || f.url || xn) + "").replace(dn, "").replace(mn, Cn[1] + "//"), f.type = t.method || t.type || f.method || f.type, f.dataTypes = Q.trim(f.dataType || "*").toLowerCase().match(pt) || [""], null == f.crossDomain && (u = $n.exec(f.url.toLowerCase()), f.crossDomain = !(!u || u[1] === Cn[1] && u[2] === Cn[2] && (u[3] || ("http:" === u[1] ? "80" : "443")) === (Cn[3] || ("http:" === Cn[1] ? "80" : "443")))), f.data && f.processData && "string" != typeof f.data && (f.data = Q.param(f.data, f.traditional)), q(yn, f, t, w), 2 === y) return w; c = Q.event && f.global, c && 0 === Q.active++ && Q.event.trigger("ajaxStart"), f.type = f.type.toUpperCase(), f.hasContent = !gn.test(f.type), i = f.url, f.hasContent || (f.data && (i = f.url += (fn.test(i) ? "&" : "?") + f.data, delete f.data), f.cache === !1 && (f.url = pn.test(i) ? i.replace(pn, "$1_=" + ln++) : i + (fn.test(i) ? "&" : "?") + "_=" + ln++)), f.ifModified && (Q.lastModified[i] && w.setRequestHeader("If-Modified-Since", Q.lastModified[i]), Q.etag[i] && w.setRequestHeader("If-None-Match", Q.etag[i])), (f.data && f.hasContent && f.contentType !== !1 || t.contentType) && w.setRequestHeader("Content-Type", f.contentType), w.setRequestHeader("Accept", f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ("*" !== f.dataTypes[0] ? ", " + wn + "; q=0.01" : "") : f.accepts["*"]); for (l in f.headers) w.setRequestHeader(l, f.headers[l]); if (f.beforeSend && (f.beforeSend.call(d, w, f) === !1 || 2 === y)) return w.abort(); b = "abort"; for (l in { success: 1, error: 1, complete: 1 }) w[l](f[l]); if (r = q(bn, f, t, w)) { w.readyState = 1, c && p.trigger("ajaxSend", [w, f]), f.async && f.timeout > 0 && (s = setTimeout(function() { w.abort("timeout") }, f.timeout)); try { y = 1, r.send(m, n) } catch (x) { if (!(2 > y)) throw x; n(-1, x) } } else n(-1, "No Transport"); return w }, getJSON: function(e, t, n) { return Q.get(e, t, n, "json") }, getScript: function(e, t) { return Q.get(e, void 0, t, "script") } }), Q.each(["get", "post"], function(e, t) { Q[t] = function(e, n, r, i) { return Q.isFunction(n) && (i = i || r, r = n, n = void 0), Q.ajax({ url: e, type: t, dataType: i, data: n, success: r }) } }), Q._evalUrl = function(e) { return Q.ajax({ url: e, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) }, Q.fn.extend({ wrapAll: function(e) { var t; return Q.isFunction(e) ? this.each(function(t) { Q(this).wrapAll(e.call(this, t)) }) : (this[0] && (t = Q(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e }).append(this)), this) }, wrapInner: function(e) { return this.each(Q.isFunction(e) ? function(t) { Q(this).wrapInner(e.call(this, t)) } : function() { var t = Q(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e) }) }, wrap: function(e) { var t = Q.isFunction(e); return this.each(function(n) { Q(this).wrapAll(t ? e.call(this, n) : e) }) }, unwrap: function() { return this.parent().each(function() { Q.nodeName(this, "body") || Q(this).replaceWith(this.childNodes) }).end() } }), Q.expr.filters.hidden = function(e) { return e.offsetWidth <= 0 && e.offsetHeight <= 0 }, Q.expr.filters.visible = function(e) { return !Q.expr.filters.hidden(e) }; var Sn = /%20/g, kn = /\[\]$/, Tn = /\r?\n/g, En = /^(?:submit|button|image|reset|file)$/i, An = /^(?:input|select|textarea|keygen)/i; Q.param = function(e, t) { var n, r = [], i = function(e, t) { t = Q.isFunction(t) ? t() : null == t ? "" : t, r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(t) }; if (void 0 === t && (t = Q.ajaxSettings && Q.ajaxSettings.traditional), Q.isArray(e) || e.jquery && !Q.isPlainObject(e)) Q.each(e, function() { i(this.name, this.value) }); else for (n in e) H(n, e[n], t, i); return r.join("&").replace(Sn, "+") }, Q.fn.extend({ serialize: function() { return Q.param(this.serializeArray()) }, serializeArray: function() { return this.map(function() { var e = Q.prop(this, "elements"); return e ? Q.makeArray(e) : this }).filter(function() { var e = this.type; return this.name && !Q(this).is(":disabled") && An.test(this.nodeName) && !En.test(e) && (this.checked || !St.test(e)) }).map(function(e, t) { var n = Q(this).val(); return null == n ? null : Q.isArray(n) ? Q.map(n, function(e) { return { name: t.name, value: e.replace(Tn, "\r\n") } }) : { name: t.name, value: n.replace(Tn, "\r\n") } }).get() } }), Q.ajaxSettings.xhr = function() { try { return new XMLHttpRequest } catch (e) {} }; var Nn = 0, Dn = {}, On = { 0: 200, 1223: 204 }, Mn = Q.ajaxSettings.xhr(); e.attachEvent && e.attachEvent("onunload", function() { for (var e in Dn) Dn[e]() }), J.cors = !!Mn && "withCredentials" in Mn, J.ajax = Mn = !!Mn, Q.ajaxTransport(function(e) { var t; return J.cors || Mn && !e.crossDomain ? { send: function(n, r) { var i, o = e.xhr(), a = ++Nn; if (o.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (i in e.xhrFields) o[i] = e.xhrFields[i]; e.mimeType && o.overrideMimeType && o.overrideMimeType(e.mimeType), e.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest"); for (i in n) o.setRequestHeader(i, n[i]); t = function(e) { return function() { t && (delete Dn[a], t = o.onload = o.onerror = null, "abort" === e ? o.abort() : "error" === e ? r(o.status, o.statusText) : r(On[o.status] || o.status, o.statusText, "string" == typeof o.responseText ? { text: o.responseText } : void 0, o.getAllResponseHeaders())) } }, o.onload = t(), o.onerror = t("error"), t = Dn[a] = t("abort"); try { o.send(e.hasContent && e.data || null) } catch (s) { if (t) throw s } }, abort: function() { t && t() } } : void 0 }), Q.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function(e) { return Q.globalEval(e), e } } }), Q.ajaxPrefilter("script", function(e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), Q.ajaxTransport("script", function(e) { if (e.crossDomain) { var t, n; return { send: function(r, i) { t = Q("<script>").prop({ async: !0, charset: e.scriptCharset, src: e.url }).on("load error", n = function(e) { t.remove(), n = null, e && i("error" === e.type ? 404 : 200, e.type) }), K.head.appendChild(t[0]) }, abort: function() { n && n() } } } }); var jn = [], Ln = /(=)\?(?=&|$)|\?\?/; Q.ajaxSetup({ jsonp: "callback", jsonpCallback: function() { var e = jn.pop() || Q.expando + "_" + ln++; return this[e] = !0, e } }), Q.ajaxPrefilter("json jsonp", function(t, n, r) { var i, o, a, s = t.jsonp !== !1 && (Ln.test(t.url) ? "url" : "string" == typeof t.data && !(t.contentType || "").indexOf("application/x-www-form-urlencoded") && Ln.test(t.data) && "data"); return s || "jsonp" === t.dataTypes[0] ? (i = t.jsonpCallback = Q.isFunction(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Ln, "$1" + i) : t.jsonp !== !1 && (t.url += (fn.test(t.url) ? "&" : "?") + t.jsonp + "=" + i), t.converters["script json"] = function() { return a || Q.error(i + " was not called"), a[0] }, t.dataTypes[0] = "json", o = e[i], e[i] = function() { a = arguments }, r.always(function() { e[i] = o, t[i] && (t.jsonpCallback = n.jsonpCallback, jn.push(i)), a && Q.isFunction(o) && o(a[0]), a = o = void 0 }), "script") : void 0 }), Q.parseHTML = function(e, t, n) { if (!e || "string" != typeof e) return null; "boolean" == typeof t && (n = t, t = !1), t = t || K; var r = at.exec(e), i = !n && []; return r ? [t.createElement(r[1])] : (r = Q.buildFragment([e], t, i), i && i.length && Q(i).remove(), Q.merge([], r.childNodes)) }; var Pn = Q.fn.load; Q.fn.load = function(e, t, n) { if ("string" != typeof e && Pn) return Pn.apply(this, arguments); var r, i, o, a = this, s = e.indexOf(" "); return s >= 0 && (r = Q.trim(e.slice(s)), e = e.slice(0, s)), Q.isFunction(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), a.length > 0 && Q.ajax({ url: e, type: i, dataType: "html", data: t }).done(function(e) { o = arguments, a.html(r ? Q("<div>").append(Q.parseHTML(e)).find(r) : e) }).complete(n && function(e, t) { a.each(n, o || [e.responseText, t, e]) }), this }, Q.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function(e, t) { Q.fn[t] = function(e) { return this.on(t, e) } }), Q.expr.filters.animated = function(e) { return Q.grep(Q.timers, function(t) { return e === t.elem }).length }; var qn = e.document.documentElement; Q.offset = { setOffset: function(e, t, n) { var r, i, o, a, s, u, c, l = Q.css(e, "position"), f = Q(e), d = {}; "static" === l && (e.style.position = "relative"), s = f.offset(), o = Q.css(e, "top"), u = Q.css(e, "left"), c = ("absolute" === l || "fixed" === l) && (o + u).indexOf("auto") > -1, c ? (r = f.position(), a = r.top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), Q.isFunction(t) && (t = t.call(e, n, s)), null != t.top && (d.top = t.top - s.top + a), null != t.left && (d.left = t.left - s.left + i), "using" in t ? t.using.call(e, d) : f.css(d) } }, Q.fn.extend({ offset: function(e) { if (arguments.length) return void 0 === e ? this : this.each(function(t) { Q.offset.setOffset(this, e, t) }); var t, n, r = this[0], i = { top: 0, left: 0 }, o = r && r.ownerDocument; if (o) return t = o.documentElement, Q.contains(t, r) ? (typeof r.getBoundingClientRect !== kt && (i = r.getBoundingClientRect()), n = V(o), { top: i.top + n.pageYOffset - t.clientTop, left: i.left + n.pageXOffset - t.clientLeft }) : i }, position: function() { if (this[0]) { var e, t, n = this[0], r = { top: 0, left: 0 }; return "fixed" === Q.css(n, "position") ? t = n.getBoundingClientRect() : (e = this.offsetParent(), t = this.offset(), Q.nodeName(e[0], "html") || (r = e.offset()), r.top += Q.css(e[0], "borderTopWidth", !0), r.left += Q.css(e[0], "borderLeftWidth", !0)), { top: t.top - r.top - Q.css(n, "marginTop", !0), left: t.left - r.left - Q.css(n, "marginLeft", !0) } } }, offsetParent: function() { return this.map(function() { for (var e = this.offsetParent || qn; e && !Q.nodeName(e, "html") && "static" === Q.css(e, "position");) e = e.offsetParent; return e || qn }) } }), Q.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function(t, n) { var r = "pageYOffset" === n; Q.fn[t] = function(i) { return gt(this, function(t, i, o) { var a = V(t); return void 0 === o ? a ? a[n] : t[i] : void(a ? a.scrollTo(r ? e.pageXOffset : o, r ? o : e.pageYOffset) : t[i] = o) }, t, i, arguments.length, null) } }), Q.each(["top", "left"], function(e, t) { Q.cssHooks[t] = x(J.pixelPosition, function(e, n) { return n ? (n = w(e, t), _t.test(n) ? Q(e).position()[t] + "px" : n) : void 0 }) }), Q.each({ Height: "height", Width: "width" }, function(e, t) { Q.each({ padding: "inner" + e, content: t, "": "outer" + e }, function(n, r) { Q.fn[r] = function(r, i) { var o = arguments.length && (n || "boolean" != typeof r), a = n || (r === !0 || i === !0 ? "margin" : "border"); return gt(this, function(t, n, r) { var i; return Q.isWindow(t) ? t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === r ? Q.css(t, n, a) : Q.style(t, n, r, a) }, t, o ? r : void 0, o, null) } }) }), Q.fn.size = function() { return this.length }, Q.fn.andSelf = Q.fn.addBack, "function" == typeof define && define.amd && define("jquery", [], function() { return Q }); var Rn = e.jQuery, In = e.$; return Q.noConflict = function(t) { return e.$ === Q && (e.$ = In), t && e.jQuery === Q && (e.jQuery = Rn), Q }, typeof t === kt && (e.jQuery = e.$ = Q), Q }) }, {}] }, {}, [1]);
Back