PageSourceSearch

https://design-kit.jp/assets/js/libs/libs.js?v=20221116

js design-kit.jp collected 2026-10-02 15:05:16 UTC 383,452 bytes, 4,815 lines download raw bytes

vendor: 4,263 bytes, lines 1-2
1/*! jQuery v3.1.0 | (c) jQuery Foundation | jquery.org/license */
2!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?a<0?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c<b?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);h<i;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return!(!a||"[object Object]"!==k.call(a))&&(!(b=e(a))||(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n))},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;d<c;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;d<c;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;f<g;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;f<d;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;if("string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a))return d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"!==c&&!r.isWindow(a)&&("array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*ne
vendor: 26,191 bytes, line 2
2w Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b<d;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;b<d;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a<c;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;d<e;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){r.each(b,function(b,c){r.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==r.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return r.each(arguments,function(a,b){var c;while((c=r.inArray(b,f,c))>-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b<f)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];
vendor: 4,079 bytes, lines 2-3
2e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,
3r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h<i;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c||"false"!==c&&("null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c)}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;
vendor: 17,080 bytes, line 3
3if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?r.queue(this[0],a):void 0===b?this:this.each(function(){var c=r.queue(this,a,b);r._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&r.dequeue(this,a)})},dequeue:function(a){return this.each(function(){r.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=r.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=V.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var $=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,_=new RegExp("^(?:([+-])=|)("+$+")([a-z%]*)$","i"),aa=["Top","Right","Bottom","Left"],ba=function(a,b){return a=b||a,"none"===a.style.display||""===a.style.display&&r.contains(a.ownerDocument,a)&&"none"===r.css(a,"display")},ca=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};function da(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return r.css(a,b,"")},i=h(),j=c&&c[3]||(r.cssNumber[b]?"":"px"),k=(r.cssNumber[b]||"px"!==j&&+i)&&_.exec(r.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,r.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var ea={};function fa(a){var b,c=a.ownerDocument,d=a.nodeName,e=ea[d];return e?e:(b=c.body.appendChild(c.createElement(d)),e=r.css(b,"display"),b.parentNode.removeChild(b),"none"===e&&(e="block"),ea[d]=e,e)}function ga(a,b){for(var c,d,e=[],f=0,g=a.length;f<g;f++)d=a[f],d.style&&(c=d.style.display,b?("none"===c&&(e[f]=V.get(d,"display")||null,e[f]||(d.style.display="")),""===d.style.display&&ba(d)&&(e[f]=fa(d))):"none"!==c&&(e[f]="none",V.set(d,"display",c)));for(f=0;f<g;f++)null!=e[f]&&(a[f].style.display=e[f]);return a}r.fn.extend({show:function(){return ga(this,!0)},hide:function(){return ga(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){ba(this)?r(this).show():r(this).hide()})}});var ha=/^(?:checkbox|radio)$/i,ia=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,ja=/^$|\/(?:java|ecma)script/i,ka={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,"",""]};ka.optgroup=ka.option,ka.tbody=ka.tfoot=ka.colgroup=ka.caption=ka.thead,ka.th=ka.td;function la(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function ma(a,b){for(var c=0,d=a.length;c<d;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var na=/<|&#?\w+;/;function oa(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;n<o;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(na.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ia.exec(f)||["",""])[1].toLowerCase(),i=ka[h]||ka._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=la(l.appendChild(f),"script"),j&&ma(g),c){k=0;while(f=g[k++])ja.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var pa=d.documentElement,qa=/^key/,ra=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,sa=/^([^.]*)(?:\.(.+)|)/;function ta(){return!0}function ua(){return!1}function va(){try{return d.activeElement}catch(a){}}function wa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)wa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ua;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(pa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=sa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c<arguments.length;c++)i[c]=arguments[c];if(b.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,b)!==!1){h=r.event.handlers.call(this,b,j),c=0;while((f=h[c++])&&!b.isPropagationStopped()){b.currentTarget=f.elem,d=0;while((g=f.handlers[d++])&&!b.isImmediatePropagationStopped())b.rnamespace&&!b.rnamespace.test(g.namespace)||(b.handleObj=g,b.data=g.data,e=((r.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(b.result=e)===!1&&(b.preventDefault(),b.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,b),b.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c<h;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},addProp:function(a,b){Object.defineProperty(r.Event.prototype,a,{enumerable:!0,configurable:!0,get:r.isFunction(b)?function(){if(this.originalEvent)return b(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[a]},set:function(b){Object.defineProperty(this,a,{enumerable:!0,configurable:!0,writable:!0,value:b})}})},fix:function(a){return a[r.expando]?a:new r.Event(a)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==va()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===va()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&r.nodeName(this,"input"))return this.click(),!1},_default:function(a){return r.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},r.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},r.Event=function(a,b){return this instanceof r.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ta:ua,this.target=a.target&&3===a.target.nodeType?a.target.parentNode:a.target,this.currentTarget=a.currentTarget,this.relatedTarget=a.relatedTarget):this.type=a,b&&r.extend(this,b),this.timeStamp=a&&a.timeStamp||r.now(),void(this[r.expando]=!0)):new r.Event(a,b)},r.Event.prototype={constructor:r.Event,isDefaultPrevented:ua,isPropagationStopped:ua,isImmediatePropagationStopped:ua,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ta,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ta,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ta,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},r.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(a){var b=a.button;return null==a.which&&qa.test(a.type)?null!=a.charCode?a.charCode:a.keyCode:!a.which&&void 0!==b&&ra.test(a.type)?1&b?1:2&b?3:4&b?2:0:a.which}},r.event.addProp),r.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){r.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||r.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),r.fn.extend({on:function(a,b,c,d){return wa(this,a,b,c,d)},one:function(a,b,c,d){return wa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,r(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ua),this.each(function(){r.event.remove(this,a,c,b)})}});var xa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ya=/<script|<style|<link/i,za=/checked\s*(?:[^=]|=\s*.checked.)/i,Aa=/^true\/(.*)/,Ba=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Ca(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Da(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ea(a){var b=Aa.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c<d;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function Ga(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ha.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Ha(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&za.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(m&&(e=oa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(la(e,"script"),Da),i=h.length;l<m;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,la(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,Ea),l=0;l<i;l++)j=h[l],ja.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(Ba,""),k))}return a}function Ia(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(la(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&ma(la(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(xa,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=la(h),f=la(a),d=0,e=f.length;d<e;d++)Ga(f[d],g[d]);if(b)if(c)for(f=f||la(a),g=g||la(h),d=0,e=f.length;d<e;d++)Fa(f[d],g[d]);else Fa(a,h);return g=la(h,"script"),g.length>0&&ma(g,!i&&la(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(la(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ya.test(a)&&!ka[(ia.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c<d;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(la(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(la(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;g<=f;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}});var Ja=/^margin/,Ka=new RegExp("^("+$+")(?!px)[a-z%]+$","i"),La=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)};!function(){function b(){if(i){i.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",i.innerHTML="",pa.appendChild(h);var b=a.getComputedStyle(i);c="1%"!==b.top,g="2px"===b.marginLeft,e="4px"===b.width,i.style.marginRight="50%",f="4px"===b.marginRight,pa.removeChild(h),i=null}}var c,e,f,g,h=d.createElement("div"),i=d.createElement("div");i.style&&(i.style.backgroundClip="content-box",i.cloneNode(!0).style.backgroundClip="",o.clearCloneStyle="content-box"===i.style.backgroundClip,h.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",h.appendChild(i),r.extend(o,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return b(),e},pixelMarginRight:function(){return b(),f},reliableMarginLeft:function(){return b(),g}}))}();function Ma(a,b,c){var d,e,f,g,h=a.style;return c=c||La(a),c&&(g=c.getPropertyValue(b)||c[b],""!==g||r.contains(a.ownerDocument,a)||(g=r.style(a,b)),!
vendor: 15,095 bytes, lines 3-4
3o.pixelMarginRight()&&Ka.test(g)&&Ja.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function Na(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Oa=/^(none|table(?!-c[ea]).+)/,Pa={position:"absolute",visibility:"hidden",display:"block"},Qa={letterSpacing:"0",fontWeight:"400"},Ra=["Webkit","Moz","ms"],Sa=d.createElement("div").style;function Ta(a){if(a in Sa)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ra.length;while(c--)if(a=Ra[c]+b,a in Sa)return a}function Ua(a,b,c){var d=_.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Va(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;f<4;f+=2)"margin"===c&&(g+=r.css(a,c+aa[f],!0,e)),d?("content"===c&&(g-=r.css(a,"padding"+aa[f],!0,e)),"margin"!==c&&(g-=r.css(a,"border"+aa[f]+"Width",!0,e))):(g+=r.css(a,"padding"+aa[f],!0,e),"padding"!==c&&(g+=r.css(a,"border"+aa[f]+"Width",!0,e)));return g}function Wa(a,b,c){var d,e=!0,f=La(a),g="border-box"===r.css(a,"boxSizing",!1,f);if(a.getClientRects().length&&(d=a.getBoundingClientRect()[b]),d<=0||null==d){if(d=Ma(a,b,f),(d<0||null==d)&&(d=a.style[b]),Ka.test(d))return d;e=g&&(o.boxSizingReliable()||d===a.style[b]),d=parseFloat(d)||0}return d+Va(a,b,c||(g?"border":"content"),e,f)+"px"}r.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Ma(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,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(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=r.camelCase(b),i=a.style;return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=_.exec(c))&&e[1]&&(c=da(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(r.cssNumber[h]?"":"px")),o.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=r.camelCase(b);return b=r.cssProps[h]||(r.cssProps[h]=Ta(h)||h),g=r.cssHooks[b]||r.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Ma(a,b,d)),"normal"===e&&b in Qa&&(e=Qa[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),r.each(["height","width"],function(a,b){r.cssHooks[b]={get:function(a,c,d){if(c)return!Oa.test(r.css(a,"display"))||a.getClientRects().length&&a.getBoundingClientRect().width?Wa(a,b,d):ca(a,Pa,function(){return Wa(a,b,d)})},set:function(a,c,d){var e,f=d&&La(a),g=d&&Va(a,b,d,"border-box"===r.css(a,"boxSizing",!1,f),f);return g&&(e=_.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=r.css(a,b)),Ua(a,c,g)}}}),r.cssHooks.marginLeft=Na(o.reliableMarginLeft,function(a,b){if(b)return(parseFloat(Ma(a,"marginLeft"))||a.getBoundingClientRect().left-ca(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px"}),r.each({margin:"",padding:"",border:"Width"},function(a,b){r.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];d<4;d++)e[a+aa[d]+b]=f[d]||f[d-2]||f[0];return e}},Ja.test(a)||(r.cssHooks[a+b].set=Ua)}),r.fn.extend({css:function(a,b){return S(this,function(a,b,c){var d,e,f={},g=0;if(r.isArray(b)){for(d=La(a),e=b.length;g<e;g++)f[b[g]]=r.css(a,b[g],!1,d);return f}return void 0!==c?r.style(a,b,c):r.css(a,b)},a,b,arguments.length>1)}});function Xa(a,b,c,d,e){return new Xa.prototype.init(a,b,c,d,e)}r.Tween=Xa,Xa.prototype={constructor:Xa,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Xa.propHooks[this.prop];return a&&a.get?a.get(this):Xa.propHooks._default.get(this)},run:function(a){var b,c=Xa.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Xa.propHooks._default.set(this),this}},Xa.prototype.init.prototype=Xa.prototype,Xa.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Xa.propHooks.scrollTop=Xa.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Xa.prototype.init,r.fx.step={};var Ya,Za,$a=/^(?:toggle|show|hide)$/,_a=/queueHooks$/;function ab(){Za&&(a.requestAnimationFrame(ab),r.fx.tick())}function bb(){return a.setTimeout(function(){Ya=void 0}),Ya=r.now()}function cb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=aa[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function db(a,b,c){for(var d,e=(gb.tweeners[b]||[]).concat(gb.tweeners["*"]),f=0,g=e.length;f<g;f++)if(d=e[f].call(c,b,a))return d}function eb(a,b,c){var d,e,f,g,h,i,j,k,l="width"in b||"height"in b,m=this,n={},o=a.style,p=a.nodeType&&ba(a),q=V.get(a,"fxshow");c.queue||(g=r._queueHooks(a,"fx"),null==g.unqueued&&(g.unqueued=0,h=g.empty.fire,g.empty.fire=function(){g.unqueued||h()}),g.unqueued++,m.always(function(){m.always(function(){g.unqueued--,r.queue(a,"fx").length||g.empty.fire()})}));for(d in b)if(e=b[d],$a.test(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}n[d]=q&&q[d]||r.style(a,d)}if(i=!r.isEmptyObject(b),i||!r.isEmptyObject(n)){l&&1===a.nodeType&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=q&&q.display,null==j&&(j=V.get(a,"display")),k=r.css(a,"display"),"none"===k&&(j?k=j:(ga([a],!0),j=a.style.display||j,k=r.css(a,"display"),ga([a]))),("inline"===k||"inline-block"===k&&null!=j)&&"none"===r.css(a,"float")&&(i||(m.done(function(){o.display=j}),null==j&&(k=o.display,j="none"===k?"":k)),o.display="inline-block")),c.overflow&&(o.overflow="hidden",m.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]})),i=!1;for(d in n)i||(q?"hidden"in q&&(p=q.hidden):q=V.access(a,"fxshow",{display:j}),f&&(q.hidden=!p),p&&ga([a],!0),m.done(function(){p||ga([a]),V.remove(a,"fxshow");for(d in n)r.style(a,d,n[d])})),i=db(p?q[d]:0,d,m),d in q||(q[d]=i.start,p&&(i.end=i.start,i.start=0))}}function fb(a,b){var c,d,e,f,g;for(c in a)if(d=r.camelCase(c),e=b[d],f=a[c],r.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=r.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function gb(a,b,c){var d,e,f=0,g=gb.prefilters.length,h=r.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Ya||bb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;g<i;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),f<1&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:r.extend({},b),opts:r.extend(!0,{specialEasing:{},easing:r.easing._default},c),originalProperties:b,originalOptions:c,startTime:Ya||bb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=r.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;c<d;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(fb(k,j.opts.specialEasing);f<g;f++)if(d=gb.prefilters[f].call(j,a,k,j.opts))return r.isFunction(d.stop)&&(r._queueHooks(j.elem,j.opts.queue).stop=r.proxy(d.stop,d)),d;return r.map(k,db,j),r.isFunction(j.opts.start)&&j.opts.start.call(a,j),r.fx.timer(r.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}r.Animation=r.extend(gb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return da(c.elem,a,_.exec(b),c),c}]},tweener:function(a,b){r.isFunction(a)?(b=a,a=["*"]):a=a.match(K);for(var c,d=0,e=a.length;d<e;d++)c=a[d],gb.tweeners[c]=gb.tweeners[c]||[],gb.tweeners[c].unshift(b)},prefilters:[eb],prefilter:function(a,b){b?gb.prefilters.unshift(a):gb.prefilters.push(a)}}),r.speed=function(a,b,c){var e=a&&"object"==typeof a?r.extend({},a):{complete:c||!c&&b||r.isFunction(a)&&a,duration:a,easing:c&&b||b&&!r.isFunction(b)&&b};return r.fx.off||d.hidden?e.duration=0:e.duration="number"==typeof e.duration?e.duration:e.duration in r.fx.speeds?r.fx.speeds[e.duration]:r.fx.speeds._default,null!=e.queue&&e.queue!==!0||(e.queue="fx"),e.old=e.complete,e.complete=function(){r.isFunction(e.old)&&e.old.call(this),e.queue&&r.dequeue(this,e.queue)},e},r.fn.extend({fadeTo:function(a,b,c,d){return this.filter(ba).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=r.isEmptyObject(a),f=r.speed(b,c,d),g=function(){var b=gb(this,r.extend({},a),f);(e||V.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=r.timers,g=V.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&_a.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||r.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=V.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=r.timers,g=d?d.length:0;for(c.finish=!0,r.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;b<g;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),r.each(["toggle","show","hide"],function(a,b){var c=r.fn[b];r.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(cb(b,!0),a,d,e)}}),r.each({slideDown:cb("show"),slideUp:cb("hide"),slideToggle:cb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){r.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),r.timers=[],r.fx.tick=function(){var a,b=0,c=r.timers;for(Ya=r.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||r.fx.stop(),Ya=void 0},r.fx.timer=function(a){r.timers.push(a),a()?r.fx.start():r.timers.pop()},r.fx.interval=13,r.fx.start=function(){Za||(Za=a.requestAnimationFrame?a.requestAnimationFrame(ab):a.setInterval(r.fx.tick,r.fx.interval))},r.fx.stop=function(){a.cancelAnimationFrame?a.cancelAnimationFrame(Za):a.clearInterval(Za),Za=null},r.fx.speeds={slow:600,fast:200,_default:400},r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var hb,ib=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?hb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);
4if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),hb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=ib[b]||r.find.attr;ib[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=ib[g],ib[g]=e,e=null!=c(a,b,d)?g:null,ib[g]=f),e}});var jb=/^(?:input|select|textarea|button)$/i,kb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):jb.test(a.nodeName)||kb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var lb=/[\t\r\n\f]/g;function mb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,mb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,mb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=mb(c),d=1===c.nodeType&&(" "+e+" ").replace(lb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,mb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];
vendor: 19,642 bytes, line 4
4while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=mb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(c)+" ").replace(lb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i<h;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ha.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,""),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Qb=[],Rb=/(=)\?(?=&|$)|\?\?/;r.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Qb.pop()||r.expando+"_"+rb++;return this[a]=!0,a}}),r.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Rb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Rb.test(b.data)&&"data");if(h||"jsonp"===b.dataTypes[0])return e=b.jsonpCallback=r.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Rb,"$1"+e):b.jsonp!==!1&&(b.url+=(sb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||r.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?r(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Qb.push(e)),g&&r.isFunction(f)&&f(g[0]),g=f=void 0}),"script"}),o.createHTMLDocument=function(){var a=d.implementation.createHTMLDocument("").body;return a.innerHTML="<form></form><form></form>",2===a.childNodes.length}(),r.parseHTML=function(a,b,c){if("string"!=typeof a)return[];"boolean"==typeof b&&(c=b,b=!1);var e,f,g;return b||(o.createHTMLDocument?(b=d.implementation.createHTMLDocument(""),e=b.createElement("base"),e.href=d.location.href,b.head.appendChild(e)):b=d),f=B.exec(a),g=!c&&[],f?[b.createElement(f[1])]:(f=oa([a],b,g),g&&g.length&&r(g).remove(),r.merge([],f.childNodes))},r.fn.load=function(a,b,c){var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=r.trim(a.slice(h)),a=a.slice(0,h)),r.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&r.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?r("<div>").append(r.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},r.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){r.fn[b]=function(a){return this.on(b,a)}}),r.expr.pseudos.animated=function(a){return r.grep(r.timers,function(b){return a===b.elem}).length};function Sb(a){return r.isWindow(a)?a:9===a.nodeType&&a.defaultView}r.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=r.css(a,"position"),l=r(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=r.css(a,"top"),i=r.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),r.isFunction(b)&&(b=b.call(a,c,r.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},r.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){r.offset.setOffset(this,a,b)});var b,c,d,e,f=this[0];if(f)return f.getClientRects().length?(d=f.getBoundingClientRect(),d.width||d.height?(e=f.ownerDocument,c=Sb(e),b=e.documentElement,{top:d.top+c.pageYOffset-b.clientTop,left:d.left+c.pageXOffset-b.clientLeft}):d):{top:0,left:0}},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===r.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),r.nodeName(a[0],"html")||(d=a.offset()),d={top:d.top+r.css(a[0],"borderTopWidth",!0),left:d.left+r.css(a[0],"borderLeftWidth",!0)}),{top:b.top-d.top-r.css(c,"marginTop",!0),left:b.left-d.left-r.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===r.css(a,"position"))a=a.offsetParent;return a||pa})}}),r.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;r.fn[a]=function(d){return S(this,function(a,d,e){var f=Sb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),r.each(["top","left"],function(a,b){r.cssHooks[b]=Na(o.pixelPosition,function(a,c){if(c)return c=Ma(a,b),Ka.test(c)?r(a).position()[b]+"px":c})}),r.each({Height:"height",Width:"width"},function(a,b){r.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){r.fn[d]=function(e,f){var g=arguments.length&&(c||"boolean"!=typeof e),h=c||(e===!0||f===!0?"margin":"border");return S(this,function(b,c,e){var f;return r.isWindow(b)?0===d.indexOf("outer")?b["inner"+a]:b.document.documentElement["client"+a]:9===b.nodeType?(f=b.documentElement,Math.max(b.body["scroll"+a],f["scroll"+a],b.body["offset"+a],f["offset"+a],f["client"+a])):void 0===e?r.css(b,c,h):r.style(b,c,e,h)},b,g?e:void 0,g)}})}),r.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}}),r.parseJSON=JSON.parse,"function"==typeof define&&define.amd&&define("jquery",[],function(){return r});var Tb=a.jQuery,Ub=a.$;return r.noConflict=function(b){return a.$===r&&(a.$=Ub),b&&a.jQuery===r&&(a.jQuery=Tb),r},b||(a.jQuery=a.$=r),r});
vendor: 16,693 bytes, lines 4-11
4
5
6//     Underscore.js 1.8.3
7//     http://underscorejs.org
8//     (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
9//     Underscore may be freely distributed under the MIT license.
10(function(){function n(n){function t(t,r,e,u,i,o){for(;i>=0&&o>i;i+=n){var a=u?u[i]:i;e=r(e,t[a],a,t)}return e}return function(r,e,u,i){e=b(e,i,4);var o=!k(r)&&m.keys(r),a=(o||r).length,c=n>0?0:a-1;return arguments.length<3&&(u=r[o?o[c]:c],c+=n),t(r,e,u,o,c,a)}}function t(n){return function(t,r,e){r=x(r,e);for(var u=O(t),i=n>0?0:u-1;i>=0&&u>i;i+=n)if(r(t[i],i,t))return i;return-1}}function r(n,t,r){return function(e,u,i){var o=0,a=O(e);if("number"==typeof i)n>0?o=i>=0?i:Math.max(i+a,o):a=i>=0?Math.min(i+1,a):i+a+1;else if(r&&i&&a)return i=r(e,u),e[i]===u?i:-1;if(u!==u)return i=t(l.call(e,o,a),m.isNaN),i>=0?i+o:-1;for(i=n>0?o:a-1;i>=0&&a>i;i+=n)if(e[i]===u)return i;return-1}}function e(n,t){var r=I.length,e=n.constructor,u=m.isFunction(e)&&e.prototype||a,i="constructor";for(m.has(n,i)&&!m.contains(t,i)&&t.push(i);r--;)i=I[r],i in n&&n[i]!==u[i]&&!m.contains(t,i)&&t.push(i)}var u=this,i=u._,o=Array.prototype,a=Object.prototype,c=Function.prototype,f=o.push,l=o.slice,s=a.toString,p=a.hasOwnProperty,h=Array.isArray,v=Object.keys,g=c.bind,y=Object.create,d=function(){},m=function(n){return n instanceof m?n:this instanceof m?void(this._wrapped=n):new m(n)};"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=m),exports._=m):u._=m,m.VERSION="1.8.3";var b=function(n,t,r){if(t===void 0)return n;switch(null==r?3:r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return function(){return n.apply(t,arguments)}},x=function(n,t,r){return null==n?m.identity:m.isFunction(n)?b(n,t,r):m.isObject(n)?m.matcher(n):m.property(n)};m.iteratee=function(n,t){return x(n,t,1/0)};var _=function(n,t){return function(r){var e=arguments.length;if(2>e||null==r)return r;for(var u=1;e>u;u++)for(var i=arguments[u],o=n(i),a=o.length,c=0;a>c;c++){var f=o[c];t&&r[f]!==void 0||(r[f]=i[f])}return r}},j=function(n){if(!m.isObject(n))return{};if(y)return y(n);d.prototype=n;var t=new d;return d.prototype=null,t},w=function(n){return function(t){return null==t?void 0:t[n]}},A=Math.pow(2,53)-1,O=w("length"),k=function(n){var t=O(n);return"number"==typeof t&&t>=0&&A>=t};m.each=m.forEach=function(n,t,r){t=b(t,r);var e,u;if(k(n))for(e=0,u=n.length;u>e;e++)t(n[e],e,n);else{var i=m.keys(n);for(e=0,u=i.length;u>e;e++)t(n[i[e]],i[e],n)}return n},m.map=m.collect=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=Array(u),o=0;u>o;o++){var a=e?e[o]:o;i[o]=t(n[a],a,n)}return i},m.reduce=m.foldl=m.inject=n(1),m.reduceRight=m.foldr=n(-1),m.find=m.detect=function(n,t,r){var e;return e=k(n)?m.findIndex(n,t,r):m.findKey(n,t,r),e!==void 0&&e!==-1?n[e]:void 0},m.filter=m.select=function(n,t,r){var e=[];return t=x(t,r),m.each(n,function(n,r,u){t(n,r,u)&&e.push(n)}),e},m.reject=function(n,t,r){return m.filter(n,m.negate(x(t)),r)},m.every=m.all=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},m.some=m.any=function(n,t,r){t=x(t,r);for(var e=!k(n)&&m.keys(n),u=(e||n).length,i=0;u>i;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},m.contains=m.includes=m.include=function(n,t,r,e){return k(n)||(n=m.values(n)),("number"!=typeof r||e)&&(r=0),m.indexOf(n,t,r)>=0},m.invoke=function(n,t){var r=l.call(arguments,2),e=m.isFunction(t);return m.map(n,function(n){var u=e?t:n[t];return null==u?u:u.apply(n,r)})},m.pluck=function(n,t){return m.map(n,m.property(t))},m.where=function(n,t){return m.filter(n,m.matcher(t))},m.findWhere=function(n,t){return m.find(n,m.matcher(t))},m.max=function(n,t,r){var e,u,i=-1/0,o=-1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],e>i&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(u>o||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},m.min=function(n,t,r){var e,u,i=1/0,o=1/0;if(null==t&&null!=n){n=k(n)?n:m.values(n);for(var a=0,c=n.length;c>a;a++)e=n[a],i>e&&(i=e)}else t=x(t,r),m.each(n,function(n,r,e){u=t(n,r,e),(o>u||1/0===u&&1/0===i)&&(i=n,o=u)});return i},m.shuffle=function(n){for(var t,r=k(n)?n:m.values(n),e=r.length,u=Array(e),i=0;e>i;i++)t=m.random(0,i),t!==i&&(u[i]=u[t]),u[t]=r[i];return u},m.sample=function(n,t,r){return null==t||r?(k(n)||(n=m.values(n)),n[m.random(n.length-1)]):m.shuffle(n).slice(0,Math.max(0,t))},m.sortBy=function(n,t,r){return t=x(t,r),m.pluck(m.map(n,function(n,r,e){return{value:n,index:r,criteria:t(n,r,e)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(r>e||r===void 0)return 1;if(e>r||e===void 0)return-1}return n.index-t.index}),"value")};var F=function(n){return function(t,r,e){var u={};return r=x(r,e),m.each(t,function(e,i){var o=r(e,i,t);n(u,e,o)}),u}};m.groupBy=F(function(n,t,r){m.has(n,r)?n[r].push(t):n[r]=[t]}),m.indexBy=F(function(n,t,r){n[r]=t}),m.countBy=F(function(n,t,r){m.has(n,r)?n[r]++:n[r]=1}),m.toArray=function(n){return n?m.isArray(n)?l.call(n):k(n)?m.map(n,m.identity):m.values(n):[]},m.size=function(n){return null==n?0:k(n)?n.length:m.keys(n).length},m.partition=function(n,t,r){t=x(t,r);var e=[],u=[];return m.each(n,function(n,r,i){(t(n,r,i)?e:u).push(n)}),[e,u]},m.first=m.head=m.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:m.initial(n,n.length-t)},m.initial=function(n,t,r){return l.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},m.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:m.rest(n,Math.max(0,n.length-t))},m.rest=m.tail=m.drop=function(n,t,r){return l.call(n,null==t||r?1:t)},m.compact=function(n){return m.filter(n,m.identity)};var S=function(n,t,r,e){for(var u=[],i=0,o=e||0,a=O(n);a>o;o++){var c=n[o];if(k(c)&&(m.isArray(c)||m.isArguments(c))){t||(c=S(c,t,r));var f=0,l=c.length;for(u.length+=l;l>f;)u[i++]=c[f++]}else r||(u[i++]=c)}return u};m.flatten=function(n,t){return S(n,t,!1)},m.without=function(n){return m.difference(n,l.call(arguments,1))},m.uniq=m.unique=function(n,t,r,e){m.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=x(r,e));for(var u=[],i=[],o=0,a=O(n);a>o;o++){var c=n[o],f=r?r(c,o,n):c;t?(o&&i===f||u.push(c),i=f):r?m.contains(i,f)||(i.push(f),u.push(c)):m.contains(u,c)||u.push(c)}return u},m.union=function(){return m.uniq(S(arguments,!0,!0))},m.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=O(n);u>e;e++){var i=n[e];if(!m.contains(t,i)){for(var o=1;r>o&&m.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},m.difference=function(n){var t=S(arguments,!0,!0,1);return m.filter(n,function(n){return!m.contains(t,n)})},m.zip=function(){return m.unzip(arguments)},m.unzip=function(n){for(var t=n&&m.max(n,O).length||0,r=Array(t),e=0;t>e;e++)r[e]=m.pluck(n,e);return r},m.object=function(n,t){for(var r={},e=0,u=O(n);u>e;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},m.findIndex=t(1),m.findLastIndex=t(-1),m.sortedIndex=function(n,t,r,e){r=x(r,e,1);for(var u=r(t),i=0,o=O(n);o>i;){var a=Math.floor((i+o)/2);r(n[a])<u?i=a+1:o=a}return i},m.indexOf=r(1,m.findIndex,m.sortedIndex),m.lastIndexOf=r(-1,m.findLastIndex),m.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;e>i;i++,n+=r)u[i]=n;return u};var E=function(n,t,r,e,u){if(!(e instanceof t))return n.apply(r,u);var i=j(n.prototype),o=n.apply(i,u);return m.isObject(o)?o:i};m.bind=function(n,t){if(g&&n.bind===g)return g.apply(n,l.call(arguments,1));if(!m.isFunction(n))throw new TypeError("Bind must be called on a function");var r=l.call(arguments,2),e=function(){return E(n,e,t,this,r.concat(l.call(arguments)))};return e},m.partial=function(n){var t=l.call(arguments,1),r=function(){for(var e=0,u=t.length,i=Array(u),o=0;u>o;o++)i[o]=t[o]===m?arguments[e++]:t[o];for(;e<arguments.length;)i.push(arguments[e++]);return E(n,r,this,this,i)};return r},m.bindAll=function(n){var t,r,e=arguments.length;if(1>=e)throw new Error("bindAll must be passed function names");for(t=1;e>t;t++)r=arguments[t],n[r]=m.bind(n[r],n);return n},m.memoize=function(n,t){var r=function(e){var u=r.cache,i=""+(t?t.apply(this,arguments):e);return m.has(u,i)||(u[i]=n.apply(this,arguments)),u[i]};return r.cache={},r},m.delay=function(n,t){var r=l.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},m.defer=m.partial(m.delay,m,1),m.throttle=function(n,t,r){var e,u,i,o=null,a=0;r||(r={});var c=function(){a=r.leading===!1?0:m.now(),o=null,i=n.apply(e,u),o||(e=u=null)};return function(){var f=m.now();a||r.leading!==!1||(a=f);var l=t-(f-a);return e=this,u=arguments,0>=l||l>t?(o&&(clearTimeout(o),o=null),a=f,i=n.apply(e,u),o||(e=u=null)):o||r.trailing===!1||(o=setTimeout(c,l)),i}},m.debounce=function(n,t,r){var e,u,i,o,a,c=function(){var f=m.now()-o;t>f&&f>=0?e=setTimeout(c,t-f):(e=null,r||(a=n.apply(i,u),e||(i=u=null)))};return function(){i=this,u=arguments,o=m.now();var f=r&&!e;return e||(e=setTimeout(c,t)),f&&(a=n.apply(i,u),i=u=null),a}},m.wrap=function(n,t){return m.partial(t,n)},m.negate=function(n){return function(){return!n.apply(this,arguments)}},m.compose=function(){var n=arguments,t=n.length-1;return function(){for(var r=t,e=n[t].apply(this,arguments);r--;)e=n[r].call(this,e);return e}},m.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},m.before=function(n,t){var r;return function(){return--n>0&&(r=t.apply(this,arguments)),1>=n&&(t=null),r}},m.once=m.partial(m.before,2);var M=!{toString:null}.propertyIsEnumerable("toString"),I=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];m.keys=function(n){if(!m.isObject(n))return[];if(v)return v(n);var t=[];for(var r in n)m.has(n,r)&&t.push(r);return M&&e(n,t),t},m.allKeys=function(n){if(!m.isObject(n))return[];var t=[];for(var r in n)t.push(r);return M&&e(n,t),t},m.values=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=n[t[u]];return e},m.mapObject=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=u.length,o={},a=0;i>a;a++)e=u[a],o[e]=t(n[e],e,n);return o},m.pairs=function(n){for(var t=m.keys(n),r=t.length,e=Array(r),u=0;r>u;u++)e[u]=[t[u],n[t[u]]];return e},m.invert=function(n){for(var t={},r=m.keys(n),e=0,u=r.length;u>e;e++)t[n[r[e]]]=r[e];return t},m.functions=m.methods=function(n){var t=[];for(var r in n)m.isFunction(n[r])&&t.push(r);return t.sort()},m.extend=_(m.allKeys),m.extendOwn=m.assign=_(m.keys),m.findKey=function(n,t,r){t=x(t,r);for(var e,u=m.keys(n),i=0,o=u.length;o>i;i++)if(e=u[i],t(n[e],e,n))return e},m.pick=function(n,t,r){var e,u,i={},o=n;if(null==o)return i;m.isFunction(t)?(u=m.allKeys(o),e=b(t,r)):(u=S(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var a=0,c=u.length;c>a;a++){var f=u[a],l=o[f];e(l,f,o)&&(i[f]=l)}return i},m.omit=function(n,t,r){if(m.isFunction(t))t=m.negate(t);else{var e=m.map(S(arguments,!1,!1,1),String);t=function(n,t){return!m.contains(e,t)}}return m.pick(n,t,r)},m.defaults=_(m.allKeys,!0),m.create=function(n,t){var r=j(n);return t&&m.extendOwn(r,t),r},m.clone=function(n){return m.isObject(n)?m.isArray(n)?n.slice():m.extend({},n):n},m.tap=function(n,t){return t(n),n},m.isMatch=function(n,t){var r=m.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;e>i;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0};var N=function(n,t,r,e){if(n===t)return 0!==n||1/n===1/t;if(null==n||null==t)return n===t;n instanceof m&&(n=n._wrapped),t instanceof m&&(t=t._wrapped);var u=s.call(n);if(u!==s.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!==+n?+t!==+t:0===+n?1/+n===1/t:+n===+t;case"[object Date]":case"[object Boolean]":return+n===+t}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof t)return!1;var o=n.constructor,a=t.constructor;if(o!==a&&!(m.isFunction(o)&&o instanceof o&&m.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in t)return!1}r=r||[],e=e||[];for(var c=r.length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),i){if(c=n.length,c!==t.length)return!1;for(;c--;)if(!N(n[c],t[c],r,e))return!1}else{var f,l=m.keys(n);if(c=l.length,m.keys(t).length!==c)return!1;for(;c--;)if(f=l[c],!m.has(t,f)||!N(n[f],t[f],r,e))return!1}return r.pop(),e.pop(),!0};m.isEqual=function(n,t){return N(n,t)},m.isEmpty=function(n){return null==n?!0:k(n)&&(m.isArray(n)||m.isString(n)||m.isArguments(n))?0===n.length:0===m.keys(n).length},m.isElement=function(n){return!(!n||1!==n.nodeType)},m.isArray=h||function(n){return"[object Array]"===s.call(n)},m.isObject=function(n){var t=typeof n;return"function"===t||"object"===t&&!!n},m.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(n){m["is"+n]=function(t){return s.call(t)==="[object "+n+"]"}}),m.isArguments(arguments)||(m.isArguments=function(n){return m.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(m.isFunction=function(n){return"function"==typeof n||!1}),m.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},m.isNaN=function(n){return m.isNumber(n)&&n!==+n},m.isBoolean=function(n){return n===!0||n===!1||"[object Boolean]"===s.call(n)},m.isNull=function(n){return null===n},m.isUndefined=function(n){return n===void 0},m.has=function(n,t){return null!=n&&p.call(n,t)},m.noConflict=function(){return u._=i,this},m.identity=function(n){return n},m.constant=function(n){return function(){return n}},m.noop=function(){},m.property=w,m.propertyOf=function(n){return null==n?function(){}:function(t){return n[t]}},m.matcher=m.matches=function(n){return n=m.extendOwn({},n),function(t){return m.isMatch(t,n)}},m.times=function(n,t,r){var e=Array(Math.max(0,n));t=b(t,r,1);for(var u=0;n>u;u++)e[u]=t(u);return e},m.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},m.now=Date.now||function(){return(new Date).getTime()};var B={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},T=m.invert(B),R=function(n){var t=function(t){return n[t]},r="(?:"+m.keys(n).join("|")+")",e=RegExp(r),u=RegExp(r,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}};m.escape=R(B),m.unescape=R(T),m.result=function(n,t,r){var e=null==n?void 0:n[t];return e===void 0&&(e=r),m.isFunction(e)?e.call(n):e};var q=0;m.uniqueId=function(n){var t=++q+"";return n?n+t:t},m.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var K=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g,L=function(n){return"\\"+z[n]};m.template=function(n,t,r){!t&&r&&(t=r),t=m.defaults({},t,m.templateSettings);var e=RegExp([(t.escape||K).source,(t.interpolate||K).source,(t.evaluate||K).source].join("|")+"|$","g"),u=0,i="__p+='";n.replace(e,function(t,r,e,o,a){return i+=n.slice(u,a).replace(D,L),u=a+t.length,r?i+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":e?i+="'+\n((__t=("+e+"))==null?'':__t)+\n'":o&&(i+="';\n"+o+"\n__p+='"),t}),i+="';\n",t.variable||(i="with(obj||{}){\n"+i+"}\n"),i="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+i+"return __p;\n";try{var o=new Function(t.variable||"obj","_",i)}catch(a){throw a.source=i,a}var c=function(n){return o.call(this,n,m)},f=t.variable||"obj";return c.source="function("+f+"){\n"+i+"}",c},m.chain=function(n){var t=m(n);return t._chain=!0,t};var P=function(n,t){return n._chain?m(t).chain():t};m.mixin=function(n){m.each(m.functions(n),function(t){var r=m[t]=n[t];m.prototype[t]=function(){var n=[this._wrapped];return f.apply(n,arguments),P(this,r.apply(m,n))}})},m.mixin(m),m.each(["pop","push","reverse","shift","sort","splice","unshift"],function(n){var t=o[n];m.prototype[n]=function(){var r=this._wrapped;return t.apply(r,arguments),"shift"!==n&&"splice"!==n||0!==r.length||delete r[0],P(this,r)}}),m.each(["concat","join","slice"],function(n){var t=o[n];m.prototype[n]=function(){return P(this,t.apply(this._wrapped,arguments))}}),m.prototype.value=function(){return this._wrapped},m.prototype.valueOf=m.prototype.toJSON=m.prototype.value,m.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return m})}).call(this);
11(function(t,e){if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){t.Backbone=e(t,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore");e(t,exports,i)}else{t.Backbone=e(t,{},t._,t.jQuery||t.Zepto||t.ender||t.$)}}
11)(this,function(t,e,i,r){var s=t.Backbone;var n=[];var a=n.push;var o=n.slice;var h=n.splice;e.VERSION="1.1.2";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var u=e.Events={on:function(t,e,i){if(!c(this,"on",t,[e,i])||!e)return this;this._events||(this._events={});var r=this._events[t]||(this._events[t]=[]);r.push({callback:e,context:i,ctx:i||this});return this},once:function(t,e,r){if(!c(this,"once",t,[e,r])||!e)return this;var s=this;var n=i.once(function(){s.off(t,n);e.apply(this,arguments)});n._callback=e;return this.on(t,n,r)},off:function(t,e,r){var s,n,a,o,h,u,l,f;if(!this._events||!c(this,"off",t,[e,r]))return this;if(!t&&!e&&!r){this._events=void 0;return this}o=t?[t]:i.keys(this._events);for(h=0,u=o.length;h<u;h++){t=o[h];if(a=this._events[t]){this._events[t]=s=[];if(e||r){for(l=0,f=a.length;l<f;l++){n=a[l];if(e&&e!==n.callback&&e!==n.callback._callback||r&&r!==n.context){s.push(n)}}}if(!s.length)delete this._events[t]}}return this},trigger:function(t){if(!this._events)return this;var e=o.call(arguments,1);if(!c(this,"trigger",t,e))return this;var i=this._events[t];var r=this._events.all;if(i)f(i,e);if(r)f(r,arguments);return this},stopListening:function(t,e,r){var s=this._listeningTo;if(!s)return this;var n=!e&&!r;if(!r&&typeof e==="object")r=this;if(t)(s={})[t._listenId]=t;for(var a in s){t=s[a];t.off(e,r,this);if(n||i.isEmpty(t._events))delete this._listeningTo[a]}return this}};var l=/\s+/;var c=function(t,e,i,r){if(!i)return true;if(typeof i==="object"){for(var s in i){t[e].apply(t,[s,i[s]].concat(r))}return false}if(l.test(i)){var n=i.split(l);for(var a=0,o=n.length;a<o;a++){t[e].apply(t,[n[a]].concat(r))}return false}return true};var f=function(t,e){var i,r=-1,s=t.length,n=e[0],a=e[1],o=e[2];switch(e.length){case 0:while(++r<s)(i=t[r]).callback.call(i.ctx);return;case 1:while(++r<s)(i=t[r]).callback.call(i.ctx,n);return;case 2:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a);return;case 3:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a,o);return;default:while(++r<s)(i=t[r]).callback.apply(i.ctx,e);return}};var d={listenTo:"on",listenToOnce:"once"};i.each(d,function(t,e){u[e]=function(e,r,s){var n=this._listeningTo||(this._listeningTo={});var a=e._listenId||(e._listenId=i.uniqueId("l"));n[a]=e;if(!s&&typeof r==="object")s=this;e[t](r,s,this);return this}});u.bind=u.on;u.unbind=u.off;i.extend(e,u);var p=e.Model=function(t,e){var r=t||{};e||(e={});this.cid=i.uniqueId("c");this.attributes={};if(e.collection)this.collection=e.collection;if(e.parse)r=this.parse(r,e)||{};r=i.defaults({},r,i.result(this,"defaults"));this.set(r,e);this.changed={};this.initialize.apply(this,arguments)};i.extend(p.prototype,u,{changed:null,validationError:null,idAttribute:"id",initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return this.get(t)!=null},set:function(t,e,r){var s,n,a,o,h,u,l,c;if(t==null)return this;if(typeof t==="object"){n=t;r=e}else{(n={})[t]=e}r||(r={});if(!this._validate(n,r))return false;a=r.unset;h=r.silent;o=[];u=this._changing;this._changing=true;if(!u){this._previousAttributes=i.clone(this.attributes);this.changed={}}c=this.attributes,l=this._previousAttributes;if(this.idAttribute in n)this.id=n[this.idAttribute];for(s in n){e=n[s];if(!i.isEqual(c[s],e))o.push(s);if(!i.isEqual(l[s],e)){this.changed[s]=e}else{delete this.changed[s]}a?delete c[s]:c[s]=e}if(!h){if(o.length)this._pending=r;for(var f=0,d=o.length;f<d;f++){this.trigger("change:"+o[f],this,c[o[f]],r)}}if(u)return this;if(!h){while(this._pending){r=this._pending;this._pending=false;this.trigger("change",this,r)}}this._pending=false;this._changing=false;return this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:true}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,i.extend({},t,{unset:true}))},hasChanged:function(t){if(t==null)return!i.isEmpty(this.changed);return i.has(this.changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?i.clone(this.changed):false;var e,r=false;var s=this._changing?this._previousAttributes:this.attributes;for(var n in t){if(i.isEqual(s[n],e=t[n]))continue;(r||(r={}))[n]=e}return r},previous:function(t){if(t==null||!this._previousAttributes)return null;return this._previousAttributes[t]},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=this;var r=t.success;t.success=function(i){if(!e.set(e.parse(i,t),t))return false;if(r)r(e,i,t);e.trigger("sync",e,i,t)};q(this,t);return this.sync("read",this,t)},save:function(t,e,r){var s,n,a,o=this.attributes;if(t==null||typeof t==="object"){s=t;r=e}else{(s={})[t]=e}r=i.extend({validate:true},r);if(s&&!r.wait){if(!this.set(s,r))return false}
11else{if(!this._validate(s,r))return false}if(s&&r.wait){this.attributes=i.extend({},o,s)}if(r.parse===void 0)r.parse=true;var h=this;var u=r.success;r.success=function(t){h.attributes=o;var e=h.parse(t,r);if(r.wait)e=i.extend(s||{},e);if(i.isObject(e)&&!h.set(e,r)){return false}if(u)u(h,t,r);h.trigger("sync",h,t,r)};q(this,r);n=this.isNew()?"create":r.patch?"patch":"update";if(n==="patch")r.attrs=s;a=this.sync(n,this,r);if(s&&r.wait)this.attributes=o;return a},destroy:function(t){t=t?i.clone(t):{};var e=this;var r=t.success;var s=function(){e.trigger("destroy",e,e.collection,t)};t.success=function(i){if(t.wait||e.isNew())s();if(r)r(e,i,t);if(!e.isNew())e.trigger("sync",e,i,t)};if(this.isNew()){t.success();return false}q(this,t);var n=this.sync("delete",this,t);if(!t.wait)s();return n},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||M();if(this.isNew())return t;return t.replace(/([^\/])$/,"$1/")+encodeURIComponent(this.id)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend(t||{},{validate:true}))},_validate:function(t,e){if(!e.validate||!this.validate)return true;t=i.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;if(!r)return true;this.trigger("invalid",this,r,i.extend(e,{validationError:r}));return false}});var v=["keys","values","pairs","invert","pick","omit"];i.each(v,function(t){p.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.attributes);return i[t].apply(i,e)}});var g=e.Collection=function(t,e){e||(e={});if(e.model)this.model=e.model;if(e.comparator!==void 0)this.comparator=e.comparator;this._reset();this.initialize.apply(this,arguments);if(t)this.reset(t,i.extend({silent:true},e))};var m={add:true,remove:true,merge:true};var y={add:true,remove:false};i.extend(g.prototype,u,{model:p,initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:false},e,y))},remove:function(t,e){var r=!i.isArray(t);t=r?[t]:i.clone(t);e||(e={});var s,n,a,o;for(s=0,n=t.length;s<n;s++){o=t[s]=this.get(t[s]);if(!o)continue;delete this._byId[o.id];delete this._byId[o.cid];a=this.indexOf(o);this.models.splice(a,1);this.length--;if(!e.silent){e.index=a;o.trigger("remove",o,this,e)}this._removeReference(o,e)}return r?t[0]:t},set:function(t,e){e=i.defaults({},e,m);if(e.parse)t=this.parse(t,e);var r=!i.isArray(t);t=r?t?[t]:[]:i.clone(t);var s,n,a,o,h,u,l;var c=e.at;var f=this.model;var d=this.comparator&&c==null&&e.sort!==false;var v=i.isString(this.comparator)?this.comparator:null;var g=[],y=[],_={};var b=e.add,w=e.merge,x=e.remove;var E=!d&&b&&x?[]:false;for(s=0,n=t.length;s<n;s++){h=t[s]||{};if(h instanceof p){a=o=h}else{a=h[f.prototype.idAttribute||"id"]}if(u=this.get(a)){if(x)_[u.cid]=true;if(w){h=h===o?o.attributes:h;if(e.parse)h=u.parse(h,e);u.set(h,e);if(d&&!l&&u.hasChanged(v))l=true}t[s]=u}else if(b){o=t[s]=this._prepareModel(h,e);if(!o)continue;g.push(o);this._addReference(o,e)}o=u||o;if(E&&(o.isNew()||!_[o.id]))E.push(o);_[o.id]=true}if(x){for(s=0,n=this.length;s<n;++s){if(!_[(o=this.models[s]).cid])y.push(o)}if(y.length)this.remove(y,e)}if(g.length||E&&E.length){if(d)l=true;this.length+=g.length;if(c!=null){for(s=0,n=g.length;s<n;s++){this.models.splice(c+s,0,g[s])}}else{if(E)this.models.length=0;var k=E||g;for(s=0,n=k.length;s<n;s++){this.models.push(k[s])}}}if(l)this.sort({silent:true});if(!e.silent){for(s=0,n=g.length;s<n;s++){(o=g[s]).trigger("add",o,this,e)}if(l||E&&E.length)this.trigger("sort",this,e)}return r?t[0]:t},reset:function(t,e){e||(e={});for(var r=0,s=this.models.length;r<s;r++){this._removeReference(this.models[r],e)}e.previousModels=this.models;this._reset();t=this.add(t,i.extend({silent:true},e));if(!e.silent)this.trigger("reset",this,e);return t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);this.remove(e,t);return e},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);this.remove(e,t);return e},slice:function(){return o.apply(this.models,arguments)},get:function(t){if(t==null)return void 0;return this._byId[t]||this._byId[t.id]||this._byId[t.cid]},at:function(t){return this.models[t]},where:function(t,e){if(i.isEmpty(t))return e?void 0:[];return this[e?"find":"filter"](function(e){for(var i in t){if(t[i]!==e.get(i))return false}return true})},findWhere:function(t){return this.where(t,true)},sort:function(t){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");t||(t={});if(i.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(i.bind(this.comparator,this))}if(!t.silent)this.trigger("sort",this,t);return this},pluck:function(t){return i.invoke(this.models,"get",t)},fetch:function(t){t=t?i.clone(t):{};if(t.parse===void 0)t.parse=true;var e=t.success;var r=this;t.success=function(i){var s=t.reset?"reset":"set";r[s](i,t);if(e)e(r,i,t);r.trigger("sync",r,i,t)};q(this,t);return this.sync("read",this,t)},create:function(t,e){e=e?i.clone(e):{};if(!(t=this._prepareModel(t,e)))return false;if(!e.wait)this.add(t,e);var r=this;var s=e.success;e.success=function(t,i){if(e.wait)r.add(t,e);if(s)s(t,i,e)};t.save(null,e);return t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models)},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(t,e){if(t instanceof p)return t;e=e?i.clone(e):{};e.collection=this;var r=new this.model(t,e);if(!r.validationError)return r;this.trigger("invalid",this,r.validationError,e);return false},_addReference:function(t,e){this._byId[t.cid]=t;if(t.id!=null)this._byId[t.id]=t;if(!t.collection)t.collection=this;t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){if(this===t.collection)delete t.collection;t.off("all",this._onModelEvent,this)}
11,_onModelEvent:function(t,e,i,r){if((t==="add"||t==="remove")&&i!==this)return;if(t==="destroy")this.remove(e,r);if(e&&t==="change:"+e.idAttribute){delete this._byId[e.previous(e.idAttribute)];if(e.id!=null)this._byId[e.id]=e}this.trigger.apply(this,arguments)}});var _=["forEach","each","map","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","max","min","toArray","size","first","head","take","initial","rest","tail","drop","last","without","difference","indexOf","shuffle","lastIndexOf","isEmpty","chain","sample"];i.each(_,function(t){g.prototype[t]=function(){var e=o.call(arguments);e.unshift(this.models);return i[t].apply(i,e)}});var b=["groupBy","countBy","sortBy","indexBy"];i.each(b,function(t){g.prototype[t]=function(e,r){var s=i.isFunction(e)?e:function(t){return t.get(e)};return i[t](this.models,s,r)}});var w=e.View=function(t){this.cid=i.uniqueId("view");t||(t={});i.extend(this,i.pick(t,E));this._ensureElement();this.initialize.apply(this,arguments);this.delegateEvents()};var x=/^(\S+)\s*(.*)$/;var E=["model","collection","el","id","attributes","className","tagName","events"];i.extend(w.prototype,u,{tagName:"div",$:function(t){return this.$el.find(t)},initialize:function(){},render:function(){return this},remove:function(){this.$el.remove();this.stopListening();return this},setElement:function(t,i){if(this.$el)this.undelegateEvents();this.$el=t instanceof e.$?t:e.$(t);this.el=this.$el[0];if(i!==false)this.delegateEvents();return this},delegateEvents:function(t){if(!(t||(t=i.result(this,"events"))))return this;this.undelegateEvents();for(var e in t){var r=t[e];if(!i.isFunction(r))r=this[t[e]];if(!r)continue;var s=e.match(x);var n=s[1],a=s[2];r=i.bind(r,this);n+=".delegateEvents"+this.cid;if(a===""){this.$el.on(n,r)}else{this.$el.on(n,a,r)}}return this},undelegateEvents:function(){this.$el.off(".delegateEvents"+this.cid);return this},_ensureElement:function(){if(!this.el){var t=i.extend({},i.result(this,"attributes"));if(this.id)t.id=i.result(this,"id");if(this.className)t["class"]=i.result(this,"className");var r=e.$("<"+i.result(this,"tagName")+">").attr(t);this.setElement(r,false)}else{this.setElement(i.result(this,"el"),false)}}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}if(a.type==="PATCH"&&k){a.xhr=function(){return new ActiveXObject("Microsoft.XMLHTTP")}}var h=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,h,s);return h};var k=typeof window!=="undefined"&&!!window.ActiveXObject&&!(window.XMLHttpRequest&&(new XMLHttpRequest).dispatchEvent);var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var $=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var S=/\((.*?)\)/g;var H=/(\(\?)?:\w+/g;var A=/\*\w+/g;var I=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend($.prototype,u,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);n.execute(s,a);n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)});return this},execute:function(t,e){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(I,"\\$&").replace(S,"(?:$1)?").replace(H,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var O=/^\/+|\/+$/g;var P=/msie [\w.]+/;var C=/\/$/;var j=/#.*$/;N.started=false;i.extend(N.prototype,u,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getFragment:function(t,e){if(t==null){if(this._hasPushState||!this._wantsHashChange||e){t=decodeURI(this.location.pathname+this.location.search);var i=this.root.replace(C,"");if(!t.indexOf(i))t=t.slice(i.length)}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.options.pushState&&this.history&&this.history.pushState);var r=this.getFragment();var s=document.documentMode;var n=P.exec(navigator.userAgent.toLowerCase())&&(!s||s<=7);this.root=("/"+this.root+"/").replace(O,"/");if(n&&this._wantsHashChange){var a=e.$('<iframe src="javascript:0" tabindex="-1">');this.iframe=a.hide().appendTo("body")[0].contentWindow;this.navigate(r)}if(this._hasPushState){e.$(window).on("popstate",this.checkUrl)}else if(this._wantsHashChange&&"onhashchange"in window&&!n){e.$(window).on("hashchange",this.checkUrl)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}this.fragment=r;var o=this.location;if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){this.fragment=this.getFragment(null,true);this.location.replace(this.root+"#"+this.fragment);return true}else if(this._hasPushState&&this.atRoot()&&o.hash){this.fragment=this.getHash().replace(R,"");this.history.replaceState({},document.title,this.root+this.fragment)}}if(!this.options.silent)return this.loadUrl()},stop:function(){e.$(window).off("popstate",this.checkUrl).off("hashchange",this.checkUrl);if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);N.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getFragment(this.getHash(this.iframe))}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){t=this.fragment=this.getFragment(t);return i.any(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!N.started)return false;if(!e||e===true)e={trigger:!!e};var i=this.root+(t=this.getFragment(t||""));t=t.replace(j,"");if(this.fragment===t)return;this.fragment=t;if(t===""&&i!=="/")i=i.slice(0,-1);if(this._hasPushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,i)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getFragment(this.getHash(this.iframe))){if
11(!e.replace)this.iframe.document.open().close();this._updateHash(this.iframe.location,t,e.replace)}}else{return this.location.assign(i)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new N;var U=function(t,e){var r=this;var s;if(t&&i.has(t,"constructor")){s=t.constructor}else{s=function(){return r.apply(this,arguments)}}i.extend(s,r,e);var n=function(){this.constructor=s};n.prototype=r.prototype;s.prototype=new n;if(t)i.extend(s.prototype,t);s.__super__=r.prototype;return s};p.extend=g.extend=$.extend=w.extend=N.extend=U;var M=function(){throw new Error('A "url" property or function must be specified')};var q=function(t,e){var i=e.error;e.error=function(r){if(i)i(t,r,e);t.trigger("error",t,r,e)}};return e});
12
13// MarionetteJS (Backbone.Marionette)
14// ----------------------------------
15// v2.4.2
16//
17// Copyright (c)2015 Derick Bailey, Muted Solutions, LLC.
18// Distributed under MIT license
19//
20// http://marionettejs.com
21
22
23/*!
24 * Includes BabySitter
25 * https://github.com/marionettejs/backbone.babysitter/
26 *
27 * Includes Wreqr
28 * https://github.com/marionettejs/backbone.wreqr/
29 */
30
31
32(function(t,e){if("function"==typeof define&&define.amd)define(["backbone","underscore"],function(i,n){return t.Marionette=t.Mn=e(t,i,n)});else if("undefined"!=typeof exports){var i=require("backbone"),n=require("underscore");module.exports=e(t,i,n)}else t.Marionette=t.Mn=e(t,t.Backbone,t._)})(this,function(t,e,i){"use strict";(function(t,e){var i=t.ChildViewContainer;return t.ChildViewContainer=function(t,e){var i=function(t){this._views={},this._indexByModel={},this._indexByCustom={},this._updateLength(),e.each(t,this.add,this)};e.extend(i.prototype,{add:function(t,e){var i=t.cid;return this._views[i]=t,t.model&&(this._indexByModel[t.model.cid]=i),e&&(this._indexByCustom[e]=i),this._updateLength(),this},findByModel:function(t){return this.findByModelCid(t.cid)},findByModelCid:function(t){var e=this._indexByModel[t];return this.findByCid(e)},findByCustom:function(t){var e=this._indexByCustom[t];return this.findByCid(e)},findByIndex:function(t){return e.values(this._views)[t]},findByCid:function(t){return this._views[t]},remove:function(t){var i=t.cid;return t.model&&delete this._indexByModel[t.model.cid],e.any(this._indexByCustom,function(t,e){return t===i?(delete this._indexByCustom[e],!0):void 0},this),delete this._views[i],this._updateLength(),this},call:function(t){this.apply(t,e.tail(arguments))},apply:function(t,i){e.each(this._views,function(n){e.isFunction(n[t])&&n[t].apply(n,i||[])})},_updateLength:function(){this.length=e.size(this._views)}});var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck","reduce"];return e.each(n,function(t){i.prototype[t]=function(){var i=e.values(this._views),n=[i].concat(e.toArray(arguments));return e[t].apply(e,n)}}),i}(t,e),t.ChildViewContainer.VERSION="0.1.7",t.ChildViewContainer.noConflict=function(){return t.ChildViewContainer=i,this},t.ChildViewContainer})(e,i),function(t,e){var i=t.Wreqr,n=t.Wreqr={};return t.Wreqr.VERSION="1.3.3",t.Wreqr.noConflict=function(){return t.Wreqr=i,this},n.Handlers=function(t,e){var i=function(t){this.options=t,this._wreqrHandlers={},e.isFunction(this.initialize)&&this.initialize(t)};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events,{setHandlers:function(t){e.each(t,function(t,i){var n=null;e.isObject(t)&&!e.isFunction(t)&&(n=t.context,t=t.callback),this.setHandler(i,t,n)},this)},setHandler:function(t,e,i){var n={callback:e,context:i};this._wreqrHandlers[t]=n,this.trigger("handler:add",t,e,i)},hasHandler:function(t){return!!this._wreqrHandlers[t]},getHandler:function(t){var e=this._wreqrHandlers[t];if(e)return function(){return e.callback.apply(e.context,arguments)}},removeHandler:function(t){delete this._wreqrHandlers[t]},removeAllHandlers:function(){this._wreqrHandlers={}}}),i}(t,e),n.CommandStorage=function(){var i=function(t){this.options=t,this._commands={},e.isFunction(this.initialize)&&this.initialize(t)};return e.extend(i.prototype,t.Events,{getCommands:function(t){var e=this._commands[t];return e||(e={command:t,instances:[]},this._commands[t]=e),e},addCommand:function(t,e){var i=this.getCommands(t);i.instances.push(e)},clearCommands:function(t){var e=this.getCommands(t);e.instances=[]}}),i}(),n.Commands=function(t,e){return t.Handlers.extend({storageType:t.CommandStorage,constructor:function(e){this.options=e||{},this._initializeStorage(this.options),this.on("handler:add",this._executeCommands,this),t.Handlers.prototype.constructor.apply(this,arguments)},execute:function(t){t=arguments[0];var i=e.rest(arguments);this.hasHandler(t)?this.getHandler(t).apply(this,i):this.storage.addCommand(t,i)},_executeCommands:function(t,i,n){var r=this.storage.getCommands(t);e.each(r.instances,function(t){i.apply(n,t)}),this.storage.clearCommands(t)},_initializeStorage:function(t){var i,n=t.storageType||this.storageType;i=e.isFunction(n)?new n:n,this.storage=i}})}(n,e),n.RequestResponse=function(t,e){return t.Handlers.extend({request:function(t){return this.hasHandler(t)?this.getHandler(t).apply(this,e.rest(arguments)):void 0}})}(n,e),n.EventAggregator=function(t,e){var i=function(){};return i.extend=t.Model.extend,e.extend(i.prototype,t.Events),i}(t,e),n.Channel=function(){var i=function(e){this.vent=new t.Wreqr.EventAggregator,this.reqres=new t.Wreqr.RequestResponse,this.commands=new t.Wreqr.Commands,this.channelName=e};return e.extend(i.prototype,{reset:function(){return this.vent.off(),this.vent.stopListening(),this.reqres.removeAllHandlers(),this.commands.removeAllHandlers(),this},connectEvents:function(t,e){return this._connect("vent",t,e),this},connectCommands:function(t,e){return this._connect("commands",t,e),this},connectRequests:function(t,e){return this._connect("reqres",t,e),this},_connect:function(t,i,n){if(i){n=n||this;var r="vent"===t?"on":"setHandler";e.each(i,function(i,s){this[t][r](s,e.bind(i,n))},this)}}}),i}(n),n.radio=function(t,e){var i=function(){this._channels={},this.vent={},this.commands={},this.reqres={},this._proxyMethods()};e.extend(i.prototype,{channel:function(t){if(!t)throw Error("Channel must receive a name");return this._getChannel(t)},_getChannel:function(e){var i=this._channels[e];
32return i||(i=new t.Channel(e),this._channels[e]=i),i},_proxyMethods:function(){e.each(["vent","commands","reqres"],function(t){e.each(n[t],function(e){this[t][e]=r(this,t,e)},this)},this)}});var n={vent:["on","off","trigger","once","stopListening","listenTo","listenToOnce"],commands:["execute","setHandler","setHandlers","removeHandler","removeAllHandlers"],reqres:["request","setHandler","setHandlers","removeHandler","removeAllHandlers"]},r=function(t,i,n){return function(r){var s=t._getChannel(r)[i];return s[n].apply(s,e.rest(arguments))}};return new i}(n,e),t.Wreqr}(e,i);var n=t.Marionette,r=t.Mn,s=e.Marionette={};s.VERSION="2.4.2",s.noConflict=function(){return t.Marionette=n,t.Mn=r,this},e.Marionette=s,s.Deferred=e.$.Deferred,s.extend=e.Model.extend,s.isNodeAttached=function(t){return e.$.contains(document.documentElement,t)},s.mergeOptions=function(t,e){t&&i.extend(this,i.pick(t,e))},s.getOption=function(t,e){return t&&e?t.options&&void 0!==t.options[e]?t.options[e]:t[e]:void 0},s.proxyGetOption=function(t){return s.getOption(this,t)},s._getValue=function(t,e,n){return i.isFunction(t)&&(t=n?t.apply(e,n):t.call(e)),t},s.normalizeMethods=function(t){return i.reduce(t,function(t,e,n){return i.isFunction(e)||(e=this[e]),e&&(t[n]=e),t},{},this)},s.normalizeUIString=function(t,e){return t.replace(/@ui\.[a-zA-Z_$0-9]*/g,function(t){return e[t.slice(4)]})},s.normalizeUIKeys=function(t,e){return i.reduce(t,function(t,i,n){var r=s.normalizeUIString(n,e);return t[r]=i,t},{})},s.normalizeUIValues=function(t,e,n){return i.each(t,function(r,o){i.isString(r)?t[o]=s.normalizeUIString(r,e):i.isObject(r)&&i.isArray(n)&&(i.extend(r,s.normalizeUIValues(i.pick(r,n),e)),i.each(n,function(t){var n=r[t];i.isString(n)&&(r[t]=s.normalizeUIString(n,e))}))}),t},s.actAsCollection=function(t,e){var n=["forEach","each","map","find","detect","filter","select","reject","every","all","some","any","include","contains","invoke","toArray","first","initial","rest","last","without","isEmpty","pluck"];i.each(n,function(n){t[n]=function(){var t=i.values(i.result(this,e)),r=[t].concat(i.toArray(arguments));return i[n].apply(i,r)}})};var o=s.deprecate=function(t,e){i.isObject(t)&&(t=t.prev+" is going to be removed in the future. "+"Please use "+t.next+" instead."+(t.url?" See: "+t.url:"")),void 0!==e&&e||o._cache[t]||(o._warn("Deprecation warning: "+t),o._cache[t]=!0)};o._warn="undefined"!=typeof console&&(console.warn||console.log)||function(){},o._cache={},s._triggerMethod=function(){function t(t,e,i){return i.toUpperCase()}var e=/(^|:)(\w)/gi;return function(n,r,s){var o=3>arguments.length;o&&(s=r,r=s[0]);var h,a="on"+r.replace(e,t),d=n[a];return i.isFunction(d)&&(h=d.apply(n,o?i.rest(s):s)),i.isFunction(n.trigger)&&(o+s.length>1?n.trigger.apply(n,o?s:[r].concat(i.drop(s,0))):n.trigger(r)),h}}(),s.triggerMethod=function(){return s._triggerMethod(this,arguments)},s.triggerMethodOn=function(t){var e=i.isFunction(t.triggerMethod)?t.triggerMethod:s.triggerMethod;return e.apply(t,i.rest(arguments))},s.MonitorDOMRefresh=function(t){function e(){t._isShown=!0,r()}function n(){t._isRendered=!0,r()}function r(){t._isShown&&t._isRendered&&s.isNodeAttached(t.el)&&i.isFunction(t.triggerMethod)&&t.triggerMethod("dom:refresh")}t.on({show:e,render:n})},function(t){function e(e,n,r,s){var o=s.split(/\s+/);i.each(o,function(i){var s=e[i];if(!s)throw new t.Error('Method "'+i+'" was configured as an event handler, but does not exist.');e.listenTo(n,r,s)})}function n(t,e,i,n){t.listenTo(e,i,n)}function r(t,e,n,r){var s=r.split(/\s+/);i.each(s,function(i){var r=t[i];t.stopListening(e,n,r)})}function s(t,e,i,n){t.stopListening(e,i,n)}function o(e,n,r,s,o){if(n&&r){if(!i.isObject(r))throw new t.Error({message:"Bindings must be an object or function.",url:"marionette.functions.html#marionettebindentityevents"});r=t._getValue(r,e),i.each(r,function(t,r){i.isFunction(t)?s(e,n,r,t):o(e,n,r,t)})}}t.bindEntityEvents=function(t,i,r){o(t,i,r,n,e)},t.unbindEntityEvents=function(t,e,i){o(t,e,i,s,r)},t.proxyBindEntityEvents=function(e,i){return t.bindEntityEvents(this,e,i)},t.proxyUnbindEntityEvents=function(e,i){return t.unbindEntityEvents(this,e,i)}}(s);var h=["description","fileName","lineNumber","name","message","number"];return s.Error=s.extend.call(Error,{urlRoot:"http://marionettejs.com/docs/v"+s.VERSION+"/",constructor:function(t,e){i.isObject(t)?(e=t,t=e.message):e||(e={});var n=Error.call(this,t);i.extend(this,i.pick(n,h),i.pick(e,h)),this.captureStackTrace(),e.url&&(this.url=this.urlRoot+e.url)},captureStackTrace:function(){Error.captureStackTrace&&Error.captureStackTrace(this,s.Error)},toString:function(){return this.name+": "+this.message+(this.url?" See: "+this.url:"")}}),s.Error.extend=s.extend,s.Callbacks=function(){this._deferred=s.Deferred(),this._callbacks=[]},i.extend(s.Callbacks.prototype,{add:function(t,e){var n=i.result(this._deferred,"promise");this._callbacks.push({cb:t,ctx:e}),n.then(function(i){e&&(i.context=e),t.call(i.context,i.options)})},run:function(t,e){this._deferred.resolve({options:t,context:e})},reset:function(){var t=this._callbacks;this._deferred=s.Deferred(),this._callbacks=[],i.each(t,function(t){this.add(t.cb,t.ctx)},this)}}),s.Controller=function(t){this.options=t||{},i.isFunction(this.initialize)&&this.initialize(this.options)},s.Controller.extend=s.extend,i.extend(s.Controller.prototype,e.Events,{destroy:function(){return s._triggerMethod(this,"before:destroy",arguments),s._triggerMethod(this,"destroy",arguments),this.stopListening(),this.off(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption}),s.Object=function(t){this.options=i.extend({},i.result(this,"options"),t),this.initialize.apply(this,arguments)},s.Object.extend=s.extend,i.extend(s.Object.prototype,e.Events,{initialize:function(){},destroy:function(){return this.triggerMethod("before:destroy"),this.triggerMethod("destroy"),this.stopListening(),this},triggerMethod:s.triggerMethod,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Region=s.Object.extend({constructor:function(t){if(this.options=t||{},this.el=this.getOption("el"),this.el=this.el instanceof e.$?this.el[0]:this.el,!this.el)throw new s.Error({name:"NoElError",message:'An "el" must be specified for a regi
32on.'});this.$el=this.getEl(this.el),s.Object.call(this,t)},show:function(t,e){if(this._ensureElement()){this._ensureViewIsIntact(t);var n=e||{},r=t!==this.currentView,o=!!n.preventDestroy,h=!!n.forceShow,a=!!this.currentView,d=r&&!o,l=r||h;if(a&&this.triggerMethod("before:swapOut",this.currentView,this,e),this.currentView&&delete this.currentView._parent,d?this.empty():a&&l&&this.currentView.off("destroy",this.empty,this),l){t.once("destroy",this.empty,this),t.render(),t._parent=this,a&&this.triggerMethod("before:swap",t,this,e),this.triggerMethod("before:show",t,this,e),s.triggerMethodOn(t,"before:show",t,this,e),a&&this.triggerMethod("swapOut",this.currentView,this,e);var c=s.isNodeAttached(this.el),u=[],g=i.extend({triggerBeforeAttach:this.triggerBeforeAttach,triggerAttach:this.triggerAttach},n);return c&&g.triggerBeforeAttach&&(u=this._displayedViews(t),this._triggerAttach(u,"before:")),this.attachHtml(t),this.currentView=t,c&&g.triggerAttach&&(u=this._displayedViews(t),this._triggerAttach(u)),a&&this.triggerMethod("swap",t,this,e),this.triggerMethod("show",t,this,e),s.triggerMethodOn(t,"show",t,this,e),this}return this}},triggerBeforeAttach:!0,triggerAttach:!0,_triggerAttach:function(t,e){var n=(e||"")+"attach";i.each(t,function(t){s.triggerMethodOn(t,n,t,this)},this)},_displayedViews:function(t){return i.union([t],i.result(t,"_getNestedViews")||[])},_ensureElement:function(){if(i.isObject(this.el)||(this.$el=this.getEl(this.el),this.el=this.$el[0]),!this.$el||0===this.$el.length){if(this.getOption("allowMissingEl"))return!1;throw new s.Error('An "el" '+this.$el.selector+" must exist in DOM")}return!0},_ensureViewIsIntact:function(t){if(!t)throw new s.Error({name:"ViewNotValid",message:"The view passed is undefined and therefore invalid. You must pass a view instance to show."});if(t.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+t.cid+'") has already been destroyed and cannot be used.'})},getEl:function(t){return e.$(t,s._getValue(this.options.parentEl,this))},attachHtml:function(t){this.$el.contents().detach(),this.el.appendChild(t.el)},empty:function(t){var e=this.currentView,i=s._getValue(t,"preventDestroy",this);return e?(e.off("destroy",this.empty,this),this.triggerMethod("before:empty",e),i||this._destroyView(),this.triggerMethod("empty",e),delete this.currentView,i&&this.$el.contents().detach(),this):void 0},_destroyView:function(){var t=this.currentView;t.destroy&&!t.isDestroyed?t.destroy():t.remove&&(t.remove(),t.isDestroyed=!0)},attachView:function(t){return this.currentView=t,this},hasView:function(){return!!this.currentView},reset:function(){return this.empty(),this.$el&&(this.el=this.$el.selector),delete this.$el,this}},{buildRegion:function(t,e){if(i.isString(t))return this._buildRegionFromSelector(t,e);if(t.selector||t.el||t.regionClass)return this._buildRegionFromObject(t,e);if(i.isFunction(t))return this._buildRegionFromRegionClass(t);throw new s.Error({message:"Improper region configuration type.",url:"marionette.region.html#region-configuration-types"})},_buildRegionFromSelector:function(t,e){return new e({el:t})},_buildRegionFromObject:function(t,e){var n=t.regionClass||e,r=i.omit(t,"selector","regionClass");return t.selector&&!r.el&&(r.el=t.selector),new n(r)},_buildRegionFromRegionClass:function(t){return new t}}),s.RegionManager=s.Controller.extend({constructor:function(t){this._regions={},this.length=0,s.Controller.call(this,t),this.addRegions(this.getOption("regions"))},addRegions:function(t,e){return t=s._getValue(t,this,arguments),i.reduce(t,function(t,n,r){return i.isString(n)&&(n={selector:n}),n.selector&&(n=i.defaults({},n,e)),t[r]=this.addRegion(r,n),t},{},this)},addRegion:function(t,e){var i;return i=e instanceof s.Region?e:s.Region.buildRegion(e,s.Region),this.triggerMethod("before:add:region",t,i),i._parent=this,this._store(t,i),this.triggerMethod("add:region",t,i),i},get:function(t){return this._regions[t]},getRegions:function(){return i.clone(this._regions)},removeRegion:function(t){var e=this._regions[t];return this._remove(t,e),e},removeRegions:function(){var t=this.getRegions();return i.each(this._regions,function(t,e){this._remove(e,t)},this),t},emptyRegions:function(){var t=this.getRegions();return i.invoke(t,"empty"),t},destroy:function(){return this.removeRegions(),s.Controller.prototype.destroy.apply(this,arguments)},_store:function(t,e){this._regions[t]||this.length++,this._regions[t]=e},_remove:function(t,e){this.triggerMethod("before:remove:region",t,e),e.empty(),e.stopListening(),delete e._parent,delete this._regions[t],this.length--,this.triggerMethod("remove:region",t,e)}}),s.actAsCollection(s.RegionManager.prototype,"_regions"),s.TemplateCache=function(t){this.templateId=t},i.extend(s.TemplateCache,{templateCaches:{},get:function(t,e){var i=this.templateCaches[t];
32return i||(i=new s.TemplateCache(t),this.templateCaches[t]=i),i.load(e)},clear:function(){var t,e=i.toArray(arguments),n=e.length;if(n>0)for(t=0;n>t;t++)delete this.templateCaches[e[t]];else this.templateCaches={}}}),i.extend(s.TemplateCache.prototype,{load:function(t){if(this.compiledTemplate)return this.compiledTemplate;var e=this.loadTemplate(this.templateId,t);return this.compiledTemplate=this.compileTemplate(e,t),this.compiledTemplate},loadTemplate:function(t){var i=e.$(t).html();if(!i||0===i.length)throw new s.Error({name:"NoTemplateError",message:'Could not find template: "'+t+'"'});return i},compileTemplate:function(t,e){return i.template(t,e)}}),s.Renderer={render:function(t,e){if(!t)throw new s.Error({name:"TemplateNotFoundError",message:"Cannot render the template since its false, null or undefined."});var n=i.isFunction(t)?t:s.TemplateCache.get(t);return n(e)}},s.View=e.View.extend({isDestroyed:!1,constructor:function(t){i.bindAll(this,"render"),t=s._getValue(t,this),this.options=i.extend({},i.result(this,"options"),t),this._behaviors=s.Behaviors(this),e.View.call(this,this.options),s.MonitorDOMRefresh(this)},getTemplate:function(){return this.getOption("template")},serializeModel:function(t){return t.toJSON.apply(t,i.rest(arguments))},mixinTemplateHelpers:function(t){t=t||{};var e=this.getOption("templateHelpers");return e=s._getValue(e,this),i.extend(t,e)},normalizeUIKeys:function(t){var e=i.result(this,"_uiBindings");return s.normalizeUIKeys(t,e||i.result(this,"ui"))},normalizeUIValues:function(t,e){var n=i.result(this,"ui"),r=i.result(this,"_uiBindings");return s.normalizeUIValues(t,r||n,e)},configureTriggers:function(){if(this.triggers){var t=this.normalizeUIKeys(i.result(this,"triggers"));return i.reduce(t,function(t,e,i){return t[i]=this._buildViewTrigger(e),t},{},this)}},delegateEvents:function(t){return this._delegateDOMEvents(t),this.bindEntityEvents(this.model,this.getOption("modelEvents")),this.bindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.bindEntityEvents(this.model,t.getOption("modelEvents")),t.bindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_delegateDOMEvents:function(t){var n=s._getValue(t||this.events,this);n=this.normalizeUIKeys(n),i.isUndefined(t)&&(this.events=n);var r={},o=i.result(this,"behaviorEvents")||{},h=this.configureTriggers(),a=i.result(this,"behaviorTriggers")||{};i.extend(r,o,n,h,a),e.View.prototype.delegateEvents.call(this,r)},undelegateEvents:function(){return e.View.prototype.undelegateEvents.apply(this,arguments),this.unbindEntityEvents(this.model,this.getOption("modelEvents")),this.unbindEntityEvents(this.collection,this.getOption("collectionEvents")),i.each(this._behaviors,function(t){t.unbindEntityEvents(this.model,t.getOption("modelEvents")),t.unbindEntityEvents(this.collection,t.getOption("collectionEvents"))},this),this},_ensureViewIsIntact:function(){if(this.isDestroyed)throw new s.Error({name:"ViewDestroyedError",message:'View (cid: "'+this.cid+'") has already been destroyed and cannot be used.'})},destroy:function(){if(this.isDestroyed)return this;var t=i.toArray(arguments);return this.triggerMethod.apply(this,["before:destroy"].concat(t)),this.isDestroyed=!0,this.triggerMethod.apply(this,["destroy"].concat(t)),this.unbindUIElements(),this.isRendered=!1,this.remove(),i.invoke(this._behaviors,"destroy",t),this},bindUIElements:function(){this._bindUIElements(),i.invoke(this._behaviors,this._bindUIElements)},_bindUIElements:function(){if(this.ui){this._uiBindings||(this._uiBindings=this.ui);var t=i.result(this,"_uiBindings");this.ui={},i.each(t,function(t,e){this.ui[e]=this.$(t)},this)}},unbindUIElements:function(){this._unbindUIElements(),i.invoke(this._behaviors,this._unbindUIElements)},_unbindUIElements:function(){this.ui&&this._uiBindings&&(i.each(this.ui,function(t,e){delete this.ui[e]},this),this.ui=this._uiBindings,delete this._uiBindings)},_buildViewTrigger:function(t){var e=i.isObject(t),n=i.defaults({},e?t:{},{preventDefault:!0,stopPropagation:!0}),r=e?n.event:t;return function(t){t&&(t.preventDefault&&n.preventDefault&&t.preventDefault(),t.stopPropagation&&n.stopPropagation&&t.stopPropagation());var e={view:this,model:this.model,collection:this.collection};this.triggerMethod(r,e)}},setElement:function(){var t=e.View.prototype.setElement.apply(this,arguments);return i.invoke(this._behaviors,"proxyViewProperties",this),t},triggerMethod:function(){var t=s._triggerMethod(this,arguments);return this._triggerEventOnBehaviors(arguments),this._triggerEventOnParentLayout(arguments[0],i.rest(arguments)),t},_triggerEventOnBehaviors:function(t){for(var e=s._triggerMethod,i=this._behaviors,n=0,r=i&&i.length;r>n;n++)e(i[n],t)},_triggerEventOnParentLayout:function(t,e){var n=this._parentLayoutView();if(n){var r=s.getOption(n,"childViewEventPrefix"),o=r+":"+t;s._triggerMethod(n,[o,this].concat(e));var h=s.getOption(n,"childEvents"),a=n.normalizeMethods(h);a&&i.isFunction(a[t])&&a[t].apply(n,[this].concat(e))}},_getImmediateChildren:function(){return[]},_getNestedViews:function(){var t=this._getImmediateChildren();
32return t.length?i.reduce(t,function(t,e){return e._getNestedViews?t.concat(e._getNestedViews()):t},t):t},_getAncestors:function(){for(var t=[],e=this._parent;e;)t.push(e),e=e._parent;return t},_parentLayoutView:function(){var t=this._getAncestors();return i.find(t,function(t){return t instanceof s.LayoutView})},normalizeMethods:s.normalizeMethods,mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.ItemView=s.View.extend({constructor:function(){s.View.apply(this,arguments)},serializeData:function(){if(!this.model&&!this.collection)return{};var t=[this.model||this.collection];return arguments.length&&t.push.apply(t,arguments),this.model?this.serializeModel.apply(this,t):{items:this.serializeCollection.apply(this,t)}},serializeCollection:function(t){return t.toJSON.apply(t,i.rest(arguments))},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderTemplate(),this.isRendered=!0,this.bindUIElements(),this.triggerMethod("render",this),this},_renderTemplate:function(){var t=this.getTemplate();if(t!==!1){if(!t)throw new s.Error({name:"UndefinedTemplateError",message:"Cannot render the template since it is null or undefined."});var e=this.mixinTemplateHelpers(this.serializeData()),i=s.Renderer.render(t,e,this);return this.attachElContent(i),this}},attachElContent:function(t){return this.$el.html(t),this}}),s.CollectionView=s.View.extend({childViewEventPrefix:"childview",sort:!0,constructor:function(){this.once("render",this._initialEvents),this._initChildViewStorage(),s.View.apply(this,arguments),this.on({"before:show":this._onBeforeShowCalled,show:this._onShowCalled,"before:attach":this._onBeforeAttachCalled,attach:this._onAttachCalled}),this.initRenderBuffer()},initRenderBuffer:function(){this._bufferedChildren=[]},startBuffering:function(){this.initRenderBuffer(),this.isBuffering=!0},endBuffering:function(){var t,e=this._isShown&&s.isNodeAttached(this.el);this.isBuffering=!1,this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"before:show"),e&&this._triggerBeforeAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"before:attach")),this.attachBuffer(this,this._createBuffer()),e&&this._triggerAttach&&(t=this._getNestedViews(),this._triggerMethodMany(t,this,"attach")),this._isShown&&this._triggerMethodMany(this._bufferedChildren,this,"show"),this.initRenderBuffer()},_triggerMethodMany:function(t,e,n){var r=i.drop(arguments,3);i.each(t,function(t){s.triggerMethodOn.apply(t,[t,n,t,e].concat(r))})},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this.render),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},_onCollectionAdd:function(t,e,n){var r;if(r=void 0!==n.at?n.at:i.indexOf(this._filteredSortedModels(),t),this._shouldAddChild(t,r)){this.destroyEmptyView();var s=this.getChildView(t);this.addChild(t,s,r)}},_onCollectionRemove:function(t){var e=this.children.findByModel(t);this.removeChildView(e),this.checkEmpty()},_onBeforeShowCalled:function(){this._triggerBeforeAttach=this._triggerAttach=!1,this.children.each(function(t){s.triggerMethodOn(t,"before:show",t)})},_onShowCalled:function(){this.children.each(function(t){s.triggerMethodOn(t,"show",t)})},_onBeforeAttachCalled:function(){this._triggerBeforeAttach=!0},_onAttachCalled:function(){this._triggerAttach=!0},render:function(){return this._ensureViewIsIntact(),this.triggerMethod("before:render",this),this._renderChildren(),this.isRendered=!0,this.triggerMethod("render",this),this},reorder:function(){var t=this.children,e=this._filteredSortedModels(),n=i.find(e,function(e){return!t.findByModel(e)});if(n)this.render();else{var r=i.map(e,function(e,i){var n=t.findByModel(e);return n._index=i,n.el});this.triggerMethod("before:reorder"),this._appendReorderedChildren(r),this.triggerMethod("reorder")}},resortView:function(){s.getOption(this,"reorderOnSort")?this.reorder():this.render()},_sortViews:function(){var t=this._filteredSortedModels(),e=i.find(t,function(t,e){var i=this.children.findByModel(t);return!i||i._index!==e},this);e&&this.resortView()},_emptyViewIndex:-1,_appendReorderedChildren:function(t){this.$el.append(t)},_renderChildren:function(){this.destroyEmptyView(),this.destroyChildren({checkEmpty:!1}),this.isEmpty(this.collection)?this.showEmptyView():(this.triggerMethod("before:render:collection",this),this.startBuffer
32ing(),this.showCollection(),this.endBuffering(),this.triggerMethod("render:collection",this),this.children.isEmpty()&&this.showEmptyView())},showCollection:function(){var t,e=this._filteredSortedModels();i.each(e,function(e,i){t=this.getChildView(e),this.addChild(e,t,i)},this)},_filteredSortedModels:function(){var t,e=this.getViewComparator();return t=e?i.isString(e)||1===e.length?this.collection.sortBy(e,this):i.clone(this.collection.models).sort(i.bind(e,this)):this.collection.models,this.getOption("filter")&&(t=i.filter(t,function(t,e){return this._shouldAddChild(t,e)},this)),t},showEmptyView:function(){var t=this.getEmptyView();if(t&&!this._showingEmptyView){this.triggerMethod("before:render:empty"),this._showingEmptyView=!0;var i=new e.Model;this.addEmptyView(i,t),this.triggerMethod("render:empty")}},destroyEmptyView:function(){this._showingEmptyView&&(this.triggerMethod("before:remove:empty"),this.destroyChildren(),delete this._showingEmptyView,this.triggerMethod("remove:empty"))},getEmptyView:function(){return this.getOption("emptyView")},addEmptyView:function(t,e){var n,r=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el),o=this.getOption("emptyViewOptions")||this.getOption("childViewOptions");i.isFunction(o)&&(o=o.call(this,t,this._emptyViewIndex));var h=this.buildChildView(t,e,o);h._parent=this,this.proxyChildEvents(h),this._isShown&&s.triggerMethodOn(h,"before:show",h),this.children.add(h),r&&this._triggerBeforeAttach&&(n=[h].concat(h._getNestedViews()),h.once("render",function(){this._triggerMethodMany(n,this,"before:attach")},this)),this.renderChildView(h,this._emptyViewIndex),r&&this._triggerAttach&&(n=[h].concat(h._getNestedViews()),this._triggerMethodMany(n,this,"attach")),this._isShown&&s.triggerMethodOn(h,"show",h)},getChildView:function(){var t=this.getOption("childView");if(!t)throw new s.Error({name:"NoChildViewError",message:'A "childView" must be specified'});return t},addChild:function(t,e,i){var n=this.getOption("childViewOptions");n=s._getValue(n,this,[t,i]);var r=this.buildChildView(t,e,n);return this._updateIndices(r,!0,i),this.triggerMethod("before:add:child",r),this._addChildView(r,i),this.triggerMethod("add:child",r),r._parent=this,r},_updateIndices:function(t,e,i){this.getOption("sort")&&(e&&(t._index=i),this.children.each(function(i){i._index>=t._index&&(i._index+=e?1:-1)}))},_addChildView:function(t,e){var i,n=this._isShown&&!this.isBuffering&&s.isNodeAttached(this.el);this.proxyChildEvents(t),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"before:show",t),this.children.add(t),n&&this._triggerBeforeAttach&&(i=[t].concat(t._getNestedViews()),t.once("render",function(){this._triggerMethodMany(i,this,"before:attach")},this)),this.renderChildView(t,e),n&&this._triggerAttach&&(i=[t].concat(t._getNestedViews()),this._triggerMethodMany(i,this,"attach")),this._isShown&&!this.isBuffering&&s.triggerMethodOn(t,"show",t)},renderChildView:function(t,e){return t.render(),this.attachHtml(this,t,e),t},buildChildView:function(t,e,n){var r=i.extend({model:t},n);return new e(r)},removeChildView:function(t){return t&&(this.triggerMethod("before:remove:child",t),t.destroy?t.destroy():t.remove&&t.remove(),delete t._parent,this.stopListening(t),this.children.remove(t),this.triggerMethod("remove:child",t),this._updateIndices(t,!1)),t},isEmpty:function(){return!this.collection||0===this.collection.length},checkEmpty:function(){this.isEmpty(this.collection)&&this.showEmptyView()},attachBuffer:function(t,e){t.$el.append(e)},_createBuffer:function(){var t=document.createDocumentFragment();return i.each(this._bufferedChildren,function(e){t.appendChild(e.el)}),t},attachHtml:function(t,e,i){t.isBuffering?t._bufferedChildren.splice(i,0,e):t._insertBefore(e,i)||t._insertAfter(e)},_insertBefore:function(t,e){var i,n=this.getOption("sort")&&this.children.length-1>e;return n&&(i=this.children.find(function(t){return t._index===e+1})),i?(i.$el.before(t.el),!0):!1},_insertAfter:function(t){this.$el.append(t.el)},_initChildViewStorage:function(){this.children=new e.ChildViewContainer},destroy:function(){return this.isDestroyed?this:(this.triggerMethod("before:destroy:collection"),this.destroyChildren({checkEmpty:!1}),this.triggerMethod("destroy:collection"),s.View.prototype.destroy.apply(this,arguments))},destroyChildren:function(t){var e=t||{},n=!0,r=this.children.map(i.identity);return i.isUndefined(e.checkEmpty)||(n=e.checkEmpty),this.children.each(this.removeChildView,this),n&&this.checkEmpty(),r},_shouldAddChild:function(t,e){var n=this.getOption("filter");return!i.isFunction(n)||n.call(this,t,e,this.collection)},proxyChildEvents:function(t){var e=this.getOption("childViewEventPrefix");this.listenTo(t,"all",function(){var n=i.toArray(arguments),r=n[0],s=this.normalizeMethods(i.result(this,"childEvents"));n[0]=e+":"+r,n.splice(1,0,t),s!==void 0&&i.isFunction(s[r])&&s[r].apply(this,n.slice(1)),this.triggerMethod.apply(this,n)})},_getImmediateChildren:function(){return i.values(this.children._views)},getViewComparator:function(){return this.getOption("viewComparator")}}),s.CompositeView=s.CollectionView.extend({constructor:function(){s.CollectionView.apply(this,arguments)},_initialEvents:function(){this.collection&&(this.listenTo(this.collection,"add",this._onCollectionAdd),this.listenTo(this.collection,"remove",this._onCollectionRemove),this.listenTo(this.collection,"reset",this._renderChildren),this.getOption("sort")&&this.listenTo(this.collection,"sort",this._sortViews))},getChildView:function(){var t=this.getOption("childView")||this.constructor;return t},serializeData:function(){var t={};return this.model&&(t=i.partial(this.serializeModel,this.model).apply(this,arguments)),t},render:function(){return this._ensureViewIsIntact(),this._isRendering=!0,this.resetChildViewContainer(),this.triggerMethod("before:render",this),this._renderTemplate(),this._renderChildren(),this._isRendering=!1,this.isRendered=!0,this.triggerMethod("render",this),this
33},_renderChildren:function(){(this.isRendered||this._isRendering)&&s.CollectionView.prototype._renderChildren.call(this)},_renderTemplate:function(){var t={};t=this.serializeData(),t=this.mixinTemplateHelpers(t),this.triggerMethod("before:render:template");var e=this.getTemplate(),i=s.Renderer.render(e,t,this);this.attachElContent(i),this.bindUIElements(),this.triggerMethod("render:template")},attachElContent:function(t){return this.$el.html(t),this},attachBuffer:function(t,e){var i=this.getChildViewContainer(t);i.append(e)},_insertAfter:function(t){var e=this.getChildViewContainer(this,t);e.append(t.el)},_appendReorderedChildren:function(t){var e=this.getChildViewContainer(this);e.append(t)},getChildViewContainer:function(t){if(t.$childViewContainer)return t.$childViewContainer;var e,i=s.getOption(t,"childViewContainer");if(i){var n=s._getValue(i,t);if(e="@"===n.charAt(0)&&t.ui?t.ui[n.substr(4)]:t.$(n),0>=e.length)throw new s.Error({name:"ChildViewContainerMissingError",message:'The specified "childViewContainer" was not found: '+t.childViewContainer})}else e=t.$el;return t.$childViewContainer=e,e},resetChildViewContainer:function(){this.$childViewContainer&&(this.$childViewContainer=void 0)}}),s.LayoutView=s.ItemView.extend({regionClass:s.Region,options:{destroyImmediate:!1},childViewEventPrefix:"childview",constructor:function(t){t=t||{}
33,this._firstRender=!0,this._initializeRegions(t),s.ItemView.call(this,t)},render:function(){return this._ensureViewIsIntact(),this._firstRender?this._firstRender=!1:this._reInitializeRegions(),s.ItemView.prototype.render.apply(this,arguments)},destroy:function(){return this.isDestroyed?this:(this.getOption("destroyImmediate")===!0&&this.$el.remove(),this.regionManager.destroy(),s.ItemView.prototype.destroy.apply(this,arguments))},showChildView:function(t,e){return this.getRegion(t).show(e)},getChildView:function(t){return this.getRegion(t).currentView},addRegion:function(t,e){var i={};return i[t]=e,this._buildRegions(i)[t]},addRegions:function(t){return this.regions=i.extend({},this.regions,t),this._buildRegions(t)},removeRegion:function(t){return delete this.regions[t],this.regionManager.removeRegion(t)},getRegion:function(t){return this.regionManager.get(t)},getRegions:function(){return this.regionManager.getRegions()},_buildRegions:function(t){var e={regionClass:this.getOption("regionClass"),parentEl:i.partial(i.result,this,"el")};return this.regionManager.addRegions(t,e)},_initializeRegions:function(t){var e;this._initRegionManager(),e=s._getValue(this.regions,this,[t])||{};var n=this.getOption.call(t,"regions");n=s._getValue(n,this,[t]),i.extend(e,n),e=this.normalizeUIValues(e,["selector","el"]),this.addRegions(e)},_reInitializeRegions:function(){this.regionManager.invoke("reset")},getRegionManager:function(){return new s.RegionManager},_initRegionManager:function(){this.regionManager=this.getRegionManager(),this.regionManager._parent=this,this.listenTo(this.regionManager,"before:add:region",function(t){this.triggerMethod("before:add:region",t)}),this.listenTo(this.regionManager,"add:region",function(t,e){this[t]=e,this.triggerMethod("add:region",t,e)}),this.listenTo(this.regionManager,"before:remove:region",function(t){this.triggerMethod("before:remove:region",t)}),this.listenTo(this.regionManager,"remove:region",function(t,e){delete this[t],this.triggerMethod("remove:region",t,e)})},_getImmediateChildren:function(){return i.chain(this.regionManager.getRegions()).pluck("currentView").compact().value()}}),s.Behavior=s.Object.extend({constructor:function(t,e){this.view=e,this.defaults=i.result(this,"defaults")||{},this.options=i.extend({},this.defaults,t),this.ui=i.extend({},i.result(e,"ui"),i.result(this,"ui")),s.Object.apply(this,arguments)},$:function(){return this.view.$.apply(this.view,arguments)},destroy:function(){return this.stopListening(),this},proxyViewProperties:function(t){this.$el=t.$el,this.el=t.el}}),s.Behaviors=function(t,e){function i(t,n){return e.isObject(t.behaviors)?(n=i.parseBehaviors(t,n||e.result(t,"behaviors")),i.wrap(t,n,e.keys(o)),n):{}}function n(t,e){this._view=t,this._behaviors=e,this._triggers={}}function r(t){return t._uiBindings||t.ui}var s=/^(\S+)\s*(.*)$/,o={behaviorTriggers:function(t,e){var i=new n(this,e);return i.buildBehaviorTriggers()},behaviorEvents:function(i,n){var o={};return e.each(n,function(i,n){var h={},a=e.clone(e.result(i,"events"))||{};a=t.normalizeUIKeys(a,r(i));var d=0;e.each(a,function(t,r){var o=r.match(s),a=o[1]+"."+[this.cid,n,d++," "].join(""),l=o[2],c=a+l,u=e.isFunction(t)?t:i[t];h[c]=e.bind(u,i)},this),o=e.extend(o,h)},this),o}};return e.extend(i,{behaviorsLookup:function(){throw new t.Error({message:"You must define where your behaviors are stored.",url:"marionette.behaviors.html#behaviorslookup"})},getBehaviorClass:function(e,n){return e.behaviorClass?e.behaviorClass:t._getValue(i.behaviorsLookup,this,[e,n])[n]},parseBehaviors:function(t,n){return e.chain(n).map(function(n,r){var s=i.getBehaviorClass(n,r),o=new s(n,t),h=i.parseBehaviors(t,e.result(o,"behaviors"));return[o].concat(h)}).flatten().value()},wrap:function(t,i,n){e.each(n,function(n){t[n]=e.partial(o[n],t[n],i)})}}),e.extend(n.prototype,{buildBehaviorTriggers:function(){return e.each(this._behaviors,this._buildTriggerHandlersForBehavior,this),this._triggers},_buildTriggerHandlersForBehavior:function(i,n){var s=e.clone(e.result(i,"triggers"))||{};s=t.normalizeUIKeys(s,r(i)),e.each(s,e.bind(this._setHandlerForBehavior,this,i,n))}
33,_setHandlerForBehavior:function(t,e,i,n){var r=n.replace(/^\S+/,function(t){return t+"."+"behaviortriggers"+e});this._triggers[r]=this._view._buildViewTrigger(i)}}),i}(s,i),s.AppRouter=e.Router.extend({constructor:function(t){this.options=t||{},e.Router.apply(this,arguments);var i=this.getOption("appRoutes"),n=this._getController();this.processAppRoutes(n,i),this.on("route",this._processOnRoute,this)},appRoute:function(t,e){var i=this._getController();this._addAppRoute(i,t,e)},_processOnRoute:function(t,e){if(i.isFunction(this.onRoute)){var n=i.invert(this.getOption("appRoutes"))[t];this.onRoute(t,n,e)}},processAppRoutes:function(t,e){if(e){var n=i.keys(e).reverse();i.each(n,function(i){this._addAppRoute(t,i,e[i])},this)}},_getController:function(){return this.getOption("controller")},_addAppRoute:function(t,e,n){var r=t[n];if(!r)throw new s.Error('Method "'+n+'" was not found on the controller');this.route(e,n,i.bind(r,t))},mergeOptions:s.mergeOptions,getOption:s.proxyGetOption,triggerMethod:s.triggerMethod,bindEntityEvents:s.proxyBindEntityEvents,unbindEntityEvents:s.proxyUnbindEntityEvents}),s.Application=s.Object.extend({constructor:function(t){this._initializeRegions(t),this._initCallbacks=new s.Callbacks,this.submodules={},i.extend(this,t),this._initChannel(),s.Object.call(this,t)},execute:function(){this.commands.execute.apply(this.commands,arguments)},request:function(){return this.reqres.request.apply(this.reqres,arguments)},addInitializer:function(t){this._initCallbacks.add(t)},start:function(t){this.triggerMethod("before:start",t),this._initCallbacks.run(t,this),this.triggerMethod("start",t)},addRegions:function(t){return this._regionManager.addRegions(t)},emptyRegions:function(){return this._regionManager.emptyRegions()},removeRegion:function(t){return this._regionManager.removeRegion(t)},getRegion:function(t){return this._regionManager.get(t)},getRegions:function(){return this._regionManager.getRegions()},module:function(t,e){var n=s.Module.getClass(e),r=i.toArray(arguments);return r.unshift(this),n.create.apply(n,r)},getRegionManager:function(){return new s.RegionManager},_initializeRegions:function(t){var e=i.isFunction(this.regions)?this.regions(t):this.regions||{};this._initRegionManager();var n=s.getOption(t,"regions");return i.isFunction(n)&&(n=n.call(this,t)),i.extend(e,n),this.addRegions(e),this},_initRegionManager:function(){this._regionManager=this.getRegionManager(),this._regionManager._parent=this,this.listenTo(this._regionManager,"before:add:region",function(){s._triggerMethod(this,"before:add:region",arguments)}),this.listenTo(this._regionManager,"add:region",function(t,e){this[t]=e,s._triggerMethod(this,"add:region",arguments)}),this.listenTo(this._regionManager,"before:remove:region",function(){s._triggerMethod(this,"before:remove:region",arguments)}),this.listenTo(this._regionManager,"remove:region",function(t){delete this[t],s._triggerMethod(this,"remove:region",arguments)})},_initChannel:function(){this.channelName=i.result(this,"channelName")||"global",this.channel=i.result(this,"channel")||e.Wreqr.radio.channel(this.channelName),this.vent=i.result(this,"vent")||this.channel.vent,this.commands=i.result(this,"commands")||this.channel.commands,this.reqres=i.result(this,"reqres")||this.channel.reqres}}),s.Module=function(t,e,n){this.moduleName=t,this.options=i.extend({},this.options,n),this.initialize=n.initialize||this.initialize,this.submodules={},this._setupInitializersAndFinalizers(),this.app=e,i.isFunction(this.initialize)&&this.initialize(t,e,this.options)},s.Module.extend=s.extend,i.extend(s.Module.prototype,e.Events,{startWithParent:!0,initialize:function(){},addInitializer:function(t){this._initializerCallbacks.add(t)},addFinalizer:function(t){this._finalizerCallbacks.add(t)},start:function(t){this._isInitialized||(i.each(this.submodules,function(e){e.startWithParent&&e.start(t)}),this.triggerMethod("before:start",t),this._initializerCallbacks.run(t,this),this._isInitialized=!0,this.triggerMethod("start",t))},stop:function(){this._isInitialized&&(this._isInitialized=!1,this.triggerMethod("before:stop"),i.invoke(this.submodules,"stop"),this._finalizerCallbacks.run(void 0,this),this._initializerCallbacks.reset(),this._finalizerCallbacks.reset(),this.triggerMethod("stop"))},addDefinition:function(t,e){this._runModuleDefinition(t,e)},_runModuleDefinition:function(t,n){if(t){var r=i.flatten([this,this.app,e,s,e.$,i,n]);t.apply(this,r)}}
33,_setupInitializersAndFinalizers:function(){this._initializerCallbacks=new s.Callbacks,this._finalizerCallbacks=new s.Callbacks},triggerMethod:s.triggerMethod}),i.extend(s.Module,{create:function(t,e,n){var r=t,s=i.drop(arguments,3);e=e.split(".");var o=e.length,h=[];return h[o-1]=n,i.each(e,function(e,i){var o=r;r=this._getModule(o,e,t,n),this._addModuleDefinition(o,r,h[i],s)},this),r},_getModule:function(t,e,n,r){var s=i.extend({},r),o=this.getClass(r),h=t[e];return h||(h=new o(e,n,s),t[e]=h,t.submodules[e]=h),h},getClass:function(t){var e=s.Module;return t?t.prototype instanceof e?t:t.moduleClass||e:e},_addModuleDefinition:function(t,e,i,n){var r=this._getDefine(i),s=this._getStartWithParent(i,e);r&&e.addDefinition(r,n),this._addStartWithParent(t,e,s)},_getStartWithParent:function(t,e){var n;return i.isFunction(t)&&t.prototype instanceof s.Module?(n=e.constructor.prototype.startWithParent,i.isUndefined(n)?!0:n):i.isObject(t)?(n=t.startWithParent,i.isUndefined(n)?!0:n):!0},_getDefine:function(t){return!i.isFunction(t)||t.prototype instanceof s.Module?i.isObject(t)?t.define:null:t},_addStartWithParent:function(t,e,i){e.startWithParent=e.startWithParent&&i,e.startWithParent&&!e.startWithParentIsConfigured&&(e.startWithParentIsConfigured=!0,t.addInitializer(function(t){e.startWithParent&&e.start(t)}))}}),s});
34/*!
35
36 handlebars v4.0.5
37
38Copyright (C) 2011-2015 by Yehuda Katz
39
40Permission is hereby granted, free of charge, to any person obtaining a copy
41of this software and associated documentation files (the "Software"), to deal
42in the Software without restriction, including without limitation the rights
43to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
44copies of the Software, and to permit persons to whom the Software is
45furnished to do so, subject to the following conditions:
46
47The above copyright notice and this permission notice shall be included in
48all copies or substantial portions of the Software.
49
50THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
51IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
52FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
53AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
54LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
55OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
56THE SOFTWARE.
57
58@license
59*/
60(function webpackUniversalModuleDefinition(root, factory) {
61  if(typeof exports === 'object' && typeof module === 'object')
62    module.exports = factory();
63  else if(typeof define === 'function' && define.amd)
64    define([], factory);
65  else if(typeof exports === 'object')
66    exports["Handlebars"] = factory();
67  else
68    root["Handlebars"] = factory();
69})(this, function() {
70return /******/ (function(modules) { // webpackBootstrap
71/******/  // The module cache
72/******/  var installedModules = {};
73
74/******/  // The require function
75/******/  function __webpack_require__(moduleId) {
76
77/******/    // Check if module is in cache
78/******/    if(installedModules[moduleId])
79/******/      return installedModules[moduleId].exports;
80
81/******/    // Create a new module (and put it into the cache)
82/******/    var module = installedModules[moduleId] = {
83/******/      exports: {},
84/******/      id: moduleId,
85/******/      loaded: false
86/******/    };
87
88/******/    // Execute the module function
89/******/    modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
90
91/******/    // Flag the module as loaded
92/******/    module.loaded = true;
93
94/******/    // Return the exports of the module
95/******/    return module.exports;
96/******/  }
97
98
99/******/  // expose the modules object (__webpack_modules__)
100/******/  __webpack_require__.m = modules;
101
102/******/  // expose the module cache
103/******/  __webpack_require__.c = installedModules;
104
105/******/  // __webpack_public_path__
106/******/  __webpack_require__.p = "";
107
108/******/  // Load entry module and return exports
109/******/  return __webpack_require__(0);
110/******/ })
111/************************************************************************/
112/******/ ([
113/* 0 */
114/***/ function(module, exports, __webpack_require__) {
115
116  'use strict';
117
118  var _interopRequireDefault = __webpack_require__(1)['default'];
119
120  exports.__esModule = true;
121
122  var _handlebarsRuntime = __webpack_require__(2);
123
124  var _handlebarsRuntime2 = _interopRequireDefault(_handlebarsRuntime);
125
126  // Compiler imports
127
128  var _handlebarsCompilerAst = __webpack_require__(21);
129
130  var _handlebarsCompilerAst2 = _interopRequireDefault(_handlebarsCompilerAst);
131
132  var _handlebarsCompilerBase = __webpack_require__(22);
133
134  var _handlebarsCompilerCompiler = __webpack_require__(27);
135
136  var _handlebarsCompilerJavascriptCompiler = __webpack_require__(28);
137
138  var _handlebarsCompilerJavascriptCompiler2 = _interopRequireDefault(_handlebarsCompilerJavascriptCompiler);
139
140  var _handlebarsCompilerVisitor = __webpack_require__(25);
141
142  var _handlebarsCompilerVisitor2 = _interopRequireDefault(_handlebarsCompilerVisitor);
143
144  var _handlebarsNoConflict = __webpack_require__(20);
145
146  var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
147
148  var _create = _handlebarsRuntime2['default'].create;
149  function create() {
150    var hb = _create();
151
152    hb.compile = function (input, options) {
153      return _handlebarsCompilerCompiler.compile(input, options, hb);
154    };
155    hb.precompile = function (input, options) {
156      return _handlebarsCompilerCompiler.precompile(input, options, hb);
157    };
158
159    hb.AST = _handlebarsCompilerAst2['default'];
160    hb.Compiler = _handlebarsCompilerCompiler.Compiler;
161    hb.JavaScriptCompiler = _handlebarsCompilerJavascriptCompiler2['default'];
162    hb.Parser = _handlebarsCompilerBase.parser;
163    hb.parse = _handlebarsCompilerBase.parse;
164
165    return hb;
166  }
167
168  var inst = create();
169  inst.create = create;
170
171  _handlebarsNoConflict2['default'](inst);
172
173  inst.Visitor = _handlebarsCompilerVisitor2['default'];
174
175  inst['default'] = inst;
176
177  exports['default'] = inst;
178  module.exports = exports['default'];
179
180/***/ },
181/* 1 */
vendor: 5,474 bytes, lines 182-394
182/***/ function(module, exports) {
183
184  "use strict";
185
186  exports["default"] = function (obj) {
187    return obj && obj.__esModule ? obj : {
188      "default": obj
189    };
190  };
191
192  exports.__esModule = true;
193
194/***/ },
195/* 2 */
196/***/ function(module, exports, __webpack_require__) {
197
198  'use strict';
199
200  var _interopRequireWildcard = __webpack_require__(3)['default'];
201
202  var _interopRequireDefault = __webpack_require__(1)['default'];
203
204  exports.__esModule = true;
205
206  var _handlebarsBase = __webpack_require__(4);
207
208  var base = _interopRequireWildcard(_handlebarsBase);
209
210  // Each of these augment the Handlebars object. No need to setup here.
211  // (This is done to easily share code between commonjs and browse envs)
212
213  var _handlebarsSafeString = __webpack_require__(18);
214
215  var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
216
217  var _handlebarsException = __webpack_require__(6);
218
219  var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
220
221  var _handlebarsUtils = __webpack_require__(5);
222
223  var Utils = _interopRequireWildcard(_handlebarsUtils);
224
225  var _handlebarsRuntime = __webpack_require__(19);
226
227  var runtime = _interopRequireWildcard(_handlebarsRuntime);
228
229  var _handlebarsNoConflict = __webpack_require__(20);
230
231  var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
232
233  // For compatibility and usage outside of module systems, make the Handlebars object a namespace
234  function create() {
235    var hb = new base.HandlebarsEnvironment();
236
237    Utils.extend(hb, base);
238    hb.SafeString = _handlebarsSafeString2['default'];
239    hb.Exception = _handlebarsException2['default'];
240    hb.Utils = Utils;
241    hb.escapeExpression = Utils.escapeExpression;
242
243    hb.VM = runtime;
244    hb.template = function (spec) {
245      return runtime.template(spec, hb);
246    };
247
248    return hb;
249  }
250
251  var inst = create();
252  inst.create = create;
253
254  _handlebarsNoConflict2['default'](inst);
255
256  inst['default'] = inst;
257
258  exports['default'] = inst;
259  module.exports = exports['default'];
260
261/***/ },
262/* 3 */
263/***/ function(module, exports) {
264
265  "use strict";
266
267  exports["default"] = function (obj) {
268    if (obj && obj.__esModule) {
269      return obj;
270    } else {
271      var newObj = {};
272
273      if (obj != null) {
274        for (var key in obj) {
275          if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];
276        }
277      }
278
279      newObj["default"] = obj;
280      return newObj;
281    }
282  };
283
284  exports.__esModule = true;
285
286/***/ },
287/* 4 */
288/***/ function(module, exports, __webpack_require__) {
289
290  'use strict';
291
292  var _interopRequireDefault = __webpack_require__(1)['default'];
293
294  exports.__esModule = true;
295  exports.HandlebarsEnvironment = HandlebarsEnvironment;
296
297  var _utils = __webpack_require__(5);
298
299  var _exception = __webpack_require__(6);
300
301  var _exception2 = _interopRequireDefault(_exception);
302
303  var _helpers = __webpack_require__(7);
304
305  var _decorators = __webpack_require__(15);
306
307  var _logger = __webpack_require__(17);
308
309  var _logger2 = _interopRequireDefault(_logger);
310
311  var VERSION = '4.0.5';
312  exports.VERSION = VERSION;
313  var COMPILER_REVISION = 7;
314
315  exports.COMPILER_REVISION = COMPILER_REVISION;
316  var REVISION_CHANGES = {
317    1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
318    2: '== 1.0.0-rc.3',
319    3: '== 1.0.0-rc.4',
320    4: '== 1.x.x',
321    5: '== 2.0.0-alpha.x',
322    6: '>= 2.0.0-beta.1',
323    7: '>= 4.0.0'
324  };
325
326  exports.REVISION_CHANGES = REVISION_CHANGES;
327  var objectType = '[object Object]';
328
329  function HandlebarsEnvironment(helpers, partials, decorators) {
330    this.helpers = helpers || {};
331    this.partials = partials || {};
332    this.decorators = decorators || {};
333
334    _helpers.registerDefaultHelpers(this);
335    _decorators.registerDefaultDecorators(this);
336  }
337
338  HandlebarsEnvironment.prototype = {
339    constructor: HandlebarsEnvironment,
340
341    logger: _logger2['default'],
342    log: _logger2['default'].log,
343
344    registerHelper: function registerHelper(name, fn) {
345      if (_utils.toString.call(name) === objectType) {
346        if (fn) {
347          throw new _exception2['default']('Arg not supported with multiple helpers');
348        }
349        _utils.extend(this.helpers, name);
350      } else {
351        this.helpers[name] = fn;
352      }
353    },
354    unregisterHelper: function unregisterHelper(name) {
355      delete this.helpers[name];
356    },
357
358    registerPartial: function registerPartial(name, partial) {
359      if (_utils.toString.call(name) === objectType) {
360        _utils.extend(this.partials, name);
361      } else {
362        if (typeof partial === 'undefined') {
363          throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
364        }
365        this.partials[name] = partial;
366      }
367    },
368    unregisterPartial: function unregisterPartial(name) {
369      delete this.partials[name];
370    },
371
372    registerDecorator: function registerDecorator(name, fn) {
373      if (_utils.toString.call(name) === objectType) {
374        if (fn) {
375          throw new _exception2['default']('Arg not supported with multiple decorators');
376        }
377        _utils.extend(this.decorators, name);
378      } else {
379        this.decorators[name] = fn;
380      }
381    },
382    unregisterDecorator: function unregisterDecorator(name) {
383      delete this.decorators[name];
384    }
385  };
386
387  var log = _logger2['default'].log;
388
389  exports.log = log;
390  exports.createFrame = _utils.createFrame;
391  exports.logger = _logger2['default'];
392
393/***/ },
394/* 5 */
vendor: 8,944 bytes, lines 395-730
395/***/ function(module, exports) {
396
397  'use strict';
398
399  exports.__esModule = true;
400  exports.extend = extend;
401  exports.indexOf = indexOf;
402  exports.escapeExpression = escapeExpression;
403  exports.isEmpty = isEmpty;
404  exports.createFrame = createFrame;
405  exports.blockParams = blockParams;
406  exports.appendContextPath = appendContextPath;
407  var escape = {
408    '&': '&amp;',
409    '<': '&lt;',
410    '>': '&gt;',
411    '"': '&quot;',
412    "'": '&#x27;',
413    '`': '&#x60;',
414    '=': '&#x3D;'
415  };
416
417  var badChars = /[&<>"'`=]/g,
418      possible = /[&<>"'`=]/;
419
420  function escapeChar(chr) {
421    return escape[chr];
422  }
423
424  function extend(obj /* , ...source */) {
425    for (var i = 1; i < arguments.length; i++) {
426      for (var key in arguments[i]) {
427        if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {
428          obj[key] = arguments[i][key];
429        }
430      }
431    }
432
433    return obj;
434  }
435
436  var toString = Object.prototype.toString;
437
438  exports.toString = toString;
439  // Sourced from lodash
440  // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
441  /* eslint-disable func-style */
442  var isFunction = function isFunction(value) {
443    return typeof value === 'function';
444  };
445  // fallback for older versions of Chrome and Safari
446  /* istanbul ignore next */
447  if (isFunction(/x/)) {
448    exports.isFunction = isFunction = function (value) {
449      return typeof value === 'function' && toString.call(value) === '[object Function]';
450    };
451  }
452  exports.isFunction = isFunction;
453
454  /* eslint-enable func-style */
455
456  /* istanbul ignore next */
457  var isArray = Array.isArray || function (value) {
458    return value && typeof value === 'object' ? toString.call(value) === '[object Array]' : false;
459  };
460
461  exports.isArray = isArray;
462  // Older IE versions do not directly support indexOf so we must implement our own, sadly.
463
464  function indexOf(array, value) {
465    for (var i = 0, len = array.length; i < len; i++) {
466      if (array[i] === value) {
467        return i;
468      }
469    }
470    return -1;
471  }
472
473  function escapeExpression(string) {
474    if (typeof string !== 'string') {
475      // don't escape SafeStrings, since they're already safe
476      if (string && string.toHTML) {
477        return string.toHTML();
478      } else if (string == null) {
479        return '';
480      } else if (!string) {
481        return string + '';
482      }
483
484      // Force a string conversion as this will be done by the append regardless and
485      // the regex test will do this transparently behind the scenes, causing issues if
486      // an object's to string has escaped characters in it.
487      string = '' + string;
488    }
489
490    if (!possible.test(string)) {
491      return string;
492    }
493    return string.replace(badChars, escapeChar);
494  }
495
496  function isEmpty(value) {
497    if (!value && value !== 0) {
498      return true;
499    } else if (isArray(value) && value.length === 0) {
500      return true;
501    } else {
502      return false;
503    }
504  }
505
506  function createFrame(object) {
507    var frame = extend({}, object);
508    frame._parent = object;
509    return frame;
510  }
511
512  function blockParams(params, ids) {
513    params.path = ids;
514    return params;
515  }
516
517  function appendContextPath(contextPath, id) {
518    return (contextPath ? contextPath + '.' : '') + id;
519  }
520
521/***/ },
522/* 6 */
523/***/ function(module, exports) {
524
525  'use strict';
526
527  exports.__esModule = true;
528
529  var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
530
531  function Exception(message, node) {
532    var loc = node && node.loc,
533        line = undefined,
534        column = undefined;
535    if (loc) {
536      line = loc.start.line;
537      column = loc.start.column;
538
539      message += ' - ' + line + ':' + column;
540    }
541
542    var tmp = Error.prototype.constructor.call(this, message);
543
544    // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
545    for (var idx = 0; idx < errorProps.length; idx++) {
546      this[errorProps[idx]] = tmp[errorProps[idx]];
547    }
548
549    /* istanbul ignore else */
550    if (Error.captureStackTrace) {
551      Error.captureStackTrace(this, Exception);
552    }
553
554    if (loc) {
555      this.lineNumber = line;
556      this.column = column;
557    }
558  }
559
560  Exception.prototype = new Error();
561
562  exports['default'] = Exception;
563  module.exports = exports['default'];
564
565/***/ },
566/* 7 */
567/***/ function(module, exports, __webpack_require__) {
568
569  'use strict';
570
571  var _interopRequireDefault = __webpack_require__(1)['default'];
572
573  exports.__esModule = true;
574  exports.registerDefaultHelpers = registerDefaultHelpers;
575
576  var _helpersBlockHelperMissing = __webpack_require__(8);
577
578  var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
579
580  var _helpersEach = __webpack_require__(9);
581
582  var _helpersEach2 = _interopRequireDefault(_helpersEach);
583
584  var _helpersHelperMissing = __webpack_require__(10);
585
586  var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
587
588  var _helpersIf = __webpack_require__(11);
589
590  var _helpersIf2 = _interopRequireDefault(_helpersIf);
591
592  var _helpersLog = __webpack_require__(12);
593
594  var _helpersLog2 = _interopRequireDefault(_helpersLog);
595
596  var _helpersLookup = __webpack_require__(13);
597
598  var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
599
600  var _helpersWith = __webpack_require__(14);
601
602  var _helpersWith2 = _interopRequireDefault(_helpersWith);
603
604  function registerDefaultHelpers(instance) {
605    _helpersBlockHelperMissing2['default'](instance);
606    _helpersEach2['default'](instance);
607    _helpersHelperMissing2['default'](instance);
608    _helpersIf2['default'](instance);
609    _helpersLog2['default'](instance);
610    _helpersLookup2['default'](instance);
611    _helpersWith2['default'](instance);
612  }
613
614/***/ },
615/* 8 */
616/***/ function(module, exports, __webpack_require__) {
617
618  'use strict';
619
620  exports.__esModule = true;
621
622  var _utils = __webpack_require__(5);
623
624  exports['default'] = function (instance) {
625    instance.registerHelper('blockHelperMissing', function (context, options) {
626      var inverse = options.inverse,
627          fn = options.fn;
628
629      if (context === true) {
630        return fn(this);
631      } else if (context === false || context == null) {
632        return inverse(this);
633      } else if (_utils.isArray(context)) {
634        if (context.length > 0) {
635          if (options.ids) {
636            options.ids = [options.name];
637          }
638
639          return instance.helpers.each(context, options);
640        } else {
641          return inverse(this);
642        }
643      } else {
644        if (options.data && options.ids) {
645          var data = _utils.createFrame(options.data);
646          data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);
647          options = { data: data };
648        }
649
650        return fn(context, options);
651      }
652    });
653  };
654
655  module.exports = exports['default'];
656
657/***/ },
658/* 9 */
659/***/ function(module, exports, __webpack_require__) {
660
661  'use strict';
662
663  var _interopRequireDefault = __webpack_require__(1)['default'];
664
665  exports.__esModule = true;
666
667  var _utils = __webpack_require__(5);
668
669  var _exception = __webpack_require__(6);
670
671  var _exception2 = _interopRequireDefault(_exception);
672
673  exports['default'] = function (instance) {
674    instance.registerHelper('each', function (context, options) {
675      if (!options) {
676        throw new _exception2['default']('Must pass iterator to #each');
677      }
678
679      var fn = options.fn,
680          inverse = options.inverse,
681          i = 0,
682          ret = '',
683          data = undefined,
684          contextPath = undefined;
685
686      if (options.data && options.ids) {
687        contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
688      }
689
690      if (_utils.isFunction(context)) {
691        context = context.call(this);
692      }
693
694      if (options.data) {
695        data = _utils.createFrame(options.data);
696      }
697
698      function execIteration(field, index, last) {
699        if (data) {
700          data.key = field;
701          data.index = index;
702          data.first = index === 0;
703          data.last = !!last;
704
705          if (contextPath) {
706            data.contextPath = contextPath + field;
707          }
708        }
709
710        ret = ret + fn(context[field], {
711          data: data,
712          blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])
713        });
714      }
715
716      if (context && typeof context === 'object') {
717        if (_utils.isArray(context)) {
718          for (var j = context.length; i < j; i++) {
719            if (i in context) {
720              execIteration(i, i, i === context.length - 1);
721            }
722          }
723        } else {
724          var priorKey = undefined;
725
726          for (var key in context) {
727            if (context.hasOwnProperty(key)) {
728              // We're running the iterations one step out of sync so we can detect
729              // the last iteration without have to scan the object twice and create
730              // an itermediate keys array.
vendor: 6,961 bytes, lines 731-1002
731              if (priorKey !== undefined) {
732                execIteration(priorKey, i - 1);
733              }
734              priorKey = key;
735              i++;
736            }
737          }
738          if (priorKey !== undefined) {
739            execIteration(priorKey, i - 1, true);
740          }
741        }
742      }
743
744      if (i === 0) {
745        ret = inverse(this);
746      }
747
748      return ret;
749    });
750  };
751
752  module.exports = exports['default'];
753
754/***/ },
755/* 10 */
756/***/ function(module, exports, __webpack_require__) {
757
758  'use strict';
759
760  var _interopRequireDefault = __webpack_require__(1)['default'];
761
762  exports.__esModule = true;
763
764  var _exception = __webpack_require__(6);
765
766  var _exception2 = _interopRequireDefault(_exception);
767
768  exports['default'] = function (instance) {
769    instance.registerHelper('helperMissing', function () /* [args, ]options */{
770      if (arguments.length === 1) {
771        // A missing field in a {{foo}} construct.
772        return undefined;
773      } else {
774        // Someone is actually trying to call something, blow up.
775        throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"');
776      }
777    });
778  };
779
780  module.exports = exports['default'];
781
782/***/ },
783/* 11 */
784/***/ function(module, exports, __webpack_require__) {
785
786  'use strict';
787
788  exports.__esModule = true;
789
790  var _utils = __webpack_require__(5);
791
792  exports['default'] = function (instance) {
793    instance.registerHelper('if', function (conditional, options) {
794      if (_utils.isFunction(conditional)) {
795        conditional = conditional.call(this);
796      }
797
798      // Default behavior is to render the positive path if the value is truthy and not empty.
799      // The `includeZero` option may be set to treat the condtional as purely not empty based on the
800      // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
801      if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
802        return options.inverse(this);
803      } else {
804        return options.fn(this);
805      }
806    });
807
808    instance.registerHelper('unless', function (conditional, options) {
809      return instance.helpers['if'].call(this, conditional, { fn: options.inverse, inverse: options.fn, hash: options.hash });
810    });
811  };
812
813  module.exports = exports['default'];
814
815/***/ },
816/* 12 */
817/***/ function(module, exports) {
818
819  'use strict';
820
821  exports.__esModule = true;
822
823  exports['default'] = function (instance) {
824    instance.registerHelper('log', function () /* message, options */{
825      var args = [undefined],
826          options = arguments[arguments.length - 1];
827      for (var i = 0; i < arguments.length - 1; i++) {
828        args.push(arguments[i]);
829      }
830
831      var level = 1;
832      if (options.hash.level != null) {
833        level = options.hash.level;
834      } else if (options.data && options.data.level != null) {
835        level = options.data.level;
836      }
837      args[0] = level;
838
839      instance.log.apply(instance, args);
840    });
841  };
842
843  module.exports = exports['default'];
844
845/***/ },
846/* 13 */
847/***/ function(module, exports) {
848
849  'use strict';
850
851  exports.__esModule = true;
852
853  exports['default'] = function (instance) {
854    instance.registerHelper('lookup', function (obj, field) {
855      return obj && obj[field];
856    });
857  };
858
859  module.exports = exports['default'];
860
861/***/ },
862/* 14 */
863/***/ function(module, exports, __webpack_require__) {
864
865  'use strict';
866
867  exports.__esModule = true;
868
869  var _utils = __webpack_require__(5);
870
871  exports['default'] = function (instance) {
872    instance.registerHelper('with', function (context, options) {
873      if (_utils.isFunction(context)) {
874        context = context.call(this);
875      }
876
877      var fn = options.fn;
878
879      if (!_utils.isEmpty(context)) {
880        var data = options.data;
881        if (options.data && options.ids) {
882          data = _utils.createFrame(options.data);
883          data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);
884        }
885
886        return fn(context, {
887          data: data,
888          blockParams: _utils.blockParams([context], [data && data.contextPath])
889        });
890      } else {
891        return options.inverse(this);
892      }
893    });
894  };
895
896  module.exports = exports['default'];
897
898/***/ },
899/* 15 */
900/***/ function(module, exports, __webpack_require__) {
901
902  'use strict';
903
904  var _interopRequireDefault = __webpack_require__(1)['default'];
905
906  exports.__esModule = true;
907  exports.registerDefaultDecorators = registerDefaultDecorators;
908
909  var _decoratorsInline = __webpack_require__(16);
910
911  var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
912
913  function registerDefaultDecorators(instance) {
914    _decoratorsInline2['default'](instance);
915  }
916
917/***/ },
918/* 16 */
919/***/ function(module, exports, __webpack_require__) {
920
921  'use strict';
922
923  exports.__esModule = true;
924
925  var _utils = __webpack_require__(5);
926
927  exports['default'] = function (instance) {
928    instance.registerDecorator('inline', function (fn, props, container, options) {
929      var ret = fn;
930      if (!props.partials) {
931        props.partials = {};
932        ret = function (context, options) {
933          // Create a new partials stack frame prior to exec.
934          var original = container.partials;
935          container.partials = _utils.extend({}, original, props.partials);
936          var ret = fn(context, options);
937          container.partials = original;
938          return ret;
939        };
940      }
941
942      props.partials[options.args[0]] = options.fn;
943
944      return ret;
945    });
946  };
947
948  module.exports = exports['default'];
949
950/***/ },
951/* 17 */
952/***/ function(module, exports, __webpack_require__) {
953
954  'use strict';
955
956  exports.__esModule = true;
957
958  var _utils = __webpack_require__(5);
959
960  var logger = {
961    methodMap: ['debug', 'info', 'warn', 'error'],
962    level: 'info',
963
964    // Maps a given level value to the `methodMap` indexes above.
965    lookupLevel: function lookupLevel(level) {
966      if (typeof level === 'string') {
967        var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
968        if (levelMap >= 0) {
969          level = levelMap;
970        } else {
971          level = parseInt(level, 10);
972        }
973      }
974
975      return level;
976    },
977
978    // Can be overridden in the host environment
979    log: function log(level) {
980      level = logger.lookupLevel(level);
981
982      if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
983        var method = logger.methodMap[level];
984        if (!console[method]) {
985          // eslint-disable-line no-console
986          method = 'log';
987        }
988
989        for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
990          message[_key - 1] = arguments[_key];
991        }
992
993        console[method].apply(console, message); // eslint-disable-line no-console
994      }
995    }
996  };
997
998  exports['default'] = logger;
999  module.exports = exports['default'];
1000
1001/***/ },
1002/* 18 */
vendor: 10,217 bytes, lines 1003-1314
1003/***/ function(module, exports) {
1004
1005  // Build out our basic SafeString type
1006  'use strict';
1007
1008  exports.__esModule = true;
1009  function SafeString(string) {
1010    this.string = string;
1011  }
1012
1013  SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
1014    return '' + this.string;
1015  };
1016
1017  exports['default'] = SafeString;
1018  module.exports = exports['default'];
1019
1020/***/ },
1021/* 19 */
1022/***/ function(module, exports, __webpack_require__) {
1023
1024  'use strict';
1025
1026  var _interopRequireWildcard = __webpack_require__(3)['default'];
1027
1028  var _interopRequireDefault = __webpack_require__(1)['default'];
1029
1030  exports.__esModule = true;
1031  exports.checkRevision = checkRevision;
1032  exports.template = template;
1033  exports.wrapProgram = wrapProgram;
1034  exports.resolvePartial = resolvePartial;
1035  exports.invokePartial = invokePartial;
1036  exports.noop = noop;
1037
1038  var _utils = __webpack_require__(5);
1039
1040  var Utils = _interopRequireWildcard(_utils);
1041
1042  var _exception = __webpack_require__(6);
1043
1044  var _exception2 = _interopRequireDefault(_exception);
1045
1046  var _base = __webpack_require__(4);
1047
1048  function checkRevision(compilerInfo) {
1049    var compilerRevision = compilerInfo && compilerInfo[0] || 1,
1050        currentRevision = _base.COMPILER_REVISION;
1051
1052    if (compilerRevision !== currentRevision) {
1053      if (compilerRevision < currentRevision) {
1054        var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
1055            compilerVersions = _base.REVISION_CHANGES[compilerRevision];
1056        throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
1057      } else {
1058        // Use the embedded version info since the runtime doesn't know about this revision yet
1059        throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
1060      }
1061    }
1062  }
1063
1064  function template(templateSpec, env) {
1065    /* istanbul ignore next */
1066    if (!env) {
1067      throw new _exception2['default']('No environment passed to template');
1068    }
1069    if (!templateSpec || !templateSpec.main) {
1070      throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
1071    }
1072
1073    templateSpec.main.decorator = templateSpec.main_d;
1074
1075    // Note: Using env.VM references rather than local var references throughout this section to allow
1076    // for external users to override these as psuedo-supported APIs.
1077    env.VM.checkRevision(templateSpec.compiler);
1078
1079    function invokePartialWrapper(partial, context, options) {
1080      if (options.hash) {
1081        context = Utils.extend({}, context, options.hash);
1082        if (options.ids) {
1083          options.ids[0] = true;
1084        }
1085      }
1086
1087      partial = env.VM.resolvePartial.call(this, partial, context, options);
1088      var result = env.VM.invokePartial.call(this, partial, context, options);
1089
1090      if (result == null && env.compile) {
1091        options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
1092        result = options.partials[options.name](context, options);
1093      }
1094      if (result != null) {
1095        if (options.indent) {
1096          var lines = result.split('\n');
1097          for (var i = 0, l = lines.length; i < l; i++) {
1098            if (!lines[i] && i + 1 === l) {
1099              break;
1100            }
1101
1102            lines[i] = options.indent + lines[i];
1103          }
1104          result = lines.join('\n');
1105        }
1106        return result;
1107      } else {
1108        throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
1109      }
1110    }
1111
1112    // Just add water
1113    var container = {
1114      strict: function strict(obj, name) {
1115        if (!(name in obj)) {
1116          throw new _exception2['default']('"' + name + '" not defined in ' + obj);
1117        }
1118        return obj[name];
1119      },
1120      lookup: function lookup(depths, name) {
1121        var len = depths.length;
1122        for (var i = 0; i < len; i++) {
1123          if (depths[i] && depths[i][name] != null) {
1124            return depths[i][name];
1125          }
1126        }
1127      },
1128      lambda: function lambda(current, context) {
1129        return typeof current === 'function' ? current.call(context) : current;
1130      },
1131
1132      escapeExpression: Utils.escapeExpression,
1133      invokePartial: invokePartialWrapper,
1134
1135      fn: function fn(i) {
1136        var ret = templateSpec[i];
1137        ret.decorator = templateSpec[i + '_d'];
1138        return ret;
1139      },
1140
1141      programs: [],
1142      program: function program(i, data, declaredBlockParams, blockParams, depths) {
1143        var programWrapper = this.programs[i],
1144            fn = this.fn(i);
1145        if (data || depths || blockParams || declaredBlockParams) {
1146          programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
1147        } else if (!programWrapper) {
1148          programWrapper = this.programs[i] = wrapProgram(this, i, fn);
1149        }
1150        return programWrapper;
1151      },
1152
1153      data: function data(value, depth) {
1154        while (value && depth--) {
1155          value = value._parent;
1156        }
1157        return value;
1158      },
1159      merge: function merge(param, common) {
1160        var obj = param || common;
1161
1162        if (param && common && param !== common) {
1163          obj = Utils.extend({}, common, param);
1164        }
1165
1166        return obj;
1167      },
1168
1169      noop: env.VM.noop,
1170      compilerInfo: templateSpec.compiler
1171    };
1172
1173    function ret(context) {
1174      var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1175
1176      var data = options.data;
1177
1178      ret._setup(options);
1179      if (!options.partial && templateSpec.useData) {
1180        data = initData(context, data);
1181      }
1182      var depths = undefined,
1183          blockParams = templateSpec.useBlockParams ? [] : undefined;
1184      if (templateSpec.useDepths) {
1185        if (options.depths) {
1186          depths = context !== options.depths[0] ? [context].concat(options.depths) : options.depths;
1187        } else {
1188          depths = [context];
1189        }
1190      }
1191
1192      function main(context /*, options*/) {
1193        return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
1194      }
1195      main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
1196      return main(context, options);
1197    }
1198    ret.isTop = true;
1199
1200    ret._setup = function (options) {
1201      if (!options.partial) {
1202        container.helpers = container.merge(options.helpers, env.helpers);
1203
1204        if (templateSpec.usePartial) {
1205          container.partials = container.merge(options.partials, env.partials);
1206        }
1207        if (templateSpec.usePartial || templateSpec.useDecorators) {
1208          container.decorators = container.merge(options.decorators, env.decorators);
1209        }
1210      } else {
1211        container.helpers = options.helpers;
1212        container.partials = options.partials;
1213        container.decorators = options.decorators;
1214      }
1215    };
1216
1217    ret._child = function (i, data, blockParams, depths) {
1218      if (templateSpec.useBlockParams && !blockParams) {
1219        throw new _exception2['default']('must pass block params');
1220      }
1221      if (templateSpec.useDepths && !depths) {
1222        throw new _exception2['default']('must pass parent depths');
1223      }
1224
1225      return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
1226    };
1227    return ret;
1228  }
1229
1230  function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
1231    function prog(context) {
1232      var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
1233
1234      var currentDepths = depths;
1235      if (depths && context !== depths[0]) {
1236        currentDepths = [context].concat(depths);
1237      }
1238
1239      return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
1240    }
1241
1242    prog = executeDecorators(fn, prog, container, depths, data, blockParams);
1243
1244    prog.program = i;
1245    prog.depth = depths ? depths.length : 0;
1246    prog.blockParams = declaredBlockParams || 0;
1247    return prog;
1248  }
1249
1250  function resolvePartial(partial, context, options) {
1251    if (!partial) {
1252      if (options.name === '@partial-block') {
1253        partial = options.data['partial-block'];
1254      } else {
1255        partial = options.partials[options.name];
1256      }
1257    } else if (!partial.call && !options.name) {
1258      // This is a dynamic partial that returned a string
1259      options.name = partial;
1260      partial = options.partials[partial];
1261    }
1262    return partial;
1263  }
1264
1265  function invokePartial(partial, context, options) {
1266    options.partial = true;
1267    if (options.ids) {
1268      options.data.contextPath = options.ids[0] || options.data.contextPath;
1269    }
1270
1271    var partialBlock = undefined;
1272    if (options.fn && options.fn !== noop) {
1273      options.data = _base.createFrame(options.data);
1274      partialBlock = options.data['partial-block'] = options.fn;
1275
1276      if (partialBlock.partials) {
1277        options.partials = Utils.extend({}, options.partials, partialBlock.partials);
1278      }
1279    }
1280
1281    if (partial === undefined && partialBlock) {
1282      partial = partialBlock;
1283    }
1284
1285    if (partial === undefined) {
1286      throw new _exception2['default']('The partial ' + options.name + ' could not be found');
1287    } else if (partial instanceof Function) {
1288      return partial(context, options);
1289    }
1290  }
1291
1292  function noop() {
1293    return '';
1294  }
1295
1296  function initData(context, data) {
1297    if (!data || !('root' in data)) {
1298      data = data ? _base.createFrame(data) : {};
1299      data.root = context;
1300    }
1301    return data;
1302  }
1303
1304  function executeDecorators(fn, prog, container, depths, data, blockParams) {
1305    if (fn.decorator) {
1306      var props = {};
1307      prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
1308      Utils.extend(prog, props);
1309    }
1310    return prog;
1311  }
1312
1313/***/ },
1314/* 20 */
vendor: 5,191 bytes, lines 1315-1434
1315/***/ function(module, exports) {
1316
1317  /* WEBPACK VAR INJECTION */(function(global) {/* global window */
1318  'use strict';
1319
1320  exports.__esModule = true;
1321
1322  exports['default'] = function (Handlebars) {
1323    /* istanbul ignore next */
1324    var root = typeof global !== 'undefined' ? global : window,
1325        $Handlebars = root.Handlebars;
1326    /* istanbul ignore next */
1327    Handlebars.noConflict = function () {
1328      if (root.Handlebars === Handlebars) {
1329        root.Handlebars = $Handlebars;
1330      }
1331      return Handlebars;
1332    };
1333  };
1334
1335  module.exports = exports['default'];
1336  /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
1337
1338/***/ },
1339/* 21 */
1340/***/ function(module, exports) {
1341
1342  'use strict';
1343
1344  exports.__esModule = true;
1345  var AST = {
1346    // Public API used to evaluate derived attributes regarding AST nodes
1347    helpers: {
1348      // a mustache is definitely a helper if:
1349      // * it is an eligible helper, and
1350      // * it has at least one parameter or hash segment
1351      helperExpression: function helperExpression(node) {
1352        return node.type === 'SubExpression' || (node.type === 'MustacheStatement' || node.type === 'BlockStatement') && !!(node.params && node.params.length || node.hash);
1353      },
1354
1355      scopedId: function scopedId(path) {
1356        return (/^\.|this\b/.test(path.original)
1357        );
1358      },
1359
1360      // an ID is simple if it only has one part, and that part is not
1361      // `..` or `this`.
1362      simpleId: function simpleId(path) {
1363        return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;
1364      }
1365    }
1366  };
1367
1368  // Must be exported as an object rather than the root of the module as the jison lexer
1369  // must modify the object to operate properly.
1370  exports['default'] = AST;
1371  module.exports = exports['default'];
1372
1373/***/ },
1374/* 22 */
1375/***/ function(module, exports, __webpack_require__) {
1376
1377  'use strict';
1378
1379  var _interopRequireDefault = __webpack_require__(1)['default'];
1380
1381  var _interopRequireWildcard = __webpack_require__(3)['default'];
1382
1383  exports.__esModule = true;
1384  exports.parse = parse;
1385
1386  var _parser = __webpack_require__(23);
1387
1388  var _parser2 = _interopRequireDefault(_parser);
1389
1390  var _whitespaceControl = __webpack_require__(24);
1391
1392  var _whitespaceControl2 = _interopRequireDefault(_whitespaceControl);
1393
1394  var _helpers = __webpack_require__(26);
1395
1396  var Helpers = _interopRequireWildcard(_helpers);
1397
1398  var _utils = __webpack_require__(5);
1399
1400  exports.parser = _parser2['default'];
1401
1402  var yy = {};
1403  _utils.extend(yy, Helpers);
1404
1405  function parse(input, options) {
1406    // Just return if an already-compiled AST was passed in.
1407    if (input.type === 'Program') {
1408      return input;
1409    }
1410
1411    _parser2['default'].yy = yy;
1412
1413    // Altering the shared object here, but this is ok as parser is a sync operation
1414    yy.locInfo = function (locInfo) {
1415      return new yy.SourceLocation(options && options.srcName, locInfo);
1416    };
1417
1418    var strip = new _whitespaceControl2['default'](options);
1419    return strip.accept(_parser2['default'].parse(input));
1420  }
1421
1422/***/ },
1423/* 23 */
1424/***/ function(module, exports) {
1425
1426  /* istanbul ignore next */
1427  /* Jison generated parser */
1428  "use strict";
1429
1430  var handlebars = (function () {
1431      var parser = { trace: function trace() {},
1432          yy: {},
1433          symbols_: { "error": 2, "root": 3, "program": 4, "EOF": 5, "program_repetition0": 6, "statement": 7, "mustache": 8, "block": 9, "rawBlock": 10, "partial": 11, "partialBlock": 12, "content": 13, "COMMENT": 14, "CONTENT": 15, "openRawBlock": 16, "rawBlock_repetition_plus0": 17, "END_RAW_BLOCK": 18, "OPEN_RAW_BLOCK": 19, "helperName": 20, "openRawBlock_repetition0": 21, "openRawBlock_option0": 22, "CLOSE_RAW_BLOCK": 23, "openBlock": 24, "block_option0": 25, "closeBlock": 26, "openInverse": 27, "block_option1": 28, "OPEN_BLOCK": 29, "openBlock_repetition0": 30, "openBlock_option0": 31, "openBlock_option1": 32, "CLOSE": 33, "OPEN_INVERSE": 34, "openInverse_repetition0": 35, "openInverse_option0": 36, "openInverse_option1": 37, "openInverseChain": 38, "OPEN_INVERSE_CHAIN": 39, "openInverseChain_repetition0": 40, "openInverseChain_option0": 41, "openInverseChain_option1": 42, "inverseAndProgram": 43, "INVERSE": 44, "inverseChain": 45, "inverseChain_option0": 46, "OPEN_ENDBLOCK": 47, "OPEN": 48, "mustache_repetition0": 49, "mustache_option0": 50, "OPEN_UNESCAPED": 51, "mustache_repetition1": 52, "mustache_option1": 53, "CLOSE_UNESCAPED": 54, "OPEN_PARTIAL": 55, "partialName": 56, "partial_repetition0": 57, "partial_option0": 58, "openPartialBlock": 59, "OPEN_PARTIAL_BLOCK": 60, "openPartialBlock_repetition0": 61, "openPartialBlock_option0": 62, "param": 63, "sexpr": 64, "OPEN_SEXPR": 65, "sexpr_repetition0": 66, "sexpr_option0": 67, "CLOSE_SEXPR": 68, "hash": 69, "hash_repetition_plus0": 70, "hashSegment": 71, "ID": 72, "EQUALS": 73, "blockParams": 74, "OPEN_BLOCK_PARAMS": 75, "blockParams_repetition_plus0": 76, "CLOSE_BLOCK_PARAMS": 77, "path": 78, "dataName": 79, "STRING": 80, "NUMBER": 81, "BOOLEAN": 82, "UNDEFINED": 83, "NULL": 84, "DATA": 85, "pathSegments": 86, "SEP": 87, "$accept": 0, "$end": 1 },
1434          terminals_: { 2: "error", 5: "EOF", 14: "COMMENT", 15: "CONTENT", 
vendor: 47,867 bytes, lines 1434-2154
143418: "END_RAW_BLOCK", 19: "OPEN_RAW_BLOCK", 23: "CLOSE_RAW_BLOCK", 29: "OPEN_BLOCK", 33: "CLOSE", 34: "OPEN_INVERSE", 39: "OPEN_INVERSE_CHAIN", 44: "INVERSE", 47: "OPEN_ENDBLOCK", 48: "OPEN", 51: "OPEN_UNESCAPED", 54: "CLOSE_UNESCAPED", 55: "OPEN_PARTIAL", 60: "OPEN_PARTIAL_BLOCK", 65: "OPEN_SEXPR", 68: "CLOSE_SEXPR", 72: "ID", 73: "EQUALS", 75: "OPEN_BLOCK_PARAMS", 77: "CLOSE_BLOCK_PARAMS", 80: "STRING", 81: "NUMBER", 82: "BOOLEAN", 83: "UNDEFINED", 84: "NULL", 85: "DATA", 87: "SEP" },
1435          productions_: [0, [3, 2], [4, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [7, 1], [13, 1], [10, 3], [16, 5], [9, 4], [9, 4], [24, 6], [27, 6], [38, 6], [43, 2], [45, 3], [45, 1], [26, 3], [8, 5], [8, 5], [11, 5], [12, 3], [59, 5], [63, 1], [63, 1], [64, 5], [69, 1], [71, 3], [74, 3], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [20, 1], [56, 1], [56, 1], [79, 2], [78, 1], [86, 3], [86, 1], [6, 0], [6, 2], [17, 1], [17, 2], [21, 0], [21, 2], [22, 0], [22, 1], [25, 0], [25, 1], [28, 0], [28, 1], [30, 0], [30, 2], [31, 0], [31, 1], [32, 0], [32, 1], [35, 0], [35, 2], [36, 0], [36, 1], [37, 0], [37, 1], [40, 0], [40, 2], [41, 0], [41, 1], [42, 0], [42, 1], [46, 0], [46, 1], [49, 0], [49, 2], [50, 0], [50, 1], [52, 0], [52, 2], [53, 0], [53, 1], [57, 0], [57, 2], [58, 0], [58, 1], [61, 0], [61, 2], [62, 0], [62, 1], [66, 0], [66, 2], [67, 0], [67, 1], [70, 1], [70, 2], [76, 1], [76, 2]],
1436          performAction: function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$
1437          /**/) {
1438
1439              var $0 = $$.length - 1;
1440              switch (yystate) {
1441                  case 1:
1442                      return $$[$0 - 1];
1443                      break;
1444                  case 2:
1445                      this.$ = yy.prepareProgram($$[$0]);
1446                      break;
1447                  case 3:
1448                      this.$ = $$[$0];
1449                      break;
1450                  case 4:
1451                      this.$ = $$[$0];
1452                      break;
1453                  case 5:
1454                      this.$ = $$[$0];
1455                      break;
1456                  case 6:
1457                      this.$ = $$[$0];
1458                      break;
1459                  case 7:
1460                      this.$ = $$[$0];
1461                      break;
1462                  case 8:
1463                      this.$ = $$[$0];
1464                      break;
1465                  case 9:
1466                      this.$ = {
1467                          type: 'CommentStatement',
1468                          value: yy.stripComment($$[$0]),
1469                          strip: yy.stripFlags($$[$0], $$[$0]),
1470                          loc: yy.locInfo(this._$)
1471                      };
1472
1473                      break;
1474                  case 10:
1475                      this.$ = {
1476                          type: 'ContentStatement',
1477                          original: $$[$0],
1478                          value: $$[$0],
1479                          loc: yy.locInfo(this._$)
1480                      };
1481
1482                      break;
1483                  case 11:
1484                      this.$ = yy.prepareRawBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);
1485                      break;
1486                  case 12:
1487                      this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1] };
1488                      break;
1489                  case 13:
1490                      this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], false, this._$);
1491                      break;
1492                  case 14:
1493                      this.$ = yy.prepareBlock($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0], true, this._$);
1494                      break;
1495                  case 15:
1496                      this.$ = { open: $$[$0 - 5], path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1497                      break;
1498                  case 16:
1499                      this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1500                      break;
1501                  case 17:
1502                      this.$ = { path: $$[$0 - 4], params: $$[$0 - 3], hash: $$[$0 - 2], blockParams: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 5], $$[$0]) };
1503                      break;
1504                  case 18:
1505                      this.$ = { strip: yy.stripFlags($$[$0 - 1], $$[$0 - 1]), program: $$[$0] };
1506                      break;
1507                  case 19:
1508                      var inverse = yy.prepareBlock($$[$0 - 2], $$[$0 - 1], $$[$0], $$[$0], false, this._$),
1509                          program = yy.prepareProgram([inverse], $$[$0 - 1].loc);
1510                      program.chained = true;
1511
1512                      this.$ = { strip: $$[$0 - 2].strip, program: program, chain: true };
1513
1514                      break;
1515                  case 20:
1516                      this.$ = $$[$0];
1517                      break;
1518                  case 21:
1519                      this.$ = { path: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 2], $$[$0]) };
1520                      break;
1521                  case 22:
1522                      this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1523                      break;
1524                  case 23:
1525                      this.$ = yy.prepareMustache($$[$0 - 3], $$[$0 - 2], $$[$0 - 1], $$[$0 - 4], yy.stripFlags($$[$0 - 4], $$[$0]), this._$);
1526                      break;
1527                  case 24:
1528                      this.$ = {
1529                          type: 'PartialStatement',
1530                          name: $$[$0 - 3],
1531                          params: $$[$0 - 2],
1532                          hash: $$[$0 - 1],
1533                          indent: '',
1534                          strip: yy.stripFlags($$[$0 - 4], $$[$0]),
1535                          loc: yy.locInfo(this._$)
1536                      };
1537
1538                      break;
1539                  case 25:
1540                      this.$ = yy.preparePartialBlock($$[$0 - 2], $$[$0 - 1], $$[$0], this._$);
1541                      break;
1542                  case 26:
1543                      this.$ = { path: $$[$0 - 3], params: $$[$0 - 2], hash: $$[$0 - 1], strip: yy.stripFlags($$[$0 - 4], $$[$0]) };
1544                      break;
1545                  case 27:
1546                      this.$ = $$[$0];
1547                      break;
1548                  case 28:
1549                      this.$ = $$[$0];
1550                      break;
1551                  case 29:
1552                      this.$ = {
1553                          type: 'SubExpression',
1554                          path: $$[$0 - 3],
1555                          params: $$[$0 - 2],
1556                          hash: $$[$0 - 1],
1557                          loc: yy.locInfo(this._$)
1558                      };
1559
1560                      break;
1561                  case 30:
1562                      this.$ = { type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$) };
1563                      break;
1564                  case 31:
1565                      this.$ = { type: 'HashPair', key: yy.id($$[$0 - 2]), value: $$[$0], loc: yy.locInfo(this._$) };
1566                      break;
1567                  case 32:
1568                      this.$ = yy.id($$[$0 - 1]);
1569                      break;
1570                  case 33:
1571                      this.$ = $$[$0];
1572                      break;
1573                  case 34:
1574                      this.$ = $$[$0];
1575                      break;
1576                  case 35:
1577                      this.$ = { type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$) };
1578                      break;
1579                  case 36:
1580                      this.$ = { type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$) };
1581                      break;
1582                  case 37:
1583                      this.$ = { type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$) };
1584                      break;
1585                  case 38:
1586                      this.$ = { type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$) };
1587                      break;
1588                  case 39:
1589                      this.$ = { type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$) };
1590                      break;
1591                  case 40:
1592                      this.$ = $$[$0];
1593                      break;
1594                  case 41:
1595                      this.$ = $$[$0];
1596                      break;
1597                  case 42:
1598                      this.$ = yy.preparePath(true, $$[$0], this._$);
1599                      break;
1600                  case 43:
1601                      this.$ = yy.preparePath(false, $$[$0], this._$);
1602                      break;
1603                  case 44:
1604                      $$[$0 - 2].push({ part: yy.id($$[$0]), original: $$[$0], separator: $$[$0 - 1] });this.$ = $$[$0 - 2];
1605                      break;
1606                  case 45:
1607                      this.$ = [{ part: yy.id($$[$0]), original: $$[$0] }];
1608                      break;
1609                  case 46:
1610                      this.$ = [];
1611                      break;
1612                  case 47:
1613                      $$[$0 - 1].push($$[$0]);
1614                      break;
1615                  case 48:
1616                      this.$ = [$$[$0]];
1617                      break;
1618                  case 49:
1619                      $$[$0 - 1].push($$[$0]);
1620                      break;
1621                  case 50:
1622                      this.$ = [];
1623                      break;
1624                  case 51:
1625                      $$[$0 - 1].push($$[$0]);
1626                      break;
1627                  case 58:
1628                      this.$ = [];
1629                      break;
1630                  case 59:
1631                      $$[$0 - 1].push($$[$0]);
1632                      break;
1633                  case 64:
1634                      this.$ = [];
1635                      break;
1636                  case 65:
1637                      $$[$0 - 1].push($$[$0]);
1638                      break;
1639                  case 70:
1640                      this.$ = [];
1641                      break;
1642                  case 71:
1643                      $$[$0 - 1].push($$[$0]);
1644                      break;
1645                  case 78:
1646                      this.$ = [];
1647                      break;
1648                  case 79:
1649                      $$[$0 - 1].push($$[$0]);
1650                      break;
1651                  case 82:
1652                      this.$ = [];
1653                      break;
1654                  case 83:
1655                      $$[$0 - 1].push($$[$0]);
1656                      break;
1657                  case 86:
1658                      this.$ = [];
1659                      break;
1660                  case 87:
1661                      $$[$0 - 1].push($$[$0]);
1662                      break;
1663                  case 90:
1664                      this.$ = [];
1665                      break;
1666                  case 91:
1667                      $$[$0 - 1].push($$[$0]);
1668                      break;
1669                  case 94:
1670                      this.$ = [];
1671                      break;
1672                  case 95:
1673                      $$[$0 - 1].push($$[$0]);
1674                      break;
1675                  case 98:
1676                      this.$ = [$$[$0]];
1677                      break;
1678                  case 99:
1679                      $$[$0 - 1].push($$[$0]);
1680                      break;
1681                  case 100:
1682                      this.$ = [$$[$0]];
1683                      break;
1684                  case 101:
1685                      $$[$0 - 1].push($$[$0]);
1686                      break;
1687              }
1688          },
1689          table: [{ 3: 1, 4: 2, 5: [2, 46], 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 1: [3] }, { 5: [1, 4] }, { 5: [2, 2], 7: 5, 8: 6, 9: 7, 10: 8, 11: 9, 12: 10, 13: 11, 14: [1, 12], 15: [1, 20], 16: 17, 19: [1, 23], 24: 15, 27: 16, 29: [1, 21], 34: [1, 22], 39: [2, 2], 44: [2, 2], 47: [2, 2], 48: [1, 13], 51: [1, 14], 55: [1, 18], 59: 19, 60: [1, 24] }, { 1: [2, 1] }, { 5: [2, 47], 14: [2, 47], 15: [2, 47], 19: [2, 47], 29: [2, 47], 34: [2, 47], 39: [2, 47], 44: [2, 47], 47: [2, 47], 48: [2, 47], 51: [2, 47], 55: [2, 47], 60: [2, 47] }, { 5: [2, 3], 14: [2, 3], 15: [2, 3], 19: [2, 3], 29: [2, 3], 34: [2, 3], 39: [2, 3], 44: [2, 3], 47: [2, 3], 48: [2, 3], 51: [2, 3], 55: [2, 3], 60: [2, 3] }, { 5: [2, 4], 14: [2, 4], 15: [2, 4], 19: [2, 4], 29: [2, 4], 34: [2, 4], 39: [2, 4], 44: [2, 4], 47: [2, 4], 48: [2, 4], 51: [2, 4], 55: [2, 4], 60: [2, 4] }, { 5: [2, 5], 14: [2, 5], 15: [2, 5], 19: [2, 5], 29: [2, 5], 34: [2, 5], 39: [2, 5], 44: [2, 5], 47: [2, 5], 48: [2, 5], 51: [2, 5], 55: [2, 5], 60: [2, 5] }, { 5: [2, 6], 14: [2, 6], 15: [2, 6], 19: [2, 6], 29: [2, 6], 34: [2, 6], 39: [2, 6], 44: [2, 6], 47: [2, 6], 48: [2, 6], 51: [2, 6], 55: [2, 6], 60: [2, 6] }, { 5: [2, 7], 14: [2, 7], 15: [2, 7], 19: [2, 7], 29: [2, 7], 34: [2, 7], 39: [2, 7], 44: [2, 7], 47: [2, 7], 48: [2, 7], 51: [2, 7], 55: [2, 7], 60: [2, 7] }, { 5: [2, 8], 14: [2, 8], 15: [2, 8], 19: [2, 8], 29: [2, 8], 34: [2, 8], 39: [2, 8], 44: [2, 8], 47: [2, 8], 48: [2, 8], 51: [2, 8], 55: [2, 8], 60: [2, 8] }, { 5: [2, 9], 14: [2, 9], 15: [2, 9], 19: [2, 9], 29: [2, 9], 34: [2, 9], 39: [2, 9], 44: [2, 9], 47: [2, 9], 48: [2, 9], 51: [2, 9], 55: [2, 9], 60: [2, 9] }, { 20: 25, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 36, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 37, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 4: 38, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 13: 40, 15: [1, 20], 17: 39 }, { 20: 42, 56: 41, 64: 43, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 45, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 5: [2, 10], 14: [2, 10], 15: [2, 10], 18: [2, 10], 19: [2, 10], 29: [2, 10], 34: [2, 10], 39: [2, 10], 44: [2, 10], 47: [2, 10], 48: [2, 10], 51: [2, 10], 55: [2, 10], 60: [2, 10] }, { 20: 46, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 47, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 48, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 42, 56: 49, 64: 43, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [2, 78], 49: 50, 65: [2, 78], 72: [2, 78], 80: [2, 78], 81: [2, 78], 82: [2, 78], 83: [2, 78], 84: [2, 78], 85: [2, 78] }, { 23: [2, 33], 33: [2, 33], 54: [2, 33], 65: [2, 33], 68: [2, 33], 72: [2, 33], 75: [2, 33], 80: [2, 33], 81: [2, 33], 82: [2, 33], 83: [2, 33], 84: [2, 33], 85: [2, 33] }, { 23: [2, 34], 33: [2, 34], 54: [2, 34], 65: [2, 34], 68: [2, 34], 72: [2, 34], 75: [2, 34], 80: [2, 34], 81: [2, 34], 82: [2, 34], 83: [2, 34], 84: [2, 34], 85: [2, 34] }, { 23: [2, 35], 33: [2, 35], 54: [2, 35], 65: [2, 35], 68: [2, 35], 72: [2, 35], 75: [2, 35], 80: [2, 35], 81: [2, 35], 82: [2, 35], 83: [2, 35], 84: [2, 35], 85: [2, 35] }, { 23: [2, 36], 33: [2, 36], 54: [2, 36], 65: [2, 36], 68: [2, 36], 72: [2, 36], 75: [2, 36], 80: [2, 36], 81: [2, 36], 82: [2, 36], 83: [2, 36], 84: [2, 36], 85: [2, 36] }, { 23: [2, 37], 33: [2, 37], 54: [2, 37], 65: [2, 37], 68: [2, 37], 72: [2, 37], 75: [2, 37], 80: [2, 37], 81: [2, 37], 82: [2, 37], 83: [2, 37], 84: [2, 37], 85: [2, 37] }, { 23: [2, 38], 33: [2, 38], 54: [2, 38], 65: [2, 38], 68: [2, 38], 72: [2, 38], 75: [2, 38], 80: [2, 38], 81: [2, 38], 82: [2, 38], 83: [2, 38], 84: [2, 38], 85: [2, 38] }, { 23: [2, 39], 33: [2, 39], 54: [2, 39], 65: [2, 39], 68: [2, 39], 72: [2, 39], 75: [2, 39], 80: [2, 39], 81: [2, 39], 82: [2, 39], 83: [2, 39], 84: [2, 39], 85: [2, 39] }, { 23: [2, 43], 33: [2, 43], 54: [2, 43], 65: [2, 43], 68: [2, 43], 72: [2, 43], 75: [2, 43], 80: [2, 43], 81: [2, 43], 82: [2, 43], 83: [2, 43], 84: [2, 43], 85: [2, 43], 87: [1, 51] }, { 72: [1, 35], 86: 52 }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 52: 53, 54: [2, 82], 65: [2, 82], 72: [2, 82], 80: [2, 82], 81: [2, 82], 82: [2, 82], 83: [2, 82], 84: [2, 82], 85: [2, 82] }, { 25: 54, 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 55, 47: [2, 54] }, { 28: 60, 43: 61, 44: [1, 59], 47: [2, 56] }, { 13: 63, 15: [1, 20], 18: [1, 62] }, { 15: [2, 48], 18: [2, 48] }, { 33: [2, 86], 57: 64, 65: [2, 86], 72: [2, 86], 80: [2, 86], 81: [2, 86], 82: [2, 86], 83: [2, 86], 84: [2, 86], 85: [2, 86] }, { 33: [2, 40], 65: [2, 40], 72: [2, 40], 80: [2, 40], 81: [2, 40], 82: [2, 40], 83: [2, 40], 84: [2, 40], 85: [2, 40] }, { 33: [2, 41], 65: [2, 41], 72: [2, 41], 80: [2, 41], 81: [2, 41], 82: [2, 41], 83: [2, 41], 84: [2, 41], 85: [2, 41] }, { 20: 65, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 66, 47: [1, 67] }, { 30: 68, 33: [2, 58], 65: [2, 58], 72: [2, 58], 75: [2, 58], 80: [2, 58], 81: [2, 58], 82: [2, 58], 83: [2, 58], 84: [2, 58], 85: [2, 58] }, { 33: [2, 64], 35: 69, 65: [2, 64], 72: [2, 64], 75: [2, 64], 80: [2, 64], 81: [2, 64], 82: [2, 64], 83: [2, 64], 84: [2, 64], 85: [2, 64] }, { 21: 70, 23: [2, 50], 65: [2, 50], 72: [2, 50], 80: [2, 50], 81: [2, 50], 82: [2, 50], 83: [2, 50], 84: [2, 50], 85: [2, 50] }, { 33: [2, 90], 61: 71, 65: [2, 90], 72: [2, 90], 80: [2, 90], 81: [2, 90], 82: [2, 90], 83: [2, 90], 84: [2, 90], 85: [2, 90] }, { 20: 75, 33: [2, 80], 50: 72, 63: 73, 64: 76, 65: [1, 44], 69: 74, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 72: [1, 80] }, { 23: [2, 42], 33: [2, 42], 54: [2, 42], 65: [2, 42], 68: [2, 42], 72: [2, 42], 75: [2, 42], 80: [2, 42], 81: [2, 42], 82: [2, 42], 83: [2, 42], 84: [2, 42], 85: [2, 42], 87: [1, 51] }, { 20: 75, 53: 81, 54: [2, 84], 63: 82, 64: 76, 65: [1, 44], 69: 83, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 26: 84, 47: [1, 67] }, { 47: [2, 55] }, { 4: 85, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 39: [2, 46], 44: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 47: [2, 20] }, { 20: 86, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 4: 87, 6: 3, 14: [2, 46], 15: [2, 46], 19: [2, 46], 29: [2, 46], 34: [2, 46], 47: [2, 46], 48: [2, 46], 51: [2, 46], 55: [2, 46], 60: [2, 46] }, { 26: 88, 47: [1, 67] }, { 47: [2, 57] }, { 5: [2, 11], 14: [2, 11], 15: [2, 11], 19: [2, 11], 29: [2, 11], 34: [2, 11], 39: [2, 11], 44: [2, 11], 47: [2, 11], 48: [2, 11], 51: [2, 11], 55: [2, 11], 60: [2, 11] }, { 15: [2, 49], 18: [2, 49] }, { 20: 75, 33: [2, 88], 58: 89, 63: 90, 64: 76, 65: [1, 44], 69: 91, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 65: [2, 94], 66: 92, 68: [2, 94], 72: [2, 94], 80: [2, 94], 81: [2, 94], 82: [2, 94], 83: [2, 94], 84: [2, 94], 85: [2, 94] }, { 5: [2, 25], 14: [2, 25], 15: [2, 25], 19: [2, 25], 29: [2, 25], 34: [2, 25], 39: [2, 25], 44: [2, 25], 47: [2, 25], 48: [2, 25], 51: [2, 25], 55: [2, 25], 60: [2, 25] }, { 20: 93, 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 31: 94, 33: [2, 60], 63: 95, 64: 76, 65: [1, 44], 69: 96, 70: 77, 71: 78, 72: [1, 79], 75: [2, 60], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 33: [2, 66], 36: 97, 63: 98, 64: 76, 65: [1, 44], 69: 99, 70: 77, 71: 78, 72: [1, 79], 75: [2, 66], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 22: 100, 23: [2, 52], 63: 101, 64: 76, 65: [1, 44], 69: 102, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 20: 75, 33: [2, 92], 62: 103, 63: 104, 64: 76, 65: [1, 44], 69: 105, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 106] }, { 33: [2, 79], 65: [2, 79], 72: [2, 79], 80: [2, 79], 81: [2, 79], 82: [2, 79], 83: [2, 79], 84: [2, 79], 85: [2, 79] }, { 33: [2, 81] }, { 23: [2, 27], 33: [2, 27], 54: [2, 27], 65: [2, 27], 68: [2, 27], 72: [2, 27], 75: [2, 27], 80: [2, 27], 81: [2, 27], 82: [2, 27], 83: [2, 27], 84: [2, 27], 85: [2, 27] }, { 23: [2, 28], 33: [2, 28], 54: [2, 28], 65: [2, 28], 68: [2, 28], 72: [2, 28], 75: [2, 28], 80: [2, 28], 81: [2, 28], 82: [2, 28], 83: [2, 28], 84: [2, 28], 85: [2, 28] }, { 23: [2, 30], 33: [2, 30], 54: [2, 30], 68: [2, 30], 71: 107, 72: [1, 108], 75: [2, 30] }, { 23: [2, 98], 33: [2, 98], 54: [2, 98], 68: [2, 98], 72: [2, 98], 75: [2, 98] }, { 23: [2, 45], 33: [2, 45], 54: [2, 45], 65: [2, 45], 68: [2, 45], 72: [2, 45], 73: [1, 109], 75: [2, 45], 80: [2, 45], 81: [2, 45], 82: [2, 45], 83: [2, 45], 84: [2, 45], 85: [2, 45], 87: [2, 45] }, { 23: [2, 44], 33: [2, 44], 54: [2, 44], 65: [2, 44], 68: [2, 44], 72: [2, 44], 75: [2, 44], 80: [2, 44], 81: [2, 44], 82: [2, 44], 83: [2, 44], 84: [2, 44], 85: [2, 44], 87: [2, 44] }, { 54: [1, 110] }, { 54: [2, 83], 65: [2, 83], 72: [2, 83], 80: [2, 83], 81: [2, 83], 82: [2, 83], 83: [2, 83], 84: [2, 83], 85: [2, 83] }, { 54: [2, 85] }, { 5: [2, 13], 14: [2, 13], 15: [2, 13], 19: [2, 13], 29: [2, 13], 34: [2, 13], 39: [2, 13], 44: [2, 13], 47: [2, 13], 48: [2, 13], 51: [2, 13], 55: [2, 13], 60: [2, 13] }, { 38: 56, 39: [1, 58], 43: 57, 44: [1, 59], 45: 112, 46: 111, 47: [2, 76] }, { 33: [2, 70], 40: 113, 65: [2, 70], 72: [2, 70], 75: [2, 70], 80: [2, 70], 81: [2, 70], 82: [2, 70], 83: [2, 70], 84: [2, 70], 85: [2, 70] }, { 47: [2, 18] }, { 5: [2, 14], 14: [2, 14], 15: [2, 14], 19: [2, 14], 29: [2, 14], 34: [2, 14], 39: [2, 14], 44: [2, 14], 47: [2, 14], 48: [2, 14], 51: [2, 14], 55: [2, 14], 60: [2, 14] }, { 33: [1, 114] }, { 33: [2, 87], 65: [2, 87], 72: [2, 87], 80: [2, 87], 81: [2, 87], 82: [2, 87], 83: [2, 87], 84: [2, 87], 85: [2, 87] }, { 33: [2, 89] }, { 20: 75, 63: 116, 64: 76, 65: [1, 44], 67: 115, 68: [2, 96], 69: 117, 70: 77, 71: 78, 72: [1, 79], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 33: [1, 118] }, { 32: 119, 33: [2, 62], 74: 120, 75: [1, 121] }, { 33: [2, 59], 65: [2, 59], 72: [2, 59], 75: [2, 59], 80: [2, 59], 81: [2, 59], 82: [2, 59], 83: [2, 59], 84: [2, 59], 85: [2, 59] }, { 33: [2, 61], 75: [2, 61] }, { 33: [2, 68], 37: 122, 74: 123, 75: [1, 121] }, { 33: [2, 65], 65: [2, 65], 72: [2, 65], 75: [2, 65], 80: [2, 65], 81: [2, 65], 82: [2, 65], 83: [2, 65], 84: [2, 65], 85: [2, 65] }, { 33: [2, 67], 75: [2, 67] }, { 23: [1, 124] }, { 23: [2, 51], 65: [2, 51], 72: [2, 51], 80: [2, 51], 81: [2, 51], 82: [2, 51], 83: [2, 51], 84: [2, 51], 85: [2, 51] }, { 23: [2, 53] }, { 33: [1, 125] }, { 33: [2, 91], 65: [2, 91], 72: [2, 91], 80: [2, 91], 81: [2, 91], 82: [2, 91], 83: [2, 91], 84: [2, 91], 85: [2, 91] }, { 33: [2, 93] }, { 5: [2, 22], 14: [2, 22], 15: [2, 22], 19: [2, 22], 29: [2, 22], 34: [2, 22], 39: [2, 22], 44: [2, 22], 47: [2, 22], 48: [2, 22], 51: [2, 22], 55: [2, 22], 60: [2, 22] }, { 23: [2, 99], 33: [2, 99], 54: [2, 99], 68: [2, 99], 72: [2, 99], 75: [2, 99] }, { 73: [1, 109] }, { 20: 75, 63: 126, 64: 76, 65: [1, 44], 72: [1, 35], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 23], 14: [2, 23], 15: [2, 23], 19: [2, 23], 29: [2, 23], 34: [2, 23], 39: [2, 23], 44: [2, 23], 47: [2, 23], 48: [2, 23], 51: [2, 23], 55: [2, 23], 60: [2, 23] }, { 47: [2, 19] }, { 47: [2, 77] }, { 20: 75, 33: [2, 72], 41: 127, 63: 128, 64: 76, 65: [1, 44], 69: 129, 70: 77, 71: 78, 72: [1, 79], 75: [2, 72], 78: 26, 79: 27, 80: [1, 28], 81: [1, 29], 82: [1, 30], 83: [1, 31], 84: [1, 32], 85: [1, 34], 86: 33 }, { 5: [2, 24], 14: [2, 24], 15: [2, 24], 19: [2, 24], 29: [2, 24], 34: [2, 24], 39: [2, 24], 44: [2, 24], 47: [2, 24], 48: [2, 24], 51: [2, 24], 55: [2, 24], 60: [2, 24] }, { 68: [1, 130] }, { 65: [2, 95], 68: [2, 95], 72: [2, 95], 80: [2, 95], 81: [2, 95], 82: [2, 95], 83: [2, 95], 84: [2, 95], 85: [2, 95] }, { 68: [2, 97] }, { 5: [2, 21], 14: [2, 21], 15: [2, 21], 19: [2, 21], 29: [2, 21], 34: [2, 21], 39: [2, 21], 44: [2, 21], 47: [2, 21], 48: [2, 21], 51: [2, 21], 55: [2, 21], 60: [2, 21] }, { 33: [1, 131] }, { 33: [2, 63] }, { 72: [1, 133], 76: 132 }, { 33: [1, 134] }, { 33: [2, 69] }, { 15: [2, 12] }, { 14: [2, 26], 15: [2, 26], 19: [2, 26], 29: [2, 26], 34: [2, 26], 47: [2, 26], 48: [2, 26], 51: [2, 26], 55: [2, 26], 60: [2, 26] }, { 23: [2, 31], 33: [2, 31], 54: [2, 31], 68: [2, 31], 72: [2, 31], 75: [2, 31] }, { 33: [2, 74], 42: 135, 74: 136, 75: [1, 121] }, { 33: [2, 71], 65: [2, 71], 72: [2, 71], 75: [2, 71], 80: [2, 71], 81: [2, 71], 82: [2, 71], 83: [2, 71], 84: [2, 71], 85: [2, 71] }, { 33: [2, 73], 75: [2, 73] }, { 23: [2, 29], 33: [2, 29], 54: [2, 29], 65: [2, 29], 68: [2, 29], 72: [2, 29], 75: [2, 29], 80: [2, 29], 81: [2, 29], 82: [2, 29], 83: [2, 29], 84: [2, 29], 85: [2, 29] }, { 14: [2, 15], 15: [2, 15], 19: [2, 15], 29: [2, 15], 34: [2, 15], 39: [2, 15], 44: [2, 15], 47: [2, 15], 48: [2, 15], 51: [2, 15], 55: [2, 15], 60: [2, 15] }, { 72: [1, 138], 77: [1, 137] }, { 72: [2, 100], 77: [2, 100] }, { 14: [2, 16], 15: [2, 16], 19: [2, 16], 29: [2, 16], 34: [2, 16], 44: [2, 16], 47: [2, 16], 48: [2, 16], 51: [2, 16], 55: [2, 16], 60: [2, 16] }, { 33: [1, 139] }, { 33: [2, 75] }, { 33: [2, 32] }, { 72: [2, 101], 77: [2, 101] }, { 14: [2, 17], 15: [2, 17], 19: [2, 17], 29: [2, 17], 34: [2, 17], 39: [2, 17], 44: [2, 17], 47: [2, 17], 48: [2, 17], 51: [2, 17], 55: [2, 17], 60: [2, 17] }],
1690          defaultActions: { 4: [2, 1], 55: [2, 55], 57: [2, 20], 61: [2, 57], 74: [2, 81], 83: [2, 85], 87: [2, 18], 91: [2, 89], 102: [2, 53], 105: [2, 93], 111: [2, 19], 112: [2, 77], 117: [2, 97], 120: [2, 63], 123: [2, 69], 124: [2, 12], 136: [2, 75], 137: [2, 32] },
1691          parseError: function parseError(str, hash) {
1692              throw new Error(str);
1693          },
1694          parse: function parse(input) {
1695              var self = this,
1696                  stack = [0],
1697                  vstack = [null],
1698                  lstack = [],
1699                  table = this.table,
1700                  yytext = "",
1701                  yylineno = 0,
1702                  yyleng = 0,
1703                  recovering = 0,
1704                  TERROR = 2,
1705                  EOF = 1;
1706              this.lexer.setInput(input);
1707              this.lexer.yy = this.yy;
1708              this.yy.lexer = this.lexer;
1709              this.yy.parser = this;
1710              if (typeof this.lexer.yylloc == "undefined") this.lexer.yylloc = {};
1711              var yyloc = this.lexer.yylloc;
1712              lstack.push(yyloc);
1713              var ranges = this.lexer.options && this.lexer.options.ranges;
1714              if (typeof this.yy.parseError === "function") this.parseError = this.yy.parseError;
1715              function popStack(n) {
1716                  stack.length = stack.length - 2 * n;
1717                  vstack.length = vstack.length - n;
1718                  lstack.length = lstack.length - n;
1719              }
1720              function lex() {
1721                  var token;
1722                  token = self.lexer.lex() || 1;
1723                  if (typeof token !== "number") {
1724                      token = self.symbols_[token] || token;
1725                  }
1726                  return token;
1727              }
1728              var symbol,
1729                  preErrorSymbol,
1730                  state,
1731                  action,
1732                  a,
1733                  r,
1734                  yyval = {},
1735                  p,
1736                  len,
1737                  newState,
1738                  expected;
1739              while (true) {
1740                  state = stack[stack.length - 1];
1741                  if (this.defaultActions[state]) {
1742                      action = this.defaultActions[state];
1743                  } else {
1744                      if (symbol === null || typeof symbol == "undefined") {
1745                          symbol = lex();
1746                      }
1747                      action = table[state] && table[state][symbol];
1748                  }
1749                  if (typeof action === "undefined" || !action.length || !action[0]) {
1750                      var errStr = "";
1751                      if (!recovering) {
1752                          expected = [];
1753                          for (p in table[state]) if (this.terminals_[p] && p > 2) {
1754                              expected.push("'" + this.terminals_[p] + "'");
1755                          }
1756                          if (this.lexer.showPosition) {
1757                              errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
1758                          } else {
1759                              errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1 ? "end of input" : "'" + (this.terminals_[symbol] || symbol) + "'");
1760                          }
1761                          this.parseError(errStr, { text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected });
1762                      }
1763                  }
1764                  if (action[0] instanceof Array && action.length > 1) {
1765                      throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
1766                  }
1767                  switch (action[0]) {
1768                      case 1:
1769                          stack.push(symbol);
1770                          vstack.push(this.lexer.yytext);
1771                          lstack.push(this.lexer.yylloc);
1772                          stack.push(action[1]);
1773                          symbol = null;
1774                          if (!preErrorSymbol) {
1775                              yyleng = this.lexer.yyleng;
1776                              yytext = this.lexer.yytext;
1777                              yylineno = this.lexer.yylineno;
1778                              yyloc = this.lexer.yylloc;
1779                              if (recovering > 0) recovering--;
1780                          } else {
1781                              symbol = preErrorSymbol;
1782                              preErrorSymbol = null;
1783                          }
1784                          break;
1785                      case 2:
1786                          len = this.productions_[action[1]][1];
1787                          yyval.$ = vstack[vstack.length - len];
1788                          yyval._$ = { first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column };
1789                          if (ranges) {
1790                              yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
1791                          }
1792                          r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
1793                          if (typeof r !== "undefined") {
1794                              return r;
1795                          }
1796                          if (len) {
1797                              stack = stack.slice(0, -1 * len * 2);
1798                              vstack = vstack.slice(0, -1 * len);
1799                              lstack = lstack.slice(0, -1 * len);
1800                          }
1801                          stack.push(this.productions_[action[1]][0]);
1802                          vstack.push(yyval.$);
1803                          lstack.push(yyval._$);
1804                          newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
1805                          stack.push(newState);
1806                          break;
1807                      case 3:
1808                          return true;
1809                  }
1810              }
1811              return true;
1812          }
1813      };
1814      /* Jison generated lexer */
1815      var lexer = (function () {
1816          var lexer = { EOF: 1,
1817              parseError: function parseError(str, hash) {
1818                  if (this.yy.parser) {
1819                      this.yy.parser.parseError(str, hash);
1820                  } else {
1821                      throw new Error(str);
1822                  }
1823              },
1824              setInput: function setInput(input) {
1825                  this._input = input;
1826                  this._more = this._less = this.done = false;
1827                  this.yylineno = this.yyleng = 0;
1828                  this.yytext = this.matched = this.match = '';
1829                  this.conditionStack = ['INITIAL'];
1830                  this.yylloc = { first_line: 1, first_column: 0, last_line: 1, last_column: 0 };
1831                  if (this.options.ranges) this.yylloc.range = [0, 0];
1832                  this.offset = 0;
1833                  return this;
1834              },
1835              input: function input() {
1836                  var ch = this._input[0];
1837                  this.yytext += ch;
1838                  this.yyleng++;
1839                  this.offset++;
1840                  this.match += ch;
1841                  this.matched += ch;
1842                  var lines = ch.match(/(?:\r\n?|\n).*/g);
1843                  if (lines) {
1844                      this.yylineno++;
1845                      this.yylloc.last_line++;
1846                  } else {
1847                      this.yylloc.last_column++;
1848                  }
1849                  if (this.options.ranges) this.yylloc.range[1]++;
1850
1851                  this._input = this._input.slice(1);
1852                  return ch;
1853              },
1854              unput: function unput(ch) {
1855                  var len = ch.length;
1856                  var lines = ch.split(/(?:\r\n?|\n)/g);
1857
1858                  this._input = ch + this._input;
1859                  this.yytext = this.yytext.substr(0, this.yytext.length - len - 1);
1860                  //this.yyleng -= len;
1861                  this.offset -= len;
1862                  var oldLines = this.match.split(/(?:\r\n?|\n)/g);
1863                  this.match = this.match.substr(0, this.match.length - 1);
1864                  this.matched = this.matched.substr(0, this.matched.length - 1);
1865
1866                  if (lines.length - 1) this.yylineno -= lines.length - 1;
1867                  var r = this.yylloc.range;
1868
1869                  this.yylloc = { first_line: this.yylloc.first_line,
1870                      last_line: this.yylineno + 1,
1871                      first_column: this.yylloc.first_column,
1872                      last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len
1873                  };
1874
1875                  if (this.options.ranges) {
1876                      this.yylloc.range = [r[0], r[0] + this.yyleng - len];
1877                  }
1878                  return this;
1879              },
1880              more: function more() {
1881                  this._more = true;
1882                  return this;
1883              },
1884              less: function less(n) {
1885                  this.unput(this.match.slice(n));
1886              },
1887              pastInput: function pastInput() {
1888                  var past = this.matched.substr(0, this.matched.length - this.match.length);
1889                  return (past.length > 20 ? '...' : '') + past.substr(-20).replace(/\n/g, "");
1890              },
1891              upcomingInput: function upcomingInput() {
1892                  var next = this.match;
1893                  if (next.length < 20) {
1894                      next += this._input.substr(0, 20 - next.length);
1895                  }
1896                  return (next.substr(0, 20) + (next.length > 20 ? '...' : '')).replace(/\n/g, "");
1897              },
1898              showPosition: function showPosition() {
1899                  var pre = this.pastInput();
1900                  var c = new Array(pre.length + 1).join("-");
1901                  return pre + this.upcomingInput() + "\n" + c + "^";
1902              },
1903              next: function next() {
1904                  if (this.done) {
1905                      return this.EOF;
1906                  }
1907                  if (!this._input) this.done = true;
1908
1909                  var token, match, tempMatch, index, col, lines;
1910                  if (!this._more) {
1911                      this.yytext = '';
1912                      this.match = '';
1913                  }
1914                  var rules = this._currentRules();
1915                  for (var i = 0; i < rules.length; i++) {
1916                      tempMatch = this._input.match(this.rules[rules[i]]);
1917                      if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
1918                          match = tempMatch;
1919                          index = i;
1920                          if (!this.options.flex) break;
1921                      }
1922                  }
1923                  if (match) {
1924                      lines = match[0].match(/(?:\r\n?|\n).*/g);
1925                      if (lines) this.yylineno += lines.length;
1926                      this.yylloc = { first_line: this.yylloc.last_line,
1927                          last_line: this.yylineno + 1,
1928                          first_column: this.yylloc.last_column,
1929                          last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length };
1930                      this.yytext += match[0];
1931                      this.match += match[0];
1932                      this.matches = match;
1933                      this.yyleng = this.yytext.length;
1934                      if (this.options.ranges) {
1935                          this.yylloc.range = [this.offset, this.offset += this.yyleng];
1936                      }
1937                      this._more = false;
1938                      this._input = this._input.slice(match[0].length);
1939                      this.matched += match[0];
1940                      token = this.performAction.call(this, this.yy, this, rules[index], this.conditionStack[this.conditionStack.length - 1]);
1941                      if (this.done && this._input) this.done = false;
1942                      if (token) return token;else return;
1943                  }
1944                  if (this._input === "") {
1945                      return this.EOF;
1946                  } else {
1947                      return this.parseError('Lexical error on line ' + (this.yylineno + 1) + '. Unrecognized text.\n' + this.showPosition(), { text: "", token: null, line: this.yylineno });
1948                  }
1949              },
1950              lex: function lex() {
1951                  var r = this.next();
1952                  if (typeof r !== 'undefined') {
1953                      return r;
1954                  } else {
1955                      return this.lex();
1956                  }
1957              },
1958              begin: function begin(condition) {
1959                  this.conditionStack.push(condition);
1960              },
1961              popState: function popState() {
1962                  return this.conditionStack.pop();
1963              },
1964              _currentRules: function _currentRules() {
1965                  return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;
1966              },
1967              topState: function topState() {
1968                  return this.conditionStack[this.conditionStack.length - 2];
1969              },
1970              pushState: function begin(condition) {
1971                  this.begin(condition);
1972              } };
1973          lexer.options = {};
1974          lexer.performAction = function anonymous(yy, yy_, $avoiding_name_collisions, YY_START
1975          /**/) {
1976
1977              function strip(start, end) {
1978                  return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng - end);
1979              }
1980
1981              var YYSTATE = YY_START;
1982              switch ($avoiding_name_collisions) {
1983                  case 0:
1984                      if (yy_.yytext.slice(-2) === "\\\\") {
1985                          strip(0, 1);
1986                          this.begin("mu");
1987                      } else if (yy_.yytext.slice(-1) === "\\") {
1988                          strip(0, 1);
1989                          this.begin("emu");
1990                      } else {
1991                          this.begin("mu");
1992                      }
1993                      if (yy_.yytext) return 15;
1994
1995                      break;
1996                  case 1:
1997                      return 15;
1998                      break;
1999                  case 2:
2000                      this.popState();
2001                      return 15;
2002
2003                      break;
2004                  case 3:
2005                      this.begin('raw');return 15;
2006                      break;
2007                  case 4:
2008                      this.popState();
2009                      // Should be using `this.topState()` below, but it currently
2010                      // returns the second top instead of the first top. Opened an
2011                      // issue about it at https://github.com/zaach/jison/issues/291
2012                      if (this.conditionStack[this.conditionStack.length - 1] === 'raw') {
2013                          return 15;
2014                      } else {
2015                          yy_.yytext = yy_.yytext.substr(5, yy_.yyleng - 9);
2016                          return 'END_RAW_BLOCK';
2017                      }
2018
2019                      break;
2020                  case 5:
2021                      return 15;
2022                      break;
2023                  case 6:
2024                      this.popState();
2025                      return 14;
2026
2027                      break;
2028                  case 7:
2029                      return 65;
2030                      break;
2031                  case 8:
2032                      return 68;
2033                      break;
2034                  case 9:
2035                      return 19;
2036                      break;
2037                  case 10:
2038                      this.popState();
2039                      this.begin('raw');
2040                      return 23;
2041
2042                      break;
2043                  case 11:
2044                      return 55;
2045                      break;
2046                  case 12:
2047                      return 60;
2048                      break;
2049                  case 13:
2050                      return 29;
2051                      break;
2052                  case 14:
2053                      return 47;
2054                      break;
2055                  case 15:
2056                      this.popState();return 44;
2057                      break;
2058                  case 16:
2059                      this.popState();return 44;
2060                      break;
2061                  case 17:
2062                      return 34;
2063                      break;
2064                  case 18:
2065                      return 39;
2066                      break;
2067                  case 19:
2068                      return 51;
2069                      break;
2070                  case 20:
2071                      return 48;
2072                      break;
2073                  case 21:
2074                      this.unput(yy_.yytext);
2075                      this.popState();
2076                      this.begin('com');
2077
2078                      break;
2079                  case 22:
2080                      this.popState();
2081                      return 14;
2082
2083                      break;
2084                  case 23:
2085                      return 48;
2086                      break;
2087                  case 24:
2088                      return 73;
2089                      break;
2090                  case 25:
2091                      return 72;
2092                      break;
2093                  case 26:
2094                      return 72;
2095                      break;
2096                  case 27:
2097                      return 87;
2098                      break;
2099                  case 28:
2100                      // ignore whitespace
2101                      break;
2102                  case 29:
2103                      this.popState();return 54;
2104                      break;
2105                  case 30:
2106                      this.popState();return 33;
2107                      break;
2108                  case 31:
2109                      yy_.yytext = strip(1, 2).replace(/\\"/g, '"');return 80;
2110                      break;
2111                  case 32:
2112                      yy_.yytext = strip(1, 2).replace(/\\'/g, "'");return 80;
2113                      break;
2114                  case 33:
2115                      return 85;
2116                      break;
2117                  case 34:
2118                      return 82;
2119                      break;
2120                  case 35:
2121                      return 82;
2122                      break;
2123                  case 36:
2124                      return 83;
2125                      break;
2126                  case 37:
2127                      return 84;
2128                      break;
2129                  case 38:
2130                      return 81;
2131                      break;
2132                  case 39:
2133                      return 75;
2134                      break;
2135                  case 40:
2136                      return 77;
2137                      break;
2138                  case 41:
2139                      return 72;
2140                      break;
2141                  case 42:
2142                      yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g, '$1');return 72;
2143                      break;
2144                  case 43:
2145                      return 'INVALID';
2146                      break;
2147                  case 44:
2148                      return 5;
2149                      break;
2150              }
2151          };
2152          lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/, /^(?:[^\x00]+)/, /^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/, /^(?:\{\{\{\{(?=[^/]))/, /^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/, /^(?:[^\x00]*?(?=(\{\{\{\{)))/, /^(?:[\s\S]*?--(~)?\}\})/, /^(?:\()/, /^(?:\))/, /^(?:\{\{\{\{)/, /^(?:\}\}\}\})/, /^(?:\{\{(~)?>)/, /^(?:\{\{(~)?#>)/, /^(?:\{\{(~)?#\*?)/, /^(?:\{\{(~)?\/)/, /^(?:\{\{(~)?\^\s*(~)?\}\})/, /^(?:\{\{(~)?\s*else\s*(~)?\}\})/, /^(?:\{\{(~)?\^)/, /^(?:\{\{(~)?\s*else\b)/, /^(?:\{\{(~)?\{)/, /^(?:\{\{(~)?&)/, /^(?:\{\{(~)?!--)/, /^(?:\{\{(~)?![\s\S]*?\}\})/, /^(?:\{\{(~)?\*?)/, /^(?:=)/, /^(?:\.\.)/, /^(?:\.(?=([=~}\s\/.)|])))/, /^(?:[\/.])/, /^(?:\s+)/, /^(?:\}(~)?\}\})/, /^(?:(~)?\}\})/, /^(?:"(\\["]|[^"])*")/, /^(?:'(\\[']|[^'])*')/, /^(?:@)/, /^(?:true(?=([~}\s)])))/, /^(?:false(?=([~}\s)])))/, /^(?:undefined(?=([~}\s)])))/, /^(?:null(?=([~}\s)])))/, /^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/, /^(?:as\s+\|)/, /^(?:\|)/, /^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/, /^(?:\[(\\\]|[^\]])*\])/, /^(?:.)/, /^(?:$)/];
2153          lexer.conditions = { "mu": { "rules": [7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44], "inclusive": false }, "emu": { "rules": [2], "inclusive": false }, "com": { "rules": [6], "inclusive": false }, "raw": { "rules": [3, 4, 5], "inclusive": false }, "INITIAL": { "rules": [0, 1, 44], "inclusive": true } };
2154          return lexer;
vendor: 7,745 bytes, lines 2155-2411
2155      })();
2156      parser.lexer = lexer;
2157      function Parser() {
2158          this.yy = {};
2159      }Parser.prototype = parser;parser.Parser = Parser;
2160      return new Parser();
2161  })();exports.__esModule = true;
2162  exports['default'] = handlebars;
2163
2164/***/ },
2165/* 24 */
2166/***/ function(module, exports, __webpack_require__) {
2167
2168  'use strict';
2169
2170  var _interopRequireDefault = __webpack_require__(1)['default'];
2171
2172  exports.__esModule = true;
2173
2174  var _visitor = __webpack_require__(25);
2175
2176  var _visitor2 = _interopRequireDefault(_visitor);
2177
2178  function WhitespaceControl() {
2179    var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
2180
2181    this.options = options;
2182  }
2183  WhitespaceControl.prototype = new _visitor2['default']();
2184
2185  WhitespaceControl.prototype.Program = function (program) {
2186    var doStandalone = !this.options.ignoreStandalone;
2187
2188    var isRoot = !this.isRootSeen;
2189    this.isRootSeen = true;
2190
2191    var body = program.body;
2192    for (var i = 0, l = body.length; i < l; i++) {
2193      var current = body[i],
2194          strip = this.accept(current);
2195
2196      if (!strip) {
2197        continue;
2198      }
2199
2200      var _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),
2201          _isNextWhitespace = isNextWhitespace(body, i, isRoot),
2202          openStandalone = strip.openStandalone && _isPrevWhitespace,
2203          closeStandalone = strip.closeStandalone && _isNextWhitespace,
2204          inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;
2205
2206      if (strip.close) {
2207        omitRight(body, i, true);
2208      }
2209      if (strip.open) {
2210        omitLeft(body, i, true);
2211      }
2212
2213      if (doStandalone && inlineStandalone) {
2214        omitRight(body, i);
2215
2216        if (omitLeft(body, i)) {
2217          // If we are on a standalone node, save the indent info for partials
2218          if (current.type === 'PartialStatement') {
2219            // Pull out the whitespace from the final line
2220            current.indent = /([ \t]+$)/.exec(body[i - 1].original)[1];
2221          }
2222        }
2223      }
2224      if (doStandalone && openStandalone) {
2225        omitRight((current.program || current.inverse).body);
2226
2227        // Strip out the previous content node if it's whitespace only
2228        omitLeft(body, i);
2229      }
2230      if (doStandalone && closeStandalone) {
2231        // Always strip the next node
2232        omitRight(body, i);
2233
2234        omitLeft((current.inverse || current.program).body);
2235      }
2236    }
2237
2238    return program;
2239  };
2240
2241  WhitespaceControl.prototype.BlockStatement = WhitespaceControl.prototype.DecoratorBlock = WhitespaceControl.prototype.PartialBlockStatement = function (block) {
2242    this.accept(block.program);
2243    this.accept(block.inverse);
2244
2245    // Find the inverse program that is involed with whitespace stripping.
2246    var program = block.program || block.inverse,
2247        inverse = block.program && block.inverse,
2248        firstInverse = inverse,
2249        lastInverse = inverse;
2250
2251    if (inverse && inverse.chained) {
2252      firstInverse = inverse.body[0].program;
2253
2254      // Walk the inverse chain to find the last inverse that is actually in the chain.
2255      while (lastInverse.chained) {
2256        lastInverse = lastInverse.body[lastInverse.body.length - 1].program;
2257      }
2258    }
2259
2260    var strip = {
2261      open: block.openStrip.open,
2262      close: block.closeStrip.close,
2263
2264      // Determine the standalone candiacy. Basically flag our content as being possibly standalone
2265      // so our parent can determine if we actually are standalone
2266      openStandalone: isNextWhitespace(program.body),
2267      closeStandalone: isPrevWhitespace((firstInverse || program).body)
2268    };
2269
2270    if (block.openStrip.close) {
2271      omitRight(program.body, null, true);
2272    }
2273
2274    if (inverse) {
2275      var inverseStrip = block.inverseStrip;
2276
2277      if (inverseStrip.open) {
2278        omitLeft(program.body, null, true);
2279      }
2280
2281      if (inverseStrip.close) {
2282        omitRight(firstInverse.body, null, true);
2283      }
2284      if (block.closeStrip.open) {
2285        omitLeft(lastInverse.body, null, true);
2286      }
2287
2288      // Find standalone else statments
2289      if (!this.options.ignoreStandalone && isPrevWhitespace(program.body) && isNextWhitespace(firstInverse.body)) {
2290        omitLeft(program.body);
2291        omitRight(firstInverse.body);
2292      }
2293    } else if (block.closeStrip.open) {
2294      omitLeft(program.body, null, true);
2295    }
2296
2297    return strip;
2298  };
2299
2300  WhitespaceControl.prototype.Decorator = WhitespaceControl.prototype.MustacheStatement = function (mustache) {
2301    return mustache.strip;
2302  };
2303
2304  WhitespaceControl.prototype.PartialStatement = WhitespaceControl.prototype.CommentStatement = function (node) {
2305    /* istanbul ignore next */
2306    var strip = node.strip || {};
2307    return {
2308      inlineStandalone: true,
2309      open: strip.open,
2310      close: strip.close
2311    };
2312  };
2313
2314  function isPrevWhitespace(body, i, isRoot) {
2315    if (i === undefined) {
2316      i = body.length;
2317    }
2318
2319    // Nodes that end with newlines are considered whitespace (but are special
2320    // cased for strip operations)
2321    var prev = body[i - 1],
2322        sibling = body[i - 2];
2323    if (!prev) {
2324      return isRoot;
2325    }
2326
2327    if (prev.type === 'ContentStatement') {
2328      return (sibling || !isRoot ? /\r?\n\s*?$/ : /(^|\r?\n)\s*?$/).test(prev.original);
2329    }
2330  }
2331  function isNextWhitespace(body, i, isRoot) {
2332    if (i === undefined) {
2333      i = -1;
2334    }
2335
2336    var next = body[i + 1],
2337        sibling = body[i + 2];
2338    if (!next) {
2339      return isRoot;
2340    }
2341
2342    if (next.type === 'ContentStatement') {
2343      return (sibling || !isRoot ? /^\s*?\r?\n/ : /^\s*?(\r?\n|$)/).test(next.original);
2344    }
2345  }
2346
2347  // Marks the node to the right of the position as omitted.
2348  // I.e. {{foo}}' ' will mark the ' ' node as omitted.
2349  //
2350  // If i is undefined, then the first child will be marked as such.
2351  //
2352  // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
2353  // content is met.
2354  function omitRight(body, i, multiple) {
2355    var current = body[i == null ? 0 : i + 1];
2356    if (!current || current.type !== 'ContentStatement' || !multiple && current.rightStripped) {
2357      return;
2358    }
2359
2360    var original = current.value;
2361    current.value = current.value.replace(multiple ? /^\s+/ : /^[ \t]*\r?\n?/, '');
2362    current.rightStripped = current.value !== original;
2363  }
2364
2365  // Marks the node to the left of the position as omitted.
2366  // I.e. ' '{{foo}} will mark the ' ' node as omitted.
2367  //
2368  // If i is undefined then the last child will be marked as such.
2369  //
2370  // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
2371  // content is met.
2372  function omitLeft(body, i, multiple) {
2373    var current = body[i == null ? body.length - 1 : i - 1];
2374    if (!current || current.type !== 'ContentStatement' || !multiple && current.leftStripped) {
2375      return;
2376    }
2377
2378    // We omit the last node if it's whitespace only and not preceeded by a non-content node.
2379    var original = current.value;
2380    current.value = current.value.replace(multiple ? /\s+$/ : /[ \t]+$/, '');
2381    current.leftStripped = current.value !== original;
2382    return current.leftStripped;
2383  }
2384
2385  exports['default'] = WhitespaceControl;
2386  module.exports = exports['default'];
2387
2388/***/ },
2389/* 25 */
2390/***/ function(module, exports, __webpack_require__) {
2391
2392  'use strict';
2393
2394  var _interopRequireDefault = __webpack_require__(1)['default'];
2395
2396  exports.__esModule = true;
2397
2398  var _exception = __webpack_require__(6);
2399
2400  var _exception2 = _interopRequireDefault(_exception);
2401
2402  function Visitor() {
2403    this.parents = [];
2404  }
2405
2406  Visitor.prototype = {
2407    constructor: Visitor,
2408    mutating: false,
2409
2410    // Visits a given value. If mutating, will replace the value if necessary.
2411    acceptKey: function acceptKey(node, name) {
vendor: 2,004 bytes, lines 2412-2483
2412      var value = this.accept(node[name]);
2413      if (this.mutating) {
2414        // Hacky sanity check: This may have a few false positives for type for the helper
2415        // methods but will generally do the right thing without a lot of overhead.
2416        if (value && !Visitor.prototype[value.type]) {
2417          throw new _exception2['default']('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type);
2418        }
2419        node[name] = value;
2420      }
2421    },
2422
2423    // Performs an accept operation with added sanity check to ensure
2424    // required keys are not removed.
2425    acceptRequired: function acceptRequired(node, name) {
2426      this.acceptKey(node, name);
2427
2428      if (!node[name]) {
2429        throw new _exception2['default'](node.type + ' requires ' + name);
2430      }
2431    },
2432
2433    // Traverses a given array. If mutating, empty respnses will be removed
2434    // for child elements.
2435    acceptArray: function acceptArray(array) {
2436      for (var i = 0, l = array.length; i < l; i++) {
2437        this.acceptKey(array, i);
2438
2439        if (!array[i]) {
2440          array.splice(i, 1);
2441          i--;
2442          l--;
2443        }
2444      }
2445    },
2446
2447    accept: function accept(object) {
2448      if (!object) {
2449        return;
2450      }
2451
2452      /* istanbul ignore next: Sanity code */
2453      if (!this[object.type]) {
2454        throw new _exception2['default']('Unknown type: ' + object.type, object);
2455      }
2456
2457      if (this.current) {
2458        this.parents.unshift(this.current);
2459      }
2460      this.current = object;
2461
2462      var ret = this[object.type](object);
2463
2464      this.current = this.parents.shift();
2465
2466      if (!this.mutating || ret) {
2467        return ret;
2468      } else if (ret !== false) {
2469        return object;
2470      }
2471    },
2472
2473    Program: function Program(program) {
2474      this.acceptArray(program.body);
2475    },
2476
2477    MustacheStatement: visitSubExpression,
2478    Decorator: visitSubExpression,
2479
2480    BlockStatement: visitBlock,
2481    DecoratorBlock: visitBlock,
2482
2483    PartialStatement: visitPartial,
vendor: 4,150 bytes, lines 2484-2634
2484    PartialBlockStatement: function PartialBlockStatement(partial) {
2485      visitPartial.call(this, partial);
2486
2487      this.acceptKey(partial, 'program');
2488    },
2489
2490    ContentStatement: function ContentStatement() /* content */{},
2491    CommentStatement: function CommentStatement() /* comment */{},
2492
2493    SubExpression: visitSubExpression,
2494
2495    PathExpression: function PathExpression() /* path */{},
2496
2497    StringLiteral: function StringLiteral() /* string */{},
2498    NumberLiteral: function NumberLiteral() /* number */{},
2499    BooleanLiteral: function BooleanLiteral() /* bool */{},
2500    UndefinedLiteral: function UndefinedLiteral() /* literal */{},
2501    NullLiteral: function NullLiteral() /* literal */{},
2502
2503    Hash: function Hash(hash) {
2504      this.acceptArray(hash.pairs);
2505    },
2506    HashPair: function HashPair(pair) {
2507      this.acceptRequired(pair, 'value');
2508    }
2509  };
2510
2511  function visitSubExpression(mustache) {
2512    this.acceptRequired(mustache, 'path');
2513    this.acceptArray(mustache.params);
2514    this.acceptKey(mustache, 'hash');
2515  }
2516  function visitBlock(block) {
2517    visitSubExpression.call(this, block);
2518
2519    this.acceptKey(block, 'program');
2520    this.acceptKey(block, 'inverse');
2521  }
2522  function visitPartial(partial) {
2523    this.acceptRequired(partial, 'name');
2524    this.acceptArray(partial.params);
2525    this.acceptKey(partial, 'hash');
2526  }
2527
2528  exports['default'] = Visitor;
2529  module.exports = exports['default'];
2530
2531/***/ },
2532/* 26 */
2533/***/ function(module, exports, __webpack_require__) {
2534
2535  'use strict';
2536
2537  var _interopRequireDefault = __webpack_require__(1)['default'];
2538
2539  exports.__esModule = true;
2540  exports.SourceLocation = SourceLocation;
2541  exports.id = id;
2542  exports.stripFlags = stripFlags;
2543  exports.stripComment = stripComment;
2544  exports.preparePath = preparePath;
2545  exports.prepareMustache = prepareMustache;
2546  exports.prepareRawBlock = prepareRawBlock;
2547  exports.prepareBlock = prepareBlock;
2548  exports.prepareProgram = prepareProgram;
2549  exports.preparePartialBlock = preparePartialBlock;
2550
2551  var _exception = __webpack_require__(6);
2552
2553  var _exception2 = _interopRequireDefault(_exception);
2554
2555  function validateClose(open, close) {
2556    close = close.path ? close.path.original : close;
2557
2558    if (open.path.original !== close) {
2559      var errorNode = { loc: open.path.loc };
2560
2561      throw new _exception2['default'](open.path.original + " doesn't match " + close, errorNode);
2562    }
2563  }
2564
2565  function SourceLocation(source, locInfo) {
2566    this.source = source;
2567    this.start = {
2568      line: locInfo.first_line,
2569      column: locInfo.first_column
2570    };
2571    this.end = {
2572      line: locInfo.last_line,
2573      column: locInfo.last_column
2574    };
2575  }
2576
2577  function id(token) {
2578    if (/^\[.*\]$/.test(token)) {
2579      return token.substr(1, token.length - 2);
2580    } else {
2581      return token;
2582    }
2583  }
2584
2585  function stripFlags(open, close) {
2586    return {
2587      open: open.charAt(2) === '~',
2588      close: close.charAt(close.length - 3) === '~'
2589    };
2590  }
2591
2592  function stripComment(comment) {
2593    return comment.replace(/^\{\{~?\!-?-?/, '').replace(/-?-?~?\}\}$/, '');
2594  }
2595
2596  function preparePath(data, parts, loc) {
2597    loc = this.locInfo(loc);
2598
2599    var original = data ? '@' : '',
2600        dig = [],
2601        depth = 0,
2602        depthString = '';
2603
2604    for (var i = 0, l = parts.length; i < l; i++) {
2605      var part = parts[i].part,
2606
2607      // If we have [] syntax then we do not treat path references as operators,
2608      // i.e. foo.[this] resolves to approximately context.foo['this']
2609      isLiteral = parts[i].original !== part;
2610      original += (parts[i].separator || '') + part;
2611
2612      if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {
2613        if (dig.length > 0) {
2614          throw new _exception2['default']('Invalid path: ' + original, { loc: loc });
2615        } else if (part === '..') {
2616          depth++;
2617          depthString += '../';
2618        }
2619      } else {
2620        dig.push(part);
2621      }
2622    }
2623
2624    return {
2625      type: 'PathExpression',
2626      data: data,
2627      depth: depth,
2628      parts: dig,
2629      original: original,
2630      loc: loc
2631    };
2632  }
2633
2634  function prepareMustache(path, params, hash, open, strip, locInfo) {
vendor: 1,102 bytes, lines 2635-2679
2635    // Must use charAt to support IE pre-10
2636    var escapeFlag = open.charAt(3) || open.charAt(2),
2637        escaped = escapeFlag !== '{' && escapeFlag !== '&';
2638
2639    var decorator = /\*/.test(open);
2640    return {
2641      type: decorator ? 'Decorator' : 'MustacheStatement',
2642      path: path,
2643      params: params,
2644      hash: hash,
2645      escaped: escaped,
2646      strip: strip,
2647      loc: this.locInfo(locInfo)
2648    };
2649  }
2650
2651  function prepareRawBlock(openRawBlock, contents, close, locInfo) {
2652    validateClose(openRawBlock, close);
2653
2654    locInfo = this.locInfo(locInfo);
2655    var program = {
2656      type: 'Program',
2657      body: contents,
2658      strip: {},
2659      loc: locInfo
2660    };
2661
2662    return {
2663      type: 'BlockStatement',
2664      path: openRawBlock.path,
2665      params: openRawBlock.params,
2666      hash: openRawBlock.hash,
2667      program: program,
2668      openStrip: {},
2669      inverseStrip: {},
2670      closeStrip: {},
2671      loc: locInfo
2672    };
2673  }
2674
2675  function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {
2676    if (close && close.path) {
2677      validateClose(openBlock, close);
2678    }
2679
vendor: 5,866 bytes, lines 2680-2905
2680    var decorator = /\*/.test(openBlock.open);
2681
2682    program.blockParams = openBlock.blockParams;
2683
2684    var inverse = undefined,
2685        inverseStrip = undefined;
2686
2687    if (inverseAndProgram) {
2688      if (decorator) {
2689        throw new _exception2['default']('Unexpected inverse block on decorator', inverseAndProgram);
2690      }
2691
2692      if (inverseAndProgram.chain) {
2693        inverseAndProgram.program.body[0].closeStrip = close.strip;
2694      }
2695
2696      inverseStrip = inverseAndProgram.strip;
2697      inverse = inverseAndProgram.program;
2698    }
2699
2700    if (inverted) {
2701      inverted = inverse;
2702      inverse = program;
2703      program = inverted;
2704    }
2705
2706    return {
2707      type: decorator ? 'DecoratorBlock' : 'BlockStatement',
2708      path: openBlock.path,
2709      params: openBlock.params,
2710      hash: openBlock.hash,
2711      program: program,
2712      inverse: inverse,
2713      openStrip: openBlock.strip,
2714      inverseStrip: inverseStrip,
2715      closeStrip: close && close.strip,
2716      loc: this.locInfo(locInfo)
2717    };
2718  }
2719
2720  function prepareProgram(statements, loc) {
2721    if (!loc && statements.length) {
2722      var firstLoc = statements[0].loc,
2723          lastLoc = statements[statements.length - 1].loc;
2724
2725      /* istanbul ignore else */
2726      if (firstLoc && lastLoc) {
2727        loc = {
2728          source: firstLoc.source,
2729          start: {
2730            line: firstLoc.start.line,
2731            column: firstLoc.start.column
2732          },
2733          end: {
2734            line: lastLoc.end.line,
2735            column: lastLoc.end.column
2736          }
2737        };
2738      }
2739    }
2740
2741    return {
2742      type: 'Program',
2743      body: statements,
2744      strip: {},
2745      loc: loc
2746    };
2747  }
2748
2749  function preparePartialBlock(open, program, close, locInfo) {
2750    validateClose(open, close);
2751
2752    return {
2753      type: 'PartialBlockStatement',
2754      name: open.path,
2755      params: open.params,
2756      hash: open.hash,
2757      program: program,
2758      openStrip: open.strip,
2759      closeStrip: close && close.strip,
2760      loc: this.locInfo(locInfo)
2761    };
2762  }
2763
2764/***/ },
2765/* 27 */
2766/***/ function(module, exports, __webpack_require__) {
2767
2768  /* eslint-disable new-cap */
2769
2770  'use strict';
2771
2772  var _interopRequireDefault = __webpack_require__(1)['default'];
2773
2774  exports.__esModule = true;
2775  exports.Compiler = Compiler;
2776  exports.precompile = precompile;
2777  exports.compile = compile;
2778
2779  var _exception = __webpack_require__(6);
2780
2781  var _exception2 = _interopRequireDefault(_exception);
2782
2783  var _utils = __webpack_require__(5);
2784
2785  var _ast = __webpack_require__(21);
2786
2787  var _ast2 = _interopRequireDefault(_ast);
2788
2789  var slice = [].slice;
2790
2791  function Compiler() {}
2792
2793  // the foundHelper register will disambiguate helper lookup from finding a
2794  // function in a context. This is necessary for mustache compatibility, which
2795  // requires that context functions in blocks are evaluated by blockHelperMissing,
2796  // and then proceed as if the resulting value was provided to blockHelperMissing.
2797
2798  Compiler.prototype = {
2799    compiler: Compiler,
2800
2801    equals: function equals(other) {
2802      var len = this.opcodes.length;
2803      if (other.opcodes.length !== len) {
2804        return false;
2805      }
2806
2807      for (var i = 0; i < len; i++) {
2808        var opcode = this.opcodes[i],
2809            otherOpcode = other.opcodes[i];
2810        if (opcode.opcode !== otherOpcode.opcode || !argEquals(opcode.args, otherOpcode.args)) {
2811          return false;
2812        }
2813      }
2814
2815      // We know that length is the same between the two arrays because they are directly tied
2816      // to the opcode behavior above.
2817      len = this.children.length;
2818      for (var i = 0; i < len; i++) {
2819        if (!this.children[i].equals(other.children[i])) {
2820          return false;
2821        }
2822      }
2823
2824      return true;
2825    },
2826
2827    guid: 0,
2828
2829    compile: function compile(program, options) {
2830      this.sourceNode = [];
2831      this.opcodes = [];
2832      this.children = [];
2833      this.options = options;
2834      this.stringParams = options.stringParams;
2835      this.trackIds = options.trackIds;
2836
2837      options.blockParams = options.blockParams || [];
2838
2839      // These changes will propagate to the other compiler components
2840      var knownHelpers = options.knownHelpers;
2841      options.knownHelpers = {
2842        'helperMissing': true,
2843        'blockHelperMissing': true,
2844        'each': true,
2845        'if': true,
2846        'unless': true,
2847        'with': true,
2848        'log': true,
2849        'lookup': true
2850      };
2851      if (knownHelpers) {
2852        for (var _name in knownHelpers) {
2853          /* istanbul ignore else */
2854          if (_name in knownHelpers) {
2855            options.knownHelpers[_name] = knownHelpers[_name];
2856          }
2857        }
2858      }
2859
2860      return this.accept(program);
2861    },
2862
2863    compileProgram: function compileProgram(program) {
2864      var childCompiler = new this.compiler(),
2865          // eslint-disable-line new-cap
2866      result = childCompiler.compile(program, this.options),
2867          guid = this.guid++;
2868
2869      this.usePartial = this.usePartial || result.usePartial;
2870
2871      this.children[guid] = result;
2872      this.useDepths = this.useDepths || result.useDepths;
2873
2874      return guid;
2875    },
2876
2877    accept: function accept(node) {
2878      /* istanbul ignore next: Sanity code */
2879      if (!this[node.type]) {
2880        throw new _exception2['default']('Unknown type: ' + node.type, node);
2881      }
2882
2883      this.sourceNode.unshift(node);
2884      var ret = this[node.type](node);
2885      this.sourceNode.shift();
2886      return ret;
2887    },
2888
2889    Program: function Program(program) {
2890      this.options.blockParams.unshift(program.blockParams);
2891
2892      var body = program.body,
2893          bodyLength = body.length;
2894      for (var i = 0; i < bodyLength; i++) {
2895        this.accept(body[i]);
2896      }
2897
2898      this.options.blockParams.shift();
2899
2900      this.isSimple = bodyLength === 1;
2901      this.blockParams = program.blockParams ? program.blockParams.length : 0;
2902
2903      return this;
2904    },
2905
vendor: 12,706 bytes, lines 2906-3316
2906    BlockStatement: function BlockStatement(block) {
2907      transformLiteralToPath(block);
2908
2909      var program = block.program,
2910          inverse = block.inverse;
2911
2912      program = program && this.compileProgram(program);
2913      inverse = inverse && this.compileProgram(inverse);
2914
2915      var type = this.classifySexpr(block);
2916
2917      if (type === 'helper') {
2918        this.helperSexpr(block, program, inverse);
2919      } else if (type === 'simple') {
2920        this.simpleSexpr(block);
2921
2922        // now that the simple mustache is resolved, we need to
2923        // evaluate it by executing `blockHelperMissing`
2924        this.opcode('pushProgram', program);
2925        this.opcode('pushProgram', inverse);
2926        this.opcode('emptyHash');
2927        this.opcode('blockValue', block.path.original);
2928      } else {
2929        this.ambiguousSexpr(block, program, inverse);
2930
2931        // now that the simple mustache is resolved, we need to
2932        // evaluate it by executing `blockHelperMissing`
2933        this.opcode('pushProgram', program);
2934        this.opcode('pushProgram', inverse);
2935        this.opcode('emptyHash');
2936        this.opcode('ambiguousBlockValue');
2937      }
2938
2939      this.opcode('append');
2940    },
2941
2942    DecoratorBlock: function DecoratorBlock(decorator) {
2943      var program = decorator.program && this.compileProgram(decorator.program);
2944      var params = this.setupFullMustacheParams(decorator, program, undefined),
2945          path = decorator.path;
2946
2947      this.useDecorators = true;
2948      this.opcode('registerDecorator', params.length, path.original);
2949    },
2950
2951    PartialStatement: function PartialStatement(partial) {
2952      this.usePartial = true;
2953
2954      var program = partial.program;
2955      if (program) {
2956        program = this.compileProgram(partial.program);
2957      }
2958
2959      var params = partial.params;
2960      if (params.length > 1) {
2961        throw new _exception2['default']('Unsupported number of partial arguments: ' + params.length, partial);
2962      } else if (!params.length) {
2963        if (this.options.explicitPartialContext) {
2964          this.opcode('pushLiteral', 'undefined');
2965        } else {
2966          params.push({ type: 'PathExpression', parts: [], depth: 0 });
2967        }
2968      }
2969
2970      var partialName = partial.name.original,
2971          isDynamic = partial.name.type === 'SubExpression';
2972      if (isDynamic) {
2973        this.accept(partial.name);
2974      }
2975
2976      this.setupFullMustacheParams(partial, program, undefined, true);
2977
2978      var indent = partial.indent || '';
2979      if (this.options.preventIndent && indent) {
2980        this.opcode('appendContent', indent);
2981        indent = '';
2982      }
2983
2984      this.opcode('invokePartial', isDynamic, partialName, indent);
2985      this.opcode('append');
2986    },
2987    PartialBlockStatement: function PartialBlockStatement(partialBlock) {
2988      this.PartialStatement(partialBlock);
2989    },
2990
2991    MustacheStatement: function MustacheStatement(mustache) {
2992      this.SubExpression(mustache);
2993
2994      if (mustache.escaped && !this.options.noEscape) {
2995        this.opcode('appendEscaped');
2996      } else {
2997        this.opcode('append');
2998      }
2999    },
3000    Decorator: function Decorator(decorator) {
3001      this.DecoratorBlock(decorator);
3002    },
3003
3004    ContentStatement: function ContentStatement(content) {
3005      if (content.value) {
3006        this.opcode('appendContent', content.value);
3007      }
3008    },
3009
3010    CommentStatement: function CommentStatement() {},
3011
3012    SubExpression: function SubExpression(sexpr) {
3013      transformLiteralToPath(sexpr);
3014      var type = this.classifySexpr(sexpr);
3015
3016      if (type === 'simple') {
3017        this.simpleSexpr(sexpr);
3018      } else if (type === 'helper') {
3019        this.helperSexpr(sexpr);
3020      } else {
3021        this.ambiguousSexpr(sexpr);
3022      }
3023    },
3024    ambiguousSexpr: function ambiguousSexpr(sexpr, program, inverse) {
3025      var path = sexpr.path,
3026          name = path.parts[0],
3027          isBlock = program != null || inverse != null;
3028
3029      this.opcode('getContext', path.depth);
3030
3031      this.opcode('pushProgram', program);
3032      this.opcode('pushProgram', inverse);
3033
3034      path.strict = true;
3035      this.accept(path);
3036
3037      this.opcode('invokeAmbiguous', name, isBlock);
3038    },
3039
3040    simpleSexpr: function simpleSexpr(sexpr) {
3041      var path = sexpr.path;
3042      path.strict = true;
3043      this.accept(path);
3044      this.opcode('resolvePossibleLambda');
3045    },
3046
3047    helperSexpr: function helperSexpr(sexpr, program, inverse) {
3048      var params = this.setupFullMustacheParams(sexpr, program, inverse),
3049          path = sexpr.path,
3050          name = path.parts[0];
3051
3052      if (this.options.knownHelpers[name]) {
3053        this.opcode('invokeKnownHelper', params.length, name);
3054      } else if (this.options.knownHelpersOnly) {
3055        throw new _exception2['default']('You specified knownHelpersOnly, but used the unknown helper ' + name, sexpr);
3056      } else {
3057        path.strict = true;
3058        path.falsy = true;
3059
3060        this.accept(path);
3061        this.opcode('invokeHelper', params.length, path.original, _ast2['default'].helpers.simpleId(path));
3062      }
3063    },
3064
3065    PathExpression: function PathExpression(path) {
3066      this.addDepth(path.depth);
3067      this.opcode('getContext', path.depth);
3068
3069      var name = path.parts[0],
3070          scoped = _ast2['default'].helpers.scopedId(path),
3071          blockParamId = !path.depth && !scoped && this.blockParamIndex(name);
3072
3073      if (blockParamId) {
3074        this.opcode('lookupBlockParam', blockParamId, path.parts);
3075      } else if (!name) {
3076        // Context reference, i.e. `{{foo .}}` or `{{foo ..}}`
3077        this.opcode('pushContext');
3078      } else if (path.data) {
3079        this.options.data = true;
3080        this.opcode('lookupData', path.depth, path.parts, path.strict);
3081      } else {
3082        this.opcode('lookupOnContext', path.parts, path.falsy, path.strict, scoped);
3083      }
3084    },
3085
3086    StringLiteral: function StringLiteral(string) {
3087      this.opcode('pushString', string.value);
3088    },
3089
3090    NumberLiteral: function NumberLiteral(number) {
3091      this.opcode('pushLiteral', number.value);
3092    },
3093
3094    BooleanLiteral: function BooleanLiteral(bool) {
3095      this.opcode('pushLiteral', bool.value);
3096    },
3097
3098    UndefinedLiteral: function UndefinedLiteral() {
3099      this.opcode('pushLiteral', 'undefined');
3100    },
3101
3102    NullLiteral: function NullLiteral() {
3103      this.opcode('pushLiteral', 'null');
3104    },
3105
3106    Hash: function Hash(hash) {
3107      var pairs = hash.pairs,
3108          i = 0,
3109          l = pairs.length;
3110
3111      this.opcode('pushHash');
3112
3113      for (; i < l; i++) {
3114        this.pushParam(pairs[i].value);
3115      }
3116      while (i--) {
3117        this.opcode('assignToHash', pairs[i].key);
3118      }
3119      this.opcode('popHash');
3120    },
3121
3122    // HELPERS
3123    opcode: function opcode(name) {
3124      this.opcodes.push({ opcode: name, args: slice.call(arguments, 1), loc: this.sourceNode[0].loc });
3125    },
3126
3127    addDepth: function addDepth(depth) {
3128      if (!depth) {
3129        return;
3130      }
3131
3132      this.useDepths = true;
3133    },
3134
3135    classifySexpr: function classifySexpr(sexpr) {
3136      var isSimple = _ast2['default'].helpers.simpleId(sexpr.path);
3137
3138      var isBlockParam = isSimple && !!this.blockParamIndex(sexpr.path.parts[0]);
3139
3140      // a mustache is an eligible helper if:
3141      // * its id is simple (a single part, not `this` or `..`)
3142      var isHelper = !isBlockParam && _ast2['default'].helpers.helperExpression(sexpr);
3143
3144      // if a mustache is an eligible helper but not a definite
3145      // helper, it is ambiguous, and will be resolved in a later
3146      // pass or at runtime.
3147      var isEligible = !isBlockParam && (isHelper || isSimple);
3148
3149      // if ambiguous, we can possibly resolve the ambiguity now
3150      // An eligible helper is one that does not have a complex path, i.e. `this.foo`, `../foo` etc.
3151      if (isEligible && !isHelper) {
3152        var _name2 = sexpr.path.parts[0],
3153            options = this.options;
3154
3155        if (options.knownHelpers[_name2]) {
3156          isHelper = true;
3157        } else if (options.knownHelpersOnly) {
3158          isEligible = false;
3159        }
3160      }
3161
3162      if (isHelper) {
3163        return 'helper';
3164      } else if (isEligible) {
3165        return 'ambiguous';
3166      } else {
3167        return 'simple';
3168      }
3169    },
3170
3171    pushParams: function pushParams(params) {
3172      for (var i = 0, l = params.length; i < l; i++) {
3173        this.pushParam(params[i]);
3174      }
3175    },
3176
3177    pushParam: function pushParam(val) {
3178      var value = val.value != null ? val.value : val.original || '';
3179
3180      if (this.stringParams) {
3181        if (value.replace) {
3182          value = value.replace(/^(\.?\.\/)*/g, '').replace(/\//g, '.');
3183        }
3184
3185        if (val.depth) {
3186          this.addDepth(val.depth);
3187        }
3188        this.opcode('getContext', val.depth || 0);
3189        this.opcode('pushStringParam', value, val.type);
3190
3191        if (val.type === 'SubExpression') {
3192          // SubExpressions get evaluated and passed in
3193          // in string params mode.
3194          this.accept(val);
3195        }
3196      } else {
3197        if (this.trackIds) {
3198          var blockParamIndex = undefined;
3199          if (val.parts && !_ast2['default'].helpers.scopedId(val) && !val.depth) {
3200            blockParamIndex = this.blockParamIndex(val.parts[0]);
3201          }
3202          if (blockParamIndex) {
3203            var blockParamChild = val.parts.slice(1).join('.');
3204            this.opcode('pushId', 'BlockParam', blockParamIndex, blockParamChild);
3205          } else {
3206            value = val.original || value;
3207            if (value.replace) {
3208              value = value.replace(/^this(?:\.|$)/, '').replace(/^\.\//, '').replace(/^\.$/, '');
3209            }
3210
3211            this.opcode('pushId', val.type, value);
3212          }
3213        }
3214        this.accept(val);
3215      }
3216    },
3217
3218    setupFullMustacheParams: function setupFullMustacheParams(sexpr, program, inverse, omitEmpty) {
3219      var params = sexpr.params;
3220      this.pushParams(params);
3221
3222      this.opcode('pushProgram', program);
3223      this.opcode('pushProgram', inverse);
3224
3225      if (sexpr.hash) {
3226        this.accept(sexpr.hash);
3227      } else {
3228        this.opcode('emptyHash', omitEmpty);
3229      }
3230
3231      return params;
3232    },
3233
3234    blockParamIndex: function blockParamIndex(name) {
3235      for (var depth = 0, len = this.options.blockParams.length; depth < len; depth++) {
3236        var blockParams = this.options.blockParams[depth],
3237            param = blockParams && _utils.indexOf(blockParams, name);
3238        if (blockParams && param >= 0) {
3239          return [depth, param];
3240        }
3241      }
3242    }
3243  };
3244
3245  function precompile(input, options, env) {
3246    if (input == null || typeof input !== 'string' && input.type !== 'Program') {
3247      throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.precompile. You passed ' + input);
3248    }
3249
3250    options = options || {};
3251    if (!('data' in options)) {
3252      options.data = true;
3253    }
3254    if (options.compat) {
3255      options.useDepths = true;
3256    }
3257
3258    var ast = env.parse(input, options),
3259        environment = new env.Compiler().compile(ast, options);
3260    return new env.JavaScriptCompiler().compile(environment, options);
3261  }
3262
3263  function compile(input, options, env) {
3264    if (options === undefined) options = {};
3265
3266    if (input == null || typeof input !== 'string' && input.type !== 'Program') {
3267      throw new _exception2['default']('You must pass a string or Handlebars AST to Handlebars.compile. You passed ' + input);
3268    }
3269
3270    if (!('data' in options)) {
3271      options.data = true;
3272    }
3273    if (options.compat) {
3274      options.useDepths = true;
3275    }
3276
3277    var compiled = undefined;
3278
3279    function compileInput() {
3280      var ast = env.parse(input, options),
3281          environment = new env.Compiler().compile(ast, options),
3282          templateSpec = new env.JavaScriptCompiler().compile(environment, options, undefined, true);
3283      return env.template(templateSpec);
3284    }
3285
3286    // Template is only compiled on first use and cached after that point.
3287    function ret(context, execOptions) {
3288      if (!compiled) {
3289        compiled = compileInput();
3290      }
3291      return compiled.call(this, context, execOptions);
3292    }
3293    ret._setup = function (setupOptions) {
3294      if (!compiled) {
3295        compiled = compileInput();
3296      }
3297      return compiled._setup(setupOptions);
3298    };
3299    ret._child = function (i, data, blockParams, depths) {
3300      if (!compiled) {
3301        compiled = compileInput();
3302      }
3303      return compiled._child(i, data, blockParams, depths);
3304    };
3305    return ret;
3306  }
3307
3308  function argEquals(a, b) {
3309    if (a === b) {
3310      return true;
3311    }
3312
3313    if (_utils.isArray(a) && _utils.isArray(b) && a.length === b.length) {
3314      for (var i = 0; i < a.length; i++) {
3315        if (!argEquals(a[i], b[i])) {
3316          return false;
vendor: 8,002 bytes, lines 3317-3575
3317        }
3318      }
3319      return true;
3320    }
3321  }
3322
3323  function transformLiteralToPath(sexpr) {
3324    if (!sexpr.path.parts) {
3325      var literal = sexpr.path;
3326      // Casting to string here to make false and 0 literal values play nicely with the rest
3327      // of the system.
3328      sexpr.path = {
3329        type: 'PathExpression',
3330        data: false,
3331        depth: 0,
3332        parts: [literal.original + ''],
3333        original: literal.original + '',
3334        loc: literal.loc
3335      };
3336    }
3337  }
3338
3339/***/ },
3340/* 28 */
3341/***/ function(module, exports, __webpack_require__) {
3342
3343  'use strict';
3344
3345  var _interopRequireDefault = __webpack_require__(1)['default'];
3346
3347  exports.__esModule = true;
3348
3349  var _base = __webpack_require__(4);
3350
3351  var _exception = __webpack_require__(6);
3352
3353  var _exception2 = _interopRequireDefault(_exception);
3354
3355  var _utils = __webpack_require__(5);
3356
3357  var _codeGen = __webpack_require__(29);
3358
3359  var _codeGen2 = _interopRequireDefault(_codeGen);
3360
3361  function Literal(value) {
3362    this.value = value;
3363  }
3364
3365  function JavaScriptCompiler() {}
3366
3367  JavaScriptCompiler.prototype = {
3368    // PUBLIC API: You can override these methods in a subclass to provide
3369    // alternative compiled forms for name lookup and buffering semantics
3370    nameLookup: function nameLookup(parent, name /* , type*/) {
3371      if (JavaScriptCompiler.isValidJavaScriptVariableName(name)) {
3372        return [parent, '.', name];
3373      } else {
3374        return [parent, '[', JSON.stringify(name), ']'];
3375      }
3376    },
3377    depthedLookup: function depthedLookup(name) {
3378      return [this.aliasable('container.lookup'), '(depths, "', name, '")'];
3379    },
3380
3381    compilerInfo: function compilerInfo() {
3382      var revision = _base.COMPILER_REVISION,
3383          versions = _base.REVISION_CHANGES[revision];
3384      return [revision, versions];
3385    },
3386
3387    appendToBuffer: function appendToBuffer(source, location, explicit) {
3388      // Force a source as this simplifies the merge logic.
3389      if (!_utils.isArray(source)) {
3390        source = [source];
3391      }
3392      source = this.source.wrap(source, location);
3393
3394      if (this.environment.isSimple) {
3395        return ['return ', source, ';'];
3396      } else if (explicit) {
3397        // This is a case where the buffer operation occurs as a child of another
3398        // construct, generally braces. We have to explicitly output these buffer
3399        // operations to ensure that the emitted code goes in the correct location.
3400        return ['buffer += ', source, ';'];
3401      } else {
3402        source.appendToBuffer = true;
3403        return source;
3404      }
3405    },
3406
3407    initializeBuffer: function initializeBuffer() {
3408      return this.quotedString('');
3409    },
3410    // END PUBLIC API
3411
3412    compile: function compile(environment, options, context, asObject) {
3413      this.environment = environment;
3414      this.options = options;
3415      this.stringParams = this.options.stringParams;
3416      this.trackIds = this.options.trackIds;
3417      this.precompile = !asObject;
3418
3419      this.name = this.environment.name;
3420      this.isChild = !!context;
3421      this.context = context || {
3422        decorators: [],
3423        programs: [],
3424        environments: []
3425      };
3426
3427      this.preamble();
3428
3429      this.stackSlot = 0;
3430      this.stackVars = [];
3431      this.aliases = {};
3432      this.registers = { list: [] };
3433      this.hashes = [];
3434      this.compileStack = [];
3435      this.inlineStack = [];
3436      this.blockParams = [];
3437
3438      this.compileChildren(environment, options);
3439
3440      this.useDepths = this.useDepths || environment.useDepths || environment.useDecorators || this.options.compat;
3441      this.useBlockParams = this.useBlockParams || environment.useBlockParams;
3442
3443      var opcodes = environment.opcodes,
3444          opcode = undefined,
3445          firstLoc = undefined,
3446          i = undefined,
3447          l = undefined;
3448
3449      for (i = 0, l = opcodes.length; i < l; i++) {
3450        opcode = opcodes[i];
3451
3452        this.source.currentLocation = opcode.loc;
3453        firstLoc = firstLoc || opcode.loc;
3454        this[opcode.opcode].apply(this, opcode.args);
3455      }
3456
3457      // Flush any trailing content that might be pending.
3458      this.source.currentLocation = firstLoc;
3459      this.pushSource('');
3460
3461      /* istanbul ignore next */
3462      if (this.stackSlot || this.inlineStack.length || this.compileStack.length) {
3463        throw new _exception2['default']('Compile completed with content left on stack');
3464      }
3465
3466      if (!this.decorators.isEmpty()) {
3467        this.useDecorators = true;
3468
3469        this.decorators.prepend('var decorators = container.decorators;\n');
3470        this.decorators.push('return fn;');
3471
3472        if (asObject) {
3473          this.decorators = Function.apply(this, ['fn', 'props', 'container', 'depth0', 'data', 'blockParams', 'depths', this.decorators.merge()]);
3474        } else {
3475          this.decorators.prepend('function(fn, props, container, depth0, data, blockParams, depths) {\n');
3476          this.decorators.push('}\n');
3477          this.decorators = this.decorators.merge();
3478        }
3479      } else {
3480        this.decorators = undefined;
3481      }
3482
3483      var fn = this.createFunctionContext(asObject);
3484      if (!this.isChild) {
3485        var ret = {
3486          compiler: this.compilerInfo(),
3487          main: fn
3488        };
3489
3490        if (this.decorators) {
3491          ret.main_d = this.decorators; // eslint-disable-line camelcase
3492          ret.useDecorators = true;
3493        }
3494
3495        var _context = this.context;
3496        var programs = _context.programs;
3497        var decorators = _context.decorators;
3498
3499        for (i = 0, l = programs.length; i < l; i++) {
3500          if (programs[i]) {
3501            ret[i] = programs[i];
3502            if (decorators[i]) {
3503              ret[i + '_d'] = decorators[i];
3504              ret.useDecorators = true;
3505            }
3506          }
3507        }
3508
3509        if (this.environment.usePartial) {
3510          ret.usePartial = true;
3511        }
3512        if (this.options.data) {
3513          ret.useData = true;
3514        }
3515        if (this.useDepths) {
3516          ret.useDepths = true;
3517        }
3518        if (this.useBlockParams) {
3519          ret.useBlockParams = true;
3520        }
3521        if (this.options.compat) {
3522          ret.compat = true;
3523        }
3524
3525        if (!asObject) {
3526          ret.compiler = JSON.stringify(ret.compiler);
3527
3528          this.source.currentLocation = { start: { line: 1, column: 0 } };
3529          ret = this.objectLiteral(ret);
3530
3531          if (options.srcName) {
3532            ret = ret.toStringWithSourceMap({ file: options.destName });
3533            ret.map = ret.map && ret.map.toString();
3534          } else {
3535            ret = ret.toString();
3536          }
3537        } else {
3538          ret.compilerOptions = this.options;
3539        }
3540
3541        return ret;
3542      } else {
3543        return fn;
3544      }
3545    },
3546
3547    preamble: function preamble() {
3548      // track the last context pushed into place to allow skipping the
3549      // getContext opcode when it would be a noop
3550      this.lastContext = 0;
3551      this.source = new _codeGen2['default'](this.options.srcName);
3552      this.decorators = new _codeGen2['default'](this.options.srcName);
3553    },
3554
3555    createFunctionContext: function createFunctionContext(asObject) {
3556      var varDeclarations = '';
3557
3558      var locals = this.stackVars.concat(this.registers.list);
3559      if (locals.length > 0) {
3560        varDeclarations += ', ' + locals.join(', ');
3561      }
3562
3563      // Generate minimizer alias mappings
3564      //
3565      // When using true SourceNodes, this will update all references to the given alias
3566      // as the source nodes are reused in situ. For the non-source node compilation mode,
3567      // aliases will not be used, but this case is already being run on the client and
3568      // we aren't concern about minimizing the template size.
3569      var aliasCount = 0;
3570      for (var alias in this.aliases) {
3571        // eslint-disable-line guard-for-in
3572        var node = this.aliases[alias];
3573
3574        if (this.aliases.hasOwnProperty(alias) && node.children && node.referenceCount > 1) {
3575          varDeclarations += ', alias' + ++aliasCount + '=' + alias;
vendor: 4,686 bytes, lines 3576-3725
3576          node.children[0] = 'alias' + aliasCount;
3577        }
3578      }
3579
3580      var params = ['container', 'depth0', 'helpers', 'partials', 'data'];
3581
3582      if (this.useBlockParams || this.useDepths) {
3583        params.push('blockParams');
3584      }
3585      if (this.useDepths) {
3586        params.push('depths');
3587      }
3588
3589      // Perform a second pass over the output to merge content when possible
3590      var source = this.mergeSource(varDeclarations);
3591
3592      if (asObject) {
3593        params.push(source);
3594
3595        return Function.apply(this, params);
3596      } else {
3597        return this.source.wrap(['function(', params.join(','), ') {\n  ', source, '}']);
3598      }
3599    },
3600    mergeSource: function mergeSource(varDeclarations) {
3601      var isSimple = this.environment.isSimple,
3602          appendOnly = !this.forceBuffer,
3603          appendFirst = undefined,
3604          sourceSeen = undefined,
3605          bufferStart = undefined,
3606          bufferEnd = undefined;
3607      this.source.each(function (line) {
3608        if (line.appendToBuffer) {
3609          if (bufferStart) {
3610            line.prepend('  + ');
3611          } else {
3612            bufferStart = line;
3613          }
3614          bufferEnd = line;
3615        } else {
3616          if (bufferStart) {
3617            if (!sourceSeen) {
3618              appendFirst = true;
3619            } else {
3620              bufferStart.prepend('buffer += ');
3621            }
3622            bufferEnd.add(';');
3623            bufferStart = bufferEnd = undefined;
3624          }
3625
3626          sourceSeen = true;
3627          if (!isSimple) {
3628            appendOnly = false;
3629          }
3630        }
3631      });
3632
3633      if (appendOnly) {
3634        if (bufferStart) {
3635          bufferStart.prepend('return ');
3636          bufferEnd.add(';');
3637        } else if (!sourceSeen) {
3638          this.source.push('return "";');
3639        }
3640      } else {
3641        varDeclarations += ', buffer = ' + (appendFirst ? '' : this.initializeBuffer());
3642
3643        if (bufferStart) {
3644          bufferStart.prepend('return buffer + ');
3645          bufferEnd.add(';');
3646        } else {
3647          this.source.push('return buffer;');
3648        }
3649      }
3650
3651      if (varDeclarations) {
3652        this.source.prepend('var ' + varDeclarations.substring(2) + (appendFirst ? '' : ';\n'));
3653      }
3654
3655      return this.source.merge();
3656    },
3657
3658    // [blockValue]
3659    //
3660    // On stack, before: hash, inverse, program, value
3661    // On stack, after: return value of blockHelperMissing
3662    //
3663    // The purpose of this opcode is to take a block of the form
3664    // `{{#this.foo}}...{{/this.foo}}`, resolve the value of `foo`, and
3665    // replace it on the stack with the result of properly
3666    // invoking blockHelperMissing.
3667    blockValue: function blockValue(name) {
3668      var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
3669          params = [this.contextName(0)];
3670      this.setupHelperArgs(name, 0, params);
3671
3672      var blockName = this.popStack();
3673      params.splice(1, 0, blockName);
3674
3675      this.push(this.source.functionCall(blockHelperMissing, 'call', params));
3676    },
3677
3678    // [ambiguousBlockValue]
3679    //
3680    // On stack, before: hash, inverse, program, value
3681    // Compiler value, before: lastHelper=value of last found helper, if any
3682    // On stack, after, if no lastHelper: same as [blockValue]
3683    // On stack, after, if lastHelper: value
3684    ambiguousBlockValue: function ambiguousBlockValue() {
3685      // We're being a bit cheeky and reusing the options value from the prior exec
3686      var blockHelperMissing = this.aliasable('helpers.blockHelperMissing'),
3687          params = [this.contextName(0)];
3688      this.setupHelperArgs('', 0, params, true);
3689
3690      this.flushInline();
3691
3692      var current = this.topStack();
3693      params.splice(1, 0, current);
3694
3695      this.pushSource(['if (!', this.lastHelper, ') { ', current, ' = ', this.source.functionCall(blockHelperMissing, 'call', params), '}']);
3696    },
3697
3698    // [appendContent]
3699    //
3700    // On stack, before: ...
3701    // On stack, after: ...
3702    //
3703    // Appends the string value of `content` to the current buffer
3704    appendContent: function appendContent(content) {
3705      if (this.pendingContent) {
3706        content = this.pendingContent + content;
3707      } else {
3708        this.pendingLocation = this.source.currentLocation;
3709      }
3710
3711      this.pendingContent = content;
3712    },
3713
3714    // [append]
3715    //
3716    // On stack, before: value, ...
3717    // On stack, after: ...
3718    //
3719    // Coerces `value` to a String and appends it to the current buffer.
3720    //
3721    // If `value` is truthy, or 0, it is coerced into a string and appended
3722    // Otherwise, the empty string is appended
3723    append: function append() {
3724      if (this.isInline()) {
3725        this.replaceStack(function (current) {
vendor: 16,581 bytes, lines 3726-4249
3726          return [' != null ? ', current, ' : ""'];
3727        });
3728
3729        this.pushSource(this.appendToBuffer(this.popStack()));
3730      } else {
3731        var local = this.popStack();
3732        this.pushSource(['if (', local, ' != null) { ', this.appendToBuffer(local, undefined, true), ' }']);
3733        if (this.environment.isSimple) {
3734          this.pushSource(['else { ', this.appendToBuffer("''", undefined, true), ' }']);
3735        }
3736      }
3737    },
3738
3739    // [appendEscaped]
3740    //
3741    // On stack, before: value, ...
3742    // On stack, after: ...
3743    //
3744    // Escape `value` and append it to the buffer
3745    appendEscaped: function appendEscaped() {
3746      this.pushSource(this.appendToBuffer([this.aliasable('container.escapeExpression'), '(', this.popStack(), ')']));
3747    },
3748
3749    // [getContext]
3750    //
3751    // On stack, before: ...
3752    // On stack, after: ...
3753    // Compiler value, after: lastContext=depth
3754    //
3755    // Set the value of the `lastContext` compiler value to the depth
3756    getContext: function getContext(depth) {
3757      this.lastContext = depth;
3758    },
3759
3760    // [pushContext]
3761    //
3762    // On stack, before: ...
3763    // On stack, after: currentContext, ...
3764    //
3765    // Pushes the value of the current context onto the stack.
3766    pushContext: function pushContext() {
3767      this.pushStackLiteral(this.contextName(this.lastContext));
3768    },
3769
3770    // [lookupOnContext]
3771    //
3772    // On stack, before: ...
3773    // On stack, after: currentContext[name], ...
3774    //
3775    // Looks up the value of `name` on the current context and pushes
3776    // it onto the stack.
3777    lookupOnContext: function lookupOnContext(parts, falsy, strict, scoped) {
3778      var i = 0;
3779
3780      if (!scoped && this.options.compat && !this.lastContext) {
3781        // The depthed query is expected to handle the undefined logic for the root level that
3782        // is implemented below, so we evaluate that directly in compat mode
3783        this.push(this.depthedLookup(parts[i++]));
3784      } else {
3785        this.pushContext();
3786      }
3787
3788      this.resolvePath('context', parts, i, falsy, strict);
3789    },
3790
3791    // [lookupBlockParam]
3792    //
3793    // On stack, before: ...
3794    // On stack, after: blockParam[name], ...
3795    //
3796    // Looks up the value of `parts` on the given block param and pushes
3797    // it onto the stack.
3798    lookupBlockParam: function lookupBlockParam(blockParamId, parts) {
3799      this.useBlockParams = true;
3800
3801      this.push(['blockParams[', blockParamId[0], '][', blockParamId[1], ']']);
3802      this.resolvePath('context', parts, 1);
3803    },
3804
3805    // [lookupData]
3806    //
3807    // On stack, before: ...
3808    // On stack, after: data, ...
3809    //
3810    // Push the data lookup operator
3811    lookupData: function lookupData(depth, parts, strict) {
3812      if (!depth) {
3813        this.pushStackLiteral('data');
3814      } else {
3815        this.pushStackLiteral('container.data(data, ' + depth + ')');
3816      }
3817
3818      this.resolvePath('data', parts, 0, true, strict);
3819    },
3820
3821    resolvePath: function resolvePath(type, parts, i, falsy, strict) {
3822      // istanbul ignore next
3823
3824      var _this = this;
3825
3826      if (this.options.strict || this.options.assumeObjects) {
3827        this.push(strictLookup(this.options.strict && strict, this, parts, type));
3828        return;
3829      }
3830
3831      var len = parts.length;
3832      for (; i < len; i++) {
3833        /* eslint-disable no-loop-func */
3834        this.replaceStack(function (current) {
3835          var lookup = _this.nameLookup(current, parts[i], type);
3836          // We want to ensure that zero and false are handled properly if the context (falsy flag)
3837          // needs to have the special handling for these values.
3838          if (!falsy) {
3839            return [' != null ? ', lookup, ' : ', current];
3840          } else {
3841            // Otherwise we can use generic falsy handling
3842            return [' && ', lookup];
3843          }
3844        });
3845        /* eslint-enable no-loop-func */
3846      }
3847    },
3848
3849    // [resolvePossibleLambda]
3850    //
3851    // On stack, before: value, ...
3852    // On stack, after: resolved value, ...
3853    //
3854    // If the `value` is a lambda, replace it on the stack by
3855    // the return value of the lambda
3856    resolvePossibleLambda: function resolvePossibleLambda() {
3857      this.push([this.aliasable('container.lambda'), '(', this.popStack(), ', ', this.contextName(0), ')']);
3858    },
3859
3860    // [pushStringParam]
3861    //
3862    // On stack, before: ...
3863    // On stack, after: string, currentContext, ...
3864    //
3865    // This opcode is designed for use in string mode, which
3866    // provides the string value of a parameter along with its
3867    // depth rather than resolving it immediately.
3868    pushStringParam: function pushStringParam(string, type) {
3869      this.pushContext();
3870      this.pushString(type);
3871
3872      // If it's a subexpression, the string result
3873      // will be pushed after this opcode.
3874      if (type !== 'SubExpression') {
3875        if (typeof string === 'string') {
3876          this.pushString(string);
3877        } else {
3878          this.pushStackLiteral(string);
3879        }
3880      }
3881    },
3882
3883    emptyHash: function emptyHash(omitEmpty) {
3884      if (this.trackIds) {
3885        this.push('{}'); // hashIds
3886      }
3887      if (this.stringParams) {
3888        this.push('{}'); // hashContexts
3889        this.push('{}'); // hashTypes
3890      }
3891      this.pushStackLiteral(omitEmpty ? 'undefined' : '{}');
3892    },
3893    pushHash: function pushHash() {
3894      if (this.hash) {
3895        this.hashes.push(this.hash);
3896      }
3897      this.hash = { values: [], types: [], contexts: [], ids: [] };
3898    },
3899    popHash: function popHash() {
3900      var hash = this.hash;
3901      this.hash = this.hashes.pop();
3902
3903      if (this.trackIds) {
3904        this.push(this.objectLiteral(hash.ids));
3905      }
3906      if (this.stringParams) {
3907        this.push(this.objectLiteral(hash.contexts));
3908        this.push(this.objectLiteral(hash.types));
3909      }
3910
3911      this.push(this.objectLiteral(hash.values));
3912    },
3913
3914    // [pushString]
3915    //
3916    // On stack, before: ...
3917    // On stack, after: quotedString(string), ...
3918    //
3919    // Push a quoted version of `string` onto the stack
3920    pushString: function pushString(string) {
3921      this.pushStackLiteral(this.quotedString(string));
3922    },
3923
3924    // [pushLiteral]
3925    //
3926    // On stack, before: ...
3927    // On stack, after: value, ...
3928    //
3929    // Pushes a value onto the stack. This operation prevents
3930    // the compiler from creating a temporary variable to hold
3931    // it.
3932    pushLiteral: function pushLiteral(value) {
3933      this.pushStackLiteral(value);
3934    },
3935
3936    // [pushProgram]
3937    //
3938    // On stack, before: ...
3939    // On stack, after: program(guid), ...
3940    //
3941    // Push a program expression onto the stack. This takes
3942    // a compile-time guid and converts it into a runtime-accessible
3943    // expression.
3944    pushProgram: function pushProgram(guid) {
3945      if (guid != null) {
3946        this.pushStackLiteral(this.programExpression(guid));
3947      } else {
3948        this.pushStackLiteral(null);
3949      }
3950    },
3951
3952    // [registerDecorator]
3953    //
3954    // On stack, before: hash, program, params..., ...
3955    // On stack, after: ...
3956    //
3957    // Pops off the decorator's parameters, invokes the decorator,
3958    // and inserts the decorator into the decorators list.
3959    registerDecorator: function registerDecorator(paramSize, name) {
3960      var foundDecorator = this.nameLookup('decorators', name, 'decorator'),
3961          options = this.setupHelperArgs(name, paramSize);
3962
3963      this.decorators.push(['fn = ', this.decorators.functionCall(foundDecorator, '', ['fn', 'props', 'container', options]), ' || fn;']);
3964    },
3965
3966    // [invokeHelper]
3967    //
3968    // On stack, before: hash, inverse, program, params..., ...
3969    // On stack, after: result of helper invocation
3970    //
3971    // Pops off the helper's parameters, invokes the helper,
3972    // and pushes the helper's return value onto the stack.
3973    //
3974    // If the helper is not found, `helperMissing` is called.
3975    invokeHelper: function invokeHelper(paramSize, name, isSimple) {
3976      var nonHelper = this.popStack(),
3977          helper = this.setupHelper(paramSize, name),
3978          simple = isSimple ? [helper.name, ' || '] : '';
3979
3980      var lookup = ['('].concat(simple, nonHelper);
3981      if (!this.options.strict) {
3982        lookup.push(' || ', this.aliasable('helpers.helperMissing'));
3983      }
3984      lookup.push(')');
3985
3986      this.push(this.source.functionCall(lookup, 'call', helper.callParams));
3987    },
3988
3989    // [invokeKnownHelper]
3990    //
3991    // On stack, before: hash, inverse, program, params..., ...
3992    // On stack, after: result of helper invocation
3993    //
3994    // This operation is used when the helper is known to exist,
3995    // so a `helperMissing` fallback is not required.
3996    invokeKnownHelper: function invokeKnownHelper(paramSize, name) {
3997      var helper = this.setupHelper(paramSize, name);
3998      this.push(this.source.functionCall(helper.name, 'call', helper.callParams));
3999    },
4000
4001    // [invokeAmbiguous]
4002    //
4003    // On stack, before: hash, inverse, program, params..., ...
4004    // On stack, after: result of disambiguation
4005    //
4006    // This operation is used when an expression like `{{foo}}`
4007    // is provided, but we don't know at compile-time whether it
4008    // is a helper or a path.
4009    //
4010    // This operation emits more code than the other options,
4011    // and can be avoided by passing the `knownHelpers` and
4012    // `knownHelpersOnly` flags at compile-time.
4013    invokeAmbiguous: function invokeAmbiguous(name, helperCall) {
4014      this.useRegister('helper');
4015
4016      var nonHelper = this.popStack();
4017
4018      this.emptyHash();
4019      var helper = this.setupHelper(0, name, helperCall);
4020
4021      var helperName = this.lastHelper = this.nameLookup('helpers', name, 'helper');
4022
4023      var lookup = ['(', '(helper = ', helperName, ' || ', nonHelper, ')'];
4024      if (!this.options.strict) {
4025        lookup[0] = '(helper = ';
4026        lookup.push(' != null ? helper : ', this.aliasable('helpers.helperMissing'));
4027      }
4028
4029      this.push(['(', lookup, helper.paramsInit ? ['),(', helper.paramsInit] : [], '),', '(typeof helper === ', this.aliasable('"function"'), ' ? ', this.source.functionCall('helper', 'call', helper.callParams), ' : helper))']);
4030    },
4031
4032    // [invokePartial]
4033    //
4034    // On stack, before: context, ...
4035    // On stack after: result of partial invocation
4036    //
4037    // This operation pops off a context, invokes a partial with that context,
4038    // and pushes the result of the invocation back.
4039    invokePartial: function invokePartial(isDynamic, name, indent) {
4040      var params = [],
4041          options = this.setupParams(name, 1, params);
4042
4043      if (isDynamic) {
4044        name = this.popStack();
4045        delete options.name;
4046      }
4047
4048      if (indent) {
4049        options.indent = JSON.stringify(indent);
4050      }
4051      options.helpers = 'helpers';
4052      options.partials = 'partials';
4053      options.decorators = 'container.decorators';
4054
4055      if (!isDynamic) {
4056        params.unshift(this.nameLookup('partials', name, 'partial'));
4057      } else {
4058        params.unshift(name);
4059      }
4060
4061      if (this.options.compat) {
4062        options.depths = 'depths';
4063      }
4064      options = this.objectLiteral(options);
4065      params.push(options);
4066
4067      this.push(this.source.functionCall('container.invokePartial', '', params));
4068    },
4069
4070    // [assignToHash]
4071    //
4072    // On stack, before: value, ..., hash, ...
4073    // On stack, after: ..., hash, ...
4074    //
4075    // Pops a value off the stack and assigns it to the current hash
4076    assignToHash: function assignToHash(key) {
4077      var value = this.popStack(),
4078          context = undefined,
4079          type = undefined,
4080          id = undefined;
4081
4082      if (this.trackIds) {
4083        id = this.popStack();
4084      }
4085      if (this.stringParams) {
4086        type = this.popStack();
4087        context = this.popStack();
4088      }
4089
4090      var hash = this.hash;
4091      if (context) {
4092        hash.contexts[key] = context;
4093      }
4094      if (type) {
4095        hash.types[key] = type;
4096      }
4097      if (id) {
4098        hash.ids[key] = id;
4099      }
4100      hash.values[key] = value;
4101    },
4102
4103    pushId: function pushId(type, name, child) {
4104      if (type === 'BlockParam') {
4105        this.pushStackLiteral('blockParams[' + name[0] + '].path[' + name[1] + ']' + (child ? ' + ' + JSON.stringify('.' + child) : ''));
4106      } else if (type === 'PathExpression') {
4107        this.pushString(name);
4108      } else if (type === 'SubExpression') {
4109        this.pushStackLiteral('true');
4110      } else {
4111        this.pushStackLiteral('null');
4112      }
4113    },
4114
4115    // HELPERS
4116
4117    compiler: JavaScriptCompiler,
4118
4119    compileChildren: function compileChildren(environment, options) {
4120      var children = environment.children,
4121          child = undefined,
4122          compiler = undefined;
4123
4124      for (var i = 0, l = children.length; i < l; i++) {
4125        child = children[i];
4126        compiler = new this.compiler(); // eslint-disable-line new-cap
4127
4128        var index = this.matchExistingProgram(child);
4129
4130        if (index == null) {
4131          this.context.programs.push(''); // Placeholder to prevent name conflicts for nested children
4132          index = this.context.programs.length;
4133          child.index = index;
4134          child.name = 'program' + index;
4135          this.context.programs[index] = compiler.compile(child, options, this.context, !this.precompile);
4136          this.context.decorators[index] = compiler.decorators;
4137          this.context.environments[index] = child;
4138
4139          this.useDepths = this.useDepths || compiler.useDepths;
4140          this.useBlockParams = this.useBlockParams || compiler.useBlockParams;
4141        } else {
4142          child.index = index;
4143          child.name = 'program' + index;
4144
4145          this.useDepths = this.useDepths || child.useDepths;
4146          this.useBlockParams = this.useBlockParams || child.useBlockParams;
4147        }
4148      }
4149    },
4150    matchExistingProgram: function matchExistingProgram(child) {
4151      for (var i = 0, len = this.context.environments.length; i < len; i++) {
4152        var environment = this.context.environments[i];
4153        if (environment && environment.equals(child)) {
4154          return i;
4155        }
4156      }
4157    },
4158
4159    programExpression: function programExpression(guid) {
4160      var child = this.environment.children[guid],
4161          programParams = [child.index, 'data', child.blockParams];
4162
4163      if (this.useBlockParams || this.useDepths) {
4164        programParams.push('blockParams');
4165      }
4166      if (this.useDepths) {
4167        programParams.push('depths');
4168      }
4169
4170      return 'container.program(' + programParams.join(', ') + ')';
4171    },
4172
4173    useRegister: function useRegister(name) {
4174      if (!this.registers[name]) {
4175        this.registers[name] = true;
4176        this.registers.list.push(name);
4177      }
4178    },
4179
4180    push: function push(expr) {
4181      if (!(expr instanceof Literal)) {
4182        expr = this.source.wrap(expr);
4183      }
4184
4185      this.inlineStack.push(expr);
4186      return expr;
4187    },
4188
4189    pushStackLiteral: function pushStackLiteral(item) {
4190      this.push(new Literal(item));
4191    },
4192
4193    pushSource: function pushSource(source) {
4194      if (this.pendingContent) {
4195        this.source.push(this.appendToBuffer(this.source.quotedString(this.pendingContent), this.pendingLocation));
4196        this.pendingContent = undefined;
4197      }
4198
4199      if (source) {
4200        this.source.push(source);
4201      }
4202    },
4203
4204    replaceStack: function replaceStack(callback) {
4205      var prefix = ['('],
4206          stack = undefined,
4207          createdStack = undefined,
4208          usedLiteral = undefined;
4209
4210      /* istanbul ignore next */
4211      if (!this.isInline()) {
4212        throw new _exception2['default']('replaceStack on non-inline');
4213      }
4214
4215      // We want to merge the inline statement into the replacement statement via ','
4216      var top = this.popStack(true);
4217
4218      if (top instanceof Literal) {
4219        // Literals do not need to be inlined
4220        stack = [top.value];
4221        prefix = ['(', stack];
4222        usedLiteral = true;
4223      } else {
4224        // Get or create the current stack name for use by the inline
4225        createdStack = true;
4226        var _name = this.incrStack();
4227
4228        prefix = ['((', this.push(_name), ' = ', top, ')'];
4229        stack = this.topStack();
4230      }
4231
4232      var item = callback.call(this, stack);
4233
4234      if (!usedLiteral) {
4235        this.popStack();
4236      }
4237      if (createdStack) {
4238        this.stackSlot--;
4239      }
4240      this.push(prefix.concat(item, ')'));
4241    },
4242
4243    incrStack: function incrStack() {
4244      this.stackSlot++;
4245      if (this.stackSlot > this.stackVars.length) {
4246        this.stackVars.push('stack' + this.stackSlot);
4247      }
4248      return this.topStackName();
4249    },
vendor: 5,785 bytes, lines 4250-4441
4250    topStackName: function topStackName() {
4251      return 'stack' + this.stackSlot;
4252    },
4253    flushInline: function flushInline() {
4254      var inlineStack = this.inlineStack;
4255      this.inlineStack = [];
4256      for (var i = 0, len = inlineStack.length; i < len; i++) {
4257        var entry = inlineStack[i];
4258        /* istanbul ignore if */
4259        if (entry instanceof Literal) {
4260          this.compileStack.push(entry);
4261        } else {
4262          var stack = this.incrStack();
4263          this.pushSource([stack, ' = ', entry, ';']);
4264          this.compileStack.push(stack);
4265        }
4266      }
4267    },
4268    isInline: function isInline() {
4269      return this.inlineStack.length;
4270    },
4271
4272    popStack: function popStack(wrapped) {
4273      var inline = this.isInline(),
4274          item = (inline ? this.inlineStack : this.compileStack).pop();
4275
4276      if (!wrapped && item instanceof Literal) {
4277        return item.value;
4278      } else {
4279        if (!inline) {
4280          /* istanbul ignore next */
4281          if (!this.stackSlot) {
4282            throw new _exception2['default']('Invalid stack pop');
4283          }
4284          this.stackSlot--;
4285        }
4286        return item;
4287      }
4288    },
4289
4290    topStack: function topStack() {
4291      var stack = this.isInline() ? this.inlineStack : this.compileStack,
4292          item = stack[stack.length - 1];
4293
4294      /* istanbul ignore if */
4295      if (item instanceof Literal) {
4296        return item.value;
4297      } else {
4298        return item;
4299      }
4300    },
4301
4302    contextName: function contextName(context) {
4303      if (this.useDepths && context) {
4304        return 'depths[' + context + ']';
4305      } else {
4306        return 'depth' + context;
4307      }
4308    },
4309
4310    quotedString: function quotedString(str) {
4311      return this.source.quotedString(str);
4312    },
4313
4314    objectLiteral: function objectLiteral(obj) {
4315      return this.source.objectLiteral(obj);
4316    },
4317
4318    aliasable: function aliasable(name) {
4319      var ret = this.aliases[name];
4320      if (ret) {
4321        ret.referenceCount++;
4322        return ret;
4323      }
4324
4325      ret = this.aliases[name] = this.source.wrap(name);
4326      ret.aliasable = true;
4327      ret.referenceCount = 1;
4328
4329      return ret;
4330    },
4331
4332    setupHelper: function setupHelper(paramSize, name, blockHelper) {
4333      var params = [],
4334          paramsInit = this.setupHelperArgs(name, paramSize, params, blockHelper);
4335      var foundHelper = this.nameLookup('helpers', name, 'helper'),
4336          callContext = this.aliasable(this.contextName(0) + ' != null ? ' + this.contextName(0) + ' : {}');
4337
4338      return {
4339        params: params,
4340        paramsInit: paramsInit,
4341        name: foundHelper,
4342        callParams: [callContext].concat(params)
4343      };
4344    },
4345
4346    setupParams: function setupParams(helper, paramSize, params) {
4347      var options = {},
4348          contexts = [],
4349          types = [],
4350          ids = [],
4351          objectArgs = !params,
4352          param = undefined;
4353
4354      if (objectArgs) {
4355        params = [];
4356      }
4357
4358      options.name = this.quotedString(helper);
4359      options.hash = this.popStack();
4360
4361      if (this.trackIds) {
4362        options.hashIds = this.popStack();
4363      }
4364      if (this.stringParams) {
4365        options.hashTypes = this.popStack();
4366        options.hashContexts = this.popStack();
4367      }
4368
4369      var inverse = this.popStack(),
4370          program = this.popStack();
4371
4372      // Avoid setting fn and inverse if neither are set. This allows
4373      // helpers to do a check for `if (options.fn)`
4374      if (program || inverse) {
4375        options.fn = program || 'container.noop';
4376        options.inverse = inverse || 'container.noop';
4377      }
4378
4379      // The parameters go on to the stack in order (making sure that they are evaluated in order)
4380      // so we need to pop them off the stack in reverse order
4381      var i = paramSize;
4382      while (i--) {
4383        param = this.popStack();
4384        params[i] = param;
4385
4386        if (this.trackIds) {
4387          ids[i] = this.popStack();
4388        }
4389        if (this.stringParams) {
4390          types[i] = this.popStack();
4391          contexts[i] = this.popStack();
4392        }
4393      }
4394
4395      if (objectArgs) {
4396        options.args = this.source.generateArray(params);
4397      }
4398
4399      if (this.trackIds) {
4400        options.ids = this.source.generateArray(ids);
4401      }
4402      if (this.stringParams) {
4403        options.types = this.source.generateArray(types);
4404        options.contexts = this.source.generateArray(contexts);
4405      }
4406
4407      if (this.options.data) {
4408        options.data = 'data';
4409      }
4410      if (this.useBlockParams) {
4411        options.blockParams = 'blockParams';
4412      }
4413      return options;
4414    },
4415
4416    setupHelperArgs: function setupHelperArgs(helper, paramSize, params, useRegister) {
4417      var options = this.setupParams(helper, paramSize, params);
4418      options = this.objectLiteral(options);
4419      if (useRegister) {
4420        this.useRegister('options');
4421        params.push('options');
4422        return ['options=', options];
4423      } else if (params) {
4424        params.push(options);
4425        return '';
4426      } else {
4427        return options;
4428      }
4429    }
4430  };
4431
4432  (function () {
4433    var reservedWords = ('break else new var' + ' case finally return void' + ' catch for switch while' + ' continue function this with' + ' default if throw' + ' delete in try' + ' do instanceof typeof' + ' abstract enum int short' + ' boolean export interface static' + ' byte extends long super' + ' char final native synchronized' + ' class float package throws' + ' const goto private transient' + ' debugger implements protected volatile' + ' double import public let yield await' + ' null true false').split(' ');
4434
4435    var compilerWords = JavaScriptCompiler.RESERVED_WORDS = {};
4436
4437    for (var i = 0, l = reservedWords.length; i < l; i++) {
4438      compilerWords[reservedWords[i]] = true;
4439    }
4440  })();
4441
vendor: 4,245 bytes, lines 4442-4593
4442  JavaScriptCompiler.isValidJavaScriptVariableName = function (name) {
4443    return !JavaScriptCompiler.RESERVED_WORDS[name] && /^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name);
4444  };
4445
4446  function strictLookup(requireTerminal, compiler, parts, type) {
4447    var stack = compiler.popStack(),
4448        i = 0,
4449        len = parts.length;
4450    if (requireTerminal) {
4451      len--;
4452    }
4453
4454    for (; i < len; i++) {
4455      stack = compiler.nameLookup(stack, parts[i], type);
4456    }
4457
4458    if (requireTerminal) {
4459      return [compiler.aliasable('container.strict'), '(', stack, ', ', compiler.quotedString(parts[i]), ')'];
4460    } else {
4461      return stack;
4462    }
4463  }
4464
4465  exports['default'] = JavaScriptCompiler;
4466  module.exports = exports['default'];
4467
4468/***/ },
4469/* 29 */
4470/***/ function(module, exports, __webpack_require__) {
4471
4472  /* global define */
4473  'use strict';
4474
4475  exports.__esModule = true;
4476
4477  var _utils = __webpack_require__(5);
4478
4479  var SourceNode = undefined;
4480
4481  try {
4482    /* istanbul ignore next */
4483    if (false) {
4484      // We don't support this in AMD environments. For these environments, we asusme that
4485      // they are running on the browser and thus have no need for the source-map library.
4486      var SourceMap = require('source-map');
4487      SourceNode = SourceMap.SourceNode;
4488    }
4489  } catch (err) {}
4490  /* NOP */
4491
4492  /* istanbul ignore if: tested but not covered in istanbul due to dist build  */
4493  if (!SourceNode) {
4494    SourceNode = function (line, column, srcFile, chunks) {
4495      this.src = '';
4496      if (chunks) {
4497        this.add(chunks);
4498      }
4499    };
4500    /* istanbul ignore next */
4501    SourceNode.prototype = {
4502      add: function add(chunks) {
4503        if (_utils.isArray(chunks)) {
4504          chunks = chunks.join('');
4505        }
4506        this.src += chunks;
4507      },
4508      prepend: function prepend(chunks) {
4509        if (_utils.isArray(chunks)) {
4510          chunks = chunks.join('');
4511        }
4512        this.src = chunks + this.src;
4513      },
4514      toStringWithSourceMap: function toStringWithSourceMap() {
4515        return { code: this.toString() };
4516      },
4517      toString: function toString() {
4518        return this.src;
4519      }
4520    };
4521  }
4522
4523  function castChunk(chunk, codeGen, loc) {
4524    if (_utils.isArray(chunk)) {
4525      var ret = [];
4526
4527      for (var i = 0, len = chunk.length; i < len; i++) {
4528        ret.push(codeGen.wrap(chunk[i], loc));
4529      }
4530      return ret;
4531    } else if (typeof chunk === 'boolean' || typeof chunk === 'number') {
4532      // Handle primitives that the SourceNode will throw up on
4533      return chunk + '';
4534    }
4535    return chunk;
4536  }
4537
4538  function CodeGen(srcFile) {
4539    this.srcFile = srcFile;
4540    this.source = [];
4541  }
4542
4543  CodeGen.prototype = {
4544    isEmpty: function isEmpty() {
4545      return !this.source.length;
4546    },
4547    prepend: function prepend(source, loc) {
4548      this.source.unshift(this.wrap(source, loc));
4549    },
4550    push: function push(source, loc) {
4551      this.source.push(this.wrap(source, loc));
4552    },
4553
4554    merge: function merge() {
4555      var source = this.empty();
4556      this.each(function (line) {
4557        source.add(['  ', line, '\n']);
4558      });
4559      return source;
4560    },
4561
4562    each: function each(iter) {
4563      for (var i = 0, len = this.source.length; i < len; i++) {
4564        iter(this.source[i]);
4565      }
4566    },
4567
4568    empty: function empty() {
4569      var loc = this.currentLocation || { start: {} };
4570      return new SourceNode(loc.start.line, loc.start.column, this.srcFile);
4571    },
4572    wrap: function wrap(chunk) {
4573      var loc = arguments.length <= 1 || arguments[1] === undefined ? this.currentLocation || { start: {} } : arguments[1];
4574
4575      if (chunk instanceof SourceNode) {
4576        return chunk;
4577      }
4578
4579      chunk = castChunk(chunk, this, loc);
4580
4581      return new SourceNode(loc.start.line, loc.start.column, this.srcFile, chunk);
4582    },
4583
4584    functionCall: function functionCall(fn, type, params) {
4585      params = this.generateList(params);
4586      return this.wrap([fn, type ? '.' + type + '(' : '(', params, ')']);
4587    },
4588
4589    quotedString: function quotedString(str) {
4590      return '"' + (str + '').replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\u2028/g, '\\u2028') // Per Ecma-262 7.3 + 7.8.4
4591      .replace(/\u2029/g, '\\u2029') + '"';
4592    },
4593
4594    objectLiteral: function objectLiteral(obj) {
4595      var pairs = [];
4596
4597      for (var key in obj) {
4598        if (obj.hasOwnProperty(key)) {
4599          var value = castChunk(obj[key], this);
4600          if (value !== 'undefined') {
4601            pairs.push([this.quotedString(key), ':', value]);
4602          }
4603        }
4604      }
4605
4606      var ret = this.generateList(pairs);
4607      ret.prepend('{');
4608      ret.add('}');
4609      return ret;
4610    },
4611
4612    generateList: function generateList(entries) {
4613      var ret = this.empty();
4614
4615      for (var i = 0, len = entries.length; i < len; i++) {
4616        if (i) {
4617          ret.add(',');
4618        }
4619
4620        ret.add(castChunk(entries[i], this));
4621      }
4622
4623      return ret;
4624    },
4625
4626    generateArray: function generateArray(entries) {
4627      var ret = this.generateList(entries);
4628      ret.prepend('[');
4629      ret.add(']');
4630
4631      return ret;
4632    }
4633  };
4634
4635  exports['default'] = CodeGen;
4636  module.exports = exports['default'];
4637
4638/***/ }
4639/******/ ])
4640});
4641;
4642/**
4643 * jQuery.bottom
4644 * Dual licensed under MIT and GPL.
4645 * Date: 2010-04-25
4646 *
4647 * @description Trigger the bottom event when the user has scrolled to the bottom of an element
4648 * @author Jim Yi
4649 * @version 1.0
4650 *
4651 * @id jQuery.fn.bottom
4652 * @param {Object} settings Hash of settings.
4653 * @return {jQuery} Returns the same jQuery object for chaining.
4654 *
4655 */
4656(function($){
4657	$.fn.bottom = function(options) {
4658
4659		var defaults = {
4660			// how close to the scrollbar is to the bottom before triggering the event
4661			proximity: 0
4662		};
4663
4664		var options = $.extend(defaults, options);
4665
4666		return this.each(function() {
4667			var obj = this;
4668			$(obj).bind("scroll", function() {
4669				if (obj == window) {
4670					scrollHeight = $(document).height();
4671				}
4672				else {
4673					scrollHeight = $(obj)[0].scrollHeight;
4674				}
4675				scrollPosition = $(obj).height() + $(obj).scrollTop();
4676				if ( (scrollHeight - scrollPosition) / scrollHeight <= options.proximity) {
4677					$(obj).trigger("bottom");
4678				}
4679			});
4680
4681			return false;
4682		});
4683	};
4684})(jQuery);
4685
4686/*!
4687 * jQuery Cookie Plugin v1.4.1
4688 * https://github.com/carhartl/jquery-cookie
4689 *
4690 * Copyright 2006, 2014 Klaus Hartl
4691 * Released under the MIT license
4692 */
4693(function (factory) {
4694	if (typeof define === 'function' && define.amd) {
4695		// AMD
4696		define(['jquery'], factory);
4697	} else if (typeof exports === 'object') {
4698		// CommonJS
4699		factory(require('jquery'));
4700	} else {
4701		// Browser globals
4702		factory(jQuery);
4703	}
4704}(function ($) {
4705
4706	var pluses = /\+/g;
4707
4708	function encode(s) {
4709		return config.raw ? s : encodeURIComponent(s);
4710	}
4711
4712	function decode(s) {
4713		return config.raw ? s : decodeURIComponent(s);
4714	}
4715
4716	function stringifyCookieValue(value) {
4717		return encode(config.json ? JSON.stringify(value) : String(value));
4718	}
4719
4720	function parseCookieValue(s) {
4721		if (s.indexOf('"') === 0) {
4722			// This is a quoted cookie as according to RFC2068, unescape...
4723			s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
4724		}
4725
4726		try {
4727			// Replace server-side written pluses with spaces.
4728			// If we can't decode the cookie, ignore it, it's unusable.
4729			// If we can't parse the cookie, ignore it, it's unusable.
4730			s = decodeURIComponent(s.replace(pluses, ' '));
4731			return config.json ? JSON.parse(s) : s;
4732		} catch(e) {}
4733	}
4734
4735	function read(s, converter) {
4736		var value = config.raw ? s : parseCookieValue(s);
4737		return $.isFunction(converter) ? converter(value) : value;
4738	}
4739
4740	var config = $.cookie = function (key, value, options) {
4741
4742		// Write
4743
4744		if (arguments.length > 1 && !$.isFunction(value)) {
4745			options = $.extend({}, config.defaults, options);
4746
4747			if (typeof options.expires === 'number') {
4748				var days = options.expires, t = options.expires = new Date();
4749				t.setTime(+t + days * 864e+5);
4750			}
4751
4752			return (document.cookie = [
4753				encode(key), '=', stringifyCookieValue(value),
4754				options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
4755				options.path    ? '; path=' + options.path : '',
4756				options.domain  ? '; domain=' + options.domain : '',
4757				options.secure  ? '; secure' : ''
4758			].join(''));
4759		}
4760
4761		// Read
4762
4763		var result = key ? undefined : {};
4764
4765		// To prevent the for loop in the first place assign an empty array
4766		// in case there are no cookies at all. Also prevents odd result when
4767		// calling $.cookie().
4768		var cookies = document.cookie ? document.cookie.split('; ') : [];
4769
4770		for (var i = 0, l = cookies.length; i < l; i++) {
4771			var parts = cookies[i].split('=');
4772			var name = decode(parts.shift());
4773			var cookie = parts.join('=');
4774
4775			if (key && key === name) {
4776				// If second argument (value) is a function it's a converter...
4777				result = read(cookie, value);
4778				break;
4779			}
4780
4781			// Prevent storing a cookie that we couldn't decode.
4782			if (!key && (cookie = read(cookie)) !== undefined) {
4783				result[name] = cookie;
4784			}
4785		}
4786
4787		return result;
4788	};
4789
4790	config.defaults = {};
4791
4792	$.removeCookie = function (key, options) {
4793		if ($.cookie(key) === undefined) {
4794			return false;
4795		}
4796
4797		// Must not alter options, thus extending a fresh object...
4798		$.cookie(key, '', $.extend({}, options, { expires: -1 }));
4799		return !$.cookie(key);
4800	};
4801
4802}));
4803
4804/*!
4805* Velocity.js: Accelerated JavaScript animation.
4806* @version 0.11.2
4807* @docs http://VelocityJS.org
4808* @license Copyright 2014 Julian Shapiro. MIT License: http://en.wikipedia.org/wiki/MIT_License
4809*/
4810!function(e){"function"==typeof define&&define.amd?window.Velocity?define(e):define(["jquery"],e):e("object"==typeof exports?window.Velocity?void 0:require("jquery"):window.jQuery)}(function(e){return function(t,r,a,o){function i(e){for(var t=-1,r=e?e.length:0,a=[];++t<r;){var o=e[t];o&&a.push(o)}return a}function n(e){var t=$.data(e,p);return null===t?o:t}function s(e){return function(t){return Math.round(t*e)*(1/e)}}function l(e,t){var r=e;return y.isString(e)?v.Easings[e]||(r=!1):r=y.isArray(e)&&1===e.length?s.apply(null,e):y.isArray(e)&&2===e.length?x.apply(null,e.concat([t])):y.isArray(e)&&4===e.length?S.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:f),r}function u(e){if(e)for(var t=(new Date).getTime(),r=0,a=v.State.calls.length;a>r;r++)if(v.State.calls[r]){var i=v.State.calls[r],s=i[0],l=i[2],p=i[3];p||(p=v.State.calls[r][3]=t-16);for(var d=Math.min((t-p)/l.duration,1),f=0,g=s.length;g>f;f++){var m=s[f],S=m.element;if(n(S)){var x=!1;l.display&&"none"!==l.display&&b.setPropertyValue(S,"display",l.display),l.visibility&&"hidden"!==l.visibility&&b.setPropertyValue(S,"visibility",l.visibility);for(var V in m)if("element"!==V){var P=m[V],w,C=y.isString(P.easing)?v.Easings[P.easing]:P.easing;if(w=1===d?P.endValue:P.startValue+(P.endValue-P.startValue)*C(d),P.currentValue=w,b.Hooks.registered[V]){var T=b.Hooks.getRoot(V),k=n(S).rootPropertyValueCache[T];k&&(P.rootPropertyValue=k)}var E=b.setPropertyValue(S,V,P.currentValue+(0===parseFloat(w)?"":P.unitType),P.rootPropertyValue,P.scrollData);b.Hooks.registered[V]&&(n(S).rootPropertyValueCache[T]=b.Normalizations.registered[T]?b.Normalizations.registered[T]("extract",null,E[1]):E[1]),"transform"===E[0]&&(x=!0)}l.mobileHA&&n(S).transformCache.translate3d===o&&(n(S).transformCache.translate3d="(0px, 0px, 0px)",x=!0),x&&b.flushTransformCache(S)}}l.display&&"none"!==l.display&&(v.State.calls[r][2].display=!1),l.visibility&&"hidden"!==l.visibility&&(v.State.calls[r][2].visibility=!1),l.progress&&l.progress.call(i[1],i[1],d,Math.max(0,p+l.duration-t),p),1===d&&c(r)}v.State.isTicking&&(v.mock?u(!0):h(u))}function c(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],a=v.State.calls[e][1],i=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||i.loop||("none"===i.display&&b.setPropertyValue(p,"display",i.display),"hidden"===i.visibility&&b.setPropertyValue(p,"visibility",i.visibility)),($.queue(p)[1]===o||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&n(p)){n(p).isAnimating=!1,n(p).rootPropertyValueCache={};var d=!1;$.each(n(p).transformCache,function(e,t){var r=/^scale/.test(e)?1:0;new RegExp("^\\("+r+"[^.]").test(t)&&(d=!0,delete n(p).transformCache[e])}),i.mobileHA&&(d=!0,delete n(p).transformCache.translate3d),d&&b.flushTransformCache(p),b.Values.removeClass(p,"velocity-animating")}if(!t&&i.complete&&!i.loop&&u===c-1)try{i.complete.call(a,a)}catch(f){setTimeout(function(){throw f},1)}s&&i.loop!==!0&&s(a),i.loop!==!0||t||v.animate(p,"reverse",{loop:!0,delay:i.delay}),i.queue!==!1&&$.dequeue(p,i.queue)}v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++)if(v.State.calls[g]!==!1){l=!0;break}l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])}var p="velocity",d=400,f="swing",g=function(){if(a.documentMode)return a.documentMode;for(var e=7;e>4;e--){var t=a.createElement("div");if(t.innerHTML="<!--[if IE "+e+"]><span></span><![endif]-->",t.getElementsByTagName("span").length)return t=null,e}return o}(),m=function(){var e=0;return r.webkitRequestAnimationFrame||r.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),h=r.requestAnimationFrame||m,y={isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return"object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==o&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||r.Zepto&&r.Zepto.zepto.isZ(e))},isSVG:function(e){return r.SVGElement&&e instanceof SVGElement},isEmptyObject:function(e){var t;for(t in e)return!1;return!0}},$;if(e&&e.fn!==o?$=e:r.Velocity&&r.Velocity.Utilities&&($=r.Velocity.Utilities),!$)throw new Error("Velocity: Either jQuery or Velocity's jQuery shim must first be loaded.");if(t.Velocity!==o&&t.Velocity.Utilities==o)throw new Error("Velocity: Namespace is occupied.");if(7>=g){if(e)return void(e.fn.velocity=e.fn.animate);throw new Error("Velocity: For IE<=7, Velocity falls back to jQuery, which must first be loaded.")}if(8===g&&!e)throw new Error("Velocity: For IE8, Velocity requires jQuery proper to be loaded; Velocity's jQuery shim does not work with IE8.");var v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:r.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:a.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,
4810calls:[]},CSS:{},Utilities:$,Sequences:{},Easings:{},Promise:r.Promise,defaults:{queue:"",duration:d,easing:f,begin:null,complete:null,progress:null,display:null,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,p,{isSVG:y.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},animate:function(){},hook:function(e,t,r){var a=o;return y.isWrapped(e)&&(e=[].slice.call(e)),$.each(y.isNode(e)?[e]:e,function(e,i){if(n(i)===o&&v.init(i),r===o)a===o&&(a=v.CSS.getPropertyValue(i,t));else{var s=v.CSS.setPropertyValue(i,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(i),a=s}}),a},mock:!1,version:{major:0,minor:11,patch:2},debug:!1};r.pageYOffset!==o?(v.State.scrollAnchor=r,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=a.documentElement||a.body.parentNode||a.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var S=function(){function e(e,t){return 1-3*t+3*e}function t(e,t){return 3*t-6*e}function r(e){return 3*e}function a(a,o,i){return((e(o,i)*a+t(o,i))*a+r(o))*a}function o(a,o,i){return 3*e(o,i)*a*a+2*t(o,i)*a+r(o)}return function(e,t,r,i){function n(t){for(var i=t,n=0;8>n;++n){var s=o(i,e,r);if(0===s)return i;var l=a(i,e,r)-t;i-=l/s}return i}if(4!==arguments.length)return!1;for(var s=0;4>s;++s)if("number"!=typeof arguments[s]||isNaN(arguments[s])||!isFinite(arguments[s]))return!1;return e=Math.min(e,1),r=Math.min(r,1),e=Math.max(e,0),r=Math.max(r,0),function(o){return e===t&&r===i?o:a(n(o),t,i)}}}(),x=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,a){var o={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:o.v,dv:e(o)}}function r(r,a){var o={dx:r.v,dv:e(r)},i=t(r,.5*a,o),n=t(r,.5*a,i),s=t(r,a,n),l=1/6*(o.dx+2*(i.dx+n.dx)+s.dx),u=1/6*(o.dv+2*(i.dv+n.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r}return function a(e,t,o){var i={x:-1,v:0,tension:null,friction:null},n=[0],s=0,l=1e-4,u=.016,c,p,d;for(e=parseFloat(e)||500,t=parseFloat(t)||20,o=o||null,i.tension=e,i.friction=t,c=null!==o,c?(s=a(e,t),p=s/o*u):p=u;;)if(d=r(d||i,p),n.push(1+d.x),s+=16,!(Math.abs(d.x)>l&&Math.abs(d.v)>l))break;return c?function(e){return n[e*(n.length-1)|0]}:s}}();!function(){v.Easings.linear=function(e){return e},v.Easings.swing=function(e){return.5-Math.cos(e*Math.PI)/2},v.Easings.spring=function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)},v.Easings.ease=S(.25,.1,.25,1),v.Easings["ease-in"]=S(.42,0,1,1),v.Easings["ease-out"]=S(0,0,.58,1),v.Easings["ease-in-out"]=S(.42,0,.58,1);var e={};$.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,r){e[r]=function(e){return Math.pow(e,t+2)}}),$.extend(e,{Sine:function(e){return 1-Math.cos(e*Math.PI/2)},Circ:function(e){return 1-Math.sqrt(1-e*e)},Elastic:function(e){return 0===e||1===e?e:-Math.pow(2,8*(e-1))*Math.sin((80*(e-1)-7.5)*Math.PI/15)},Back:function(e){return e*e*(3*e-2)},Bounce:function(e){for(var t,r=4;e<((t=Math.pow(2,--r))-1)/11;);return 1/Math.pow(4,3-r)-7.5625*Math.pow((3*t-2)/22-e,2)}}),$.each(e,function(e,t){v.Easings["easeIn"+e]=t,v.Easings["easeOut"+e]=function(e){return 1-t(1-e)},v.Easings["easeInOut"+e]=function(e){return.5>e?t(2*e)/2:1-t(-2*e+2)/2}})}();var b=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e<b.Lists.colors.length;
vendor: 15,536 bytes, line 4810
4810e++)b.Hooks.templates[b.Lists.colors[e]]=["Red Green Blue Alpha","255 255 255 1"];var t,r,a;if(g)for(t in b.Hooks.templates){r=b.Hooks.templates[t],a=r[0].split(" ");var o=r[1].match(b.RegEx.valueSplit);"Color"===a[0]&&(a.push(a.shift()),o.push(o.shift()),b.Hooks.templates[t]=[a.join(" "),o.join(" ")])}for(t in b.Hooks.templates){r=b.Hooks.templates[t],a=r[0].split(" ");for(var e in a){var i=t+a[e],n=e;b.Hooks.registered[i]=[t,n]}}},getRoot:function(e){var t=b.Hooks.registered[e];return t?t[0]:e},cleanRootPropertyValue:function(e,t){return b.RegEx.valueUnwrap.test(t)&&(t=t.match(b.Hooks.RegEx.valueUnwrap)[1]),b.Values.isCSSNullValue(t)&&(t=b.Hooks.templates[e][1]),t},extractValue:function(e,t){var r=b.Hooks.registered[e];if(r){var a=r[0],o=r[1];return t=b.Hooks.cleanRootPropertyValue(a,t),t.toString().match(b.RegEx.valueSplit)[o]}return t},injectValue:function(e,t,r){var a=b.Hooks.registered[e];if(a){var o=a[0],i=a[1],n,s;return r=b.Hooks.cleanRootPropertyValue(o,r),n=r.toString().match(b.RegEx.valueSplit),n[i]=t,s=n.join(" ")}return r}},Normalizations:{registered:{clip:function(e,t,r){switch(e){case"name":return"clip";case"extract":var a;return b.RegEx.wrappedValueAlreadyExtracted.test(r)?a=r:(a=r.toString().match(b.RegEx.valueUnwrap),a=a?a[1].replace(/,(\s+)?/g," "):r),a;case"inject":return"rect("+r+")"}},opacity:function(e,t,r){if(8>=g)switch(e){case"name":return"filter";case"extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case"inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":return r;case"inject":return r}}},register:function(){9>=g||v.State.isGingerbread||(b.Lists.transformsBase=b.Lists.transformsBase.concat(b.Lists.transforms3D));for(var e=0;e<b.Lists.transformsBase.length;e++)!function(){var t=b.Lists.transformsBase[e];b.Normalizations.registered[t]=function(e,r,a){switch(e){case"name":return"transform";case"extract":return n(r)===o||n(r).transformCache[t]===o?/^scale/i.test(t)?1:0:n(r).transformCache[t].replace(/[()]/g,"");case"inject":var i=!1;switch(t.substr(0,t.length-1)){case"translate":i=!/(%|px|em|rem|vw|vh|\d)$/i.test(a);break;case"scal":case"scale":v.State.isAndroid&&n(r).transformCache[t]===o&&1>a&&(a=1),i=!/(\d)$/i.test(a);break;case"skew":i=!/(deg|\d)$/i.test(a);break;case"rotate":i=!/(deg|\d)$/i.test(a)}return i||(n(r).transformCache[t]="("+a+")"),n(r).transformCache[t]}}}();for(var e=0;e<b.Lists.colors.length;e++)!function(){var t=b.Lists.colors[e];b.Normalizations.registered[t]=function(e,r,a){switch(e){case"name":return t;case"extract":var i;if(b.RegEx.wrappedValueAlreadyExtracted.test(a))i=a;else{var n,s={black:"rgb(0, 0, 0)",blue:"rgb(0, 0, 255)",gray:"rgb(128, 128, 128)",green:"rgb(0, 128, 0)",red:"rgb(255, 0, 0)",white:"rgb(255, 255, 255)"};/^[A-z]+$/i.test(a)?n=s[a]!==o?s[a]:s.black:b.RegEx.isHex.test(a)?n="rgb("+b.Values.hexToRgb(a).join(" ")+")":/^rgba?\(/i.test(a)||(n=s.black),i=(n||a).toString().match(b.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g," ")}return 8>=g||3!==i.split(" ").length||(i+=" 1"),i;case"inject":return 8>=g?4===a.split(" ").length&&(a=a.split(/\s+/).slice(0,3).join(" ")):3===a.split(" ").length&&(a+=" 1"),(8>=g?"rgb":"rgba")+"("+a.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(g||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var o;if(o=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),y.isString(v.State.prefixElement.style[o]))return v.State.prefixMatches[e]=o,[o,!0]}return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,t,a,i){function s(e,t){function a(){u&&b.setPropertyValue(e,"display","none")}var l=0;if(8>=g)l=$.css(e,t);else{var u=!1;if(/^(width|height)$/.test(t)&&0===b.getPropertyValue(e,"display")&&(u=!0,b.setPropertyValue(e,"display",b.Values.getDisplayType(e))),!i){if("height"===t&&"border-box"!==b.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(b.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(b.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(b.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(b.getPropertyValue(e,"paddingBottom"))||0);return a(),c}if("width"===t&&"border-box"!==b.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(b.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(b.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(b.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(b.getPropertyValue(e,"paddingRight"))||0);return a(),p}}var d;d=n(e)===o?r.getComputedStyle(e,null):n(e).computedStyle?n(e).computedStyle:n(e).computedStyle=r.getComputedStyle(e,null),(g||v.State.isFirefox)&&"borderColor"===t&&(t="borderTopColor"),l=9===g&&"filter"===t?d.getPropertyValue(t):d[t],(""===l||null===l)&&(l=e.style[t]),a()}if("auto"===l&&/^(top|right|bottom|left)$/i.test(t)){var f=s(e,"position");("fixed"===f||"absolute"===f&&/top|left/i.test(t))&&(l=$(e).position()[t]+"px")}return l}var l;if(b.Hooks.registered[t]){var u=t,c=b.Hooks.getRoot(u);a===o&&(a=b.getPropertyValue(e,b.Names.prefixCheck(c)[0])),b.Normalizations.registered[c]&&(a=b.Normalizations.registered[c]("extract",e,a)),l=b.Hooks.extractValue(u,a)}else if(b.Normalizations.registered[t]){var p,d;p=b.Normalizations.registered[t]("name",e),"transform"!==p&&(d=s(e,b.Names.prefixCheck(p)[0]),b.Values.isCSSNullValue(d)&&b.Hooks.templates[t]&&(d=b.Hooks.templates[t][1])),l=b.Normalizations.registered[t]("extract",e,d)}return/^[\d-]/.test(l)||(l=n(e)&&n(e).isSVG&&b.Names.SVGAttribute(t)?/^(height|width)$/i.test(t)?e.getBBox()[t]:e.getAttribute(t):s(e,b.Names.prefixCheck(t)[0])),b.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+t+": "+l),l},setPropertyValue:function(e,t,a,o,i){var s=t;if("scroll"===t)i.container?i.container["scroll"+i.direction]=a:"Left"===i.direction?r.scrollTo(a,i.alternateValue):r.scrollTo(i.alternateValue,a);else if(b.Normalizations.registered[t]&&"transform"===b.Normalizations.registered[t]("name",e))b.Normalizations.registered[t]("inject",e,a),s="transform",a=n(e).transformCache[t];else{if(b.Hooks.registered[t]){var l=t,u=b.Hooks.getRoot(t);o=o||b.getPropertyValue(e,u),a=b.Hooks.injectValue(l,a,o),t=u}if(b.Normalizations.registered[t]&&(a=b.Normalizations.registered[t]("inject",e,a),t=b.Normalizations.registered[t]("name",e)),s=b.Names.prefixCheck(t)[0],8>=g)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else n(e)&&n(e).isSVG&&b.Names.SVGAttribute(t)?e.setAttribute(t,a):e.style[s]=a;v.debug>=2&&console.log("Set "+t+" ("+s+"): "+a)}return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(b.getPropertyValue(e,t))}var r="";if((g||v.State.isAndroid&&!v.State.isChrome)&&n(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(n(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var o,i;$.each(n(e).transformCache,function(t){return o=n(e).transformCache[t],"transformPerspective"===t?(i=o,!0):(9===g&&"rotateZ"===t&&(t="rotate"),void(r+=t+o+" "))}),i&&(r="perspective"+i+" "+r)}b.setPropertyValue(e,"transform",r)}};b.Hooks.register(),b.Normalizations.register(),v.animate=function(){function e(){return p?C.promise||null:f}function t(){function e(e){function d(e,r){var a=o,i=o,n=o;return y.isArray(e)?(a=e[0],!y.isArray(e[1])&&/^[\d-]/.test(e[1])||y.isFunction(e[1])||b.RegEx.isHex.test(e[1])?n=e[1]:(y.isString(e[1])&&!b.RegEx.isHex.test(e[1])||y.isArray(e[1]))&&(i=r?e[1]:l(e[1],s.duration),e[2]!==o&&(n=e[2]))):a=e,r||(i=i||s.easing),y.isFunction(a)&&(a=a.call(t,V,x)),y.isFunction(n)&&(n=n.call(t,V,x)),[a||0,i,n]}function f(e,t){var r,a;return a=(t||0).toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=b.Values.getUnitType(e)),[a,r]}function g(){var e={myParent:t.parentNode||a.body,position:b.getPropertyValue(t,"position"),fontSize:b.getPropertyValue(t,"fontSize")},o=e.position===N.lastPosition&&e.myParent===N.lastParent,i=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(i&&o)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=n(t).isSVG?a.createElementNS("http://www.w3.org/2000/svg","rect"):a.createElement("div");v.init(u),e.myParent.appendChild(u),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"overflow","hidden"),v.CSS.setPropertyValue(u,"overflowX","hidden"),v.CSS.setPropertyValue(u,"overflowY","hidden"),v.CSS.setPropertyValue(u,"boxSizing","content-box"),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),v.CSS.setPropertyValue(u,"minWidth",s+"%"),v.CSS.setPropertyValue(u,"maxWidth",s+"%"),v.CSS.setPropertyValue(u,"width",s+"%"),v.CSS.setPropertyValue(u,"minHeight",s+"%"),v.CSS.setPropertyValue(u,"maxHeight",s+"%"),v.CSS.setPropertyValue(u,"height",s+"%"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(b.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(b.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(b.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)}return null===N.remToPx&&(N.remToPx=parseFloat(b.getPropertyValue(a.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(r.innerWidth)/100,N.vhToPx=parseFloat(r.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),t),l}if(s.begin&&0===V)try{s.begin.call(m,m)}catch(P){setTimeout(function(){throw P},1)}if("scroll"===T){var w=/^x$/i.test(s.axis)?"Left":"Top",k=parseFloat(s.offset)||0,E,F,A;s.container?y.isWrapped(s.container)||y.isNode(s.container)?(s.container=s.container[0]||s.container,E=s.container["scroll"+w],A=E+$(t).position()[w.toLowerCase()]+k):s.container=null:(E=v.State.scrollAnchor[v.State["scrollProperty"+w]],F=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===w?"Top":"Left")]],A=$(t).offset()[w.toLowerCase()]+k),c={scroll:{rootPropertyValue:!1,startValue:E,currentValue:E,endValue:A,unitType:"",easing:s.easing,scrollData:{container:s.container,direction:w,alternateValue:F}},element:t},v.debug&&console.log("tweensContainer (scroll): ",c.scroll,t)}else if("reverse"===T){if(!n(t).tweensContainer)return void $.dequeue(t,s.queue);"none"===n(t).opts.display&&(n(t).opts.display="block"),"hidden"===n(t).opts.visibility&&(n(t).opts.visibility="visible"),n(t).opts.loop=!1,n(t).opts.begin=null,n(t).opts.complete=null,S.easing||delete s.easing,S.duration||delete s.duration,s=$.extend({},n(t).opts,s);var j=$.extend(!0,{},n(t).tweensContainer);for(var L in j)if("element"!==L){var z=j[L].startValue;j[L].startValue=j[L].currentValue=j[L].endValue,j[L].endValue=z,y.isEmptyObject(S)||(j[L].easing=s.easing),v.debug&&console.log("reverse tweensContainer ("+L+"): "+JSON.stringify(j[L]),t)}c=j}else if("start"===T){var j;n(t).tweensContainer&&n(t).isAnimating===!0&&(j=n(t).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+b.Lists.colors.join("$|^")+"$").test(e)){var r=d(t,!0),a=r[0],i=r[1],n=r[2];if(b.RegEx.isHex.test(a)){for(var s=["Red","Green","Blue"],l=b.Values.hexToRgb(a),u=n?b.Values.hexToRgb(n):o,c=0;c<s.length;c++)h[e+s[c]]=[l[c],i,u?u[c]:u];delete h[e]}}});for(var M in h){var R=d(h[M]),q=R[0],B=R[1],O=R[2];M=b.Names.camelCase(M);var W=b.Hooks.getRoot(M),X=!1;if(n(t).isSVG||b.Names.prefixCheck(W)[1]!==!1||b.Normalizations.registered[W]!==o){(s.display&&"none"!==s.display||s.visibility&&"hidden"!==s.visibility)&&/opacity|filter/.test(M)&&!O&&0!==q&&(O=0),s._cacheValues&&j&&j[M]?(O===o&&(O=j[M].endValue+j[M].unitType),X=n(t).rootPropertyValueCache[W]):b.Hooks.registered[M]?O===o?(X=b.getPropertyValue(t,W),O=b.getPropertyValue(t,M,X)):X=b.Hooks.templates[W][1]:O===o&&(O=b.getPropertyValue(t,M));var Y,G,I,U=!1;if(Y=f(M,O),O=Y[0],I=Y[1],Y=f(M,q),q=Y[0].replace(/^([+-\/*])=/,function(e,t){return U=t,""}),G=Y[1],O=parseFloat(O)||0,q=parseFloat(q)||0,"%"===G&&(/^(fontSize|lineHeight)$/.test(M)?(q/=100,G="em"):/^scale/.test(M)?(q/=100,G=""):/(Red|Green|Blue)$/i.test(M)&&(q=q/100*255,G="")),/[\/*]/.test(U))G=I;else if(I!==G&&0!==O)if(0===q)G=I;else{p=p||g();var D=/margin|padding|left|right|width|text|word|letter/i.test(M)||/X$/.test(M)?"x":"y";switch(I){case"%":O*="x"===D?p.percentToPxWidth:p.percentToPxHeight;break;case"px":break;default:O*=p[I+"ToPx"]}switch(G){case"%":O*=1/("x"===D?p.percentToPxWidth:p.percentToPxHeight);break;case"px":break;default:O*=1/p[G+"ToPx"]}}switch(U){case"+":q=O+q;break;case"-":q=O-q;break;case"*":q=O*q;break;case"/":q=O/q}c[M]={rootPropertyValue:X,startValue:O,currentValue:O,endValue:q,unitType:G,easing:B},v.debug&&console.log("tweensContainer ("+M+"): "+JSON.stringify(c[M]),t)}else v.debug&&console.log("Skipping ["+W+"] due to a lack of browser support.")}c.element=t}c.element&&(b.Values.addClass(t,"velocity-animating"),H.push(c),n(t).tweensContainer=c,n(t).opts=s,n(t).isAnimating=!0,V===x-1?(v.State.calls.length>1e4&&(v.State.calls=i(v.State.calls)),v.State.calls.push([H,m,s,null,C.resolver]),v.State.isTicking===!1&&(v.State.isTicking=!0,u())):V++)}var t=this,s=$.extend({},v.defaults,S),c={},p;if(n(t)===o&&v.init(t),parseFloat(s.delay)&&s.queue!==!1&&$.queue(t,s.queue,function(e){v.velocityQueueEntryFlag=!0,n(t).delayTimer={setTimeout:setTimeout(e,parseFloat(s.delay)),next:e}}),v.mock===!0)s.duration=1;else switch(s.duration.toString().toLowerCase()){case"fast":s.duration=200;break;case"normal":s.duration=d;break;case"slow":s.duration=600;break;default:s.duration=parseFloat(s.duration)||1}s.easing=l(s.easing,s.duration),s.begin&&!y.isFunction(s.begin)&&(s.begin=null),s.progress&&!y.isFunction(s.progress)&&(s.progress=null),s.c
4810omplete&&!y.isFunction(s.complete)&&(s.complete=null),s.display&&(s.display=s.display.toString().toLowerCase(),"auto"===s.display&&(s.display=v.CSS.Values.getDisplayType(t))),s.visibility&&(s.visibility=s.visibility.toString().toLowerCase()),s.mobileHA=s.mobileHA&&v.State.isMobile&&!v.State.isGingerbread,s.queue===!1?s.delay?setTimeout(e,s.delay):e():$.queue(t,s.queue,function(t,r){return r===!0?(C.promise&&C.resolver(m),!0):(v.velocityQueueEntryFlag=!0,void e(t))}),""!==s.queue&&"fx"!==s.queue||"inprogress"===$.queue(t)[0]||$.dequeue(t)}var s=arguments[0]&&($.isPlainObject(arguments[0].properties)&&!arguments[0].properties.names||y.isString(arguments[0].properties)),p,f,g,m,h,S;if(y.isWrapped(this)?(p=!1,g=0,m=this,f=this):(p=!0,g=1,m=s?arguments[0].elements:arguments[0]),m=y.isWrapped(m)?[].slice.call(m):m){s?(h=arguments[0].properties,S=arguments[0].options):(h=arguments[g],S=arguments[g+1]);var x=y.isArray(m)||y.isNodeList(m)?m.length:1,V=0;if("stop"!==h&&!$.isPlainObject(S)){var P=g+1;S={};for(var w=P;w<arguments.length;w++)!y.isArray(arguments[w])&&/^\d/.test(arguments[w])?S.duration=parseFloat(arguments[w]):y.isString(arguments[w])||y.isArray(arguments[w])?S.easing=arguments[w]:y.isFunction(arguments[w])&&(S.complete=arguments[w])}var C={promise:null,resolver:null,rejecter:null};p&&v.Promise&&(C.promise=new v.Promise(function(e,t){C.resolver=e,C.rejecter=t}));var T;switch(h){case"scroll":T="scroll";break;case"reverse":T="reverse";break;case"stop":$.each(y.isNode(m)?[m]:m,function(e,t){n(t)&&n(t).delayTimer&&(clearTimeout(n(t).delayTimer.setTimeout),n(t).delayTimer.next&&n(t).delayTimer.next(),delete n(t).delayTimer)});var k=[];return $.each(v.State.calls,function(e,t){t&&$.each(y.isNode(t[1])?[t[1]]:t[1],function(t,r){$.each(y.isNode(m)?[m]:m,function(t,a){if(a===r){if(n(a)&&$.each(n(a).tweensContainer,function(e,t){t.endValue=t.currentValue}),S===!0||y.isString(S)){var o=y.isString(S)?S:"";$.each($.queue(a,o),function(e,t){y.isFunction(t)&&t(null,!0)}),$.queue(a,o,[])}k.push(e)}})})}),$.each(k,function(e,t){c(t,!0)}),C.promise&&C.resolver(m),e();default:if(!$.isPlainObject(h)||y.isEmptyObject(h)){if(y.isString(h)&&v.Sequences[h]){var E=S.duration,F=S.delay||0;return S.backwards===!0&&(m=(y.isWrapped(m)?[].slice.call(m):m).reverse()),$.each(m,function(e,t){parseFloat(S.stagger)?S.delay=F+parseFloat(S.stagger)*e:y.isFunction(S.stagger)&&(S.delay=F+S.stagger.call(t,e,x)),S.drag&&(S.duration=parseFloat(E)||(/^(callout|transition)/.test(h)?1e3:d),S.duration=Math.max(S.duration*(S.backwards?1-e/x:(e+1)/x),.75*S.duration,200)),v.Sequences[h].call(t,t,S||{},e,x,m,C.promise?C:o)}),e()}var A="Velocity: First argument ("+h+") was not a property map, a known action, or a registered sequence. Aborting.";return C.promise?C.rejecter(new Error(A)):console.log(A),e()}T="start"}var N={lastParent:null,lastPosition:null,lastFontSize:null,lastPercentToPxWidth:null,lastPercentToPxHeight:null,lastEmToPx:null,remToPx:null,vwToPx:null,vhToPx:null},H=[];$.each(y.isNode(m)?[m]:m,function(e,r){y.isNode(r)&&t.call(r)});var j=$.extend({},v.defaults,S),L;if(j.loop=parseInt(j.loop),L=2*j.loop-1,j.loop)for(var z=0;L>z;z++){var M={delay:j.delay};z===L-1&&(M.display=j.display,M.visibility=j.visibility,M.complete=j.complete),v.animate(m,"reverse",M)}return e()}},v.State.isMobile||a.hidden===o||a.addEventListener("visibilitychange",function(){a.hidden?(h=function(e){return setTimeout(function(){e(!0)},16)},u()):h=r.requestAnimationFrame||m});var V;return e&&e.fn?V=e:r.Zepto&&(V=r.Zepto),(V||r).Velocity=v,V&&(V.fn.velocity=v.animate,V.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Sequences["slide"+t]=function(e,r,a,o,i,n){var s=$.extend({},r),l={height:null,marginTop:null,marginBottom:null,paddingTop:null,paddingBottom:null,overflow:null,overflowX:null,overflowY:null},u=s.begin,c=s.complete,p=!1;null!==s.display&&(s.display="Down"===t?s.display||"auto":s.display||"none"),s.begin=function(){function r(){l.height=parseFloat(v.CSS.getPropertyValue(e,"height")),e.style.height="auto",parseFloat(v.CSS.getPropertyValue(e,"height"))===l.height&&(p=!0),v.CSS.setPropertyValue(e,"height",l.height+"px")}if("Down"===t){l.overflow=[v.CSS.getPropertyValue(e,"overflow"),0],l.overflowX=[v.CSS.getPropertyValue(e,"overflowX"),0],l.overflowY=[v.CSS.getPropertyValue(e,"overflowY"),0],e.style.overflow="hidden",e.style.overflowX="visible",e.style.overflowY="hidden",r();for(var a in l)if(!/^overflow/.test(a)){var o=v.CSS.getPropertyValue(e,a);"height"===a&&(o=parseFloat(o)),l[a]=[o,0]}}else{r();for(var a in l){var o=v.CSS.getPropertyValue(e,a);"height"===a&&(o=parseFloat(o)),l[a]=[0,o]}e.style.overflow="hidden",e.style.overflowX="visible",e.style.overflowY="hidden"}u&&u.call(e,e)},s.complete=function(e){var r="Down"===t?0:1;p===!0?l.height[r]="auto":l.height[r]+="px";for(var a in l)e.style[a]=l[a][r];
4810c&&c.call(e,e),n&&n.resolver(i||e)},v.animate(e,l,s)}}),$.each(["In","Out"],function(e,t){v.Sequences["fade"+t]=function(e,r,a,o,i,n){var s=$.extend({},r),l={opacity:"In"===t?1:0};if(a!==o-1)s.complete=s.begin=null;else{var u=s.complete;s.complete=function(){u&&u.call(e,e),n&&n.resolver(i||e)}}null!==s.display&&(s.display=s.display||("In"===t?"auto":"none")),v.animate(this,l,s)}}),v}(e||window,window,document)});
4811/*	SWFObject v2.2 <http://code.google.com/p/swfobject/> 
4812	is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> 
4813*/
4814var swfobject=function(){var D="undefined",r="object",S="Shockwave Flash",W="ShockwaveFlash.ShockwaveFlash",q="application/x-shockwave-flash",R="SWFObjectExprInst",x="onreadystatechange",O=window,j=document,t=navigator,T=false,U=[h],o=[],N=[],I=[],l,Q,E,B,J=false,a=false,n,G,m=true,M=function(){var aa=typeof j.getElementById!=D&&typeof j.getElementsByTagName!=D&&typeof j.createElement!=D,ah=t.userAgent.toLowerCase(),Y=t.platform.toLowerCase(),ae=Y?/win/.test(Y):/win/.test(ah),ac=Y?/mac/.test(Y):/mac/.test(ah),af=/webkit/.test(ah)?parseFloat(ah.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):false,X=!+"\v1",ag=[0,0,0],ab=null;if(typeof t.plugins!=D&&typeof t.plugins[S]==r){ab=t.plugins[S].description;if(ab&&!(typeof t.mimeTypes!=D&&t.mimeTypes[q]&&!t.mimeTypes[q].enabledPlugin)){T=true;X=false;ab=ab.replace(/^.*\s+(\S+\s+\S+$)/,"$1");ag[0]=parseInt(ab.replace(/^(.*)\..*$/,"$1"),10);ag[1]=parseInt(ab.replace(/^.*\.(.*)\s.*$/,"$1"),10);ag[2]=/[a-zA-Z]/.test(ab)?parseInt(ab.replace(/^.*[a-zA-Z]+(.*)$/,"$1"),10):0}}else{if(typeof O.ActiveXObject!=D){try{var ad=new ActiveXObject(W);if(ad){ab=ad.GetVariable("$version");if(ab){X=true;ab=ab.split(" ")[1].split(",");ag=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}}catch(Z){}}}return{w3:aa,pv:ag,wk:af,ie:X,win:ae,mac:ac}}(),k=function(){if(!M.w3){return}if((typeof j.readyState!=D&&j.readyState=="complete")||(typeof j.readyState==D&&(j.getElementsByTagName("body")[0]||j.body))){f()}if(!J){if(typeof j.addEventListener!=D){j.addEventListener("DOMContentLoaded",f,false)}if(M.ie&&M.win){j.attachEvent(x,function(){if(j.readyState=="complete"){j.detachEvent(x,arguments.callee);f()}});if(O==top){(function(){if(J){return}try{j.documentElement.doScroll("left")}catch(X){setTimeout(arguments.callee,0);return}f()})()}}if(M.wk){(function(){if(J){return}if(!/loaded|complete/.test(j.readyState)){setTimeout(arguments.callee,0);return}f()})()}s(f)}}();function f(){if(J){return}try{var Z=j.getElementsByTagName("body")[0].appendChild(C("span"));Z.parentNode.removeChild(Z)}catch(aa){return}J=true;var X=U.length;for(var Y=0;Y<X;Y++){U[Y]()}}function K(X){if(J){X()}else{U[U.length]=X}}function s(Y){if(typeof O.addEventListener!=D){O.addEventListener("load",Y,false)}else{if(typeof j.addEventListener!=D){j.addEventListener("load",Y,false)}else{if(typeof O.attachEvent!=D){i(O,"onload",Y)}else{if(typeof O.onload=="function"){var X=O.onload;O.onload=function(){X();Y()}}else{O.onload=Y}}}}}function h(){if(T){V()}else{H()}}function V(){var X=j.getElementsByTagName("body")[0];var aa=C(r);aa.setAttribute("type",q);var Z=X.appendChild(aa);if(Z){var Y=0;(function(){if(typeof Z.GetVariable!=D){var ab=Z.GetVariable("$version");if(ab){ab=ab.split(" ")[1].split(",");M.pv=[parseInt(ab[0],10),parseInt(ab[1],10),parseInt(ab[2],10)]}}else{if(Y<10){Y++;setTimeout(arguments.callee,10);return}}X.removeChild(aa);Z=null;H()})()}else{H()}}function H(){var ag=o.length;if(ag>0){for(var af=0;af<ag;af++){var Y=o[af].id;var ab=o[af].callbackFn;var aa={success:false,id:Y};if(M.pv[0]>0){var ae=c(Y);if(ae){if(F(o[af].swfVersion)&&!(M.wk&&M.wk<312)){w(Y,true);if(ab){aa.success=true;aa.ref=z(Y);ab(aa)}}else{if(o[af].expressInstall&&A()){var ai={};ai.data=o[af].expressInstall;ai.width=ae.getAttribute("width")||"0";ai.height=ae.getAttribute("height")||"0";if(ae.getAttribute("class")){ai.styleclass=ae.getAttribute("class")}if(ae.getAttribute("align")){ai.align=ae.getAttribute("align")}var ah={};var X=ae.getElementsByTagName("param");var ac=X.length;for(var ad=0;ad<ac;ad++){if(X[ad].getAttribute("name").toLowerCase()!="movie"){ah[X[ad].getAttribute("name")]=X[ad].getAttribute("value")}}P(ai,ah,Y,ab)}else{p(ae);if(ab){ab(aa)}}}}}else{w(Y,true);if(ab){var Z=z(Y);if(Z&&typeof Z.SetVariable!=D){aa.success=true;aa.ref=Z}ab(aa)}}}}}function z(aa){var X=null;var Y=c(aa);if(Y&&Y.nodeName=="OBJECT"){if(typeof Y.SetVariable!=D){X=Y}else{var Z=Y.getElementsByTagName(r)[0];if(Z){X=Z}}}return X}function A(){return !a&&F("6.0.65")&&(M.win||M.mac)&&!(M.wk&&M.wk<312)}function P(aa,ab,X,Z){a=true;E=Z||null;B={success:false,id:X};var ae=c(X);if(ae){if(ae.nodeName=="OBJECT"){l=g(ae);Q=null}else{l=ae;Q=X}aa.id=R;if(typeof aa.width==D||(!/%$/.test(aa.width)&&parseInt(aa.width,10)<310)){aa.width="310"}if(typeof aa.height==D||(!/%$/.test(aa.height)&&parseInt(aa.height,10)<137)){aa.height="137"}j.title=j.title.slice(0,47)+" - Flash Player Installation";var ad=M.ie&&M.win?"ActiveX":"PlugIn",ac="MMredirectURL="+O.location.toString().replace(/&/g,"%26")+"&MMplayerType="+
4814ad+"&MMdoctitle="+j.title;if(typeof ab.flashvars!=D){ab.flashvars+="&"+ac}else{ab.flashvars=ac}if(M.ie&&M.win&&ae.readyState!=4){var Y=C("div");X+="SWFObjectNew";Y.setAttribute("id",X);ae.parentNode.insertBefore(Y,ae);ae.style.display="none";(function(){if(ae.readyState==4){ae.parentNode.removeChild(ae)}else{setTimeout(arguments.callee,10)}})()}u(aa,ab,X)}}function p(Y){if(M.ie&&M.win&&Y.readyState!=4){var X=C("div");Y.parentNode.insertBefore(X,Y);X.parentNode.replaceChild(g(Y),X);Y.style.display="none";(function(){if(Y.readyState==4){Y.parentNode.removeChild(Y)}else{setTimeout(arguments.callee,10)}})()}else{Y.parentNode.replaceChild(g(Y),Y)}}function g(ab){var aa=C("div");if(M.win&&M.ie){aa.innerHTML=ab.innerHTML}else{var Y=ab.getElementsByTagName(r)[0];if(Y){var ad=Y.childNodes;if(ad){var X=ad.length;for(var Z=0;Z<X;Z++){if(!(ad[Z].nodeType==1&&ad[Z].nodeName=="PARAM")&&!(ad[Z].nodeType==8)){aa.appendChild(ad[Z].cloneNode(true))}}}}}return aa}function u(ai,ag,Y){var X,aa=c(Y);if(M.wk&&M.wk<312){return X}if(aa){if(typeof ai.id==D){ai.id=Y}if(M.ie&&M.win){var ah="";for(var ae in ai){if(ai[ae]!=Object.prototype[ae]){if(ae.toLowerCase()=="data"){ag.movie=ai[ae]}else{if(ae.toLowerCase()=="styleclass"){ah+=' class="'+ai[ae]+'"'}else{if(ae.toLowerCase()!="classid"){ah+=" "+ae+'="'+ai[ae]+'"'}}}}}var af="";for(var ad in ag){if(ag[ad]!=Object.prototype[ad]){af+='<param name="'+ad+'" value="'+ag[ad]+'" />'}}aa.outerHTML='<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+ah+">"+af+"</object>";N[N.length]=ai.id;X=c(ai.id)}else{var Z=C(r);Z.setAttribute("type",q);for(var ac in ai){if(ai[ac]!=Object.prototype[ac]){if(ac.toLowerCase()=="styleclass"){Z.setAttribute("class",ai[ac])}else{if(ac.toLowerCase()!="classid"){Z.setAttribute(ac,ai[ac])}}}}for(var ab in ag){if(ag[ab]!=Object.prototype[ab]&&ab.toLowerCase()!="movie"){e(Z,ab,ag[ab])}}aa.parentNode.replaceChild(Z,aa);X=Z}}return X}function e(Z,X,Y){var aa=C("param");aa.setAttribute("name",X);aa.setAttribute("value",Y);Z.appendChild(aa)}function y(Y){var X=c(Y);if(X&&X.nodeName=="OBJECT"){if(M.ie&&M.win){X.style.display="none";(function(){if(X.readyState==4){b(Y)}else{setTimeout(arguments.callee,10)}})()}else{X.parentNode.removeChild(X)}}}function b(Z){var Y=c(Z);if(Y){for(var X in Y){if(typeof Y[X]=="function"){Y[X]=null}}Y.parentNode.removeChild(Y)}}function c(Z){var X=null;try{X=j.getElementById(Z)}catch(Y){}return X}function C(X){return j.createElement(X)}function i(Z,X,Y){Z.attachEvent(X,Y);I[I.length]=[Z,X,Y]}function F(Z){var Y=M.pv,X=Z.split(".");X[0]=parseInt(X[0],10);X[1]=parseInt(X[1],10)||0;X[2]=parseInt(X[2],10)||0;return(Y[0]>X[0]||(Y[0]==X[0]&&Y[1]>X[1])||(Y[0]==X[0]&&Y[1]==X[1]&&Y[2]>=X[2]))?true:false}function v(ac,Y,ad,ab){if(M.ie&&M.mac){return}var aa=j.getElementsByTagName("head")[0];if(!aa){return}var X=(ad&&typeof ad=="string")?ad:"screen";if(ab){n=null;G=null}if(!n||G!=X){var Z=C("style");Z.setAttribute("type","text/css");Z.setAttribute("media",X);n=aa.appendChild(Z);if(M.ie&&M.win&&typeof j.styleSheets!=D&&j.styleSheets.length>0){n=j.styleSheets[j.styleSheets.length-1]}G=X}if(M.ie&&M.win){if(n&&typeof n.addRule==r){n.addRule(ac,Y)}}else{if(n&&typeof j.createTextNode!=D){n.appendChild(j.createTextNode(ac+" {"+Y+"}"))}}}function w(Z,X){if(!m){return}var Y=X?"visible":"hidden";if(J&&c(Z)){c(Z).style.visibility=Y}else{v("#"+Z,"visibility:"+Y)}}function L(Y){var Z=/[\\\"<>\.;]/;var X=Z.exec(Y)!=null;return X&&typeof encodeURIComponent!=D?encodeURIComponent(Y):Y}var d=function(){if(M.ie&&M.win){window.attachEvent("onunload",function(){var ac=I.length;for(var ab=0;ab<ac;ab++){I[ab][0].detachEvent(I[ab][1],I[ab][2])}var Z=N.length;for(var aa=0;aa<Z;aa++){y(N[aa])}for(var Y in M){M[Y]=null}M=null;for(var X in swfobject){swfobject[X]=null}swfobject=null})}}();return{registerObject:function(ab,X,aa,Z){if(M.w3&&ab&&X){var Y={};Y.id=ab;Y.swfVersion=X;Y.expressInstall=aa;Y.callbackFn=Z;o[o.length]=Y;w(ab,false)}else{if(Z){Z({success:false,id:ab})}}},getObjectById:function(X){if(M.w3){return z(X)}},embedSWF:function(ab,ah,ae,ag,Y,aa,Z,ad,af,ac){var X={success:false,id:ah};if(M.w3&&!(M.wk&&M.wk<312)&&ab&&ah&&ae&&ag&&Y){w(ah,false);K(function(){ae+="";ag+="";var aj={};if(af&&typeof af===r){for(var al in af){aj[al]=af[al]}}aj.data=ab;aj.width=ae;aj.height=ag;var am={};if(ad&&typeof ad===r){for(var ak in ad){am[ak]=ad[ak]}}if(Z&&typeof Z===r){for(var ai in Z){if(typeof am.flashvars!=D){am.flashvars+="&"+ai+"="+Z[ai]}else{am.flashvars=ai+"="+Z[ai]}}}if(F(Y)){var an=u(aj,am,ah);if(aj.id==ah){w(ah,true)}X.success=true;X.ref=an}else{if(aa&&A()){aj.data=aa;P(aj,am,ah,ac);return}else{w(ah,true)}}if(ac){ac(X)}})}else{if(ac){ac(X)}}},switchOffAutoHideShow:function(){m=false},ua:M,getFlashPlayerVersion:function(){return{major:M.pv[0],minor:M.pv[1],release:M.pv[2]}},hasFlashPlayerVersion:F,createSWF:function(Z,Y,X){if(M.w3){return u(Z,Y,X)}else{return undefined}},showExpressInstall:function(Z,aa,X,Y){if(M.w3&&A()){P(Z,aa,X,Y)}},removeSWF:function(X){if(M.w3){y(X)}},createCSS:function(aa,Z,Y,X){if(M.w3){v(aa,Z,Y,X)}},addDomLoadEvent:K,addLoadEvent:s,getQueryParamValue:function(aa){var Z=j.location.search||j.location.hash;if(Z){if(/\?/.test(Z)){Z=Z.split("?")[1]}if(aa==null){return L(Z)}var Y=Z.split("&");for(var X=0;X<Y.length;X++){if(Y[X].substring(0,Y[X].indexOf("="))==aa){return L(Y[X].substring((Y[X].indexOf("=")+1)))}}}return""},expressInstallCallback:function(){if(a){var X=c(R);if(X&&l){X.parentNode.replaceChild(l,X);if(Q){w(Q,true);if(M.ie&&M.win){l.style.display="block"}}if(E){E(B)}}a=false}}}}();
4815!function(e,t){"use strict";var n=t.prototype.trim,r=t.prototype.trimRight,i=t.prototype.trimLeft,s=function(e){return e*1||0},o=function(e,t){if(t<1)return"";var n="";while(t>0)t&1&&(n+=e),t>>=1,e+=e;return n},u=[].slice,a=function(e){return e==null?"\\s":e.source?e.source:"["+p.escapeRegExp(e)+"]"},f={lt:"<",gt:">",quot:'"',apos:"'",amp:"&"},l={};for(var c in f)l[f[c]]=c;var h=function(){function e(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}var n=o,r=function(){return r.cache.hasOwnProperty(arguments[0])||
4815(r.cache[arguments[0]]=r.parse(arguments[0])),r.format.call(null,r.cache[arguments[0]],arguments)};return r.format=function(r,i){var s=1,o=r.length,u="",a,f=[],l,c,p,d,v,m;for(l=0;l<o;l++){u=e(r[l]);if(u==="string")f.push(r[l]);else if(u==="array"){p=r[l];if(p[2]){a=i[s];for(c=0;c<p[2].length;c++){if(!a.hasOwnProperty(p[2][c]))throw new Error(h('[_.sprintf] property "%s" does not exist',p[2][c]));a=a[p[2][c]]}}else p[1]?a=i[p[1]]:a=i[s++];if(/[^s]/.test(p[8])&&e(a)!="number")throw new Error(h("[_.sprintf] expecting number but found %s",e(a)));switch(p[8]){case"b":a=a.toString(2);break;case"c":a=t.fromCharCode(a);break;case"d":a=parseInt(a,10);break;case"e":a=p[7]?a.toExponential(p[7]):a.toExponential();break;case"f":a=p[7]?parseFloat(a).toFixed(p[7]):parseFloat(a);break;case"o":a=a.toString(8);break;case"s":a=(a=t(a))&&p[7]?a.substring(0,p[7]):a;break;case"u":a=Math.abs(a);break;case"x":a=a.toString(16);break;case"X":a=a.toString(16).toUpperCase()}a=/[def]/.test(p[8])&&p[3]&&a>=0?"+"+a:a,v=p[4]?p[4]=="0"?"0":p[4].charAt(1):" ",m=p[6]-t(a).length,d=p[6]?n(v,m):"",f.push(p[5]?a+d:d+a)}}return f.join("")},r.cache={},r.parse=function(e){var t=e,n=[],r=[],i=0;while(t){if((n=/^[^\x25]+/.exec(t))!==null)r.push(n[0]);else if((n=/^\x25{2}/.exec(t))!==null)r.push("%");else{if((n=/^\x25(?:([1-9]\d*)\$|\(([^\)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-fosuxX])/.exec(t))===null)throw new Error("[_.sprintf] huh?");if(n[2]){i|=1;var s=[],o=n[2],u=[];if((u=/^([a-z_][a-z_\d]*)/i.exec(o))===null)throw new Error("[_.sprintf] huh?");s.push(u[1]);while((o=o.substring(u[0].length))!=="")if((u=/^\.([a-z_][a-z_\d]*)/i.exec(o))!==null)s.push(u[1]);else{if((u=/^\[(\d+)\]/.exec(o))===null)throw new Error("[_.sprintf] huh?");s.push(u[1])}n[2]=s}else i|=2;if(i===3)throw new Error("[_.sprintf] mixing positional and named placeholders is not (yet) supported");r.push(n)}t=t.substring(n[0].length)}return r},r}(),p={VERSION:"2.3.0",isBlank:function(e){return e==null&&(e=""),/^\s*$/.test(e)},stripTags:function(e){return e==null?"":t(e).replace(/<\/?[^>]+>/g,"")},capitalize:function(e){return e=e==null?"":t(e),e.charAt(0).toUpperCase()+e.slice(1)},chop:function(e,n){return e==null?[]:(e=t(e),n=~~n,n>0?e.match(new RegExp(".{1,"+n+"}","g")):[e])},clean:function(e){return p.strip(e).replace(/\s+/g," ")},count:function(e,n){return e==null||n==null?0:t(e).split(n).length-1},chars:function(e){return e==null?[]:t(e).split("")},swapCase:function(e){return e==null?"":t(e).replace(/\S/g,function(e){return e===e.toUpperCase()?e.toLowerCase():e.toUpperCase()})},escapeHTML:function(e){return e==null?"":t(e).replace(/[&<>"']/g,function(e){return"&"+l[e]+";"})},unescapeHTML:function(e){return e==null?"":t(e).replace(/\&([^;]+);/g,function(e,n){var r;return n in f?f[n]:(r=n.match(/^#x([\da-fA-F]+)$/))?t.fromCharCode(parseInt(r[1],16)):(r=n.match(/^#(\d+)$/))?t.fromCharCode(~~r[1]):e})},escapeRegExp:function(e){return e==null?"":t(e).replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")},splice:function(e,t,n,r){var i=p.chars(e);return i.splice(~~t,~~n,r),i.join("")},insert:function(e,t,n){return p.splice(e,t,0,n)},include:function(e,n){return n===""?!0:e==null?!1:t(e).indexOf(n)!==-1},join:function(){var e=u.call(arguments),t=e.shift();return t==null&&(t=""),e.join(t)},lines:function(e){return e==null?[]:t(e).split("\n")},reverse:function(e){return p.chars(e).reverse().join("")},startsWith:function(e,n){return n===""?!0:e==null||n==null?!1:(e=t(e),n=t(n),e.length>=n.length&&e.slice(0,n.length)===n)},endsWith:function(e,n){return n===""?!0:e==null||n==null?!1:(e=t(e),n=t(n),e.length>=n.length&&e.slice(e.length-n.length)===n)},succ:function(e){return e==null?"":(e=t(e),e.slice(0,-1)+t.fromCharCode(e.charCodeAt(e.length-1)+1))},titleize:function(e){return e==null?"":t(e).replace(/(?:^|\s)\S/g,function(e){return e.toUpperCase()})},camelize:function(e){return p.trim(e).replace(/[-_\s]+(.)?/g,function(e,t){return t.toUpperCase()})},underscored:function(e){return p.trim(e).replace(/([a-z\d])([A-Z]+)/g,"$1_$2").replace(/[-\s]+/g,"_").toLowerCase()},dasherize:function(e){return p.trim(e).replace(/([A-Z])/g,"-$1").replace(/[-_\s]+/g,"-").toLowerCase()},classify:function(e){return p.titleize(t(e).replace(/_/g," ")).replace(/\s/g,"")},humanize:function(e){return p.capitalize(p.underscored(e).replace(/_id$/,"").replace(/_/g," "))},trim:function(e,r){return e==null?"":!r&&n?n.call(e):(r=a(r),t(e).replace(new RegExp("^"+r+"+|"+r+"+$","g"),""))},ltrim:function(e,n){return e==null?"":!n&&i?i.call(e):(n=a(n),t(e).replace(new RegExp("^"+n+"+"),""))},rtrim:function(e,n){return e==null?"":!n&&r?r.call(e):(n=a(n),t(e).replace(new RegExp(n+"+$"),""))},truncate:function(e,n,r){return e==null?"":(e=t(e),r=r||"...",n=~~n,e.length>n?e.slice(0,n)+r:e)},prune:function(e,n,r){if(e==null)return"";e=t(e),n=~~n,r=r!=null?t(r):"...";if(e.length<=n)return e;var i=function(e){return e.toUpperCase()!==e.toLowerCase()?"A":" "},s=e.slice(0,n+1).replace(/.(?=\W*\w*$)/g,i);return s.slice(s.length-2).match(/\w\w/)?s=s.replace(/\s*\S+$/,""):s=p.rtrim(s.slice(0,s.length-1)),(s+r).length>e.length?e:e.slice(0,s.length)+r},words:function(e,t){return p.isBlank(e)?[]:p.trim(e,t).split(t||/\s+/)},pad:function(e,n,r,i){e=e==null?"":t(e),n=~~n;var s=0;r?r.length>1&&(r=r.charAt(0)):r=" ";switch(i){case"right":return s=n-e.length,e+o(r,s);case"both":return s=n-e.length,o(r,Math.ceil(s/2))+e+o(r,Math.floor(s/2));default:return s=n-e.length,o(r,s)+e}},lpad:function(e,t,n){return p.pad(e,t,n)},rpad:function(e,t,n){return p.pad(e,t,n,"right")},lrpad:function(e,t,n){return p.pad(e,t,n,"both")},sprintf:h,vsprintf:function(e,t){return t.unshift(e),h.apply(null,t)},toNumber:function(e,n){if(e==null||e=="")return 0;e=t(e);var r=s(s(e).toFixed(~~n));return r===0&&!e.match(/^0+$/)?Number.NaN:r},numberFormat:function(e,t,n,r){if(isNaN(e)||e==null)return"";e=e.toFixed(~~t),r=r||",";var i=e.split("."),s=i[0],o=i[1]?(n||".")+i[1]:"";return s.replace(/(\d)(?=(?:\d{3})+$)/g,"$1"+r)+o},strRight:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.indexOf(n):-1;return~r?e.slice(r+n.length,e.length):e},strRightBack:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.lastIndexOf(n):-1;return~r?e.slice(r+n.length,e.length):e},strLeft:function(e,n){if(e==null)return"";e=t(e),n=n!=null?t(n):n;var r=n?e.indexOf(n):-1;return~r?e.slice(0,r):e},strLeftBack:function(e,t){if(e==null)return"";e+="",t=t!=null?""+t:t;var n=e.lastIndexOf(t);return~n?e.slice(0,n):e},toSentence:function(e,t,n,r){t=t||", ",n=n||" and ";var i=e.slice(),s=i.pop();return e.length>2&&r&&(n=p.rtrim(t)+n),i.length?i.join(t)+n+s:s},toSentenceSerial:function(){var e=u.call(arguments);return e[3]=!0,p.toSentence.apply(p,e)},slugify:function(e){if(e==null)return"";var n="ąàáäâãåæćęèéëêìíïîłńòóöôõøùúüûñçżź",r="aaaaaaaaceeeeeiiiil
4815noooooouuuunczz",i=new RegExp(a(n),"g");return e=t(e).toLowerCase().replace(i,function(e){var t=n.indexOf(e);return r.charAt(t)||"-"}),p.dasherize(e.replace(/[^\w\s-]/g,""))},surround:function(e,t){return[t,e,t].join("")},quote:function(e){return p.surround(e,'"')},exports:function(){var e={};for(var t in this){if(!this.hasOwnProperty(t)||t.match(/^(?:include|contains|reverse)$/))continue;e[t]=this[t]}return e},repeat:function(e,n,r){if(e==null)return"";n=~~n;if(r==null)return o(t(e),n);for(var i=[];n>0;i[--n]=e);return i.join(r)},levenshtein:function(e,n){if(e==null&&n==null)return 0;if(e==null)return t(n).length;if(n==null)return t(e).length;e=t(e),n=t(n);var r=[],i,s;for(var o=0;o<=n.length;o++)for(var u=0;u<=e.length;u++)o&&u?e.charAt(u-1)===n.charAt(o-1)?s=i:s=Math.min(r[u],r[u-1],i)+1:s=o+u,i=r[u],r[u]=s;return r.pop()}};p.strip=p.trim,p.lstrip=p.ltrim,p.rstrip=p.rtrim,p.center=p.lrpad,p.rjust=p.lpad,p.ljust=p.rpad,p.contains=p.include,p.q=p.quote,typeof exports!="undefined"?(typeof module!="undefined"&&module.exports&&(module.exports=p),exports._s=p):typeof define=="function"&&define.amd?define("underscore.string",[],function(){return p}):(e._=e._||{},e._.string=e._.str=p)}(this,String);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.