');return p.unshift(t),v.unshift({animating:!0}),m.append(t),e&&t.css(e),t}function a(e,t){var n,r,o,a=m.prop("offsetWidth"),c=m.prop("offsetHeight");return i.isMenuItem?r=Math.sqrt(Math.pow(a,2)+Math.pow(c,2)):i.outline?(o=b.getBoundingClientRect(),e-=o.left,t-=o.top,a=Math.max(e,a-e),c=Math.max(t,c-t),r=2*Math.sqrt(Math.pow(a,2)+Math.pow(c,2))):(n=i.isFAB?1.1:.8,r=Math.max(a,c)*n),r}function l(e,t,n){function r(e){return e.replace("rgba","rgb").replace(/,[^\)\,]+\)/,")")}var o,a={backgroundColor:r(S),borderColor:r(S),width:e+"px",height:e+"px"};return i.outline?(a.width=0,a.height=0):a.marginLeft=a.marginTop=e*-.5+"px",i.center?a.left=a.top="50%":(o=b.getBoundingClientRect(),a.left=Math.round((t-o.left)/m.prop("offsetWidth")*100)+"%",a.top=Math.round((n-o.top)/m.prop("offsetHeight")*100)+"%"),a}function u(){if(s)return s;var e=s=angular.element('
');return r.append(e),e}var m=u(),h=a(e,n),g=l(h,e,n),$=o(g),C=p.indexOf($),T=v[C]||{};return d=h,T.animating=!0,t(function(){i.dimBackground&&m.css({backgroundColor:S}),$.addClass("md-ripple-placed md-ripple-scaled"),i.outline?$.css({borderWidth:.5*h+"px",marginLeft:h*-.5+"px",marginTop:h*-.5+"px"}):$.css({left:"50%",top:"50%"}),c($),t(function(){T.animating=!1,c($)},i.outline?450:225,!1)},0,!1),$}function u(e){function n(){var e=b.parentNode;return!(b.hasAttribute("disabled")||e&&e.hasAttribute("disabled"))}var r,i;e.eventType===Hammer.INPUT_START&&e.isFirst&&n()?(r=l(e.center.x,e.center.y),$=!0):e.eventType===Hammer.INPUT_END&&e.isFinal&&($=!1,i=p.length-1,r=p[i],t(function(){c(r)},0,!1))}if(r.controller("mdNoInk"))return angular.noop;i=angular.extend({colorElement:r,mousedown:!0,hover:!0,focus:!0,center:!1,mousedownPauseTime:150,dimBackground:!1,outline:!1,isFAB:!1,isMenuItem:!1},i);var s,d,m=r.controller("mdInkRipple")||{},f=0,p=[],v=[],h=r.attr("md-highlight"),g=!1,$=!1,b=r[0],C=new Hammer(b),S=o(r.attr("md-ink-ripple"))||o(e.getComputedStyle(i.colorElement[0]).color||"rgb(0, 0, 0)");return i.mousedown&&C.on("hammer.input",u),m.createRipple=l,h&&n.$watch(h,function(e){g=e,g&&!p.length&&t(function(){l(0,0)},0,!1),angular.forEach(p,c)}),function(){C.destroy(),s&&s.remove()}}return{attachButtonBehavior:n,attachCheckboxBehavior:r,attachTabBehavior:i,attach:o}}function n(){return function(){return{controller:angular.noop}}}angular.module("material.core").factory("$mdInkRipple",t).directive("mdInkRipple",e).directive("mdNoInk",n()).directive("mdNoBar",n()).directive("mdNoStretch",n()),e.$inject=["$mdInkRipple"],t.$inject=["$window","$timeout"]}(),function(){"use strict";function e(){function e(e){function r(t,n){void 0===n&&(n=t,t=void 0),void 0===t&&(t=e),r.inherit(n,n)}return r.inherit=function(r,i){function o(e){var t=r.data("$mdThemeName");t&&r.removeClass("md-"+t+"-theme"),r.addClass("md-"+e+"-theme"),r.data("$mdThemeName",e)}var a=i.controller("mdTheme"),c=r.attr("md-theme-watch");if((n||angular.isDefined(c))&&"false"!=c){var l=e.$watch(function(){return a&&a.$mdTheme||t},o);r.on("$destroy",l)}else{var u=a&&a.$mdTheme||t;o(u)}},r}var t="default",n=!1;return{setDefaultTheme:function(e){t=e},alwaysWatchTheme:function(e){n=e},$get:["$rootScope",e]}}function t(e){return{priority:100,link:{pre:function(t,n,r){var i={$setTheme:function(e){i.$mdTheme=e}};n.data("$mdThemeController",i),i.$setTheme(e(r.mdTheme)(t)),r.$observe("mdTheme",i.$setTheme)}}}}function n(e){return e}angular.module("material.core").directive("mdTheme",t).directive("mdThemable",n).provider("$mdTheming",e),t.$inject=["$interpolate"],n.$inject=["$mdTheming"]}(),function(){"use strict";function e(e){return e}angular.module("material.components.backdrop",["material.core"]).directive("mdBackdrop",e),e.$inject=["$mdTheming"]}(),function(){"use strict";function e(){return{restrict:"E"}}function t(e){function t(e,t,n,r,i,o,a,c){function l(r,l,u){d=i('
')(r),d.on("click touchstart",function(){n(a.cancel)}),o.inherit(d,u.parent),e.enter(d,u.parent,null);var m=new s(l);return u.bottomSheet=m,u.targetEvent&&angular.element(u.targetEvent.target).blur(),o.inherit(m.element,u.parent),e.enter(m.element,u.parent).then(function(){var e=angular.element(l[0].querySelector("button")||l[0].querySelector("a")||l[0].querySelector("[ng-click]"));e.eq(0).focus(),u.escapeToClose&&(u.rootElementKeyupCallback=function(e){e.keyCode===t.KEY_CODE.ESCAPE&&n(a.cancel)},c.on("keyup",u.rootElementKeyupCallback))})}function u(t,n,r){var i=r.bottomSheet;return e.leave(d),e.leave(i.element).then(function(){i.cleanup(),r.targetEvent&&angular.element(r.targetEvent.target).focus()})}function s(e){function r(n){n.preventDefault(),p=n.target,s=c(n),f=e.css(t.CSS.TRANSITION_DURATION),e.css(t.CSS.TRANSITION_DURATION,"0s")}function i(r){e.css(t.CSS.TRANSITION_DURATION,f);var i=c(r);Math.abs(i-s)<5&&r.target==p?angular.element(r.target).triggerHandler("click"):m>g?n(a.cancel):l(void 0)}function o(e){var t=c(e),n=t-s;m=t-d,d=t,n=u(n),l(n+v)}function c(e){var t=e.touches&&e.touches.length?e.touches[0]:e.changedTouches[0];return t.clientY}function l(n){null===n||void 0===n?e.css(t.CSS.TRANSFORM,""):e.css(t.CSS.TRANSFORM,"translate3d(0, "+n+"px, 0)")}function u(e){if(0>e&&-v+h>e){e=-e;var t=v-h;e=Math.max(-v,-Math.min(v-5,t+h*(e-t)/v)-e/50)}return e}var s,d,m,f,p,v=80,h=20,g=10;return e=e.eq(0),e.on("touchstart",r).on("touchmove",o).on("touchend",i),{element:e,cleanup:function(){e.off("touchstart",r).off("touchmove",o).off("touchend",i)}}}var d;return{themable:!0,targetEvent:null,onShow:l,onRemove:u,escapeToClose:!0}}return t.$inject=["$animate","$mdConstant","$timeout","$$rAF","$compile","$mdTheming","$mdBottomSheet","$rootElement"],e("$mdBottomSheet").setDefaults({options:t})}angular.module("material.components.bottomSheet",["material.core","material.components.backdrop"]).directive("mdBottomSheet",e).provider("$mdBottomSheet",t),t.$inject=["$$interimElementProvider"]}(),function(){"use strict";function e(e,t,n){function r(e){return angular.isDefined(e.href)||angular.isDefined(e.ngHref)}function i(e,t){return r(t)?'':''}function o(i,o,a){var c=o[0];t(o),e.attachButtonBehavior(i,o);var l=c.textContent.trim();l||n.expect(o,"aria-label"),r(a)&&i.$watch(a.ngDisabled,function(e){o.attr("tabindex",e?-1:0)})}return{restrict:"E",replace:!0,transclude:!0,template:i,link:o}}angular.module("material.components.button",["material.core"]).directive("mdButton",e),e.$inject=["$mdInkRipple","$mdTheming","$mdAria"]}(),function(){"use strict";function e(e){return{restrict:"E",link:function(t,n){e(n)}}}angular.module("material.components.card",["material.core"]).directive("mdCard",e),e.$inject=["$mdTheming"]}(),function(){"use strict";function e(e,t,n,r,i){function o(t,o){return o.type="checkbox",o.tabIndex=0,t.attr("role",o.type),function(o,c,l,u){function s(e){e.which===r.KEY_CODE.SPACE&&(e.preventDefault(),d(e))}function d(e){c[0].hasAttribute("disabled")||o.$apply(function(){f=!f,u.$setViewValue(f,e&&e.type),u.$render()})}function m(){f=u.$viewValue,f?c.addClass(a):c.removeClass(a)}var f=!1;i(c),u=u||{$setViewValue:function(e){this.$viewValue=e},$parsers:[],$formatters:[]},n.expectWithText(t,"aria-label"),e.link.pre(o,{on:angular.noop,0:{}},l,[u]),c.on("click",d),c.on("keypress",s),u.$render=m}}e=e[0];var a="md-checked";return{restrict:"E",transclude:!0,require:"?ngModel",template:'',compile:o}}angular.module("material.components.checkbox",["material.core"]).directive("mdCheckbox",e),e.$inject=["inputDirective","$mdInkRipple","$mdAria","$mdConstant","$mdTheming"]}(),function(){"use strict";function e(e){function t(e,t){this.$scope=e,this.$element=t}return{restrict:"E",controller:["$scope","$element",t],link:function(t,n){e(n),t.$broadcast("$mdContentLoaded",n)}}}angular.module("material.components.content",["material.core"]).directive("mdContent",e),e.$inject=["$mdTheming"]}(),function(){"use strict";function e(e,t){return{restrict:"E",link:function(n,r){t(r),e(function(){var e=r[0].querySelector("md-content");e&&e.scrollHeight>e.clientHeight&&r.addClass("md-content-overflow")})}}}function t(e){function t(e){return{template:['',"","{{ dialog.title }}
","{{ dialog.content }}
","",'','',"{{ dialog.cancel }}","",'',"{{ dialog.ok }}","","
",""].join(""),controller:function(){this.hide=function(){e.hide(!0)},this.abort=function(){e.cancel()}},controllerAs:"dialog",bindToController:!0}}function n(e,t,n,r,i,o,a,c,l,u,s){function d(i,o,l){function u(){var e=o[0].querySelector(".dialog-close");if(!e){var t=o[0].querySelectorAll(".md-actions button");e=t[t.length-1]}return angular.element(e)}l.parent=angular.element(l.parent),l.popInTarget=angular.element((l.targetEvent||{}).target);var d=u();return f(o.find("md-dialog")),l.hasBackdrop&&(l.backdrop=n('')(i),c.inherit(l.backdrop,l.parent),r.enter(l.backdrop,l.parent,null)),p(o,l.parent,l.popInTarget.length&&l.popInTarget).then(function(){l.escapeToClose&&(l.rootElementKeyupCallback=function(t){t.keyCode===a.KEY_CODE.ESCAPE&&e(s.cancel)},t.on("keyup",l.rootElementKeyupCallback)),l.clickOutsideToClose&&(l.dialogClickOutsideCallback=function(t){t.target===o[0]&&e(s.cancel)},o.on("click",l.dialogClickOutsideCallback)),d.focus()})}function m(e,n,i){return i.backdrop&&(r.leave(i.backdrop),n.data("backdrop",void 0)),i.escapeToClose&&t.off("keyup",i.rootElementKeyupCallback),i.clickOutsideToClose&&n.off("click",i.dialogClickOutsideCallback),r.leave(n).then(function(){n.remove(),i.popInTarget&&i.popInTarget.focus()})}function f(e){e.attr({role:"dialog"});var t=e.find("md-content");0===t.length&&(t=e),i.expectAsync(e,"aria-label",function(){var e=t.text().split(/\s+/);return e.length>3&&(e=e.slice(0,3).concat("...")),e.join(" ")})}function p(e,t,n){function r(t){t.target===e[0]&&(e.off(a.CSS.TRANSITIONEND,r),i.resolve())}var i=u.defer();t.append(e);var o;if(n){var c=n[0].getBoundingClientRect();o="translate3d("+(c.left-e[0].offsetWidth/2)+"px,"+(c.top-e[0].offsetHeight/2)+"px,0) scale(0.2)"}else o="translate3d(0,100%,0) scale(0.5)";return e.css(a.CSS.TRANSFORM,o).css("opacity",0),l(function(){l(function(){e.addClass("md-active").css(a.CSS.TRANSFORM,"").css("opacity","").on(a.CSS.TRANSITIONEND,r)})}),i.promise}return{hasBackdrop:!0,isolateScope:!0,onShow:d,onRemove:m,clickOutsideToClose:!0,escapeToClose:!0,targetEvent:null,transformTemplate:function(e){return''+e+"
"}}}var r=["title","content","ariaLabel","ok"];return t.$inject=["$mdDialog"],n.$inject=["$timeout","$rootElement","$compile","$animate","$mdAria","$mdUtil","$mdConstant","$mdTheming","$$rAF","$q","$mdDialog"],e("$mdDialog").setDefaults({methods:["hasBackdrop","clickOutsideToClose","escapeToClose","targetEvent"],options:n}).addPreset("alert",{methods:r,options:t}).addPreset("confirm",{methods:r.concat("cancel"),options:t})}angular.module("material.components.dialog",["material.core","material.components.backdrop"]).directive("mdDialog",e).provider("$mdDialog",t),e.$inject=["$$rAF","$mdTheming"],t.$inject=["$$interimElementProvider"]}(),function(){"use strict";function e(){}function t(t){return{restrict:"E",link:t,controller:[e]}}angular.module("material.components.divider",["material.core"]).directive("mdDivider",t),t.$inject=["$mdTheming"]}(),function(){"use strict";function e(){return{restrict:"E",template:'',compile:function(e,t){var n=angular.element(e[0].children[0]);angular.isDefined(t.icon)&&n.attr("data",t.icon)}}}angular.module("material.components.icon",["material.core"]).directive("mdIcon",e)}(),function(){"use strict";function e(){return{restrict:"E",link:function(e,t){t.attr({role:"list"})}}}function t(){return{restrict:"E",link:function(e,t){t.attr({role:"listitem"})}}}angular.module("material.components.list",["material.core"]).directive("mdList",e).directive("mdItem",t)}(),function(){"use strict";function e(e,t,n){function r(e){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),i}function i(e,r,i){n(r);var l,u,s,d,m=r[0],f=m.querySelectorAll(".md-fill, .md-mask.md-full"),p=m.querySelectorAll(".md-fill.md-fix"),v=i.mdDiameter||48,h=v/48;m.style[t.CSS.TRANSFORM]="scale("+h.toString()+")",i.$observe("value",function(e){for(u=o(e),s=a[u],d=c[u],r.attr("aria-valuenow",u),l=0;l100?100:0>e?0:Math.ceil(e||0)}for(var a=new Array(101),c=new Array(101),l=0;101>l;l++){var u=l/100,s=Math.floor(180*u);a[l]="rotate("+s.toString()+"deg)",c[l]="rotate("+(2*s).toString()+"deg)"}return{restrict:"E",template:'',compile:r}}angular.module("material.components.progressCircular",["material.core"]).directive("mdProgressCircular",e),e.$inject=["$$rAF","$mdConstant","$mdTheming"]}(),function(){"use strict";function e(e,n,r){function i(e){return e.attr("aria-valuemin",0),e.attr("aria-valuemax",100),e.attr("role","progressbar"),o}function o(i,o,c){r(o);var l=o[0].querySelector(".md-bar1").style,u=o[0].querySelector(".md-bar2").style,s=angular.element(o[0].querySelector(".md-container"));c.$observe("value",function(e){if("query"!=c.mdMode){var r=a(e);o.attr("aria-valuenow",r),u[n.CSS.TRANSFORM]=t[r]}}),c.$observe("mdBufferValue",function(e){l[n.CSS.TRANSFORM]=t[a(e)]}),e(function(){s.addClass("md-ready")})}function a(e){return e>100?100:0>e?0:Math.ceil(e||0)}return{restrict:"E",template:'',compile:i}}angular.module("material.components.progressLinear",["material.core"]).directive("mdProgressLinear",e),e.$inject=["$$rAF","$mdConstant","$mdTheming"];var t=function(){function e(e){var t=e/100,n=(e-100)/2;return"translateX("+n.toString()+"%) scale("+t.toString()+", 1)"}for(var t=new Array(101),n=0;101>n;n++)t[n]=e(n);return t}()}(),function(){"use strict";function e(e,t,n){function r(e,r,i,o){function a(e){e.keyCode===t.KEY_CODE.LEFT_ARROW||e.keyCode===t.KEY_CODE.UP_ARROW?(e.preventDefault(),c.selectPrevious()):(e.keyCode===t.KEY_CODE.RIGHT_ARROW||e.keyCode===t.KEY_CODE.DOWN_ARROW)&&(e.preventDefault(),c.selectNext())}n(r);var c=o[0],l=o[1]||{$setViewValue:angular.noop};c.init(l),r.attr({role:"radiogroup",tabIndex:r.attr("tabindex")||"0"}).on("keydown",a)}function i(e){this._radioButtonRenderFns=[],this.$element=e}function o(){return{init:function(e){this._ngModelCtrl=e,this._ngModelCtrl.$render=angular.bind(this,this.render)},add:function(e){this._radioButtonRenderFns.push(e)},remove:function(e){var t=this._radioButtonRenderFns.indexOf(e);-1!==t&&this._radioButtonRenderFns.splice(t,1)},render:function(){this._radioButtonRenderFns.forEach(function(e){e()})},setViewValue:function(e,t){this._ngModelCtrl.$setViewValue(e,t),this.render()},getViewValue:function(){return this._ngModelCtrl.$viewValue},selectNext:function(){return a(this.$element,1)},selectPrevious:function(){return a(this.$element,-1)},setActiveDescendant:function(e){this.$element.attr("aria-activedescendant",e)}}}function a(t,n){var r=e.iterator(Array.prototype.slice.call(t[0].querySelectorAll("md-radio-button")),!0);if(r.count()){var i=t[0].querySelector("md-radio-button.md-checked"),o=r[0>n?"previous":"next"](i)||r.first();angular.element(o).triggerHandler("click")}}return i.prototype=o(),{restrict:"E",controller:["$element",i],require:["mdRadioGroup","?ngModel"],link:r}}function t(e,t,n){function r(r,o,a,c){function l(e){o[0].hasAttribute("disabled")||r.$apply(function(){c.setViewValue(a.value,e&&e.type)})}function u(){var e=c.getViewValue()===a.value;e!==d&&(d=e,o.attr("aria-checked",e),e?(o.addClass(i),c.setActiveDescendant(o.attr("id"))):o.removeClass(i))}function s(n,r){function i(){return a.id||"radio_"+t.nextUid()}r.ariaId=i(),n.attr({id:r.ariaId,role:"radio","aria-checked":"false"}),e.expectWithText(n,"aria-label")}var d;n(o),s(o,r),c.add(u),a.$observe("value",u),o.on("click",l).on("$destroy",function(){c.remove(u)})}var i="md-checked";return{restrict:"E",require:"^mdRadioGroup",transclude:!0,template:'',link:r}}angular.module("material.components.radioButton",["material.core"]).directive("mdRadioGroup",e).directive("mdRadioButton",t),e.$inject=["$mdUtil","$mdConstant","$mdTheming"],t.$inject=["$mdAria","$mdUtil","$mdTheming"]}(),function(){"use strict";function e(e,t,n,r,i,o){this.destroy=o.register(this,n.mdComponentId),this.isOpen=function(){return!!e.isOpen},this.toggle=function(){e.isOpen=!e.isOpen},this.open=function(){e.isOpen=!0},this.close=function(){e.isOpen=!1}}function t(e){return function(t){var n=e.get(t);return n||e.notFoundError(t),{isOpen:function(){return n&&n.isOpen()},toggle:function(){n&&n.toggle()},open:function(){n&&n.open()},close:function(){n&&n.close()}}}}function n(e,t,n,r,i,o,a){function c(c,l,u,s){function d(e){var n=l.parent();n[e?"on":"off"]("keydown",m),t[e?"enter":"leave"](v,n),v[e?"on":"off"]("click",f),t[e?"removeClass":"addClass"](l,"md-closed").then(function(){c.isOpen&&l.focus()})}function m(e){e.keyCode===i.KEY_CODE.ESCAPE&&(f(),e.preventDefault(),e.stopPropagation())}function f(){e(function(){s.close()})}var p=n(u.mdIsLockedOpen),v=o('')(c);a.inherit(v,l),l.on("$destroy",s.destroy),c.$watch("isOpen",d),c.$watch(function(){return p(c.$parent,{$media:r})},function(e){l.toggleClass("md-locked-open",!!e),v.toggleClass("md-locked-open",!!e)})}return{restrict:"E",scope:{isOpen:"=?mdIsOpen"},controller:"$mdSidenavController",compile:function(e){return e.addClass("md-closed"),e.attr("tabIndex","-1"),c}}}function r(e,t,n){function r(e){e=i(e);var t;return angular.isDefined(t=c.get(e))?t:o(e)}function i(e){return l[e]||("("!=e.charAt(0)?"("+e+")":e)}function o(t){return c.put(t,!!e.matchMedia(t).matches)}function a(){var t=c.keys();if(t.length){for(var r=0,i=t.length;i>r;r++)c.put(t[r],!!e.matchMedia(t[r]).matches);n(angular.noop)}}var c=t.cacheFactory("$mdMedia",{capacity:15}),l={sm:"(min-width: 600px)",md:"(min-width: 960px)",lg:"(min-width: 1200px)"};return angular.element(e).on("resize",a),r}function i(e){var t=[];return{notFoundError:function(t){e.error("No instance found for handle",t)},getInstances:function(){return t},get:function(e){var n,r,i;for(n=0,r=t.length;r>n;n++)if(i=t[n],i.$$mdHandle===e)return i;return null},register:function(e,n){return e.$$mdHandle=n,t.push(e),function(){var n=t.indexOf(e);-1!==n&&t.splice(n,1)}}}}angular.module("material.components.sidenav",["material.core","material.components.backdrop"]).factory("$mdSidenav",t).directive("mdSidenav",n).controller("$mdSidenavController",e).factory("$mdMedia",r).factory("$mdComponentRegistry",i),e.$inject=["$scope","$element","$attrs","$timeout","$mdSidenav","$mdComponentRegistry"],t.$inject=["$mdComponentRegistry"],n.$inject=["$timeout","$animate","$parse","$mdMedia","$mdConstant","$compile","$mdTheming"],r.$inject=["$window","$mdUtil","$timeout"],i.$inject=["$log"]}(),function(){"use strict";function e(e){function n(t,n,r,i){e(n);var o=i[0]||{$setViewValue:function(e){this.$viewValue=e,this.$viewChangeListeners.forEach(function(e){e()})},$parsers:[],$formatters:[],$viewChangeListeners:[]},a=i[1];a.init(o)}return{scope:{},require:["?ngModel","mdSlider"],controller:t,template:'',link:n}}function t(e,t,n,r,i,o,a,c){this.init=function(l){function u(){v(),b(),p()}function s(e){V=parseFloat(e),t.attr("aria-valuemin",e)}function d(e){U=parseFloat(e),t.attr("aria-valuemax",e)}function m(e){L=parseFloat(e),p()}function f(e){t.attr("aria-disabled",!!e)}function p(){if(angular.isDefined(n.mdDiscrete)){var e=Math.floor((U-V)/L);W||(W=angular.element('