1
0
mirror of https://github.com/danbee/mpd-client synced 2025-03-04 08:39:09 +00:00
mpd-client/assets/js/libs/can.jquery.min.js
2013-12-19 14:50:31 +00:00

12 lines
64 KiB
JavaScript
Executable File

/*!
* CanJS - 2.0.3
* http://canjs.us/
* Copyright (c) 2013 Bitovi
* Thu, 19 Dec 2013 10:56:35 GMT
* Licensed MIT
* Includes: CanJS default build
* Download from: http://canjs.us/
*/
!function(undefined){var __m4=function(){var a=window.can||{};("undefined"==typeof GLOBALCAN||GLOBALCAN!==!1)&&(window.can=a),a.isDeferred=function(a){var b=this.isFunction;return a&&b(a.then)&&b(a.pipe)};var b=0;return a.cid=function(a,c){return a._cid?a._cid:a._cid=(c||"")+ ++b},a.VERSION="2.0.3",a.simpleExtend=function(a,b){for(var c in b)a[c]=b[c];return a},a}(),__m5=function(a){return a.each=function(a,b,c){var d,e=0;if(a)if("number"==typeof a.length&&a.pop)for(a.attr&&a.attr("length"),d=a.length;d>e&&b.call(c||a[e],a[e],e,a)!==!1;e++);else if(a.hasOwnProperty)for(d in a)if(a.hasOwnProperty(d)&&b.call(c||a[d],a[d],d,a)===!1)break;return a},a}(__m4),__m6=function(a){a.inserted=function(b){for(var c,d,e=!1,f=0;(d=b[f])!==undefined;f++){if(!e){if(!d.getElementsByTagName)continue;if(!a.has(a.$(document),d).length)return;e=!0}if(e&&d.getElementsByTagName){a.trigger(d,"inserted",[],!1),c=a.makeArray(d.getElementsByTagName("*"));for(var g,h=0;(g=c[h])!==undefined;h++)a.trigger(g,"inserted",[],!1)}}},a.appendChild=function(b,c){if(11===c.nodeType)var d=a.makeArray(c.childNodes);else var d=[c];b.appendChild(c),a.inserted(d)},a.insertBefore=function(b,c,d){if(11===c.nodeType)var e=a.makeArray(c.childNodes);else var e=[c];b.insertBefore(c,d),a.inserted(e)}}(__m4),__m7=function(a){return a.addEvent=function(a,b){var c=this.__bindEvents||(this.__bindEvents={}),d=c[a]||(c[a]=[]);return d.push({handler:b,name:a}),this},a.listenTo=function(b,c,d){var e=this.__listenToEvents;e||(e=this.__listenToEvents={});var f=a.cid(b),g=e[f];g||(g=e[f]={obj:b,events:{}});var h=g.events[c];h||(h=g.events[c]=[]),h.push(d),a.bind.call(b,c,d)},a.stopListening=function(b,c,d){var e=this.__listenToEvents,f=e,g=0;if(!e)return this;if(b){var h=a.cid(b);if((f={})[h]=e[h],!e[h])return this}for(var i in f){var j,k=f[i];b=e[i].obj,c?(j={})[c]=k.events[c]:j=k.events;for(var l in j){var m=j[l]||[];for(g=0;g<m.length;)d&&d===m[g]||!d?(a.unbind.call(b,l,m[g]),m.splice(g,1)):g++;m.length||delete k.events[l]}a.isEmptyObject(k.events)&&delete e[i]}return this},a.removeEvent=function(a,b){if(!this.__bindEvents)return this;for(var c,d=this.__bindEvents[a]||[],e=0,f="function"==typeof b;e<d.length;)c=d[e],f&&c.handler===b||!f&&c.cid===b?d.splice(e,1):e++;return this},a.dispatch=function(a,b){if(this.__bindEvents){"string"==typeof a&&(a={type:a});for(var c,d=a.type,e=(this.__bindEvents[d]||[]).slice(0),b=[a].concat(b||[]),f=0,g=e.length;g>f;f++)c=e[f],c.handler.apply(this,b)}},a}(__m4),__m2=function(a,b){var c=function(a){return a.nodeName&&(1==a.nodeType||9==a.nodeType)||a==window};a.extend(b,a,{trigger:function(c,d,e){c.nodeName||c===window?a.event.trigger(d,e,c,!0):c.trigger?c.trigger(d,e):("string"==typeof d&&(d={type:d}),d.target=d.target||c,b.dispatch.call(c,d,e))},addEvent:b.addEvent,removeEvent:b.removeEvent,buildFragment:function(b,c){var d,e=a.buildFragment;return b=[b],c=c||document,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,d=e.call(jQuery,b,c),d.cacheable?a.clone(d.fragment):d.fragment||d},$:a,each:b.each,bind:function(d,e){return this.bind&&this.bind!==b.bind?this.bind(d,e):c(this)?a.event.add(this,d,e):b.addEvent.call(this,d,e),this},unbind:function(d,e){return this.unbind&&this.unbind!==b.unbind?this.unbind(d,e):c(this)?a.event.remove(this,d,e):b.removeEvent.call(this,d,e),this},delegate:function(b,d,e){return this.delegate?this.delegate(b,d,e):c(this)&&a(this).delegate(b,d,e),this},undelegate:function(b,d,e){return this.undelegate?this.undelegate(b,d,e):c(this)&&a(this).undelegate(b,d,e),this}}),b.on=b.bind,b.off=b.unbind,a.each(["append","filter","addClass","remove","data","get","has"],function(a,c){b[c]=function(a){return a[c].apply(a,b.makeArray(arguments).slice(1))}});var d=a.cleanData;a.cleanData=function(c){a.each(c,function(a,c){c&&b.trigger(c,"removed",[],!1)}),d(c)};var e,f=a.fn.domManip;return a.fn.domManip=function(){for(var a=1;a<arguments.length;a++)if("function"==typeof arguments[a]){e=a;break}return f.apply(this,arguments)},a(document.createElement("div")).append(document.createElement("div")),a.fn.domManip=2==e?function(a,c,d){return f.call(this,a,c,function(a){if(11===a.nodeType)var c=b.makeArray(a.childNodes);var e=d.apply(this,arguments);return b.inserted(c?c:[a]),e})}:function(a,c){return f.call(this,a,function(a){if(11===a.nodeType)var d=b.makeArray(a.childNodes);var e=c.apply(this,arguments);return b.inserted(d?d:[a]),e})},a.event.special.inserted={},a.event.special.removed={},b}(jQuery,__m4,__m5,__m6,__m7),__m10=function(a){var b=/_|-/,c=/\=\=/,d=/([A-Z]+)([A-Z][a-z])/g,e=/([a-z\d])([A-Z])/g,f=/([a-z\d])([A-Z])/g,g=/\{([^\}]+)\}/g,h=/"/g,i=/'/g,j=/-+(.)?/g,k=/[a-z][A-Z]/g,l=function(a,b,c){var d=a[b];return d===undefined&&c===!0&&(d=a[b]={}),d},m=function(a){return/^f|^o/.test(typeof a)},n=function(a){var b=null===a||a===undefined||isNaN(a)&&""+a=="NaN";return""+(b?"":a)};return a.extend(a,{esc:function(a){return n(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(h,"&#34;").replace(i,"&#39;")},getObject:function(b,c,d){var e,f,g,h,i=b?b.split("."):[],j=i.length,k=0;if(c=a.isArray(c)?c:[c||window],h=c.length,!j)return c[0];for(k;h>k;k++){for(e=c[k],g=undefined,f=0;j>f&&m(e);f++)g=e,e=l(g,i[f]);if(g!==undefined&&e!==undefined)break}if(d===!1&&e!==undefined&&delete g[i[f-1]],d===!0&&e===undefined)for(e=c[0],f=0;j>f&&m(e);f++)e=l(e,i[f],!0);return e},capitalize:function(a){return a.charAt(0).toUpperCase()+a.slice(1)},camelize:function(a){return n(a).replace(j,function(a,b){return b?b.toUpperCase():""})},hyphenate:function(a){return n(a).replace(k,function(a){return a.charAt(0)+"-"+a.charAt(1).toLowerCase()})},underscore:function(a){return a.replace(c,"/").replace(d,"$1_$2").replace(e,"$1_$2").replace(f,"_").toLowerCase()},sub:function(b,c,d){var e=[];return b=b||"",e.push(b.replace(g,function(b,f){var g=a.getObject(f,c,d===!0?!1:undefined);return g===undefined||null===g?(e=null,""):m(g)&&e?(e.push(g),""):""+g})),null===e?e:e.length<=1?e[0]:e},replacer:g,undHash:b}),a}(__m2),__m9=function(a){var b=0;return a.Construct=function(){return arguments.length?a.Construct.extend.apply(a.Construct,arguments):void 0},a.extend(a.Construct,{constructorExtends:!0,newInstance:function(){var a,b=this.instance();return b.setup&&(a=b.setup.apply(b,arguments)),b.init&&b.init.apply(b,a||arguments),b},_inherit:function(b,c,d){a.extend(d||b,b||{})},_overwrite:function(a,b,c,d){a[c]=d},setup:function(b){this.defaults=a.extend(!0,{},b.defaults,this.defaults)},instance:function(){b=1;var a=new this;return b=0,a},extend:function(c,d,e){function f(){return b?void 0:this.constructor!==f&&arguments.length&&f.constructorExtends?arguments.callee.extend.apply(arguments.callee,arguments):f.newInstance.apply(f,arguments)}"string"!=typeof c&&(e=d,d=c,c=null),e||(e=d,d=null),e=e||{};var g,h,i,j,k=this,l=this.prototype;j=this.instance(),a.Construct._inherit(e,l,j);for(g in k)k.hasOwnProperty(g)&&(f[g]=k[g]);if(a.Construct._inherit(d,k,f),c){var m=c.split("."),h=m.pop(),n=a.getObject(m.join("."),window,!0),i=n,o=a.underscore(c.replace(/\./g,"_")),p=a.underscore(h);n[h]=f}a.extend(f,{constructor:f,prototype:j,namespace:i,_shortName:p,fullName:c,_fullName:o}),h!==undefined&&(f.shortName=h),f.prototype.constructor=f;var q=[k].concat(a.makeArray(arguments)),r=f.setup.apply(f,q);return f.init&&f.init.apply(f,r||q),f}}),a.Construct.prototype.setup=function(){},a.Construct.prototype.init=function(){},a.Construct}(__m10),__m8=function(a){var b,c=function(b,c,d){return a.bind.call(b,c,d),function(){a.unbind.call(b,c,d)}},d=a.isFunction,e=a.extend,f=a.each,g=[].slice,h=/\{([^\}]+)\}/g,i=a.getObject("$.event.special",[a])||{},j=function(b,c,d,e){return a.delegate.call(b,c,d,e),function(){a.undelegate.call(b,c,d,e)}},k=function(b,d,e,f){return f?j(b,a.trim(f),d,e):c(b,d,e)},l=a.Control=a.Construct({setup:function(){if(a.Construct.setup.apply(this,arguments),a.Control){var b,c=this;c.actions={};for(b in c.prototype)c._isAction(b)&&(c.actions[b]=c._action(b))}},_shifter:function(b,c){var e="string"==typeof c?b[c]:c;return d(e)||(e=b[e]),function(){return b.called=c,e.apply(b,[this.nodeName?a.$(this):this].concat(g.call(arguments,0)))}},_isAction:function(a){var b=this.prototype[a],c=typeof b;return"constructor"!==a&&("function"==c||"string"==c&&d(this.prototype[b]))&&!!(i[a]||m[a]||/[^\w]/.test(a))},_action:function(c,d){if(h.lastIndex=0,d||!h.test(c)){var e=d?a.sub(c,this._lookup(d)):c;if(!e)return null;var f=a.isArray(e),g=f?e[1]:e,i=g.split(/\s+/g),j=i.pop();return{processor:m[j]||b,parts:[g,i.join(" "),j],delegate:f?e[0]:undefined}}},_lookup:function(a){return[a,window]},processors:{},defaults:{}},{setup:function(b,c){var d,f=this.constructor,g=f.pluginName||f._fullName;return this.element=a.$(b),g&&"can_control"!==g&&this.element.addClass(g),(d=a.data(this.element,"controls"))||a.data(this.element,"controls",d=[]),d.push(this),this.options=e({},f.defaults,c),this.on(),[this.element,this.options]},on:function(b,c,d,e){if(!b){this.off();var f,g,h=this.constructor,i=this._bindings,j=h.actions,l=this.element,m=a.Control._shifter(this,"destroy");for(f in j)j.hasOwnProperty(f)&&(g=j[f]||h._action(f,this.options))&&i.push(g.processor(g.delegate||l,g.parts[2],g.parts[1],f,this));return a.bind.call(l,"removed",m),i.push(function(b){a.unbind.call(b,"removed",m)}),i.length}return"string"==typeof b&&(e=d,d=c,c=b,b=this.element),e===undefined&&(e=d,d=c,c=null),"string"==typeof e&&(e=a.Control._shifter(this,e)),this._bindings.push(k(b,d,e,c)),this._bindings.length},off:function(){var a=this.element[0];f(this._bindings||[],function(b){b(a)}),this._bindings=[]},destroy:function(){if(null!==this.element){var b,c=this.constructor,d=c.pluginName||c._fullName;this.off(),d&&"can_control"!==d&&this.element.removeClass(d),b=a.data(this.element,"controls"),b.splice(a.inArray(this,b),1),a.trigger(this,"destroyed"),this.element=null}}}),m=a.Control.processors,b=function(b,c,d,e,f){return k(b,c,a.Control._shifter(f,e),d)};return f(["change","click","contextmenu","dblclick","keydown","keyup","keypress","mousedown","mousemove","mouseout","mouseover","mouseup","reset","resize","scroll","select","submit","focusin","focusout","mouseenter","mouseleave","touchstart","touchmove","touchcancel","touchend","touchleave"],function(a){m[a]=b}),l}(__m2,__m9),__m13=function(a){return a.bindAndSetup=function(){return a.addEvent.apply(this,arguments),this._init||(this._bindings?this._bindings++:(this._bindings=1,this._bindsetup&&this._bindsetup())),this},a.unbindAndTeardown=function(){return a.removeEvent.apply(this,arguments),null==this._bindings?this._bindings=0:this._bindings--,this._bindings||this._bindteardown&&this._bindteardown(),this},a}(__m2),__m14=function(a){var b=1,c=0,d=[],e=[];a.batch={start:function(a){c++,a&&e.push(a)},stop:function(f,g){if(f?c=0:c--,0==c){var h=d.slice(0),i=e.slice(0);d=[],e=[],b++,g&&a.batch.start(),a.each(h,function(b){a.trigger.apply(a,b)}),a.each(i,function(a){a()})}},trigger:function(e,f,g){if(!e._init){if(0==c)return a.trigger(e,f,g);f="string"==typeof f?{type:f}:f,f.batchNum=b,d.push([e,f,g])}}}}(__m4),__m12=function(a){var b=function(b,c,d){a.listenTo.call(d,b,"change",function(){var e=a.makeArray(arguments),f=e.shift();e[0]=("*"===c?[d.indexOf(b),e[0]]:[c,e[0]]).join("."),f.triggeredNS=f.triggeredNS||{},f.triggeredNS[d._cid]||(f.triggeredNS[d._cid]=!0,a.trigger(d,f,e))})},c=function(b,c){return c?[b]:a.isArray(b)?b:(""+b).split(".")},d=function(a){return function(){var c=this;this._each(function(d,e){d&&d.bind&&b(d,a||e,c)})}},e=null,f=function(b,c){var d=!1;e||(d=!0,e={});var f=b._cid,g=a.cid(b);return e[g]||(e[g]={obj:b,instance:c,added:!f}),d},g=function(){for(var a in e)e[a].added&&delete e[a].obj._cid;e=null},h=function(a){return e&&e[a._cid]&&e[a._cid].instance},i=a.Map=a.Construct.extend({setup:function(){if(a.Construct.setup.apply(this,arguments),a.Map){this.defaults||(this.defaults={});for(var b in this.prototype)"function"!=typeof this.prototype[b]&&(this.defaults[b]=this.prototype[b])}!a.List||this.prototype instanceof a.List||(this.List=i.List({Map:this},{}))},bind:a.bindAndSetup,on:a.bindAndSetup,unbind:a.unbindAndTeardown,off:a.unbindAndTeardown,id:"id",helpers:{canMakeObserve:function(b){return b&&!a.isDeferred(b)&&(a.isArray(b)||a.isPlainObject(b)||b instanceof a.Map)},unhookup:function(b,c){return a.each(b,function(b){b&&b.unbind&&a.stopListening.call(c,b,"change")})},hookupBubble:function(c,d,e,f,g){return f=f||i,g=g||i.List,c instanceof i?e._bindings&&i.helpers.unhookup([c],e):c=a.isArray(c)?h(c)||new g(c):h(c)||new f(c),e._bindings&&b(c,d,e),c},serialize:function(b,c,d){return b.each(function(b,e){d[e]=i.helpers.canMakeObserve(b)&&a.isFunction(b[c])?b[c]():b}),d},makeBindSetup:d},keys:function(b){var c=[];a.__reading&&a.__reading(b,"__keys");for(var d in b._data)c.push(d);return c}},{setup:function(b){this._data={},a.cid(this,".map"),this._init=1,this._setupComputes();var c=b&&f(b,this),d=a.extend(a.extend(!0,{},this.constructor.defaults||{}),b);this.attr(d),c&&g(),this.bind("change",a.proxy(this._changes,this)),delete this._init},_setupComputes:function(){var a=this.constructor.prototype;this._computedBindings={};for(var b in a)a[b]&&a[b].isComputed&&(this[b]=a[b].clone(this),this._computedBindings[b]={count:0})},_bindsetup:d(),_bindteardown:function(){var a=this;this._each(function(b){i.helpers.unhookup([b],a)})},_changes:function(b,c,d,e,f){a.batch.trigger(this,{type:c,batchNum:b.batchNum},[e,f])},_triggerChange:function(){a.batch.trigger(this,"change",a.makeArray(arguments))},_each:function(a){var b=this.__get();for(var c in b)b.hasOwnProperty(c)&&a(b[c],c)},attr:function(b,c){var d=typeof b;return"string"!==d&&"number"!==d?this._attrs(b,c):1===arguments.length?(a.__reading&&a.__reading(this,b),this._get(b)):(this._set(b,c),this)},each:function(){return a.__reading&&a.__reading(this,"__keys"),a.each.apply(undefined,[this.__get()].concat(a.makeArray(arguments)))},removeAttr:function(b){var d=a.List&&this instanceof a.List,e=c(b),f=e.shift(),g=d?this[f]:this._data[f];return e.length?g.removeAttr(e):(d?this.splice(f,1):f in this._data&&(delete this._data[f],f in this.constructor.prototype||delete this[f],a.batch.trigger(this,"__keys"),this._triggerChange(f,"remove",undefined,g)),g)},_get:function(a){var b="string"==typeof a&&!!~a.indexOf(".")&&this.__get(a);if(b)return b;var d=c(a),e=this.__get(d.shift());return d.length?e?e._get(d):undefined:e},__get:function(b){return b?this[b]&&this[b].isComputed&&a.isFunction(this.constructor.prototype[b])?this[b]():this._data[b]:this._data},_set:function(a,b,d){var e=c(a,d),f=e.shift(),g=this.__get(f);if(i.helpers.canMakeObserve(g)&&e.length)g._set(e,b);else{if(e.length)throw"can.Map: Object does not exist";this.__convert&&(b=this.__convert(f,b)),this.__set(f,b,g)}},__set:function(b,c,d){if(c!==d){var e=this.__get().hasOwnProperty(b)?"set":"add";this.___set(b,i.helpers.canMakeObserve(c)?i.helpers.hookupBubble(c,b,this):c),"add"==e&&a.batch.trigger(this,"__keys",undefined),this._triggerChange(b,e,c,d),d&&i.helpers.unhookup([d],this)}},___set:function(b,c){this[b]&&this[b].isComputed&&a.isFunction(this.constructor.prototype[b])&&this[b](c),this._data[b]=c,a.isFunction(this.constructor.prototype[b])||(this[b]=c)},bind:function(b){var c=this._computedBindings&&this._computedBindings[b];if(c)if(c.count)c.count++;else{c.count=1;var d=this;c.handler=function(c,e,f){a.batch.trigger(d,{type:b,batchNum:c.batchNum},[e,f])},this[b].bind("change",c.handler)}return a.bindAndSetup.apply(this,arguments)},unbind:function(b){var c=this._computedBindings&&this._computedBindings[b];return c&&(1==c.count?(c.count=0,this[b].unbind("change",c.handler),delete c.handler):c.count++),a.unbindAndTeardown.apply(this,arguments)},serialize:function(){return a.Map.helpers.serialize(this,"serialize",{})},_attrs:function(b,c){if(b===undefined)return i.helpers.serialize(this,"attr",{});b=a.simpleExtend({},b);var d,e,f=this;a.batch.start(),this.each(function(d,g){if("_cid"!==g){if(e=b[g],e===undefined)return c&&f.removeAttr(g),void 0;f.__convert&&(e=f.__convert(g,e)),e instanceof a.Map?f.__set(g,e,d):i.helpers.canMakeObserve(d)&&i.helpers.canMakeObserve(e)&&d.attr?d.attr(e,c):d!=e&&f.__set(g,e,d),delete b[g]}});for(var d in b)"_cid"!==d&&(e=b[d],this._set(d,e,!0));return a.batch.stop(),this},compute:function(b){return a.isFunction(this.constructor.prototype[b])?a.compute(this[b],this):a.compute(this,b)}});return i.prototype.on=i.prototype.bind,i.prototype.off=i.prototype.unbind,i}(__m2,__m13,__m9,__m14),__m15=function(a,b){var c=[].splice,d=b({Map:b},{setup:function(b,c){this.length=0,a.cid(this,".map"),this._init=1,a.isDeferred(b)?this.replace(b):this.push.apply(this,a.makeArray(b||[])),this.bind("change",a.proxy(this._changes,this)),a.simpleExtend(this,c),delete this._init},_triggerChange:function(c,d,e,f){b.prototype._triggerChange.apply(this,arguments),~c.indexOf(".")||("add"===d?(a.batch.trigger(this,d,[e,+c]),a.batch.trigger(this,"length",[this.length])):"remove"===d?(a.batch.trigger(this,d,[f,+c]),a.batch.trigger(this,"length",[this.length])):a.batch.trigger(this,d,[e,+c]))},__get:function(a){return a?this[a]:this},___set:function(a,b){this[a]=b,+a>=this.length&&(this.length=+a+1)},_each:function(a){for(var b=this.__get(),c=0;c<b.length;c++)a(b[c],c)},_bindsetup:b.helpers.makeBindSetup("*"),serialize:function(){return b.helpers.serialize(this,"serialize",[])},splice:function(d,e){var f,g=a.makeArray(arguments);for(f=2;f<g.length;f++){var h=g[f];b.helpers.canMakeObserve(h)&&(g[f]=b.helpers.hookupBubble(h,"*",this,this.constructor.Map,this.constructor))}e===undefined&&(e=g[1]=this.length-d);var i=c.apply(this,g);return a.batch.start(),e>0&&(this._triggerChange(""+d,"remove",undefined,i),b.helpers.unhookup(i,this)),g.length>2&&this._triggerChange(""+d,"add",g.slice(2),i),a.batch.stop(),i},_attrs:function(c,d){return c===undefined?b.helpers.serialize(this,"attr",[]):(c=a.makeArray(c),a.batch.start(),this._updateAttrs(c,d),a.batch.stop(),void 0)},_updateAttrs:function(a,c){for(var d=Math.min(a.length,this.length),e=0;d>e;e++){var f=this[e],g=a[e];b.helpers.canMakeObserve(f)&&b.helpers.canMakeObserve(g)?f.attr(g,c):f!=g&&this._set(e,g)}a.length>this.length?this.push.apply(this,a.slice(this.length)):a.length<this.length&&c&&this.splice(a.length)}}),e=function(b){return b[0]&&a.isArray(b[0])?b[0]:a.makeArray(b)};return a.each({push:"length",unshift:0},function(a,c){var e=[][c];d.prototype[c]=function(){var c,d,f=[],g=a?this.length:0,h=arguments.length;for(this.constructor;h--;)d=arguments[h],f[h]=b.helpers.canMakeObserve(d)?b.helpers.hookupBubble(d,"*",this,this.constructor.Map,this.constructor):d;return c=e.apply(this,f),(!this.comparator||f.length)&&this._triggerChange(""+g,"add",f,undefined),c}}),a.each({pop:"length",shift:0},function(b,c){d.prototype[c]=function(){var d=e(arguments),f=b&&this.length?this.length-1:0,g=[][c].apply(this,d);return this._triggerChange(""+f,"remove",undefined,[g]),g&&g.unbind&&a.stopListening.call(this,g,"change"),g}}),a.extend(d.prototype,{indexOf:function(b,c){return this.attr("length"),a.inArray(b,this,c)},join:function(){return[].join.apply(this.attr(),arguments)},reverse:[].reverse,slice:function(){var a=Array.prototype.slice.apply(this,arguments);return new this.constructor(a)},concat:function(){var b=[];return a.each(a.makeArray(arguments),function(c,d){b[d]=c instanceof a.List?c.serialize():c}),new this.constructor(Array.prototype.concat.apply(this.serialize(),b))},forEach:function(b,c){return a.each(this,b,c||this)},replace:function(b){return a.isDeferred(b)?b.then(a.proxy(this.replace,this)):this.splice.apply(this,[0,this.length].concat(a.makeArray(b||[]))),this}}),a.List=b.List=d,a.List}(__m2,__m12),__m16=function(a){var b=["__reading","__clearReading","__setReading"],c=function(c){for(var d={},e=0;e<b.length;e++)d[b[e]]=a[b[e]];return a.__reading=function(a,b){c.push({obj:a,attr:b+""})},a.__clearReading=function(){return c.splice(0,c.length)},a.__setReading=function(a){[].splice.apply(c,[0,c.length].concat(a))},d},d=function(){},e=function(b,d){var e=[],f=c(e),g=b.call(d);return a.simpleExtend(a,f),{value:g,observed:e}},f=function(b,c,d,f){var g,h={},i=!0,j={value:undefined,teardown:function(){for(var a in h){var b=h[a];b.observe.obj.unbind(b.observe.attr,k),delete h[a]}}},k=function(a){if(!(f&&!f.bound||a.batchNum!==undefined&&a.batchNum===g)){var b=j.value,c=l();j.value=c,c!==b&&d(c,b),g=g=a.batchNum}},l=function(){var a,d=e(b,c),f=d.observed,g=d.value;i=!i;for(var j=0,l=f.length;l>j;j++)a=f[j],h[a.obj._cid+"|"+a.attr]?h[a.obj._cid+"|"+a.attr].matched=i:(h[a.obj._cid+"|"+a.attr]={matched:i,observe:a},a.obj.bind(a.attr,k));for(var m in h){var a=h[m];a.matched!==i&&(a.observe.obj.unbind(a.observe.attr,k),delete h[m])}return g};return j.value=l(),j.isListening=!a.isEmptyObject(h),j};a.compute=function(b,c,g){if(b&&b.isComputed)return b;var h,i,j,k,l={bound:!1,hasDependencies:!1},m=d,n=d,o=function(){return j},p=function(a){j=a},q=!0,r=a.makeArray(arguments),s=function(b,c){j=b,a.batch.trigger(i,"change",[b,c])};if(i=function(b){if(arguments.length){var d=j,e=p.call(c,b,d);return i.hasDependencies?o.call(c):(j=e===undefined?o.call(c):e,d!==j&&a.batch.trigger(i,"change",[j,d]),j)}return a.__reading&&q&&(a.__reading(i,"change"),!l.bound&&a.compute.temporarilyBind(i)),l.bound?j:o.call(c)},"function"==typeof b)p=b,o=b,q=g===!1?!1:!0,i.hasDependencies=!1,m=function(a){h=f(b,c||this,a,l),i.hasDependencies=h.isListening,j=h.value},n=function(){h&&h.teardown()};else if(c)if("string"==typeof c){var t=c,u=b instanceof a.Map;u&&(i.hasDependencies=!0),o=function(){return u?b.attr(t):b[t]},p=function(a){u?b.attr(t,a):b[t]=a};var v;m=function(c){v=function(){c(o(),j)},a.bind.call(b,g||t,v),j=e(o).value},n=function(){a.unbind.call(b,g||t,v)}}else if("function"==typeof c)j=b,p=c,c=g,k="setter";else{j=b;var w=c;o=w.get||o,p=w.set||p,m=w.on||m,n=w.off||n}else j=b;return a.cid(i,"compute"),a.simpleExtend(i,{isComputed:!0,_bindsetup:function(){l.bound=!0;var b=a.__reading;delete a.__reading,m.call(this,s),a.__reading=b},_bindteardown:function(){n.call(this,s),l.bound=!1},bind:a.bindAndSetup,unbind:a.unbindAndTeardown,clone:function(b){return b&&("setter"==k?r[2]=b:r[1]=b),a.compute.apply(a,r)}})};var g,h=function(){for(var a=0,b=g.length;b>a;a++)g[a].unbind("change",d);g=null};return a.compute.temporarilyBind=function(a){a.bind("change",d),g||(g=[],setTimeout(h,10)),g.push(a)},a.compute.binder=f,a.compute.truthy=function(b){return a.compute(function(){var a=b();return"function"==typeof a&&(a=a()),!!a})},a.compute}(__m2,__m13,__m14),__m11=function(a){return a.Observe=a.Map,a.Observe.startBatch=a.batch.start,a.Observe.stopBatch=a.batch.stop,a.Observe.triggerBatch=a.batch.trigger,a}(__m2,__m12,__m15,__m16),__m19=function(a){var b=a.isFunction,c=a.makeArray,d=1,e=a.view=a.template=function(c,d,f,g){b(f)&&(g=f,f=undefined);var h=function(a){return e.frag(a)},i=b(g)?function(a){g(h(a))}:null,j=b(c)?c(d,f,i):e.render(c,d,f,i),k=a.Deferred();return b(j)?j:a.isDeferred(j)?(j.then(function(a,b){k.resolve.call(k,h(a),b)},function(){k.fail.apply(k,arguments)}),k):h(j)};a.extend(e,{frag:function(a,b){return e.hookup(e.fragment(a),b)},fragment:function(b){var c=a.buildFragment(b,document.body);return c.childNodes.length||c.appendChild(document.createTextNode("")),c},toId:function(b){return a.map(b.toString().split(/\/|\./g),function(a){return a?a:void 0}).join("_")},hookup:function(b,c){var d,f,g=[];return a.each(b.childNodes?a.makeArray(b.childNodes):b,function(b){1===b.nodeType&&(g.push(b),g.push.apply(g,a.makeArray(b.getElementsByTagName("*"))))}),a.each(g,function(a){a.getAttribute&&(d=a.getAttribute("data-view-id"))&&(f=e.hookups[d])&&(f(a,c,d),delete e.hookups[d],a.removeAttribute("data-view-id"))}),b},hookups:{},hook:function(a){return e.hookups[++d]=a," data-view-id='"+d+"'"},cached:{},cachedRenderers:{},cache:!0,register:function(a){this.types["."+a.suffix]=a},types:{},ext:".ejs",registerScript:function(){},preload:function(){},render:function(d,f,j,k){b(j)&&(k=j,j=undefined);var l=h(f);if(l.length){var m=new a.Deferred,n=a.extend({},f);return l.push(g(d,!0)),a.when.apply(a,l).then(function(b){var d,e=c(arguments),g=e.pop();if(a.isDeferred(f))n=i(b);else for(var h in f)a.isDeferred(f[h])&&(n[h]=i(e.shift()));d=g(n,j),m.resolve(d,n),k&&k(d,n)},function(){m.reject.apply(m,arguments)}),m}if(a.__reading){var o=a.__reading;a.__reading=null}var p,q=b(k),m=g(d,q);if(a.Map&&a.__reading&&(a.__reading=o),q)p=m,m.then(function(a){k(f?a(f,j):a)});else{if("resolved"===m.state()&&m.__view_id){var r=e.cachedRenderers[m.__view_id];return f?r(f,j):r}m.then(function(a){p=f?a(f,j):a})}return p},registerView:function(b,c,d,f){var g=(d||e.types[e.ext]).renderer(b,c);return f=f||new a.Deferred,e.cache&&(e.cached[b]=f,f.__view_id=b,e.cachedRenderers[b]=g),f.resolve(g)}});var f=function(a,b){if(!a.length)throw"can.view: No template or empty template:"+b},g=function(b,c){var d,g,h,i="string"==typeof b?b:b.url,j=b.engine||i.match(/\.[\w\d]+$/);if(i.match(/^#/)&&(i=i.substr(1)),(g=document.getElementById(i))&&(j="."+g.type.match(/\/(x\-)?(.+)/)[2]),j||e.cached[i]||(i+=j=e.ext),a.isArray(j)&&(j=j[0]),h=e.toId(i),i.match(/^\/\//)){var k=i.substr(2);i=window.steal?steal.config().root.mapJoin(""+steal.id(k)):k}if(d=e.types[j],e.cached[h])return e.cached[h];if(g)return e.registerView(h,g.innerHTML,d);var l=new a.Deferred;return a.ajax({async:c,url:i,dataType:"text",error:function(a){f("",i),l.reject(a)},success:function(a){f(a,i),e.registerView(h,a,d,l)}}),l},h=function(b){var c=[];if(a.isDeferred(b))return[b];for(var d in b)a.isDeferred(b[d])&&c.push(b[d]);return c},i=function(b){return a.isArray(b)&&"success"===b[1]?b[0]:b};return window.steal&&steal.type("view js",function(a,b){var c=e.types["."+a.type],d=e.toId(a.id);a.text="steal('"+(c.plugin||"can/view/"+a.type)+"',function(can){return can.view.preload('"+d+"',"+a.text+");\n})",b()}),a.extend(e,{register:function(a){this.types["."+a.suffix]=a,window.steal&&steal.type(a.suffix+" view js",function(a,b){var c=e.types["."+a.type],d=e.toId(a.id+"");a.text=c.script(d,a.text),b()}),e[a.suffix]=function(b,c){if(!c){var d=function(){return e.frag(d.render.apply(this,arguments))};return d.render=function(){var c=a.renderer(null,b);return c.apply(c,arguments)},d}return e.preload(b,a.renderer(b,c))}},registerScript:function(a,b,c){return"can.view.preload('"+b+"',"+e.types["."+a].script(b,c)+");"},preload:function(b,c){function d(){return e.frag(c.apply(this,arguments))}var f=e.cached[b]=(new a.Deferred).resolve(function(a,b){return c.call(a,a,b)});return d.render=c,f.__view_id=b,e.cachedRenderers[b]=c,d}}),a}(__m2),__m18=function(a){var b=function(b){return b instanceof a.Map||b&&b.__get},c=/(\\)?\./g,d=/\\\./g,e=function(a){var b=[],e=0;return a.replace(c,function(c,f,g){f||(b.push(a.slice(e,g).replace(d,".")),e=g+c.length)}),b.push(a.slice(e).replace(d,".")),b},f=a.Construct.extend({read:function(c,d,e){e=e||{};for(var f,g,h,i=c,j=0,k=d.length;k>j;j++)if(g=i,g&&g.isComputed&&(e.foundObservable&&e.foundObservable(g,j),g=g()),b(g)?(!h&&e.foundObservable&&e.foundObservable(g,j),h=1,i="function"==typeof g[d[j]]&&g.constructor.prototype[d[j]]===g[d[j]]?e.returnObserveMethods?i[d[j]]:g[d[j]].apply(g,e.args||[]):i.attr(d[j])):i=g[d[j]],i&&i.isComputed&&!e.isArgument&&k-1>j&&(!h&&e.foundObservable&&e.foundObservable(g,j+1),i=i()),f=typeof i,j<d.length-1&&(null==i||"function"!=f&&"object"!=f))return e.earlyExit&&e.earlyExit(g,j,i),{value:undefined,parent:g};return i===undefined&&e.earlyExit&&e.earlyExit(g,j-1),"function"==typeof i&&(e.isArgument?i.isComputed||e.proxyMethods===!1||(i=a.proxy(i,g)):(i.isComputed&&!h&&e.foundObservable&&e.foundObservable(i,j),i=i.call(g))),{value:i,parent:g}}},{init:function(a,b){this._context=a,this._parent=b},attr:function(a){return this.read(a,{isArgument:!0,returnObserveMethods:!0,proxyMethods:!1}).value},add:function(a){return a!==this._context?new this.constructor(a,this):this},computeData:function(b,c){c=c||{args:[]};var d,e,g=this,h={compute:a.compute(function(a){if(!arguments.length){if(d)return f.read(d,e,c).value;var i=g.read(b,c);return d=i.rootObserve,e=i.reads,h.scope=i.scope,h.initialValue=i.value,i.value}if(d.isComputed&&!e.length)d(a);else{var j=e.length-1;f.read(d,e.slice(0,j)).value.attr(e[j],a)}})};return h},read:function(b,c){if("../"===b.substr(0,3))return this._parent.read(b.substr(3),c);if(".."==b)return{value:this._parent._context};if("."==b||"this"==b)return{value:this._context};for(var d,g,h,i,j,k,l=-1==b.indexOf("\\.")?b.split("."):e(b),m=(l.length,this),n=[],o=-1;m;){if(d=m._context,null!=d){var p=f.read(d,l,a.simpleExtend({foundObservable:function(a,b){j=a,k=l.slice(b)},earlyExit:function(b,c){c>o&&(g=j,n=k,o=c,i=m,h=a.__clearReading&&a.__clearReading())}},c));if(p.value!==undefined)return{scope:m,rootObserve:j,value:p.value,reads:k}}a.__clearReading&&a.__clearReading(),m=m._parent}return g?(a.__setReading&&a.__setReading(h),{scope:i,rootObserve:g,reads:n,value:undefined}):{names:l,value:undefined}}});return a.view.Scope=f,f}(__m2,__m9,__m12,__m15,__m19,__m16),__m21=function(){var a={tagToContentPropMap:{option:"textContent"in document.createElement("option")?"textContent":"innerText",textarea:"value"},attrMap:{"class":"className",value:"value",innerText:"innerText",textContent:"textContent",checked:!0,disabled:!0,readonly:!0,required:!0,src:function(a,b){null==b||""==b?a.removeAttribute("src"):a.setAttribute("src",b)}},attrReg:/([^\s]+)[\s]*=[\s]*/,defaultValue:["input","textarea"],tagMap:{"":"span",table:"tbody",tr:"td",ol:"li",ul:"li",tbody:"tr",thead:"tr",tfoot:"tr",select:"option",optgroup:"option"},reverseTagMap:{tr:"tbody",option:"select",td:"tr",th:"tr",li:"ul"},getParentNode:function(a,b){return b&&11===a.parentNode.nodeType?b:a.parentNode},setAttr:function(b,c,d){var e=b.nodeName.toString().toLowerCase(),f=a.attrMap[c];"function"==typeof f?f(b,d):f===!0?b[c]=!0:f?(b[f]=d,"value"===f&&can.inArray(e,a.defaultValue)>=0&&(b.defaultValue=d)):b.setAttribute(c,d)},getAttr:function(b,c){return(a.attrMap[c]&&b[a.attrMap[c]]?b[a.attrMap[c]]:b.getAttribute(c))||""},removeAttr:function(b,c){var d=a.attrMap[c];"function"==typeof prop&&prop(b,undefined),d===!0?b[c]=!1:"string"==typeof d?b[d]="":b.removeAttribute(c)},contentText:function(a){return"string"==typeof a?a:a||0===a?""+a:""}};return function(){var b=document.createElement("div");b.setAttribute("style","width: 5px"),b.setAttribute("style","width: 10px"),a.attrMap.style=function(a,b){a.style.cssText=b||""}}(),a}(),__m20=function(can,elements){var newLine=/(\r|\n)+/g,clean=function(a){return a.split("\\").join("\\\\").split("\n").join("\\n").split('"').join('\\"').split(" ").join("\\t")},getTag=function(a,b,c){if(a)return a;for(;c<b.length;){if("<"==b[c]&&elements.reverseTagMap[b[c+1]])return elements.reverseTagMap[b[c+1]];c++}return""},bracketNum=function(a){return--a.split("{").length- --a.split("}").length},myEval=function(script){eval(script)},attrReg=/([^\s]+)[\s]*=[\s]*$/,startTxt="var ___v1ew = [];",finishTxt="return ___v1ew.join('')",put_cmd="___v1ew.push(\n",insert_cmd=put_cmd,htmlTag=null,quote=null,beforeQuote=null,rescan=null,getAttrName=function(){var a=beforeQuote.match(attrReg);return a&&a[1]},status=function(){return quote?"'"+getAttrName()+"'":htmlTag?1:0},top=function(a){return a[a.length-1]},automaticCustomElementCharacters=/[-\:]/,Scanner;return can.view.Scanner=Scanner=function(a){can.extend(this,{text:{},tokens:[]},a),this.text.options=this.text.options||"",this.tokenReg=[],this.tokenSimple={"<":"<",">":">",'"':'"',"'":"'"},this.tokenComplex=[],this.tokenMap={};for(var b,c=0;b=this.tokens[c];c++)b[2]?(this.tokenReg.push(b[2]),this.tokenComplex.push({abbr:b[1],re:new RegExp(b[2]),rescan:b[3]})):(this.tokenReg.push(b[1]),this.tokenSimple[b[1]]=b[0]),this.tokenMap[b[0]]=b[1];this.tokenReg=new RegExp("("+this.tokenReg.slice(0).concat(["<",">",'"',"'"]).join("|")+")","g")},Scanner.attributes={},Scanner.regExpAttributes={},Scanner.attribute=function(a,b){"string"==typeof a?Scanner.attributes[a]=b:Scanner.regExpAttributes[a]={match:a,callback:b}
},Scanner.hookupAttributes=function(a,b){can.each(a&&a.attrs||[],function(c){a.attr=c,Scanner.attributes[c]?Scanner.attributes[c](a,b):can.each(Scanner.regExpAttributes,function(d){d.match.test(c)&&d.callback(a,b)})})},Scanner.tag=function(a,b){window.html5&&(html5.elements+=" "+a,html5.shivDocument()),Scanner.tags[a.toLowerCase()]=b},Scanner.tags={},Scanner.hookupTag=function(a){var b=can.view.getHooks();return can.view.hook(function(c){can.each(b,function(a){a(c)});var d=a.options.read("helpers._tags",{}).value,e=a.tagName,f=d&&d[e]||Scanner.tags[e],g=a.scope,h=f?f(c,a):g;if(h&&a.subtemplate){g!==h&&(g=g.add(h));var i=can.view.frag(a.subtemplate(g,a.options));can.appendChild(c,i)}can.view.Scanner.hookupAttributes(a,c)})},Scanner.prototype={helpers:[],scan:function(a,b){var c=[],d=0,e=this.tokenSimple,f=this.tokenComplex;a=a.replace(newLine,"\n"),this.transform&&(a=this.transform(a)),a.replace(this.tokenReg,function(b,g){var h=arguments[arguments.length-2];if(h>d&&c.push(a.substring(d,h)),e[b])c.push(b);else for(var i,j=0;i=f[j];j++)if(i.re.test(b)){c.push(i.abbr),i.rescan&&c.push(i.rescan(g));break}d=h+g.length}),d<a.length&&c.push(a.substr(d));var g,h,i,j,k="",l=[startTxt+(this.text.start||"")],m=function(a,b){l.push(put_cmd,'"',clean(a),'"'+(b||"")+");")},n=[],o=null,p=!1,q={attributeHookups:[],tagHookups:[]},r="",s=[],t=!1,u=!1,v=0,w=this.tokenMap;for(htmlTag=quote=beforeQuote=null;(i=c[v++])!==undefined;){if(null===o)switch(i){case w.left:case w.escapeLeft:case w.returnLeft:p=htmlTag&&1;case w.commentLeft:o=i,k.length&&m(k),k="";break;case w.escapeFull:p=htmlTag&&1,rescan=1,o=w.escapeLeft,k.length&&m(k),rescan=c[v++],k=rescan.content||rescan,rescan.before&&m(rescan.before),c.splice(v,0,w.right);break;case w.commentFull:break;case w.templateLeft:k+=w.left;break;case"<":0!==c[v].indexOf("!--")&&(htmlTag=1,p=0),k+=i;break;case">":htmlTag=0;var x="/"==k.substr(k.length-1)||"--"==k.substr(k.length-2),y="";if(q.attributeHookups.length&&(y="attrs: ['"+q.attributeHookups.join("','")+"'], ",q.attributeHookups=[]),r===top(q.tagHookups))x&&(k=k.substr(0,k.length-1)),l.push(put_cmd,'"',clean(k),'"',",can.view.Scanner.hookupTag({tagName:'"+r+"',"+y+"scope: "+(this.text.scope||"this")+this.text.options),x?(l.push("}));"),k="/>",q.tagHookups.pop()):"<"===c[v]&&c[v+1]==="/"+r?(l.push("}));"),k=i,q.tagHookups.pop()):(l.push(",subtemplate: function("+this.text.argNames+"){\n"+startTxt+(this.text.start||"")),k="");else if(p||!t&&elements.tagToContentPropMap[s[s.length-1]]||y){var z=",can.view.pending({"+y+"scope: "+(this.text.scope||"this")+this.text.options+'}),"';x?m(k.substr(0,k.length-1),z+'/>"'):m(k,z+'>"'),k="",p=0}else k+=i;(x||t)&&(s.pop(),r=s[s.length-1],t=!1),q.attributeHookups=[];break;case"'":case'"':if(htmlTag)if(quote&&quote===i){quote=null;var A=getAttrName();if(Scanner.attributes[A]?q.attributeHookups.push(A):can.each(Scanner.regExpAttributes,function(a){a.match.test(A)&&q.attributeHookups.push(A)}),u){k+=i,m(k),l.push(finishTxt,"}));\n"),k="",u=!1;break}}else if(null===quote&&(quote=i,beforeQuote=g,j=getAttrName(),"img"==r&&"src"==j||"style"===j)){m(k.replace(attrReg,"")),k="",u=!0,l.push(insert_cmd,"can.view.txt(2,'"+getTag(r,c,v)+"',"+status()+",this,function(){",startTxt),m(j+"="+i);break}default:if("<"===g){r=i.split(/\s|!--/)[0];var B=!1;if(0===r.indexOf("/")){B=!0;var C=r.substr(1)}B?(top(s)===C&&(r=C,t=!0),top(q.tagHookups)==C&&(m(k.substr(0,k.length-1)),l.push(finishTxt+"}}) );"),k="><",q.tagHookups.pop())):(r.lastIndexOf("/")===r.length-1&&(r=r.substr(0,r.length-1)),"!--"!==r&&(Scanner.tags[r]||automaticCustomElementCharacters.test(r))&&("content"===r&&elements.tagMap[top(s)]&&(i=i.replace("content",elements.tagMap[top(s)])),q.tagHookups.push(r)),s.push(r))}k+=i}else switch(i){case w.right:case w.returnRight:switch(o){case w.left:h=bracketNum(k),1==h?(l.push(insert_cmd,"can.view.txt(0,'"+getTag(r,c,v)+"',"+status()+",this,function(){",startTxt,k),n.push({before:"",after:finishTxt+"}));\n"})):(d=n.length&&-1==h?n.pop():{after:";"},d.before&&l.push(d.before),l.push(k,";",d.after));break;case w.escapeLeft:case w.returnLeft:h=bracketNum(k),h&&n.push({before:finishTxt,after:"}));\n"});for(var D=o===w.escapeLeft?1:0,E={insert:insert_cmd,tagName:getTag(r,c,v),status:status(),specialAttribute:u},F=0;F<this.helpers.length;F++){var G=this.helpers[F];if(G.name.test(k)){k=G.fn(k,E),G.name.source==/^>[\s]*\w*/.source&&(D=0);break}}"object"==typeof k?k.raw&&l.push(k.raw):u?l.push(insert_cmd,k,");"):l.push(insert_cmd,"can.view.txt(\n"+D+",\n'"+r+"',\n"+status()+",\nthis,\nfunction(){ "+(this.text.escape||"")+"return ",k,h?startTxt:"}));\n"),rescan&&rescan.after&&rescan.after.length&&(m(rescan.after.length),rescan=null)}o=null,k="";break;case w.templateLeft:k+=w.left;break;default:k+=i}g=i}k.length&&m(k),l.push(";");var H=l.join(""),I={out:(this.text.outStart||"")+H+" "+finishTxt+(this.text.outEnd||"")};return myEval.call(I,"this.fn = (function("+this.text.argNames+"){"+I.out+"});\r\n//@ sourceURL="+b+".js"),I}},can.view.Scanner.tag("content",function(a,b){return b.scope}),Scanner}(__m19,__m21),__m24=function(a){var b=!0;try{document.createTextNode("")._=0}catch(c){b=!1}var d={},e={},f={},g="ejs_"+Math.random(),h=0,i=function(a){if(b||3!==a.nodeType)return a[g]?a[g]:a[g]=(a.nodeName?"element_":"obj_")+ ++h;for(var c in e)if(e[c]===a)return c;return e["text_"+ ++h]=a,"text_"+h},j=function(b,c){var e=d[i(b)];if(e){var f=a.inArray(c,e);f>=0&&e.splice(f,1),e.length||delete d[i(b)]}},k=function(a,b){var c=d[i(a)];c||(c=d[i(a)]=[]),c.push(b)},l={id:i,replace:function(b,c){b=a.makeArray(b);var e=b[0];a.each(a.makeArray(d[i(e)]),function(d){var g=f[d],h=a.inArray(e,g),i=a.inArray(b[b.length-1],g);if(h>=0&&i>=0){for(var m=h;i>=m;m++){var n=g[m];j(n,d)}g.splice.apply(g,[h,i-h+1].concat(c)),a.each(c,function(a){k(a,d)})}else l.unregister(g)})},register:function(b){var c=i(b);f[c]=b,a.each(b,function(a){k(a,c)})},unregister:function(b){var c=i(b);a.each(b,function(a){j(a,c)}),delete f[c]},nodeMap:d,nodeListMap:f};return l}(__m2),__m23=function(a,b,c,d){var e=function(b,c,d){var e=function(){return d(f),a.unbind.call(b,"removed",e),!0},f={teardownCheck:function(a){return a?!1:e()}};return a.bind.call(b,"removed",e),c(f),f},f=function(a,b,c){return e(a,function(){b.bind("change",c)},function(a){b.unbind("change",c),a.nodeList&&d.unregister(a.nodeList)})},g=function(a){return(a||"").replace(/['"]/g,"").split("=")},h=function(b,c){var d=b[b.length-1];d.nextSibling?a.insertBefore(d.parentNode,c,d.nextSibling):a.appendChild(d.parentNode,c)},i={nodeLists:d,list:function(c,f,g,i,j){var k,l=[],m=function(b,c,e){if(!r.teardownCheck(o.parentNode)){var f=document.createDocumentFragment(),k=[];if(a.each(c,function(b,c){var d=g.call(i,b,c+e),h=a.view.frag(d,j);k.push(a.makeArray(h.childNodes)),f.appendChild(h)}),l[e]){var m=l[e][0];a.insertBefore(m.parentNode,f,m)}else h(0==e?[o]:l[e-1],f);a.each(k,function(a){d.register(a)}),[].splice.apply(l,[e,0].concat(k))}},n=function(b,c,e,f){if(f||!r.teardownCheck(o.parentNode)){var g=l.splice(e,c.length),h=[];a.each(g,function(a){[].push.apply(h,a),d.replace(a,[]),d.unregister(a)}),a.remove(a.$(h))}},j=b.getParentNode(c,j),o=document.createTextNode(""),p=function(){k&&k.unbind&&k.unbind("add",m).unbind("remove",n),n({},{length:l.length},0,!0)},q=function(a,b){p(),k=b||[],k.bind&&k.bind("add",m).bind("remove",n),m({},k,0)};h([c],o),a.remove(a.$(c));var r=e(j,function(){a.isFunction(f)&&f.bind("change",q)},function(){a.isFunction(f)&&f.unbind("change",q),p()});q({},a.isFunction(f)?f():f)},html:function(c,e,g){var i,g=b.getParentNode(c,g),j=f(g,e,function(a,b){var c=i[0].parentNode;c&&k(b),j.teardownCheck(i[0].parentNode)}),k=function(b){var e=a.view.frag(b,g),f=a.makeArray(e.childNodes);if(h(i||[c],e),i){var k=a.makeArray(i);d.replace(i,f),a.remove(a.$(k))}else a.remove(a.$(c)),i=f,j.nodeList=i,d.register(i)};k(e(),[c])},text:function(a,c,d){var e=b.getParentNode(a,d),g=f(e,c,function(a,b){"unknown"!=typeof h.nodeValue&&(h.nodeValue=""+b),g.teardownCheck(h.parentNode)}),h=document.createTextNode(c());a.parentNode!==e?(e=a.parentNode,e.insertBefore(h,a),e.removeChild(a)):(e.insertBefore(h,a),e.removeChild(a))},attributes:function(a,c,d){var e=function(c){var d=g(c),e=d.shift();e!=h&&h&&b.removeAttr(a,h),e&&(b.setAttr(a,e,d.join("=")),h=e)};if(f(a,c,function(a,b){e(b)}),arguments.length>=3)var h=g(d)[0];else e(c())},attributePlaceholder:"__!!__",attributeReplace:/__!!__/g,attribute:function(c,d,e){f(c,e,function(){b.setAttr(c,d,j.render())});var g,h=a.$(c);g=a.data(h,"hooks"),g||a.data(h,"hooks",g={});var j,k=b.getAttr(c,d),l=k.split(i.attributePlaceholder),m=[];m.push(l.shift(),l.join(i.attributePlaceholder)),g[d]?g[d].computes.push(e):g[d]={render:function(){var a=0,c=k?k.replace(i.attributeReplace,function(){return b.contentText(j.computes[a++]())}):b.contentText(j.computes[a++]());return c},computes:[e],batchNum:undefined},j=g[d],m.splice(1,0,e()),b.setAttr(c,d,m.join(""))},specialAttribute:function(a,c,d){f(a,d,function(d,e){b.setAttr(a,c,k(e))}),b.setAttr(a,c,k(d()))}},j=/(\r|\n)+/g,k=function(a){return a=a.replace(b.attrReg,"").replace(j,""),/^["'].*["']$/.test(a)?a.substr(1,a.length-2):a};return a.view.live=i,i}(__m2,__m21,__m19,__m24),__m22=function(a,b,c){var d,e=[],f=function(a){var c=b.tagMap[a]||"span";return"span"===c?"@@!!@@":"<"+c+">"+f(c)+"</"+c+">"},g=function(b,c){if("string"==typeof b)return b;if(!b&&0!==b)return"";var d=b.hookup&&function(a,c){b.hookup.call(b,a,c)}||"function"==typeof b&&b;return d?c?"<"+c+" "+a.view.hook(d)+"></"+c+">":(e.push(d),""):""+b},h=function(b,c){return"string"==typeof b||"number"==typeof b?a.esc(b):g(b,c)},i=!1,j=function(){};return a.extend(a.view,{live:c,setupLists:function(){var b,c=a.view.lists;return a.view.lists=function(a,c){return b={list:a,renderer:c},Math.random()},function(){return a.view.lists=c,b}},pending:function(b){var c=a.view.getHooks();return a.view.hook(function(d){a.each(c,function(a){a(d)}),a.view.Scanner.hookupAttributes(b,d)})},getHooks:function(){var a=e.slice(0);return d=a,e=[],a},onlytxt:function(a,b){return h(b.call(a))},txt:function(k,l,m,n,o){var p,q=b.tagMap[l]||"span",r=!1;if(i)p=o.call(n);else{("string"==typeof m||1===m)&&(i=!0);var s=a.view.setupLists(),t=function(){u.unbind("change",j)},u=a.compute(o,n,!1);u.bind("change",j);var v=s();p=u(),i=!1,r=u.hasDependencies}if(v)return"<"+q+a.view.hook(function(a,b){c.list(a,v.list,v.renderer,n,b)})+"></"+q+">";if(!r||"function"==typeof p)return t&&t(),(!k&&"string"!=typeof m||2===k?g:h)(p,0===m&&q);var w=b.tagToContentPropMap[l];if(0!==m||w){if(1===m)return e.push(function(a){c.attributes(a,u,u()),t()}),u();if(2===k){var x=m;return e.push(function(a){c.specialAttribute(a,x,u),t()}),u()}var x=0===m?w:m;return(0===m?d:e).push(function(a){c.attribute(a,x,u),t()}),c.attributePlaceholder}return"<"+q+a.view.hook(k?function(a,b){c.text(a,u,b),t()}:function(a,b){c.html(a,u,b),t()})+">"+f(q)+"</"+q+">"}}),a}(__m19,__m21,__m23,__m10),__m17=function(a){a.view.ext=".mustache";var b="scope",c="___h4sh",d="{scope:"+b+",options:options}",e=b+",options",f=/((([^\s]+?=)?('.*?'|".*?"))|.*?)\s/g,g=/^(('.*?'|".*?"|[0-9]+\.?[0-9]*|true|false|null|undefined)|((.+?)=(('.*?'|".*?"|[0-9]+\.?[0-9]*|true|false)|(.+))))$/,h=function(a){return'{get:"'+a.replace(/"/g,'\\"')+'"}'},i=function(a){return a&&"string"==typeof a.get},j=function(b){return b instanceof a.Map||b&&!!b._get},k=function(a){return a&&a.splice&&"number"==typeof a.length},l=function(b,c,d){return function(e,f){return e===undefined||e instanceof a.view.Scope||(e=c.add(e)),f===undefined||f instanceof o||(f=d.add(f)),b(e,f||d)}};Mustache=function(b){if(this.constructor!=Mustache){var c=new Mustache(b);return function(a,b){return c.render(a,b)}}return"function"==typeof b?(this.template={fn:b},void 0):(a.extend(this,b),this.template=this.scanner.scan(this.text,this.name),void 0)},a.Mustache=window.Mustache=Mustache,Mustache.prototype.render=function(b,c){return b instanceof a.view.Scope||(b=new a.view.Scope(b||{})),c instanceof o||(c=new o(c||{})),c=c||{},this.template.fn.call(b,b,c)},a.extend(Mustache.prototype,{scanner:new a.view.Scanner({text:{start:"",scope:b,options:",options: options",argNames:e},tokens:[["returnLeft","{{{","{{[{&]"],["commentFull","{{!}}","^[\\s\\t]*{{!.+?}}\\n"],["commentLeft","{{!","(\\n[\\s\\t]*{{!|{{!)"],["escapeFull","{{}}","(^[\\s\\t]*{{[#/^][^}]+?}}\\n|\\n[\\s\\t]*{{[#/^][^}]+?}}\\n|\\n[\\s\\t]*{{[#/^][^}]+?}}$)",function(a){return{before:/^\n.+?\n$/.test(a)?"\n":"",content:a.match(/\{\{(.+?)\}\}/)[1]||""}}],["escapeLeft","{{"],["returnRight","}}}"],["right","}}"]],helpers:[{name:/^>[\s]*\w*/,fn:function(b){var c=a.trim(b.replace(/^>\s?/,"")).replace(/["|']/g,"");return"can.Mustache.renderPartial('"+c+"',"+e+")"}},{name:/^\s*data\s/,fn:function(a){var c=a.match(/["|'](.*)["|']/)[1];return"can.proxy(function(__){can.data(can.$(__),'"+c+"', this.attr('.')); }, "+b+")"}},{name:/\s*\(([\$\w]+)\)\s*->([^\n]*)/,fn:function(a){var c=/\s*\(([\$\w]+)\)\s*->([^\n]*)/,d=a.match(c);return"can.proxy(function(__){var "+d[1]+"=can.$(__);with("+b+".attr('.')){"+d[2]+"}}, this);"}},{name:/^.*$/,fn:function(b,i){var j=!1,k=[];if(b=a.trim(b),b.length&&(j=b.match(/^([#^/]|else$)/))){switch(j=j[0]){case"#":case"^":i.specialAttribute?k.push(i.insert+"can.view.onlytxt(this,function(){ return "):k.push(i.insert+"can.view.txt(0,'"+i.tagName+"',"+i.status+",this,function(){ return ");break;case"/":return{raw:'return ___v1ew.join("");}}])}));'}}b=b.substring(1)}if("else"!=j){var l,m=[],n=0;k.push("can.Mustache.txt(\n"+d+",\n"+(j?'"'+j+'"':"null")+",");var m=[],o=[];(a.trim(b)+" ").replace(f,function(a,b){n&&(l=b.match(g))?l[2]?m.push(l[0]):o.push(l[4]+":"+(l[6]?l[6]:h(l[5]))):m.push(h(b)),n++}),k.push(m.join(",")),o.length&&k.push(",{"+c+":{"+o.join(",")+"}}")}switch(j&&"else"!=j&&k.push(",[\n\n"),j){case"#":k.push("{fn:function("+e+"){var ___v1ew = [];");break;case"else":k.push('return ___v1ew.join("");}},\n{inverse:function('+e+"){\nvar ___v1ew = [];");break;case"^":k.push("{inverse:function("+e+"){\nvar ___v1ew = [];");break;default:k.push(")")}return k=k.join(""),j?{raw:k}:k}}]})});for(var m=a.view.Scanner.prototype.helpers,n=0;n<m.length;n++)Mustache.prototype.scanner.helpers.unshift(m[n]);Mustache.txt=function(b,d,e){for(var f,g=b.scope,h=b.options,m=[],n={fn:function(){},inverse:function(){}},o=g.attr("."),p=!0,q=3;q<arguments.length;q++){var r=arguments[q];if(d&&a.isArray(r))n=a.extend.apply(a,[n].concat(r));else if(r&&r[c]){f=r[c];for(var s in f)i(f[s])&&(f[s]=Mustache.get(f[s].get,b))}else r&&i(r)?m.push(Mustache.get(r.get,b,!1,!0)):m.push(r)}if(i(e)){var t=e.get;e=Mustache.get(e.get,b,m.length,!1),p=t===e}if(n.fn=l(n.fn,g,h),n.inverse=l(n.inverse,g,h),u=p&&"string"==typeof e&&Mustache.getHelper(e,h)||a.isFunction(e)&&!e.isComputed&&{fn:e})return a.extend(n,{context:o,scope:g,contexts:g,hash:f}),m.push(n),u.fn.apply(o,m)||"";a.isFunction(e)&&e.isComputed&&(e=e());var q,u,v,r,w=m.length?m:[e],x=!0,y=[];if(d)for(q=0;q<w.length;q++)r=w[q],v="undefined"!=typeof r&&j(r),k(r)?"#"==d?x=x&&!!(v?r.attr("length"):r.length):"^"==d&&(x=x&&!(v?r.attr("length"):r.length)):x="#"==d?x&&!!r:"^"==d?x&&!r:x;if(x)switch(d){case"#":if(k(e)){var z=j(e);for(q=0;q<e.length;q++)y.push(n.fn(e[q])),z&&e.attr(""+q);return y.join("")}return n.fn(e||{})||"";case"^":return n.inverse(e||{})||"";default:return""+(e!=undefined?e:"")}return""},Mustache.get=function(b,c,d,e){var f=c.scope.attr("."),g=c.options||{};if(d){if(Mustache.getHelper(b,g))return b;if(c.scope&&a.isFunction(f[b]))return f[b]}var h=c.scope.computeData(b,{isArgument:e,args:[f,c.scope]}),i=h.compute;a.compute.temporarilyBind(i);var j=h.initialValue;return j!==undefined&&h.scope==c.scope||!Mustache.getHelper(b,g)?i.hasDependencies?i:j:b},Mustache.resolve=function(b){return j(b)&&k(b)&&b.attr("length")?b:a.isFunction(b)?b():b};var o=a.view.Scope.extend({init:function(b){b.helpers||b.partials||(b={helpers:b}),a.view.Scope.prototype.init.apply(this,arguments)}});return Mustache._helpers={},Mustache.registerHelper=function(a,b){this._helpers[a]={name:a,fn:b}},Mustache.getHelper=function(a,b){var c=b.attr("helpers."+a);return c?{fn:c}:this._helpers[a]},Mustache.render=function(b,c){return!a.view.cached[b]&&c.attr("partial")&&(b=c.attr("partial")),a.view.render(b,c)},Mustache.safeString=function(a){return{toString:function(){return a}}},Mustache.renderPartial=function(b,c,d){var e=d.attr("partials."+b);return e?e.render?e.render(c,d):e(c,d):a.Mustache.render(b,c,d)},a.each({"if":function(b,c){var d;return d=a.isFunction(b)?a.compute.truthy(b)():!!Mustache.resolve(b),d?c.fn(c.contexts||this):c.inverse(c.contexts||this)},unless:function(a,b){return Mustache.resolve(a)?void 0:b.fn(b.contexts||this)},each:function(b,c){if(b){if(b.isComputed||j(b)&&"undefined"!=typeof b.attr("length"))return a.view.lists&&a.view.lists(b,function(a,d){var e=function(){var c=Mustache.resolve(b),e=d<c.attr("length")?d:undefined;return c.indexOf(a,e)};return c.fn(c.scope.add({"@index":e}).add(a))});if(b=Mustache.resolve(b),b&&k(b)){for(var d=[],e=0;e<b.length;e++){var f=function(){return e};d.push(c.fn(c.scope.add({"@index":f}).add(b[e])))}return d.join("")}if(j(b)){for(var d=[],g=a.Map.keys(b),e=0;e<g.length;e++){var h=g[e];d.push(c.fn(c.scope.add({"@key":h}).add(b[h])))}return d.join("")}if(b instanceof Object){var d=[];for(var h in b)d.push(c.fn(c.scope.add({"@key":h}).add(b[h])));return d.join("")}}},"with":function(a,b){var c=a;return a=Mustache.resolve(a),a?b.fn(c):void 0},log:function(a,b){console!==undefined&&(b?console.log(a,b.context):console.log(a.context))}},function(a,b){Mustache.registerHelper(b,a)}),a.view.register({suffix:"mustache",contentType:"x-mustache-template",script:function(a,b){return"can.Mustache(function("+e+") { "+new Mustache({text:b,name:a}).template.out+" })"},renderer:function(a,b){return Mustache({text:b,name:a})}}),a}(__m2,__m18,__m19,__m20,__m16,__m22),__m25=function(a){a.view.Scanner.attribute("can-value",function(b,e){var f=e.getAttribute("can-value"),g=b.scope.computeData(f,{args:[]}).compute;if("input"===e.nodeName.toLowerCase()){if("checkbox"===e.type){if(e.hasAttribute("can-true-value"))var h=b.scope.compute(e.getAttribute("can-true-value"));else var h=a.compute(!0);if(e.hasAttribute("can-false-value"))var i=b.scope.compute(e.getAttribute("can-false-value"));else var i=a.compute(!1)}if("checkbox"===e.type||"radio"===e.type)return new d(e,{value:g,trueValue:h,falseValue:i}),void 0}new c(e,{value:g})});var b={enter:function(a,b,c){return{event:"keyup",handler:function(a){return 13==a.keyCode?c.call(this,a):void 0}}}};a.view.Scanner.attribute(/can-[\w\.]+/,function(c,d){var e=c.attr,f=c.attr.substr("can-".length),g=function(b){var f=d.getAttribute(e),g=c.scope.read(f,{returnObserveMethods:!0,isArgument:!0});return g.value.call(g.parent,c.scope._context,a.$(this),b)};if(b[f]){var h=b[f](c,d,g);g=h.handler,f=h.event}a.bind.call(d,f,g)});var c=a.Control.extend({init:function(){"SELECT"===this.element[0].nodeName.toUpperCase()?setTimeout(a.proxy(this.set,this),1):this.set()},"{value} change":"set",set:function(){if(this.element){var a=this.options.value();this.element[0].value="undefined"==typeof a?"":a}},change:function(){this.element&&this.options.value(this.element[0].value)}}),d=a.Control.extend({init:function(){this.isCheckebox="checkbox"==this.element[0].type.toLowerCase(),this.check()},"{value} change":"check","{trueValue} change":"check","{falseValue} change":"check",check:function(){if(this.isCheckebox){{var a=this.options.value(),b=this.options.trueValue()||!0;this.options.falseValue()||!1}this.element[0].checked=a==b}else this.element[0].checked=this.options.value()===this.element[0].value?!0:!1},change:function(){this.isCheckebox?this.options.value(this.element[0].checked?this.options.trueValue():this.options.falseValue()):this.element[0].checked&&this.options.value(this.element[0].value)}})}(__m2,__m17,__m8),__m1=function(a){var b=/dataViewId|class|id/i,c=a.Component=a.Construct.extend({setup:function(){if(a.Construct.setup.apply(this,arguments),a.Component){var b=this;this.Control=a.Control.extend({_lookup:function(a){return[a.scope,a,window]}},a.extend({setup:function(b,c){var d=a.Control.prototype.setup.call(this,b,c);this.scope=c.scope;var e=this;return this.on(this.scope,"change",function(){e.on(),e.on(e.scope,"change",arguments.callee)}),d}},this.prototype.events));var c={};if(a.each(this.prototype.scope,function(a,b){"@"===a&&(c[b]=b)}),this.attributeScopeMappings=c,this.prototype.scope&&"object"!=typeof this.prototype.scope?this.prototype.scope.prototype instanceof a.Map&&(this.Map=this.prototype.scope):this.Map=a.Map.extend(this.prototype.scope||{}),this.prototype.template)if("function"==typeof this.prototype.template){var d=this.prototype.template;this.renderer=function(){return a.view.frag(d.apply(null,arguments))}}else this.renderer=a.view.mustache(this.prototype.template);a.view.Scanner.tag(this.prototype.tag,function(a,c){new b(a,c)})}}},{setup:function(c,d){var e,f,g={},h=this,i={};if(a.each(this.constructor.attributeScopeMappings,function(b,d){g[d]=c.getAttribute(a.hyphenate(b))}),a.each(a.makeArray(c.attributes),function(j){var k=a.camelize(j.nodeName.toLowerCase()),l=j.value;if(!h.constructor.attributeScopeMappings[k]&&!b.test(k)){var m=d.scope.computeData(l,{args:[]}),n=m.compute,o=function(a,b){e=k,f.attr(k,b),e=null};n.bind("change",o),g[k]=n(),n.hasDependencies?(a.bind.call(c,"removed",function(){n.unbind("change",o)}),i[k]=m):n.unbind("change",o)}}),this.constructor.Map)f=new this.constructor.Map(g);else if(this.scope instanceof a.Map)f=this.scope;else if(a.isFunction(this.scope)){var j=this.scope(g,d.scope,c);f=j instanceof a.Map?j:j.prototype instanceof a.Map?new j(g):new(a.Map.extend(j))(g)}var k={};a.each(i,function(a,b){k[b]=function(c,d){e!==b&&a.compute(d)},f.bind(b,k[b])}),a.bind.call(c,"removed",function(){a.each(k,function(a,b){f.unbind(b,k[b])})}),this.scope=f,a.data(a.$(c),"scope",this.scope);var l=d.scope.add(this.scope),m={};if(a.each(this.helpers||{},function(b,c){a.isFunction(b)&&(m[c]=function(){return b.apply(f,arguments)})}),this._control=new this.constructor.Control(c,{scope:this.scope}),this.constructor.renderer){m._tags||(m._tags={}),m._tags.content=function(b,c){var e=d.subtemplate||c.subtemplate;if(e){var f=a.view.frag(e(c.scope,c.options.add(m)));a.insertBefore(b.parentNode,f,b),a.remove(a.$(b))}};var n=this.constructor.renderer(l,m)}else var n=a.view.frag(d.subtemplate?d.subtemplate(l,d.options.add(m)):"");a.appendChild(c,n)}});return window.$&&$.fn&&($.fn.scope=function(a){return a?this.data("scope").attr(a):this.data("scope")}),a.scope=function(b,c){var b=a.$(b);return c?a.data(b,"scope").attr(c):a.data(b,"scope")},c}(__m2,__m8,__m11,__m17,__m25),__m26=function(a){var b=function(b,c,d){var e=new a.Deferred;return b.then(function(){var b=a.makeArray(arguments),f=!0;try{b[0]=c[d](b[0])}catch(g){f=!1,e.rejectWith(e,[g].concat(b))}f&&e.resolveWith(e,b)},function(){e.rejectWith(this,arguments)}),"function"==typeof b.abort&&(e.abort=function(){return b.abort()}),e},c=0,d=function(b){return a.__reading&&a.__reading(b,b.constructor.id),b.__get(b.constructor.id)},e=function(b,c,d,e,f,g){var h={};if("string"==typeof b){var i=b.split(/\s+/);h.url=i.pop(),i.length&&(h.type=i.pop())}else a.extend(h,b);return h.data="object"!=typeof c||a.isArray(c)?c:a.extend(h.data||{},c),h.url=a.sub(h.url,h.data,!0),a.ajax(a.extend({type:d||"post",dataType:e||"json",success:f,error:g},h))},f=function(b,c,e,f,g){var h;a.isArray(b)?(h=b[1],b=b[0]):h=b.serialize(),h=[h];var i,j,k=b.constructor;return"create"!==c&&h.unshift(d(b)),j=k[c].apply(k,h),i=j.pipe(function(a){return b[g||c+"d"](a,j),b}),j.abort&&(i.abort=function(){j.abort()}),i.then(e,f),i},g={models:function(b){return function(c,d){if(a.Model._reqs++,c){if(c instanceof this.List)return c;var e=this,f=[],g=d instanceof a.List?d:new(e.List||j),h=a.isArray(c),i=c instanceof j,k=h?c:i?c.serialize():a.getObject(b||"data",c);if("undefined"==typeof k)throw new Error("Could not get any raw data while converting using .models");return g.length&&g.splice(0),a.each(k,function(a){f.push(e.model(a))}),g.push.apply(g,f),h||a.each(c,function(a,b){"data"!==b&&g.attr(b,a)}),setTimeout(a.proxy(this._clean,this),1),g}}},model:function(b){return function(c){if(c){"function"==typeof c.serialize&&(c=c.serialize()),b&&(c=a.getObject(b||"data",c));var d=c[this.id],e=(d||0===d)&&this.store[d]?this.store[d].attr(c,this.removeAttr||!1):new this(c);return e}}}},h={create:{url:"_shortName",type:"post"},update:{data:function(b,c){c=c||{};var d=this.id;return c[d]&&c[d]!==b&&(c["new"+a.capitalize(b)]=c[d],delete c[d]),c[d]=b,c},type:"put"},destroy:{type:"delete",data:function(a,b){return b=b||{},b.id=b[this.id]=a,b}},findAll:{url:"_shortName"},findOne:{}},i=function(a,b){return function(c){return c=a.data?a.data.apply(this,arguments):c,e(b||this[a.url||"_url"],c,a.type||"get")}};a.Model=a.Map({fullName:"can.Model",_reqs:0,setup:function(b){if(this.store={},a.Map.setup.apply(this,arguments),a.Model){this.List=j({Map:this},{});var d=this,e=a.proxy(this._clean,d);a.each(h,function(c,f){if(a.isFunction(d[f])||(d[f]=i(c,d[f])),d["make"+a.capitalize(f)]){var g=d["make"+a.capitalize(f)](d[f]);a.Construct._overwrite(d,b,f,function(){a.Model._reqs++;var b=g.apply(this,arguments),c=b.then(e,e);return c.abort=b.abort,c})}}),a.each(g,function(c,e){"string"==typeof d[e]&&a.Construct._overwrite(d,b,e,c(d[e]))}),"can.Model"!=d.fullName&&d.fullName||(d.fullName="Model"+ ++c),a.Model._reqs=0,this._url=this._shortName+"/{"+this.id+"}"}},_ajax:i,_makeRequest:f,_clean:function(){if(a.Model._reqs--,!a.Model._reqs)for(var b in this.store)this.store[b]._bindings||delete this.store[b];return arguments[0]},models:g.models("data"),model:g.model()},{setup:function(b){var c=b&&b[this.constructor.id];a.Model._reqs&&null!=c&&(this.constructor.store[c]=this),a.Map.prototype.setup.apply(this,arguments)},isNew:function(){var a=d(this);return!(a||0===a)},save:function(a,b){return f(this,this.isNew()?"create":"update",a,b)},destroy:function(b,c){if(this.isNew()){var d=this,e=a.Deferred();return e.then(b,c),e.done(function(a){d.destroyed(a)}).resolve(d)}return f(this,"destroy",b,c,"destroyed")},_bindsetup:function(){return this.constructor.store[this.__get(this.constructor.id)]=this,a.Map.prototype._bindsetup.apply(this,arguments)},_bindteardown:function(){return delete this.constructor.store[d(this)],a.Map.prototype._bindteardown.apply(this,arguments)},___set:function(b,c){a.Map.prototype.___set.call(this,b,c),b===this.constructor.id&&this._bindings&&(this.constructor.store[d(this)]=this)}}),a.each({makeFindAll:"models",makeFindOne:"model",makeCreate:"model",makeUpdate:"model"},function(c,d){a.Model[d]=function(d){return function(){var e=a.makeArray(arguments),f=a.isFunction(e[1])?e.splice(0,1):e.splice(0,2),g=b(d.apply(this,f),this,c);return g.then(e[0],e[1]),g}}}),a.each(["created","updated","destroyed"],function(b){a.Model.prototype[b]=function(c){var d,e=this.constructor;d=c&&"object"==typeof c&&this.attr(c.attr?c.attr():c),a.trigger(this,"change",b),a.trigger(e,b,this)}});var j=a.Model.List=a.List({setup:function(b){a.isPlainObject(b)&&!a.isArray(b)?(a.List.prototype.setup.apply(this),this.replace(this.constructor.Map.findAll(b))):a.List.prototype.setup.apply(this,arguments)},_changes:function(b,c){if(a.List.prototype._changes.apply(this,arguments),/\w+\.destroyed/.test(c)){var d=this.indexOf(b.target);-1!=d&&this.splice(d,1)}}});return a.Model}(__m2,__m12,__m15),__m28=function(a){var b=/^\d+$/,c=/([^\[\]]+)|(\[\])/g,d=/([^?#]*)(#.*)?$/,e=function(a){return decodeURIComponent(a.replace(/\+/g," "))};return a.extend(a,{deparam:function(f){var g,h,i={};return f&&d.test(f)&&(g=f.split("&"),a.each(g,function(a){var d=a.split("="),f=e(d.shift()),g=e(d.join("=")),j=i;if(f){d=f.match(c);for(var k=0,l=d.length-1;l>k;k++)j[d[k]]||(j[d[k]]=b.test(d[k+1])||"[]"==d[k+1]?[]:{}),j=j[d[k]];h=d.pop(),"[]"==h?j.push(g):j[h]=g}})),i}}),a}(__m2,__m10),__m27=function(a){var b,c,d,e,f=/\:([\w\.]+)/g,g=/^(?:&[^=]+=[^&]*)+/,h=function(b){var c=[];return a.each(b,function(b,d){c.push(("className"===d?"class":d)+'="'+("href"===d?b:a.esc(b))+'"')}),c.join(" ")},i=function(a,b){var c=0,d=0,e={};for(var f in a.defaults)a.defaults[f]===b[f]&&(e[f]=1,c++);for(;d<a.names.length;d++){if(!b.hasOwnProperty(a.names[d]))return-1;e[a.names[d]]||c++}return c},j=window.location,k=function(a){return(a+"").replace(/([.?*+\^$\[\]\\(){}|\-])/g,"\\$1")},l=a.each,m=a.extend,n=function(b){return b&&"object"==typeof b?(b=b instanceof a.Map?b.attr():a.isFunction(b.slice)?b.slice():a.extend({},b),a.each(b,function(a,c){b[c]=n(a)})):b!==undefined&&null!==b&&a.isFunction(b.toString)&&(b=b.toString()),b},o=function(a){return a.replace(/\\/g,"")},p=function(){e=1,clearTimeout(b),b=setTimeout(function(){e=0;var b=a.route.data.serialize(),c=a.route.param(b,!0);a.route._call("setURL",c),d=c},10)};a.route=function(b,c){var d=a.route._call("root");d.lastIndexOf("/")==d.length-1&&0===b.indexOf("/")&&(b=b.substr(1)),c=c||{};for(var e,g,h=[],i="",j=f.lastIndex=0,l=a.route._call("querySeparator");e=f.exec(b);)h.push(e[1]),i+=o(b.substring(j,f.lastIndex-e[0].length)),g="\\"+(o(b.substr(f.lastIndex,1))||l),i+="([^"+g+"]"+(c[e[1]]?"*":"+")+")",j=f.lastIndex;return i+=b.substr(j).replace("\\",""),a.route.routes[b]={test:new RegExp("^"+i+"($|"+k(l)+")"),route:b,names:h,defaults:c,length:b.split("/").length},a.route},m(a.route,{param:function(b,c){var d,e,g=0,h=b.route,j=0;if(delete b.route,l(b,function(){j++}),l(a.route.routes,function(a){return e=i(a,b),e>g&&(d=a,g=e),e>=j?!1:void 0}),a.route.routes[h]&&i(a.route.routes[h],b)===g&&(d=a.route.routes[h]),d){var k,n=m({},b),o=d.route.replace(f,function(a,c){return delete n[c],b[c]===d.defaults[c]?"":encodeURIComponent(b[c])}).replace("\\","");return l(d.defaults,function(a,b){n[b]===a&&delete n[b]}),k=a.param(n),c&&a.route.attr("route",d.route),o+(k?a.route._call("querySeparator")+k:"")}return a.isEmptyObject(b)?"":a.route._call("querySeparator")+a.param(b)},deparam:function(b){var c=a.route._call("root");c.lastIndexOf("/")==c.length-1&&0===b.indexOf("/")&&(b=b.substr(1));var d={length:-1},e=a.route._call("querySeparator"),f=a.route._call("paramsMatcher");if(l(a.route.routes,function(a){a.test.test(b)&&a.length>d.length&&(d=a)}),d.length>-1){var g=b.match(d.test),h=g.shift(),i=b.substr(h.length-(g[g.length-1]===e?1:0)),j=i&&f.test(i)?a.deparam(i.slice(1)):{};return j=m(!0,{},d.defaults,j),l(g,function(a,b){a&&a!==e&&(j[d.names[b]]=decodeURIComponent(a))}),j.route=d.route,j}return b.charAt(0)!==e&&(b=e+b),f.test(b)?a.deparam(b.slice(1)):{}},data:new a.Map({}),routes:{},ready:function(b){return b!==!0&&(a.route._setup(),a.route.setState()),a.route},url:function(b,c){return c&&(b=a.extend({},a.route.deparam(a.route._call("matchingPartOfURL")),b)),a.route._call("root")+a.route.param(b)},link:function(b,c,d,e){return"<a "+h(m({href:a.route.url(c,e)},d))+">"+b+"</a>"},current:function(b){return this._call("matchingPartOfURL")===a.route.param(b)},bindings:{hashchange:{paramsMatcher:g,querySeparator:"&",bind:function(){a.bind.call(window,"hashchange",q)},unbind:function(){a.unbind.call(window,"hashchange",q)},matchingPartOfURL:function(){return j.href.split(/#!?/)[1]||""},setURL:function(a){return j.hash="#!"+a,a},root:"#!"}},defaultBinding:"hashchange",currentBinding:null,_setup:function(){a.route.currentBinding||(a.route._call("bind"),a.route.bind("change",p),a.route.currentBinding=a.route.defaultBinding)},_teardown:function(){a.route.currentBinding&&(a.route._call("unbind"),a.route.unbind("change",p),a.route.currentBinding=null),clearTimeout(b),e=0},_call:function(){var b=a.makeArray(arguments),c=b.shift(),d=a.route.bindings[a.route.currentBinding||a.route.defaultBinding];return method=d[c],"function"==typeof method?method.apply(d,b):method}}),l(["bind","unbind","on","off","delegate","undelegate","removeAttr","compute","_get","__get"],function(b){a.route[b]=function(){return a.route.data[b]?a.route.data[b].apply(a.route.data,arguments):void 0
}}),a.route.attr=function(b,c){var d,e=typeof b;return d=c===undefined?arguments:"string"!==e&&"number"!==e?[n(b),c]:[b,n(c)],a.route.data.attr.apply(a.route.data,d)};var q=a.route.setState=function(){var b=a.route._call("matchingPartOfURL");c=a.route.deparam(b),e&&b===d||a.route.attr(c,!0)};return a.route}(__m2,__m12,__m28),__m29=function(a){return a.Control.processors.route=function(b,c,d,e,f){d=d||"",a.route.routes[d]||a.route(d);var g,h=function(b){if(a.route.attr("route")===d&&(b.batchNum===undefined||b.batchNum!==g)){g=b.batchNum;var c=a.route.attr();delete c.route,a.isFunction(f[e])?f[e](c):f[f[e]](c)}};return a.route.bind("change",h),function(){a.route.unbind("change",h)}},a}(__m2,__m27,__m8);window.can=__m4}();