flipper-ui 0.2.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/.rspec +1 -0
  4. data/Gemfile +17 -0
  5. data/Guardfile +26 -0
  6. data/LICENSE +22 -0
  7. data/README.md +101 -0
  8. data/Rakefile +7 -0
  9. data/examples/basic.ru +44 -0
  10. data/examples/flipper.html +14 -0
  11. data/examples/flipper.png +0 -0
  12. data/flipper-ui.gemspec +21 -0
  13. data/lib/flipper-ui.rb +1 -0
  14. data/lib/flipper/ui.rb +23 -0
  15. data/lib/flipper/ui/action.rb +172 -0
  16. data/lib/flipper/ui/action_collection.rb +20 -0
  17. data/lib/flipper/ui/actions/features.rb +21 -0
  18. data/lib/flipper/ui/actions/file.rb +17 -0
  19. data/lib/flipper/ui/actions/gate.rb +143 -0
  20. data/lib/flipper/ui/actions/index.rb +17 -0
  21. data/lib/flipper/ui/assets/javascripts/application.coffee +305 -0
  22. data/lib/flipper/ui/assets/javascripts/spine/ajax.coffee +223 -0
  23. data/lib/flipper/ui/assets/javascripts/spine/list.coffee +43 -0
  24. data/lib/flipper/ui/assets/javascripts/spine/local.coffee +16 -0
  25. data/lib/flipper/ui/assets/javascripts/spine/manager.coffee +83 -0
  26. data/lib/flipper/ui/assets/javascripts/spine/relation.coffee +148 -0
  27. data/lib/flipper/ui/assets/javascripts/spine/route.coffee +146 -0
  28. data/lib/flipper/ui/assets/javascripts/spine/spine.coffee +542 -0
  29. data/lib/flipper/ui/assets/javascripts/spine/version +1 -0
  30. data/lib/flipper/ui/assets/stylesheets/application.scss +237 -0
  31. data/lib/flipper/ui/decorators/feature.rb +37 -0
  32. data/lib/flipper/ui/decorators/gate.rb +36 -0
  33. data/lib/flipper/ui/error.rb +10 -0
  34. data/lib/flipper/ui/eruby.rb +11 -0
  35. data/lib/flipper/ui/middleware.rb +66 -0
  36. data/lib/flipper/ui/public/css/application.css +183 -0
  37. data/lib/flipper/ui/public/css/images/animated-overlay.gif +0 -0
  38. data/lib/flipper/ui/public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  39. data/lib/flipper/ui/public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  40. data/lib/flipper/ui/public/css/images/ui-bg_flat_10_000000_40x100.png +0 -0
  41. data/lib/flipper/ui/public/css/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  42. data/lib/flipper/ui/public/css/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  43. data/lib/flipper/ui/public/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  44. data/lib/flipper/ui/public/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  45. data/lib/flipper/ui/public/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  46. data/lib/flipper/ui/public/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  47. data/lib/flipper/ui/public/css/images/ui-icons_222222_256x240.png +0 -0
  48. data/lib/flipper/ui/public/css/images/ui-icons_228ef1_256x240.png +0 -0
  49. data/lib/flipper/ui/public/css/images/ui-icons_ef8c08_256x240.png +0 -0
  50. data/lib/flipper/ui/public/css/images/ui-icons_ffd27a_256x240.png +0 -0
  51. data/lib/flipper/ui/public/css/images/ui-icons_ffffff_256x240.png +0 -0
  52. data/lib/flipper/ui/public/css/jquery-ui-1.10.3.slider.min.css +5 -0
  53. data/lib/flipper/ui/public/images/logo.png +0 -0
  54. data/lib/flipper/ui/public/images/remove.png +0 -0
  55. data/lib/flipper/ui/public/js/application.js +544 -0
  56. data/lib/flipper/ui/public/js/handlebars.js +1992 -0
  57. data/lib/flipper/ui/public/js/jquery-ui-1.10.3.slider.min.js +6 -0
  58. data/lib/flipper/ui/public/js/jquery.js +9555 -0
  59. data/lib/flipper/ui/public/js/jquery.min.js +4 -0
  60. data/lib/flipper/ui/public/js/jquery.min.map +1 -0
  61. data/lib/flipper/ui/public/js/spine/ajax.js +320 -0
  62. data/lib/flipper/ui/public/js/spine/list.js +72 -0
  63. data/lib/flipper/ui/public/js/spine/local.js +29 -0
  64. data/lib/flipper/ui/public/js/spine/manager.js +157 -0
  65. data/lib/flipper/ui/public/js/spine/relation.js +260 -0
  66. data/lib/flipper/ui/public/js/spine/route.js +223 -0
  67. data/lib/flipper/ui/public/js/spine/spine.js +927 -0
  68. data/lib/flipper/ui/util.rb +12 -0
  69. data/lib/flipper/ui/version.rb +5 -0
  70. data/lib/flipper/ui/views/index.erb +9 -0
  71. data/lib/flipper/ui/views/layout.erb +161 -0
  72. data/script/bootstrap +21 -0
  73. data/script/server +19 -0
  74. data/script/test +30 -0
  75. data/spec/flipper/ui/decorators/feature_spec.rb +59 -0
  76. data/spec/flipper/ui/decorators/gate_spec.rb +47 -0
  77. data/spec/flipper/ui/util_spec.rb +18 -0
  78. data/spec/flipper/ui_spec.rb +470 -0
  79. data/spec/helper.rb +35 -0
  80. metadata +168 -0
@@ -0,0 +1,4 @@
1
+ /*! jQuery v1.9.0 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license */(function(e,t){"use strict";function n(e){var t=e.length,n=st.type(e);return st.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e){var t=Tt[e]={};return st.each(e.match(lt)||[],function(e,n){t[n]=!0}),t}function i(e,n,r,i){if(st.acceptData(e)){var o,a,s=st.expando,u="string"==typeof n,l=e.nodeType,c=l?st.cache:e,f=l?e[s]:e[s]&&s;if(f&&c[f]&&(i||c[f].data)||!u||r!==t)return f||(l?e[s]=f=K.pop()||st.guid++:f=s),c[f]||(c[f]={},l||(c[f].toJSON=st.noop)),("object"==typeof n||"function"==typeof n)&&(i?c[f]=st.extend(c[f],n):c[f].data=st.extend(c[f].data,n)),o=c[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[st.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[st.camelCase(n)])):a=o,a}}function o(e,t,n){if(st.acceptData(e)){var r,i,o,a=e.nodeType,u=a?st.cache:e,l=a?e[st.expando]:st.expando;if(u[l]){if(t&&(r=n?u[l]:u[l].data)){st.isArray(t)?t=t.concat(st.map(t,st.camelCase)):t in r?t=[t]:(t=st.camelCase(t),t=t in r?[t]:t.split(" "));for(i=0,o=t.length;o>i;i++)delete r[t[i]];if(!(n?s:st.isEmptyObject)(r))return}(n||(delete u[l].data,s(u[l])))&&(a?st.cleanData([e],!0):st.support.deleteExpando||u!=u.window?delete u[l]:u[l]=null)}}}function a(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(Nt,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:wt.test(r)?st.parseJSON(r):r}catch(o){}st.data(e,n,r)}else r=t}return r}function s(e){var t;for(t in e)if(("data"!==t||!st.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function u(){return!0}function l(){return!1}function c(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function f(e,t,n){if(t=t||0,st.isFunction(t))return st.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return st.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=st.grep(e,function(e){return 1===e.nodeType});if(Wt.test(t))return st.filter(t,r,!n);t=st.filter(t,r)}return st.grep(e,function(e){return st.inArray(e,t)>=0===n})}function p(e){var t=zt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function d(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function h(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function g(e){var t=nn.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function m(e,t){for(var n,r=0;null!=(n=e[r]);r++)st._data(n,"globalEval",!t||st._data(t[r],"globalEval"))}function y(e,t){if(1===t.nodeType&&st.hasData(e)){var n,r,i,o=st._data(e),a=st._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)st.event.add(t,n,s[n][r])}a.data&&(a.data=st.extend({},a.data))}}function v(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!st.support.noCloneEvent&&t[st.expando]){r=st._data(t);for(i in r.events)st.removeEvent(t,i,r.handle);t.removeAttribute(st.expando)}"script"===n&&t.text!==e.text?(h(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),st.support.html5Clone&&e.innerHTML&&!st.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Zt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var r,i,o=0,a=e.getElementsByTagName!==t?e.getElementsByTagName(n||"*"):e.querySelectorAll!==t?e.querySelectorAll(n||"*"):t;if(!a)for(a=[],r=e.childNodes||e;null!=(i=r[o]);o++)!n||st.nodeName(i,n)?a.push(i):st.merge(a,b(i,n));return n===t||n&&st.nodeName(e,n)?st.merge([e],a):a}function x(e){Zt.test(e.type)&&(e.defaultChecked=e.checked)}function T(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Nn.length;i--;)if(t=Nn[i]+n,t in e)return t;return r}function w(e,t){return e=t||e,"none"===st.css(e,"display")||!st.contains(e.ownerDocument,e)}function N(e,t){for(var n,r=[],i=0,o=e.length;o>i;i++)n=e[i],n.style&&(r[i]=st._data(n,"olddisplay"),t?(r[i]||"none"!==n.style.display||(n.style.display=""),""===n.style.display&&w(n)&&(r[i]=st._data(n,"olddisplay",S(n.nodeName)))):r[i]||w(n)||st._data(n,"olddisplay",st.css(n,"display")));for(i=0;o>i;i++)n=e[i],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?r[i]||"":"none"));return e}function C(e,t,n){var r=mn.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function k(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;4>o;o+=2)"margin"===n&&(a+=st.css(e,n+wn[o],!0,i)),r?("content"===n&&(a-=st.css(e,"padding"+wn[o],!0,i)),"margin"!==n&&(a-=st.css(e,"border"+wn[o]+"Width",!0,i))):(a+=st.css(e,"padding"+wn[o],!0,i),"padding"!==n&&(a+=st.css(e,"border"+wn[o]+"Width",!0,i)));return a}function E(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=ln(e),a=st.support.boxSizing&&"border-box"===st.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=un(e,t,o),(0>i||null==i)&&(i=e.style[t]),yn.test(i))return i;r=a&&(st.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+k(e,t,n||(a?"border":"content"),r,o)+"px"}function S(e){var t=V,n=bn[e];return n||(n=A(e,t),"none"!==n&&n||(cn=(cn||st("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(cn[0].contentWindow||cn[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=A(e,t),cn.detach()),bn[e]=n),n}function A(e,t){var n=st(t.createElement(e)).appendTo(t.body),r=st.css(n[0],"display");return n.remove(),r}function j(e,t,n,r){var i;if(st.isArray(t))st.each(t,function(t,i){n||kn.test(e)?r(e,i):j(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==st.type(t))r(e,t);else for(i in t)j(e+"["+i+"]",t[i],n,r)}function D(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(lt)||[];if(st.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function L(e,n,r,i){function o(u){var l;return a[u]=!0,st.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||s||a[c]?s?!(l=c):t:(n.dataTypes.unshift(c),o(c),!1)}),l}var a={},s=e===$n;return o(n.dataTypes[0])||!a["*"]&&o("*")}function H(e,n){var r,i,o=st.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((o[r]?e:i||(i={}))[r]=n[r]);return i&&st.extend(!0,e,i),e}function M(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(o in c)o in r&&(n[c[o]]=r[o]);for(;"*"===l[0];)l.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("Content-Type"));if(i)for(o in u)if(u[o]&&u[o].test(i)){l.unshift(o);break}if(l[0]in r)a=l[0];else{for(o in r){if(!l[0]||e.converters[o+" "+l[0]]){a=o;break}s||(s=o)}a=a||s}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function q(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=u[++s];)if("*"!==i){if("*"!==l&&l!==i){if(n=a[l+" "+i]||a["* "+i],!n)for(r in a)if(o=r.split(" "),o[1]===i&&(n=a[l+" "+o[0]]||a["* "+o[0]])){n===!0?n=a[r]:a[r]!==!0&&(i=o[0],u.splice(s--,0,i));break}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(c){return{state:"parsererror",error:n?c:"No conversion from "+l+" to "+i}}}l=i}return{state:"success",data:t}}function _(){try{return new e.XMLHttpRequest}catch(t){}}function F(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function O(){return setTimeout(function(){Qn=t}),Qn=st.now()}function B(e,t){st.each(t,function(t,n){for(var r=(rr[t]||[]).concat(rr["*"]),i=0,o=r.length;o>i;i++)if(r[i].call(e,t,n))return})}function P(e,t,n){var r,i,o=0,a=nr.length,s=st.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Qn||O(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:st.extend({},t),opts:st.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Qn||O(),duration:n.duration,tweens:[],createTween:function(t,n){var r=st.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(R(c,l.opts.specialEasing);a>o;o++)if(r=nr[o].call(l,e,c,l.opts))return r;return B(l,c),st.isFunction(l.opts.start)&&l.opts.start.call(e,l),st.fx.timer(st.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function R(e,t){var n,r,i,o,a;for(n in e)if(r=st.camelCase(n),i=t[r],o=e[n],st.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=st.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function W(e,t,n){var r,i,o,a,s,u,l,c,f,p=this,d=e.style,h={},g=[],m=e.nodeType&&w(e);n.queue||(c=st._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,f=c.empty.fire,c.empty.fire=function(){c.unqueued||f()}),c.unqueued++,p.always(function(){p.always(function(){c.unqueued--,st.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===st.css(e,"display")&&"none"===st.css(e,"float")&&(st.support.inlineBlockNeedsLayout&&"inline"!==S(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",st.support.shrinkWrapBlocks||p.done(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(r in t)if(o=t[r],Zn.exec(o)){if(delete t[r],u=u||"toggle"===o,o===(m?"hide":"show"))continue;g.push(r)}if(a=g.length){s=st._data(e,"fxshow")||st._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?st(e).show():p.done(function(){st(e).hide()}),p.done(function(){var t;st._removeData(e,"fxshow");for(t in h)st.style(e,t,h[t])});for(r=0;a>r;r++)i=g[r],l=p.createTween(i,m?s[i]:0),h[i]=s[i]||st.style(e,i),i in s||(s[i]=l.start,m&&(l.end=l.start,l.start="width"===i||"height"===i?1:0))}}function $(e,t,n,r,i){return new $.prototype.init(e,t,n,r,i)}function I(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=wn[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function z(e){return st.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var X,U,V=e.document,Y=e.location,J=e.jQuery,G=e.$,Q={},K=[],Z="1.9.0",et=K.concat,tt=K.push,nt=K.slice,rt=K.indexOf,it=Q.toString,ot=Q.hasOwnProperty,at=Z.trim,st=function(e,t){return new st.fn.init(e,t,X)},ut=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,lt=/\S+/g,ct=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ft=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,pt=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,dt=/^[\],:{}\s]*$/,ht=/(?:^|:|,)(?:\s*\[)+/g,gt=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,mt=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,yt=/^-ms-/,vt=/-([\da-z])/gi,bt=function(e,t){return t.toUpperCase()},xt=function(){V.addEventListener?(V.removeEventListener("DOMContentLoaded",xt,!1),st.ready()):"complete"===V.readyState&&(V.detachEvent("onreadystatechange",xt),st.ready())};st.fn=st.prototype={jquery:Z,constructor:st,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ft.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof st?n[0]:n,st.merge(this,st.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:V,!0)),pt.test(i[1])&&st.isPlainObject(n))for(i in n)st.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=V.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=V,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):st.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),st.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return nt.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=st.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return st.each(this,e,t)},ready:function(e){return st.ready.promise().done(e),this},slice:function(){return this.pushStack(nt.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(st.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:tt,sort:[].sort,splice:[].splice},st.fn.init.prototype=st.fn,st.extend=st.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||st.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(e=arguments[u]))for(n in e)r=s[n],i=e[n],s!==i&&(c&&i&&(st.isPlainObject(i)||(o=st.isArray(i)))?(o?(o=!1,a=r&&st.isArray(r)?r:[]):a=r&&st.isPlainObject(r)?r:{},s[n]=st.extend(c,a,i)):i!==t&&(s[n]=i));return s},st.extend({noConflict:function(t){return e.$===st&&(e.$=G),t&&e.jQuery===st&&(e.jQuery=J),st},isReady:!1,readyWait:1,holdReady:function(e){e?st.readyWait++:st.ready(!0)},ready:function(e){if(e===!0?!--st.readyWait:!st.isReady){if(!V.body)return setTimeout(st.ready);st.isReady=!0,e!==!0&&--st.readyWait>0||(U.resolveWith(V,[st]),st.fn.trigger&&st(V).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===st.type(e)},isArray:Array.isArray||function(e){return"array"===st.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?Q[it.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==st.type(e)||e.nodeType||st.isWindow(e))return!1;try{if(e.constructor&&!ot.call(e,"constructor")&&!ot.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||ot.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||V;var r=pt.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=st.buildFragment([e],t,i),i&&st(i).remove(),st.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=st.trim(n),n&&dt.test(n.replace(gt,"@").replace(mt,"]").replace(ht,"")))?Function("return "+n)():(st.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||st.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&st.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(yt,"ms-").replace(vt,bt)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,r){var i,o=0,a=e.length,s=n(e);if(r){if(s)for(;a>o&&(i=t.apply(e[o],r),i!==!1);o++);else for(o in e)if(i=t.apply(e[o],r),i===!1)break}else if(s)for(;a>o&&(i=t.call(e[o],o,e[o]),i!==!1);o++);else for(o in e)if(i=t.call(e[o],o,e[o]),i===!1)break;return e},trim:at&&!at.call("\ufeff\u00a0")?function(e){return null==e?"":at.call(e)}:function(e){return null==e?"":(e+"").replace(ct,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?st.merge(r,"string"==typeof e?[e]:e):tt.call(r,e)),r},inArray:function(e,t,n){var r;if(t){if(rt)return rt.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else for(;n[o]!==t;)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,r){var i,o=0,a=e.length,s=n(e),u=[];if(s)for(;a>o;o++)i=t(e[o],o,r),null!=i&&(u[u.length]=i);else for(o in e)i=t(e[o],o,r),null!=i&&(u[u.length]=i);return et.apply([],u)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(r=e[n],n=e,e=r),st.isFunction(e)?(i=nt.call(arguments,2),o=function(){return e.apply(n||this,i.concat(nt.call(arguments)))},o.guid=e.guid=e.guid||st.guid++,o):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===st.type(r)){o=!0;for(u in r)st.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,st.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(st(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),st.ready.promise=function(t){if(!U)if(U=st.Deferred(),"complete"===V.readyState)setTimeout(st.ready);else if(V.addEventListener)V.addEventListener("DOMContentLoaded",xt,!1),e.addEventListener("load",st.ready,!1);else{V.attachEvent("onreadystatechange",xt),e.attachEvent("onload",st.ready);var n=!1;try{n=null==e.frameElement&&V.documentElement}catch(r){}n&&n.doScroll&&function i(){if(!st.isReady){try{n.doScroll("left")}catch(e){return setTimeout(i,50)}st.ready()}}()}return U.promise(t)},st.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Q["[object "+t+"]"]=t.toLowerCase()}),X=st(V);var Tt={};st.Callbacks=function(e){e="string"==typeof e?Tt[e]||r(e):st.extend({},e);var n,i,o,a,s,u,l=[],c=!e.once&&[],f=function(t){for(n=e.memory&&t,i=!0,u=a||0,a=0,s=l.length,o=!0;l&&s>u;u++)if(l[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}o=!1,l&&(c?c.length&&f(c.shift()):n?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function r(t){st.each(t,function(t,n){var i=st.type(n);"function"===i?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==i&&r(n)})})(arguments),o?s=l.length:n&&(a=t,f(n))}return this},remove:function(){return l&&st.each(arguments,function(e,t){for(var n;(n=st.inArray(t,l,n))>-1;)l.splice(n,1),o&&(s>=n&&s--,u>=n&&u--)}),this},has:function(e){return st.inArray(e,l)>-1},empty:function(){return l=[],this},disable:function(){return l=c=n=t,this},disabled:function(){return!l},lock:function(){return c=t,n||p.disable(),this},locked:function(){return!c},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!c||(o?c.push(t):f(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},st.extend({Deferred:function(e){var t=[["resolve","done",st.Callbacks("once memory"),"resolved"],["reject","fail",st.Callbacks("once memory"),"rejected"],["notify","progress",st.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return st.Deferred(function(n){st.each(t,function(t,o){var a=o[0],s=st.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&st.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?st.extend(e,r):r}},i={};return r.pipe=r.then,st.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=nt.call(arguments),a=o.length,s=1!==a||e&&st.isFunction(e.promise)?a:0,u=1===s?e:st.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?nt.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=Array(a),n=Array(a),r=Array(a);a>i;i++)o[i]&&st.isFunction(o[i].promise)?o[i].promise().done(l(i,r,o)).fail(u.reject).progress(l(i,n,t)):--s;return s||u.resolveWith(r,o),u.promise()}}),st.support=function(){var n,r,i,o,a,s,u,l,c,f,p=V.createElement("div");if(p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",r=p.getElementsByTagName("*"),i=p.getElementsByTagName("a")[0],!r||!i||!r.length)return{};o=V.createElement("select"),a=o.appendChild(V.createElement("option")),s=p.getElementsByTagName("input")[0],i.style.cssText="top:1px;float:left;opacity:.5",n={getSetAttribute:"t"!==p.className,leadingWhitespace:3===p.firstChild.nodeType,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(i.getAttribute("style")),hrefNormalized:"/a"===i.getAttribute("href"),opacity:/^0.5/.test(i.style.opacity),cssFloat:!!i.style.cssFloat,checkOn:!!s.value,optSelected:a.selected,enctype:!!V.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==V.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===V.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},s.checked=!0,n.noCloneChecked=s.cloneNode(!0).checked,o.disabled=!0,n.optDisabled=!a.disabled;try{delete p.test}catch(d){n.deleteExpando=!1}s=V.createElement("input"),s.setAttribute("value",""),n.input=""===s.getAttribute("value"),s.value="t",s.setAttribute("type","radio"),n.radioValue="t"===s.value,s.setAttribute("checked","t"),s.setAttribute("name","t"),u=V.createDocumentFragment(),u.appendChild(s),n.appendChecked=s.checked,n.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,p.attachEvent&&(p.attachEvent("onclick",function(){n.noCloneEvent=!1}),p.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})p.setAttribute(l="on"+f,"t"),n[f+"Bubbles"]=l in e||p.attributes[l].expando===!1;return p.style.backgroundClip="content-box",p.cloneNode(!0).style.backgroundClip="",n.clearCloneStyle="content-box"===p.style.backgroundClip,st(function(){var r,i,o,a="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",s=V.getElementsByTagName("body")[0];s&&(r=V.createElement("div"),r.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",s.appendChild(r).appendChild(p),p.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=p.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",c=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",n.reliableHiddenOffsets=c&&0===o[0].offsetHeight,p.innerHTML="",p.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",n.boxSizing=4===p.offsetWidth,n.doesNotIncludeMarginInBodyOffset=1!==s.offsetTop,e.getComputedStyle&&(n.pixelPosition="1%"!==(e.getComputedStyle(p,null)||{}).top,n.boxSizingReliable="4px"===(e.getComputedStyle(p,null)||{width:"4px"}).width,i=p.appendChild(V.createElement("div")),i.style.cssText=p.style.cssText=a,i.style.marginRight=i.style.width="0",p.style.width="1px",n.reliableMarginRight=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight)),p.style.zoom!==t&&(p.innerHTML="",p.style.cssText=a+"width:1px;padding:1px;display:inline;zoom:1",n.inlineBlockNeedsLayout=3===p.offsetWidth,p.style.display="block",p.innerHTML="<div></div>",p.firstChild.style.width="5px",n.shrinkWrapBlocks=3!==p.offsetWidth,s.style.zoom=1),s.removeChild(r),r=p=o=i=null)}),r=o=u=a=i=s=null,n}();var wt=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,Nt=/([A-Z])/g;st.extend({cache:{},expando:"jQuery"+(Z+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?st.cache[e[st.expando]]:e[st.expando],!!e&&!s(e)},data:function(e,t,n){return i(e,t,n,!1)},removeData:function(e,t){return o(e,t,!1)},_data:function(e,t,n){return i(e,t,n,!0)},_removeData:function(e,t){return o(e,t,!0)},acceptData:function(e){var t=e.nodeName&&st.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),st.fn.extend({data:function(e,n){var r,i,o=this[0],s=0,u=null;if(e===t){if(this.length&&(u=st.data(o),1===o.nodeType&&!st._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>s;s++)i=r[s].name,i.indexOf("data-")||(i=st.camelCase(i.substring(5)),a(o,i,u[i]));st._data(o,"parsedAttrs",!0)}return u}return"object"==typeof e?this.each(function(){st.data(this,e)}):st.access(this,function(n){return n===t?o?a(o,e,st.data(o,e)):null:(this.each(function(){st.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){st.removeData(this,e)})}}),st.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=st._data(e,n),r&&(!i||st.isArray(r)?i=st._data(e,n,st.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=st.queue(e,t),r=n.length,i=n.shift(),o=st._queueHooks(e,t),a=function(){st.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return st._data(e,n)||st._data(e,n,{empty:st.Callbacks("once memory").add(function(){st._removeData(e,t+"queue"),st._removeData(e,n)})})}}),st.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?st.queue(this[0],e):n===t?this:this.each(function(){var t=st.queue(this,e,n);st._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&st.dequeue(this,e)})},dequeue:function(e){return this.each(function(){st.dequeue(this,e)})},delay:function(e,t){return e=st.fx?st.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=st.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)r=st._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var Ct,kt,Et=/[\t\r\n]/g,St=/\r/g,At=/^(?:input|select|textarea|button|object)$/i,jt=/^(?:a|area)$/i,Dt=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,Lt=/^(?:checked|selected)$/i,Ht=st.support.getSetAttribute,Mt=st.support.input;st.fn.extend({attr:function(e,t){return st.access(this,st.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){st.removeAttr(this,e)})},prop:function(e,t){return st.access(this,st.prop,e,t,arguments.length>1)},removeProp:function(e){return e=st.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(st.isFunction(e))return this.each(function(t){st(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(lt)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):" ")){for(o=0;i=t[o++];)0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=st.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(st.isFunction(e))return this.each(function(t){st(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(lt)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):"")){for(o=0;i=t[o++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");n.className=e?st.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return st.isFunction(e)?this.each(function(n){st(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n)for(var i,o=0,a=st(this),s=t,u=e.match(lt)||[];i=u[o++];)s=r?s:!a.hasClass(i),a[s?"addClass":"removeClass"](i);else("undefined"===n||"boolean"===n)&&(this.className&&st._data(this,"__className__",this.className),this.className=this.className||e===!1?"":st._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Et," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=st.isFunction(e),this.each(function(r){var o,a=st(this);1===this.nodeType&&(o=i?e.call(this,r,a.val()):e,null==o?o="":"number"==typeof o?o+="":st.isArray(o)&&(o=st.map(o,function(e){return null==e?"":e+""})),n=st.valHooks[this.type]||st.valHooks[this.nodeName.toLowerCase()],n&&"set"in n&&n.set(this,o,"value")!==t||(this.value=o))});if(o)return n=st.valHooks[o.type]||st.valHooks[o.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(o,"value"))!==t?r:(r=o.value,"string"==typeof r?r.replace(St,""):null==r?"":r)}}}),st.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(st.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&st.nodeName(n.parentNode,"optgroup"))){if(t=st(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=st.makeArray(t);return st(e).find("option").each(function(){this.selected=st.inArray(st(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return e.getAttribute===t?st.prop(e,n,r):(a=1!==s||!st.isXMLDoc(e),a&&(n=n.toLowerCase(),o=st.attrHooks[n]||(Dt.test(n)?kt:Ct)),r===t?o&&a&&"get"in o&&null!==(i=o.get(e,n))?i:(e.getAttribute!==t&&(i=e.getAttribute(n)),null==i?t:i):null!==r?o&&a&&"set"in o&&(i=o.set(e,r,n))!==t?i:(e.setAttribute(n,r+""),r):(st.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(lt);if(o&&1===e.nodeType)for(;n=o[i++];)r=st.propFix[n]||n,Dt.test(n)?!Ht&&Lt.test(n)?e[st.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:st.attr(e,n,""),e.removeAttribute(Ht?n:r)},attrHooks:{type:{set:function(e,t){if(!st.support.radioValue&&"radio"===t&&st.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!st.isXMLDoc(e),a&&(n=st.propFix[n]||n,o=st.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):At.test(e.nodeName)||jt.test(e.nodeName)&&e.href?0:t}}}}),kt={get:function(e,n){var r=st.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?Mt&&Ht?null!=i:Lt.test(n)?e[st.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?st.removeAttr(e,n):Mt&&Ht||!Lt.test(n)?e.setAttribute(!Ht&&st.propFix[n]||n,n):e[st.camelCase("default-"+n)]=e[n]=!0,n}},Mt&&Ht||(st.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return st.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t
2
+ },set:function(e,n,r){return st.nodeName(e,"input")?(e.defaultValue=n,t):Ct&&Ct.set(e,n,r)}}),Ht||(Ct=st.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},st.attrHooks.contenteditable={get:Ct.get,set:function(e,t,n){Ct.set(e,""===t?!1:t,n)}},st.each(["width","height"],function(e,n){st.attrHooks[n]=st.extend(st.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),st.support.hrefNormalized||(st.each(["href","src","width","height"],function(e,n){st.attrHooks[n]=st.extend(st.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),st.each(["href","src"],function(e,t){st.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),st.support.style||(st.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),st.support.optSelected||(st.propHooks.selected=st.extend(st.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),st.support.enctype||(st.propFix.enctype="encoding"),st.support.checkOn||st.each(["radio","checkbox"],function(){st.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),st.each(["radio","checkbox"],function(){st.valHooks[this]=st.extend(st.valHooks[this],{set:function(e,n){return st.isArray(n)?e.checked=st.inArray(st(e).val(),n)>=0:t}})});var qt=/^(?:input|select|textarea)$/i,_t=/^key/,Ft=/^(?:mouse|contextmenu)|click/,Ot=/^(?:focusinfocus|focusoutblur)$/,Bt=/^([^.]*)(?:\.(.+)|)$/;st.event={global:{},add:function(e,n,r,i,o){var a,s,u,l,c,f,p,d,h,g,m,y=3!==e.nodeType&&8!==e.nodeType&&st._data(e);if(y){for(r.handler&&(a=r,r=a.handler,o=a.selector),r.guid||(r.guid=st.guid++),(l=y.events)||(l=y.events={}),(s=y.handle)||(s=y.handle=function(e){return st===t||e&&st.event.triggered===e.type?t:st.event.dispatch.apply(s.elem,arguments)},s.elem=e),n=(n||"").match(lt)||[""],c=n.length;c--;)u=Bt.exec(n[c])||[],h=m=u[1],g=(u[2]||"").split(".").sort(),p=st.event.special[h]||{},h=(o?p.delegateType:p.bindType)||h,p=st.event.special[h]||{},f=st.extend({type:h,origType:m,data:i,handler:r,guid:r.guid,selector:o,needsContext:o&&st.expr.match.needsContext.test(o),namespace:g.join(".")},a),(d=l[h])||(d=l[h]=[],d.delegateCount=0,p.setup&&p.setup.call(e,i,g,s)!==!1||(e.addEventListener?e.addEventListener(h,s,!1):e.attachEvent&&e.attachEvent("on"+h,s))),p.add&&(p.add.call(e,f),f.handler.guid||(f.handler.guid=r.guid)),o?d.splice(d.delegateCount++,0,f):d.push(f),st.event.global[h]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,m=st.hasData(e)&&st._data(e);if(m&&(u=m.events)){for(t=(t||"").match(lt)||[""],l=t.length;l--;)if(s=Bt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){for(f=st.event.special[d]||{},d=(r?f.delegateType:f.bindType)||d,p=u[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&f.teardown.call(e,h,m.handle)!==!1||st.removeEvent(e,d,m.handle),delete u[d])}else for(d in u)st.event.remove(e,d+t[l],n,r,!0);st.isEmptyObject(u)&&(delete m.handle,st._removeData(e,"events"))}},trigger:function(n,r,i,o){var a,s,u,l,c,f,p,d=[i||V],h=n.type||n,g=n.namespace?n.namespace.split("."):[];if(s=u=i=i||V,3!==i.nodeType&&8!==i.nodeType&&!Ot.test(h+st.event.triggered)&&(h.indexOf(".")>=0&&(g=h.split("."),h=g.shift(),g.sort()),c=0>h.indexOf(":")&&"on"+h,n=n[st.expando]?n:new st.Event(h,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=g.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:st.makeArray(r,[n]),p=st.event.special[h]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!st.isWindow(i)){for(l=p.delegateType||h,Ot.test(l+h)||(s=s.parentNode);s;s=s.parentNode)d.push(s),u=s;u===(i.ownerDocument||V)&&d.push(u.defaultView||u.parentWindow||e)}for(a=0;(s=d[a++])&&!n.isPropagationStopped();)n.type=a>1?l:p.bindType||h,f=(st._data(s,"events")||{})[n.type]&&st._data(s,"handle"),f&&f.apply(s,r),f=c&&s[c],f&&st.acceptData(s)&&f.apply&&f.apply(s,r)===!1&&n.preventDefault();if(n.type=h,!(o||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===h&&st.nodeName(i,"a")||!st.acceptData(i)||!c||!i[h]||st.isWindow(i))){u=i[c],u&&(i[c]=null),st.event.triggered=h;try{i[h]()}catch(m){}st.event.triggered=t,u&&(i[c]=u)}return n.result}},dispatch:function(e){e=st.event.fix(e);var n,r,i,o,a,s=[],u=nt.call(arguments),l=(st._data(this,"events")||{})[e.type]||[],c=st.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){for(s=st.event.handlers.call(this,e,l),n=0;(o=s[n++])&&!e.isPropagationStopped();)for(e.currentTarget=o.elem,r=0;(a=o.handlers[r++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,i=((st.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u),i!==t&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(l.disabled!==!0||"click"!==e.type){for(i=[],r=0;u>r;r++)a=n[r],o=a.selector+" ",i[o]===t&&(i[o]=a.needsContext?st(o,this).index(l)>=0:st.find(o,this,null,[l]).length),i[o]&&i.push(a);i.length&&s.push({elem:l,handlers:i})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[st.expando])return e;var t,n,r=e,i=st.event.fixHooks[e.type]||{},o=i.props?this.props.concat(i.props):this.props;for(e=new st.Event(r),t=o.length;t--;)n=o[t],e[n]=r[n];return e.target||(e.target=r.srcElement||V),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,i.filter?i.filter(e,r):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,a=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(r=e.target.ownerDocument||V,i=r.documentElement,o=r.body,e.pageX=n.clientX+(i&&i.scrollLeft||o&&o.scrollLeft||0)-(i&&i.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(i&&i.scrollTop||o&&o.scrollTop||0)-(i&&i.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||a===t||(e.which=1&a?1:2&a?3:4&a?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return st.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==V.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===V.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=st.extend(new st.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?st.event.trigger(i,null,t):st.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},st.removeEvent=V.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,n,r){var i="on"+n;e.detachEvent&&(e[i]===t&&(e[i]=null),e.detachEvent(i,r))},st.Event=function(e,n){return this instanceof st.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?u:l):this.type=e,n&&st.extend(this,n),this.timeStamp=e&&e.timeStamp||st.now(),this[st.expando]=!0,t):new st.Event(e,n)},st.Event.prototype={isDefaultPrevented:l,isPropagationStopped:l,isImmediatePropagationStopped:l,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=u,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=u,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=u,this.stopPropagation()}},st.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){st.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!st.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),st.support.submitBubbles||(st.event.special.submit={setup:function(){return st.nodeName(this,"form")?!1:(st.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=st.nodeName(n,"input")||st.nodeName(n,"button")?n.form:t;r&&!st._data(r,"submitBubbles")&&(st.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),st._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&st.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return st.nodeName(this,"form")?!1:(st.event.remove(this,"._submit"),t)}}),st.support.changeBubbles||(st.event.special.change={setup:function(){return qt.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(st.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),st.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),st.event.simulate("change",this,e,!0)})),!1):(st.event.add(this,"beforeactivate._change",function(e){var t=e.target;qt.test(t.nodeName)&&!st._data(t,"changeBubbles")&&(st.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||st.event.simulate("change",this.parentNode,e,!0)}),st._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return st.event.remove(this,"._change"),!qt.test(this.nodeName)}}),st.support.focusinBubbles||st.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){st.event.simulate(t,e.target,st.event.fix(e),!0)};st.event.special[t]={setup:function(){0===n++&&V.addEventListener(e,r,!0)},teardown:function(){0===--n&&V.removeEventListener(e,r,!0)}}}),st.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(s in e)this.on(s,n,r,e[s],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=l;else if(!i)return this;return 1===o&&(a=i,i=function(e){return st().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=st.guid++)),this.each(function(){st.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,st(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=l),this.each(function(){st.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){st.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?st.event.trigger(e,n,r,!0):t},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),st.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){st.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)},_t.test(t)&&(st.event.fixHooks[t]=st.event.keyHooks),Ft.test(t)&&(st.event.fixHooks[t]=st.event.mouseHooks)}),function(e,t){function n(e){return ht.test(e+"")}function r(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>C.cacheLength&&delete e[t.shift()],e[n]=r}}function i(e){return e[P]=!0,e}function o(e){var t=L.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function a(e,t,n,r){var i,o,a,s,u,l,c,d,h,g;if((t?t.ownerDocument||t:R)!==L&&D(t),t=t||L,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!M&&!r){if(i=gt.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&O(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Q.apply(n,K.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&W.getByClassName&&t.getElementsByClassName)return Q.apply(n,K.call(t.getElementsByClassName(a),0)),n}if(W.qsa&&!q.test(e)){if(c=!0,d=P,h=t,g=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(l=f(e),(c=t.getAttribute("id"))?d=c.replace(vt,"\\$&"):t.setAttribute("id",d),d="[id='"+d+"'] ",u=l.length;u--;)l[u]=d+p(l[u]);h=dt.test(e)&&t.parentNode||t,g=l.join(",")}if(g)try{return Q.apply(n,K.call(h.querySelectorAll(g),0)),n}catch(m){}finally{c||t.removeAttribute("id")}}}return x(e.replace(at,"$1"),t,n,r)}function s(e,t){for(var n=e&&t&&e.nextSibling;n;n=n.nextSibling)if(n===t)return-1;return e?1:-1}function u(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return i(function(t){return t=+t,i(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function f(e,t){var n,r,i,o,s,u,l,c=X[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=C.preFilter;s;){(!n||(r=ut.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(i=[])),n=!1,(r=lt.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(at," ")}),s=s.slice(n.length));for(o in C.filter)!(r=pt[o].exec(s))||l[o]&&!(r=l[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?a.error(e):X(e,u).slice(0)}function p(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function d(e,t,n){var r=t.dir,i=n&&"parentNode"===t.dir,o=I++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,u,l,c=$+" "+o;if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i)if(l=t[P]||(t[P]={}),(u=l[r])&&u[0]===c){if((s=u[1])===!0||s===N)return s===!0}else if(u=l[r]=[c],u[1]=e(t,n,a)||N,u[1]===!0)return!0}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function m(e,t,n,r,o,a){return r&&!r[P]&&(r=m(r)),o&&!o[P]&&(o=m(o,a)),i(function(i,a,s,u){var l,c,f,p=[],d=[],h=a.length,m=i||b(t||"*",s.nodeType?[s]:s,[]),y=!e||!i&&t?m:g(m,p,e,s,u),v=n?o||(i?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r)for(l=g(v,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f));if(i){if(o||e){if(o){for(l=[],c=v.length;c--;)(f=v[c])&&l.push(y[c]=f);o(null,v=[],l,u)}for(c=v.length;c--;)(f=v[c])&&(l=o?Z.call(i,f):p[c])>-1&&(i[l]=!(a[l]=f))}}else v=g(v===a?v.splice(h,v.length):v),o?o(null,a,v,u):Q.apply(a,v)})}function y(e){for(var t,n,r,i=e.length,o=C.relative[e[0].type],a=o||C.relative[" "],s=o?1:0,u=d(function(e){return e===t},a,!0),l=d(function(e){return Z.call(t,e)>-1},a,!0),c=[function(e,n,r){return!o&&(r||n!==j)||((t=n).nodeType?u(e,n,r):l(e,n,r))}];i>s;s++)if(n=C.relative[e[s].type])c=[d(h(c),n)];else{if(n=C.filter[e[s].type].apply(null,e[s].matches),n[P]){for(r=++s;i>r&&!C.relative[e[r].type];r++);return m(s>1&&h(c),s>1&&p(e.slice(0,s-1)).replace(at,"$1"),n,r>s&&y(e.slice(s,r)),i>r&&y(e=e.slice(r)),i>r&&p(e))}c.push(n)}return h(c)}function v(e,t){var n=0,r=t.length>0,o=e.length>0,s=function(i,s,u,l,c){var f,p,d,h=[],m=0,y="0",v=i&&[],b=null!=c,x=j,T=i||o&&C.find.TAG("*",c&&s.parentNode||s),w=$+=null==x?1:Math.E;for(b&&(j=s!==L&&s,N=n);null!=(f=T[y]);y++){if(o&&f){for(p=0;d=e[p];p++)if(d(f,s,u)){l.push(f);break}b&&($=w,N=++n)}r&&((f=!d&&f)&&m--,i&&v.push(f))}if(m+=y,r&&y!==m){for(p=0;d=t[p];p++)d(v,h,s,u);if(i){if(m>0)for(;y--;)v[y]||h[y]||(h[y]=G.call(l));h=g(h)}Q.apply(l,h),b&&!i&&h.length>0&&m+t.length>1&&a.uniqueSort(l)}return b&&($=w,j=x),v};return r?i(s):s}function b(e,t,n){for(var r=0,i=t.length;i>r;r++)a(e,t[r],n);return n}function x(e,t,n,r){var i,o,a,s,u,l=f(e);if(!r&&1===l.length){if(o=l[0]=l[0].slice(0),o.length>2&&"ID"===(a=o[0]).type&&9===t.nodeType&&!M&&C.relative[o[1].type]){if(t=C.find.ID(a.matches[0].replace(xt,Tt),t)[0],!t)return n;e=e.slice(o.shift().value.length)}for(i=pt.needsContext.test(e)?-1:o.length-1;i>=0&&(a=o[i],!C.relative[s=a.type]);i--)if((u=C.find[s])&&(r=u(a.matches[0].replace(xt,Tt),dt.test(o[0].type)&&t.parentNode||t))){if(o.splice(i,1),e=r.length&&p(o),!e)return Q.apply(n,K.call(r,0)),n;break}}return S(e,l)(r,t,M,n,dt.test(e)),n}function T(){}var w,N,C,k,E,S,A,j,D,L,H,M,q,_,F,O,B,P="sizzle"+-new Date,R=e.document,W={},$=0,I=0,z=r(),X=r(),U=r(),V=typeof t,Y=1<<31,J=[],G=J.pop,Q=J.push,K=J.slice,Z=J.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},et="[\\x20\\t\\r\\n\\f]",tt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",nt=tt.replace("w","w#"),rt="([*^$|!~]?=)",it="\\["+et+"*("+tt+")"+et+"*(?:"+rt+et+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+nt+")|)|)"+et+"*\\]",ot=":("+tt+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+it.replace(3,8)+")*)|.*)\\)|)",at=RegExp("^"+et+"+|((?:^|[^\\\\])(?:\\\\.)*)"+et+"+$","g"),ut=RegExp("^"+et+"*,"+et+"*"),lt=RegExp("^"+et+"*([\\x20\\t\\r\\n\\f>+~])"+et+"*"),ct=RegExp(ot),ft=RegExp("^"+nt+"$"),pt={ID:RegExp("^#("+tt+")"),CLASS:RegExp("^\\.("+tt+")"),NAME:RegExp("^\\[name=['\"]?("+tt+")['\"]?\\]"),TAG:RegExp("^("+tt.replace("w","w*")+")"),ATTR:RegExp("^"+it),PSEUDO:RegExp("^"+ot),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+et+"*(even|odd|(([+-]|)(\\d*)n|)"+et+"*(?:([+-]|)"+et+"*(\\d+)|))"+et+"*\\)|)","i"),needsContext:RegExp("^"+et+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+et+"*((?:-\\d)?\\d*)"+et+"*\\)|)(?=[^-]|$)","i")},dt=/[\x20\t\r\n\f]*[+~]/,ht=/\{\s*\[native code\]\s*\}/,gt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,mt=/^(?:input|select|textarea|button)$/i,yt=/^h\d$/i,vt=/'|\\/g,bt=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,xt=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,Tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{K.call(H.childNodes,0)[0].nodeType}catch(wt){K=function(e){for(var t,n=[];t=this[e];e++)n.push(t);return n}}E=a.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},D=a.setDocument=function(e){var r=e?e.ownerDocument||e:R;return r!==L&&9===r.nodeType&&r.documentElement?(L=r,H=r.documentElement,M=E(r),W.tagNameNoComments=o(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),W.attributes=o(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),W.getByClassName=o(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),W.getByName=o(function(e){e.id=P+0,e.innerHTML="<a name='"+P+"'></a><div name='"+P+"'></div>",H.insertBefore(e,H.firstChild);var t=r.getElementsByName&&r.getElementsByName(P).length===2+r.getElementsByName(P+0).length;return W.getIdNotName=!r.getElementById(P),H.removeChild(e),t}),C.attrHandle=o(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==V&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},W.getIdNotName?(C.find.ID=function(e,t){if(typeof t.getElementById!==V&&!M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},C.filter.ID=function(e){var t=e.replace(xt,Tt);return function(e){return e.getAttribute("id")===t}}):(C.find.ID=function(e,n){if(typeof n.getElementById!==V&&!M){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==V&&r.getAttributeNode("id").value===e?[r]:t:[]}},C.filter.ID=function(e){var t=e.replace(xt,Tt);return function(e){var n=typeof e.getAttributeNode!==V&&e.getAttributeNode("id");return n&&n.value===t}}),C.find.TAG=W.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==V?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i];i++)1===n.nodeType&&r.push(n);return r}return o},C.find.NAME=W.getByName&&function(e,n){return typeof n.getElementsByName!==V?n.getElementsByName(name):t},C.find.CLASS=W.getByClassName&&function(e,n){return typeof n.getElementsByClassName===V||M?t:n.getElementsByClassName(e)},_=[],q=[":focus"],(W.qsa=n(r.querySelectorAll))&&(o(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||q.push("\\["+et+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||q.push(":checked")}),o(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&q.push("[*^$]="+et+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),q.push(",.*:")})),(W.matchesSelector=n(F=H.matchesSelector||H.mozMatchesSelector||H.webkitMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&o(function(e){W.disconnectedMatch=F.call(e,"div"),F.call(e,"[s!='']:x"),_.push("!=",ot)}),q=RegExp(q.join("|")),_=RegExp(_.join("|")),O=n(H.contains)||H.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},B=H.compareDocumentPosition?function(e,t){var n;return e===t?(A=!0,0):(n=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&n||e.parentNode&&11===e.parentNode.nodeType?e===r||O(R,e)?-1:t===r||O(R,t)?1:0:4&n?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var n,i=0,o=e.parentNode,a=t.parentNode,u=[e],l=[t];if(e===t)return A=!0,0;if(e.sourceIndex&&t.sourceIndex)return(~t.sourceIndex||Y)-(O(R,e)&&~e.sourceIndex||Y);if(!o||!a)return e===r?-1:t===r?1:o?-1:a?1:0;if(o===a)return s(e,t);for(n=e;n=n.parentNode;)u.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;u[i]===l[i];)i++;return i?s(u[i],l[i]):u[i]===R?-1:l[i]===R?1:0},A=!1,[0,0].sort(B),W.detectDuplicates=A,L):L},a.matches=function(e,t){return a(e,null,null,t)},a.matchesSelector=function(e,t){if((e.ownerDocument||e)!==L&&D(e),t=t.replace(bt,"='$1']"),!(!W.matchesSelector||M||_&&_.test(t)||q.test(t)))try{var n=F.call(e,t);if(n||W.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return a(t,L,null,[e]).length>0},a.contains=function(e,t){return(e.ownerDocument||e)!==L&&D(e),O(e,t)},a.attr=function(e,t){var n;return(e.ownerDocument||e)!==L&&D(e),M||(t=t.toLowerCase()),(n=C.attrHandle[t])?n(e):M||W.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},a.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},a.uniqueSort=function(e){var t,n=[],r=1,i=0;if(A=!W.detectDuplicates,e.sort(B),A){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return e},k=a.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=k(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=k(t);return n},C=a.selectors={cacheLength:50,createPseudo:i,match:pt,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(xt,Tt),e[3]=(e[4]||e[5]||"").replace(xt,Tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||a.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&a.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return pt.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&ct.test(n)&&(t=f(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(xt,Tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=z[e+" "];return t||(t=RegExp("(^|"+et+")"+e+"("+et+"|$)"))&&z(e,function(e){return t.test(e.className||typeof e.getAttribute!==V&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=a.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.substr(i.length-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){for(;g;){for(f=t;f=f[g];)if(s?f.nodeName.toLowerCase()===y:1===f.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(c=m[P]||(m[P]={}),l=c[e]||[],d=l[0]===$&&l[1],p=l[0]===$&&l[2],f=d&&m.childNodes[d];f=++d&&f&&f[g]||(p=d=0)||h.pop();)if(1===f.nodeType&&++p&&f===t){c[e]=[$,d,p];break}}else if(v&&(l=(t[P]||(t[P]={}))[e])&&l[0]===$)p=l[1];else for(;(f=++d&&f&&f[g]||(p=d=0)||h.pop())&&((s?f.nodeName.toLowerCase()!==y:1!==f.nodeType)||!++p||(v&&((f[P]||(f[P]={}))[e]=[$,p]),f!==t)););return p-=i,p===r||0===p%r&&p/r>=0}}},PSEUDO:function(e,t){var n,r=C.pseudos[e]||C.setFilters[e.toLowerCase()]||a.error("unsupported pseudo: "+e);return r[P]?r(t):r.length>1?(n=[e,e,"",t],C.setFilters.hasOwnProperty(e.toLowerCase())?i(function(e,n){for(var i,o=r(e,t),a=o.length;a--;)i=Z.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:i(function(e){var t=[],n=[],r=S(e.replace(at,"$1"));return r[P]?i(function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:i(function(e){return function(t){return a(e,t).length>0}}),contains:i(function(e){return function(t){return(t.textContent||t.innerText||k(t)).indexOf(e)>-1}}),lang:i(function(e){return ft.test(e||"")||a.error("unsupported lang: "+e),e=e.replace(xt,Tt).toLowerCase(),function(t){var n;do if(n=M?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===H},focus:function(e){return e===L.activeElement&&(!L.hasFocus||L.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!C.pseudos.empty(e)},header:function(e){return yt.test(e.nodeName)},input:function(e){return mt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:c(function(){return[0]}),last:c(function(e,t){return[t-1]}),eq:c(function(e,t,n){return[0>n?n+t:n]}),even:c(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:c(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:c(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:c(function(e,t,n){for(var r=0>n?n+t:n;t>++r;)e.push(r);return e})}};for(w in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})C.pseudos[w]=u(w);for(w in{submit:!0,reset:!0})C.pseudos[w]=l(w);S=a.compile=function(e,t){var n,r=[],i=[],o=U[e+" "];if(!o){for(t||(t=f(e)),n=t.length;n--;)o=y(t[n]),o[P]?r.push(o):i.push(o);o=U(e,v(i,r))}return o},C.pseudos.nth=C.pseudos.eq,C.filters=T.prototype=C.pseudos,C.setFilters=new T,D(),a.attr=st.attr,st.find=a,st.expr=a.selectors,st.expr[":"]=st.expr.pseudos,st.unique=a.uniqueSort,st.text=a.getText,st.isXMLDoc=a.isXML,st.contains=a.contains}(e);var Pt=/Until$/,Rt=/^(?:parents|prev(?:Until|All))/,Wt=/^.[^:#\[\.,]*$/,$t=st.expr.match.needsContext,It={children:!0,contents:!0,next:!0,prev:!0};st.fn.extend({find:function(e){var t,n,r;if("string"!=typeof e)return r=this,this.pushStack(st(e).filter(function(){for(t=0;r.length>t;t++)if(st.contains(r[t],this))return!0}));for(n=[],t=0;this.length>t;t++)st.find(e,this[t],n);return n=this.pushStack(st.unique(n)),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=st(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(st.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(f(this,e,!1))},filter:function(e){return this.pushStack(f(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?$t.test(e)?st(e,this.context).index(this[0])>=0:st.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){for(var n,r=0,i=this.length,o=[],a=$t.test(e)||"string"!=typeof e?st(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n.ownerDocument&&n!==t&&11!==n.nodeType;){if(a?a.index(n)>-1:st.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}return this.pushStack(o.length>1?st.unique(o):o)},index:function(e){return e?"string"==typeof e?st.inArray(this[0],st(e)):st.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?st(e,t):st.makeArray(e&&e.nodeType?[e]:e),r=st.merge(this.get(),n);return this.pushStack(st.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),st.fn.andSelf=st.fn.addBack,st.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return st.dir(e,"parentNode")},parentsUntil:function(e,t,n){return st.dir(e,"parentNode",n)},next:function(e){return c(e,"nextSibling")},prev:function(e){return c(e,"previousSibling")
3
+ },nextAll:function(e){return st.dir(e,"nextSibling")},prevAll:function(e){return st.dir(e,"previousSibling")},nextUntil:function(e,t,n){return st.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return st.dir(e,"previousSibling",n)},siblings:function(e){return st.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return st.sibling(e.firstChild)},contents:function(e){return st.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:st.merge([],e.childNodes)}},function(e,t){st.fn[e]=function(n,r){var i=st.map(this,t,n);return Pt.test(e)||(r=n),r&&"string"==typeof r&&(i=st.filter(r,i)),i=this.length>1&&!It[e]?st.unique(i):i,this.length>1&&Rt.test(e)&&(i=i.reverse()),this.pushStack(i)}}),st.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?st.find.matchesSelector(t[0],e)?[t[0]]:[]:st.find.matches(e,t)},dir:function(e,n,r){for(var i=[],o=e[n];o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!st(o).is(r));)1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var zt="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Xt=/ jQuery\d+="(?:null|\d+)"/g,Ut=RegExp("<(?:"+zt+")[\\s/>]","i"),Vt=/^\s+/,Yt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Jt=/<([\w:]+)/,Gt=/<tbody/i,Qt=/<|&#?\w+;/,Kt=/<(?:script|style|link)/i,Zt=/^(?:checkbox|radio)$/i,en=/checked\s*(?:[^=]|=\s*.checked.)/i,tn=/^$|\/(?:java|ecma)script/i,nn=/^true\/(.*)/,rn=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,on={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:st.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},an=p(V),sn=an.appendChild(V.createElement("div"));on.optgroup=on.option,on.tbody=on.tfoot=on.colgroup=on.caption=on.thead,on.th=on.td,st.fn.extend({text:function(e){return st.access(this,function(e){return e===t?st.text(this):this.empty().append((this[0]&&this[0].ownerDocument||V).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(st.isFunction(e))return this.each(function(t){st(this).wrapAll(e.call(this,t))});if(this[0]){var t=st(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return st.isFunction(e)?this.each(function(t){st(this).wrapInner(e.call(this,t))}):this.each(function(){var t=st(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=st.isFunction(e);return this.each(function(n){st(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){st.nodeName(this,"body")||st(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=0;null!=(n=this[r]);r++)(!e||st.filter(e,[n]).length>0)&&(t||1!==n.nodeType||st.cleanData(b(n)),n.parentNode&&(t&&st.contains(n.ownerDocument,n)&&m(b(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&st.cleanData(b(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&st.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return st.clone(this,e,t)})},html:function(e){return st.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Xt,""):t;if(!("string"!=typeof e||Kt.test(e)||!st.support.htmlSerialize&&Ut.test(e)||!st.support.leadingWhitespace&&Vt.test(e)||on[(Jt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Yt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(st.cleanData(b(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=st.isFunction(e);return t||"string"==typeof e||(e=st(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;(n&&1===this.nodeType||11===this.nodeType)&&(st(this).remove(),t?t.parentNode.insertBefore(e,t):n.appendChild(e))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=et.apply([],e);var i,o,a,s,u,l,c=0,f=this.length,p=this,m=f-1,y=e[0],v=st.isFunction(y);if(v||!(1>=f||"string"!=typeof y||st.support.checkClone)&&en.test(y))return this.each(function(i){var o=p.eq(i);v&&(e[0]=y.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(f&&(i=st.buildFragment(e,this[0].ownerDocument,!1,this),o=i.firstChild,1===i.childNodes.length&&(i=o),o)){for(n=n&&st.nodeName(o,"tr"),a=st.map(b(i,"script"),h),s=a.length;f>c;c++)u=i,c!==m&&(u=st.clone(u,!0,!0),s&&st.merge(a,b(u,"script"))),r.call(n&&st.nodeName(this[c],"table")?d(this[c],"tbody"):this[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,st.map(a,g),c=0;s>c;c++)u=a[c],tn.test(u.type||"")&&!st._data(u,"globalEval")&&st.contains(l,u)&&(u.src?st.ajax({url:u.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):st.globalEval((u.text||u.textContent||u.innerHTML||"").replace(rn,"")));i=o=null}return this}}),st.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){st.fn[e]=function(e){for(var n,r=0,i=[],o=st(e),a=o.length-1;a>=r;r++)n=r===a?this:this.clone(!0),st(o[r])[t](n),tt.apply(i,n.get());return this.pushStack(i)}}),st.extend({clone:function(e,t,n){var r,i,o,a,s,u=st.contains(e.ownerDocument,e);if(st.support.html5Clone||st.isXMLDoc(e)||!Ut.test("<"+e.nodeName+">")?s=e.cloneNode(!0):(sn.innerHTML=e.outerHTML,sn.removeChild(s=sn.firstChild)),!(st.support.noCloneEvent&&st.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||st.isXMLDoc(e)))for(r=b(s),i=b(e),a=0;null!=(o=i[a]);++a)r[a]&&v(o,r[a]);if(t)if(n)for(i=i||b(e),r=r||b(s),a=0;null!=(o=i[a]);a++)y(o,r[a]);else y(e,s);return r=b(s,"script"),r.length>0&&m(r,!u&&b(e,"script")),r=i=o=null,s},buildFragment:function(e,t,n,r){for(var i,o,a,s,u,l,c,f=e.length,d=p(t),h=[],g=0;f>g;g++)if(o=e[g],o||0===o)if("object"===st.type(o))st.merge(h,o.nodeType?[o]:o);else if(Qt.test(o)){for(s=s||d.appendChild(t.createElement("div")),a=(Jt.exec(o)||["",""])[1].toLowerCase(),u=on[a]||on._default,s.innerHTML=u[1]+o.replace(Yt,"<$1></$2>")+u[2],c=u[0];c--;)s=s.lastChild;if(!st.support.leadingWhitespace&&Vt.test(o)&&h.push(t.createTextNode(Vt.exec(o)[0])),!st.support.tbody)for(o="table"!==a||Gt.test(o)?"<table>"!==u[1]||Gt.test(o)?0:s:s.firstChild,c=o&&o.childNodes.length;c--;)st.nodeName(l=o.childNodes[c],"tbody")&&!l.childNodes.length&&o.removeChild(l);for(st.merge(h,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=d.lastChild}else h.push(t.createTextNode(o));for(s&&d.removeChild(s),st.support.appendChecked||st.grep(b(h,"input"),x),g=0;o=h[g++];)if((!r||-1===st.inArray(o,r))&&(i=st.contains(o.ownerDocument,o),s=b(d.appendChild(o),"script"),i&&m(s),n))for(c=0;o=s[c++];)tn.test(o.type||"")&&n.push(o);return s=null,d},cleanData:function(e,n){for(var r,i,o,a,s=0,u=st.expando,l=st.cache,c=st.support.deleteExpando,f=st.event.special;null!=(o=e[s]);s++)if((n||st.acceptData(o))&&(i=o[u],r=i&&l[i])){if(r.events)for(a in r.events)f[a]?st.event.remove(o,a):st.removeEvent(o,a,r.handle);l[i]&&(delete l[i],c?delete o[u]:o.removeAttribute!==t?o.removeAttribute(u):o[u]=null,K.push(i))}}});var un,ln,cn,fn=/alpha\([^)]*\)/i,pn=/opacity\s*=\s*([^)]*)/,dn=/^(top|right|bottom|left)$/,hn=/^(none|table(?!-c[ea]).+)/,gn=/^margin/,mn=RegExp("^("+ut+")(.*)$","i"),yn=RegExp("^("+ut+")(?!px)[a-z%]+$","i"),vn=RegExp("^([+-])=("+ut+")","i"),bn={BODY:"block"},xn={position:"absolute",visibility:"hidden",display:"block"},Tn={letterSpacing:0,fontWeight:400},wn=["Top","Right","Bottom","Left"],Nn=["Webkit","O","Moz","ms"];st.fn.extend({css:function(e,n){return st.access(this,function(e,n,r){var i,o,a={},s=0;if(st.isArray(n)){for(i=ln(e),o=n.length;o>s;s++)a[n[s]]=st.css(e,n[s],!1,i);return a}return r!==t?st.style(e,n,r):st.css(e,n)},e,n,arguments.length>1)},show:function(){return N(this,!0)},hide:function(){return N(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:w(this))?st(this).show():st(this).hide()})}}),st.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=un(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":st.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=st.camelCase(n),l=e.style;if(n=st.cssProps[u]||(st.cssProps[u]=T(l,u)),s=st.cssHooks[n]||st.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=vn.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(st.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||st.cssNumber[u]||(r+="px"),st.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=st.camelCase(n);return n=st.cssProps[u]||(st.cssProps[u]=T(e.style,u)),s=st.cssHooks[n]||st.cssHooks[u],s&&"get"in s&&(o=s.get(e,!0,r)),o===t&&(o=un(e,n,i)),"normal"===o&&n in Tn&&(o=Tn[n]),r?(a=parseFloat(o),r===!0||st.isNumeric(a)?a||0:o):o},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(ln=function(t){return e.getComputedStyle(t,null)},un=function(e,n,r){var i,o,a,s=r||ln(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||st.contains(e.ownerDocument,e)||(u=st.style(e,n)),yn.test(u)&&gn.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):V.documentElement.currentStyle&&(ln=function(e){return e.currentStyle},un=function(e,n,r){var i,o,a,s=r||ln(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),yn.test(u)&&!dn.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u}),st.each(["height","width"],function(e,n){st.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&hn.test(st.css(e,"display"))?st.swap(e,xn,function(){return E(e,n,i)}):E(e,n,i):t},set:function(e,t,r){var i=r&&ln(e);return C(e,t,r?k(e,n,r,st.support.boxSizing&&"border-box"===st.css(e,"boxSizing",!1,i),i):0)}}}),st.support.opacity||(st.cssHooks.opacity={get:function(e,t){return pn.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=st.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===st.trim(o.replace(fn,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=fn.test(o)?o.replace(fn,i):o+" "+i)}}),st(function(){st.support.reliableMarginRight||(st.cssHooks.marginRight={get:function(e,n){return n?st.swap(e,{display:"inline-block"},un,[e,"marginRight"]):t}}),!st.support.pixelPosition&&st.fn.position&&st.each(["top","left"],function(e,n){st.cssHooks[n]={get:function(e,r){return r?(r=un(e,n),yn.test(r)?st(e).position()[n]+"px":r):t}}})}),st.expr&&st.expr.filters&&(st.expr.filters.hidden=function(e){return 0===e.offsetWidth&&0===e.offsetHeight||!st.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||st.css(e,"display"))},st.expr.filters.visible=function(e){return!st.expr.filters.hidden(e)}),st.each({margin:"",padding:"",border:"Width"},function(e,t){st.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+wn[r]+t]=o[r]||o[r-2]||o[0];return i}},gn.test(e)||(st.cssHooks[e+t].set=C)});var Cn=/%20/g,kn=/\[\]$/,En=/\r?\n/g,Sn=/^(?:submit|button|image|reset)$/i,An=/^(?:input|select|textarea|keygen)/i;st.fn.extend({serialize:function(){return st.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=st.prop(this,"elements");return e?st.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!st(this).is(":disabled")&&An.test(this.nodeName)&&!Sn.test(e)&&(this.checked||!Zt.test(e))}).map(function(e,t){var n=st(this).val();return null==n?null:st.isArray(n)?st.map(n,function(e){return{name:t.name,value:e.replace(En,"\r\n")}}):{name:t.name,value:n.replace(En,"\r\n")}}).get()}}),st.param=function(e,n){var r,i=[],o=function(e,t){t=st.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=st.ajaxSettings&&st.ajaxSettings.traditional),st.isArray(e)||e.jquery&&!st.isPlainObject(e))st.each(e,function(){o(this.name,this.value)});else for(r in e)j(r,e[r],n,o);return i.join("&").replace(Cn,"+")};var jn,Dn,Ln=st.now(),Hn=/\?/,Mn=/#.*$/,qn=/([?&])_=[^&]*/,_n=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Fn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,On=/^(?:GET|HEAD)$/,Bn=/^\/\//,Pn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Rn=st.fn.load,Wn={},$n={},In="*/".concat("*");try{Dn=Y.href}catch(zn){Dn=V.createElement("a"),Dn.href="",Dn=Dn.href}jn=Pn.exec(Dn.toLowerCase())||[],st.fn.load=function(e,n,r){if("string"!=typeof e&&Rn)return Rn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),st.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(o="POST"),s.length>0&&st.ajax({url:e,type:o,dataType:"html",data:n}).done(function(e){a=arguments,s.html(i?st("<div>").append(st.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,a||[e.responseText,t,e])}),this},st.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){st.fn[t]=function(e){return this.on(t,e)}}),st.each(["get","post"],function(e,n){st[n]=function(e,r,i,o){return st.isFunction(r)&&(o=o||i,i=r,r=t),st.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),st.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Dn,type:"GET",isLocal:Fn.test(jn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":In,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":st.parseJSON,"text xml":st.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?H(H(e,st.ajaxSettings),t):H(st.ajaxSettings,e)},ajaxPrefilter:D(Wn),ajaxTransport:D($n),ajax:function(e,n){function r(e,n,r,s){var l,f,v,b,T,N=n;2!==x&&(x=2,u&&clearTimeout(u),i=t,a=s||"",w.readyState=e>0?4:0,r&&(b=M(p,w,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=w.getResponseHeader("Last-Modified"),T&&(st.lastModified[o]=T),T=w.getResponseHeader("etag"),T&&(st.etag[o]=T)),304===e?(l=!0,N="notmodified"):(l=q(p,b),N=l.state,f=l.data,v=l.error,l=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),w.status=e,w.statusText=(n||N)+"",l?g.resolveWith(d,[f,N,w]):g.rejectWith(d,[w,N,v]),w.statusCode(y),y=t,c&&h.trigger(l?"ajaxSuccess":"ajaxError",[w,p,l?f:v]),m.fireWith(d,[w,N]),c&&(h.trigger("ajaxComplete",[w,p]),--st.active||st.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var i,o,a,s,u,l,c,f,p=st.ajaxSetup({},n),d=p.context||p,h=p.context&&(d.nodeType||d.jquery)?st(d):st.event,g=st.Deferred(),m=st.Callbacks("once memory"),y=p.statusCode||{},v={},b={},x=0,T="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!s)for(s={};t=_n.exec(a);)s[t[1].toLowerCase()]=t[2];t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=b[n]=b[n]||e,v[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)y[t]=[y[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||T;return i&&i.abort(t),r(0,t),this}};if(g.promise(w).complete=m.add,w.success=w.done,w.error=w.fail,p.url=((e||p.url||Dn)+"").replace(Mn,"").replace(Bn,jn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=st.trim(p.dataType||"*").toLowerCase().match(lt)||[""],null==p.crossDomain&&(l=Pn.exec(p.url.toLowerCase()),p.crossDomain=!(!l||l[1]===jn[1]&&l[2]===jn[2]&&(l[3]||("http:"===l[1]?80:443))==(jn[3]||("http:"===jn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=st.param(p.data,p.traditional)),L(Wn,p,n,w),2===x)return w;c=p.global,c&&0===st.active++&&st.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!On.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(Hn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=qn.test(o)?o.replace(qn,"$1_="+Ln++):o+(Hn.test(o)?"&":"?")+"_="+Ln++)),p.ifModified&&(st.lastModified[o]&&w.setRequestHeader("If-Modified-Since",st.lastModified[o]),st.etag[o]&&w.setRequestHeader("If-None-Match",st.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&w.setRequestHeader("Content-Type",p.contentType),w.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+In+"; q=0.01":""):p.accepts["*"]);for(f in p.headers)w.setRequestHeader(f,p.headers[f]);if(p.beforeSend&&(p.beforeSend.call(d,w,p)===!1||2===x))return w.abort();T="abort";for(f in{success:1,error:1,complete:1})w[f](p[f]);if(i=L($n,p,n,w)){w.readyState=1,c&&h.trigger("ajaxSend",[w,p]),p.async&&p.timeout>0&&(u=setTimeout(function(){w.abort("timeout")},p.timeout));try{x=1,i.send(v,r)}catch(N){if(!(2>x))throw N;r(-1,N)}}else r(-1,"No Transport");return w},getScript:function(e,n){return st.get(e,t,n,"script")},getJSON:function(e,t,n){return st.get(e,t,n,"json")}}),st.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return st.globalEval(e),e}}}),st.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),st.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=V.head||st("head")[0]||V.documentElement;return{send:function(t,i){n=V.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Xn=[],Un=/(=)\?(?=&|$)|\?\?/;st.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xn.pop()||st.expando+"_"+Ln++;return this[e]=!0,e}}),st.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Un.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Un.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=st.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Un,"$1"+o):n.jsonp!==!1&&(n.url+=(Hn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||st.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Xn.push(o)),s&&st.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Vn,Yn,Jn=0,Gn=e.ActiveXObject&&function(){var e;for(e in Vn)Vn[e](t,!0)};st.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&_()||F()}:_,Yn=st.ajaxSettings.xhr(),st.support.cors=!!Yn&&"withCredentials"in Yn,Yn=st.support.ajax=!!Yn,Yn&&st.ajaxTransport(function(n){if(!n.crossDomain||st.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,f,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=st.noop,Gn&&delete Vn[a]),i)4!==u.readyState&&u.abort();else{f={},s=u.status,p=u.responseXML,c=u.getAllResponseHeaders(),p&&p.documentElement&&(f.xml=p),"string"==typeof u.responseText&&(f.text=u.responseText);try{l=u.statusText}catch(d){l=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=f.text?200:404}}catch(h){i||o(-1,h)}f&&o(s,l,f,c)},n.async?4===u.readyState?setTimeout(r):(a=++Jn,Gn&&(Vn||(Vn={},st(e).unload(Gn)),Vn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Qn,Kn,Zn=/^(?:toggle|show|hide)$/,er=RegExp("^(?:([+-])=|)("+ut+")([a-z%]*)$","i"),tr=/queueHooks$/,nr=[W],rr={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=er.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(st.cssNumber[e]?"":"px"),"px"!==r&&s){s=st.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,st.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};st.Animation=st.extend(P,{tweener:function(e,t){st.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],rr[n]=rr[n]||[],rr[n].unshift(t)},prefilter:function(e,t){t?nr.unshift(e):nr.push(e)}}),st.Tween=$,$.prototype={constructor:$,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(st.cssNumber[n]?"":"px")},cur:function(){var e=$.propHooks[this.prop];return e&&e.get?e.get(this):$.propHooks._default.get(this)},run:function(e){var t,n=$.propHooks[this.prop];return this.pos=t=this.options.duration?st.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):$.propHooks._default.set(this),this}},$.prototype.init.prototype=$.prototype,$.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=st.css(e.elem,e.prop,"auto"),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){st.fx.step[e.prop]?st.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[st.cssProps[e.prop]]||st.cssHooks[e.prop])?st.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},$.propHooks.scrollTop=$.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},st.each(["toggle","show","hide"],function(e,t){var n=st.fn[t];st.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(I(t,!0),e,r,i)}}),st.fn.extend({fadeTo:function(e,t,n,r){return this.filter(w).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=st.isEmptyObject(e),o=st.speed(t,n,r),a=function(){var t=P(this,st.extend({},e),o);a.finish=function(){t.stop(!0)},(i||st._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=st.timers,a=st._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&tr.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&st.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=st._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=st.timers,a=r?r.length:0;for(n.finish=!0,st.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),st.each({slideDown:I("show"),slideUp:I("hide"),slideToggle:I("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){st.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),st.speed=function(e,t,n){var r=e&&"object"==typeof e?st.extend({},e):{complete:n||!n&&t||st.isFunction(e)&&e,duration:e,easing:n&&t||t&&!st.isFunction(t)&&t};return r.duration=st.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in st.fx.speeds?st.fx.speeds[r.duration]:st.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){st.isFunction(r.old)&&r.old.call(this),r.queue&&st.dequeue(this,r.queue)},r},st.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},st.timers=[],st.fx=$.prototype.init,st.fx.tick=function(){var e,n=st.timers,r=0;for(Qn=st.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||st.fx.stop(),Qn=t},st.fx.timer=function(e){e()&&st.timers.push(e)&&st.fx.start()},st.fx.interval=13,st.fx.start=function(){Kn||(Kn=setInterval(st.fx.tick,st.fx.interval))},st.fx.stop=function(){clearInterval(Kn),Kn=null},st.fx.speeds={slow:600,fast:200,_default:400},st.fx.step={},st.expr&&st.expr.filters&&(st.expr.filters.animated=function(e){return st.grep(st.timers,function(t){return e===t.elem}).length}),st.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){st.offset.setOffset(this,e,t)});var n,r,i={top:0,left:0},o=this[0],a=o&&o.ownerDocument;if(a)return n=a.documentElement,st.contains(n,o)?(o.getBoundingClientRect!==t&&(i=o.getBoundingClientRect()),r=z(a),{top:i.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:i.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):i},st.offset={setOffset:function(e,t,n){var r=st.css(e,"position");"static"===r&&(e.style.position="relative");var i,o,a=st(e),s=a.offset(),u=st.css(e,"top"),l=st.css(e,"left"),c=("absolute"===r||"fixed"===r)&&st.inArray("auto",[u,l])>-1,f={},p={};c?(p=a.position(),i=p.top,o=p.left):(i=parseFloat(u)||0,o=parseFloat(l)||0),st.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(f.top=t.top-s.top+i),null!=t.left&&(f.left=t.left-s.left+o),"using"in t?t.using.call(e,f):a.css(f)}},st.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===st.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),st.nodeName(e[0],"html")||(n=e.offset()),n.top+=st.css(e[0],"borderTopWidth",!0),n.left+=st.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-st.css(r,"marginTop",!0),left:t.left-n.left-st.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||V.documentElement;e&&!st.nodeName(e,"html")&&"static"===st.css(e,"position");)e=e.offsetParent;return e||V.documentElement})}}),st.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);st.fn[e]=function(i){return st.access(this,function(e,i,o){var a=z(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?st(a).scrollLeft():o,r?o:st(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}}),st.each({Height:"height",Width:"width"},function(e,n){st.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){st.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return st.access(this,function(n,r,i){var o;return st.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?st.css(n,r,s):st.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=st,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return st})})(window);
4
+ //@ sourceMappingURL=jquery.min.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jquery-1.9.0.min.js","sources":["jquery-1.9.0.js"],"names":["window","undefined","isArraylike","obj","length","type","jQuery","isWindow","nodeType","createOptions","options","object","optionsCache","each","match","core_rnotwhite","_","flag","internalData","elem","name","data","pvt","acceptData","thisCache","ret","internalKey","expando","getByName","isNode","cache","id","core_deletedIds","pop","guid","toJSON","noop","extend","camelCase","internalRemoveData","i","l","isArray","concat","map","split","isEmptyDataObject","isEmptyObject","cleanData","support","deleteExpando","dataAttr","key","replace","rmultiDash","toLowerCase","getAttribute","rbrace","test","parseJSON","e","returnTrue","returnFalse","sibling","cur","dir","winnow","elements","qualifier","keep","isFunction","grep","retVal","call","filtered","isSimple","filter","inArray","createSafeFragment","document","list","nodeNames","safeFrag","createDocumentFragment","createElement","findOrAppend","tag","getElementsByTagName","appendChild","ownerDocument","disableScript","attr","getAttributeNode","specified","restoreScript","rscriptTypeMasked","exec","removeAttribute","setGlobalEval","elems","refElements","_data","cloneCopyEvent","src","dest","hasData","oldData","curData","events","handle","event","add","fixCloneNodeIssues","nodeName","noCloneEvent","removeEvent","text","parentNode","outerHTML","html5Clone","innerHTML","trim","manipulation_rcheckableType","defaultChecked","checked","value","defaultSelected","selected","defaultValue","getAll","context","found","querySelectorAll","childNodes","push","merge","fixDefaultChecked","vendorPropName","style","capName","charAt","toUpperCase","slice","origName","cssPrefixes","isHidden","el","css","contains","showHide","show","values","index","display","css_defaultDisplay","setPositiveNumber","subtract","matches","rnumsplit","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","getStyles","boxSizing","curCSS","rnumnonpx","boxSizingReliable","parseFloat","doc","elemdisplay","actualDisplay","iframe","appendTo","documentElement","contentWindow","contentDocument","write","close","detach","body","remove","buildParams","prefix","traditional","v","rbracket","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspect","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","responseFields","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","conv","conv2","current","tmp","prev","dataFilter","splice","state","error","createStandardXHR","XMLHttpRequest","createActiveXHR","ActiveXObject","createFxNow","setTimeout","fxNow","now","createTweens","animation","props","prop","collection","tweeners","Animation","properties","result","stopped","animationPrefilters","deferred","Deferred","always","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","opts","specialEasing","originalProperties","createTween","end","tween","Tween","easing","stop","gotoEnd","this","rejectWith","propFilter","start","fx","timer","anim","queue","progress","done","complete","fail","hooks","cssHooks","expand","defaultPrefilter","dataShow","toggle","oldfire","orig","handled","hidden","_queueHooks","unqueued","empty","fire","overflow","overflowX","overflowY","inlineBlockNeedsLayout","zoom","shrinkWrapBlocks","rfxtypes","hide","_removeData","prototype","init","genFx","includeWidth","which","attrs","height","opacity","width","getWindow","defaultView","parentWindow","rootjQuery","readyList","location","_jQuery","_$","$","class2type","core_version","core_concat","core_push","core_slice","core_indexOf","indexOf","core_toString","toString","core_hasOwn","hasOwnProperty","core_trim","selector","fn","core_pnum","source","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","DOMContentLoaded","addEventListener","removeEventListener","ready","readyState","detachEvent","jquery","constructor","find","parseHTML","isPlainObject","getElementById","makeArray","size","toArray","get","num","pushStack","prevObject","callback","args","apply","arguments","first","eq","last","len","j","sort","copy","copyIsArray","clone","noConflict","isReady","readyWait","holdReady","hold","wait","trigger","off","Array","isNumeric","isNaN","isFinite","String","msg","Error","keepScripts","parsed","scripts","buildFragment","JSON","parse","Function","parseXML","xml","DOMParser","parseFromString","async","loadXML","globalEval","execScript","string","arr","results","Object","second","inv","arg","proxy","access","chainable","emptyGet","raw","bulk","Date","getTime","attachEvent","top","frameElement","doScroll","doScrollCheck","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","self","disable","unique","has","disabled","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","action","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","contexts","a","select","opt","input","fragment","eventName","isSupported","div","setAttribute","cssText","getSetAttribute","className","leadingWhitespace","firstChild","tbody","htmlSerialize","hrefNormalized","cssFloat","checkOn","optSelected","enctype","cloneNode","boxModel","compatMode","reliableMarginRight","pixelPosition","noCloneChecked","optDisabled","radioValue","appendChecked","checkClone","lastChild","click","submit","change","focusin","attributes","backgroundClip","clearCloneStyle","container","marginDiv","tds","divReset","reliableHiddenOffsets","doesNotIncludeMarginInBodyOffset","offsetTop","getComputedStyle","marginRight","removeChild","random","noData","embed","applet","removeData","substring","dequeue","startLength","next","setter","delay","time","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","rclass","rreturn","rfocusable","rclickable","rboolean","ruseDefault","getSetInput","removeAttr","removeProp","propFix","addClass","classes","clazz","proceed","removeClass","toggleClass","stateVal","isBool","classNames","hasClass","valHooks","set","option","selectedIndex","one","notxml","nType","isXMLDoc","attrHooks","propName","attrNames","tabindex","readonly","for","class","maxlength","cellspacing","cellpadding","rowspan","colspan","usemap","frameborder","contenteditable","propHooks","tabIndex","attributeNode","parseInt","href","detail","button","setAttributeNode","createAttribute","parent","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","global","types","handler","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","needsContext","expr","namespace","join","delegateCount","setup","mappedTypes","origCount","RegExp","teardown","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","matched","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","originalEvent","fixHook","fixHooks","srcElement","metaKey","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","focus","activeElement","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","origFn","bind","unbind","delegate","undelegate","triggerHandler","hover","fnOver","fnOut","isNative","rnative","createCache","keys","Expr","cacheLength","markFunction","assert","Sizzle","seed","m","groups","old","nid","newContext","newSelector","preferredDoc","setDocument","documentIsXML","getByClassName","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","toSelector","rsibling","qsaError","siblingCheck","b","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","parseOnly","tokens","soFar","preFilters","cached","tokenCache","preFilter","rcomma","rcombinators","matchExpr","addCombinator","matcher","combinator","base","checkNonElements","doneName","outerCache","dirkey","dirruns","cachedruns","elementMatcher","matchers","condense","unmatched","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","E","uniqueSort","token","runescape","funescape","compile","setFilters","getText","isXML","hasDuplicate","docElem","rbuggyMatches","sortOrder","classCache","compilerCache","strundefined","MAX_NEGATIVE","whitespace","characterEncoding","identifier","operators","pseudos","rpseudo","ridentifier","ID","CLASS","NAME","TAG","ATTR","PSEUDO","CHILD","rinputs","rheader","rattributeQuotes","escaped","high","fromCharCode","node","tagNameNoComments","createComment","insertBefore","pass","getElementsByName","getIdNotName","attrHandle","attrId","matchesSelector","mozMatchesSelector","webkitMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","aup","ap","bp","sourceIndex","detectDuplicates","duplicates","textContent","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","pattern","operator","check","substr","what","simple","forward","ofType","diff","nodeIndex","useCache","pseudo","idx","not","innerText","lang","elemLang","hash","root","hasFocus","enabled","header","even","odd","lt","gt","radio","checkbox","file","password","image","reset","group","filters","runtil","rparentsprev","rneedsContext","guaranteedUnique","children","targets","is","closest","pos","prevAll","addBack","andSelf","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","reverse","n","r","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","rchecked","rscriptType","rcleanScript","wrapMap","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","wrapAll","html","wrap","wrapInner","unwrap","replaceWith","domManip","prepend","before","after","keepData","dataAndEvents","deepDataAndEvents","isFunc","table","hasScripts","iNoClone","ajax","url","throws","prependTo","insertAfter","replaceAll","insert","destElements","srcElements","inPage","selection","safe","nodes","ralpha","ropacity","rposition","rdisplayswap","rmargin","rrelNum","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","bool","computed","cssNumber","columnCount","fillOpacity","lineHeight","orphans","widows","zIndex","cssProps","float","swap","_computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","$1","visible","margin","padding","border","suffix","expanded","parts","r20","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","encodeURIComponent","ajaxLocParts","ajaxLocation","ajax_nonce","ajax_rquery","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","_load","prefilters","allTypes","params","responseText","status","method","success","active","lastModified","etag","isLocal","processData","contentType","accepts","*","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","nativeStatusText","headers","isSuccess","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","code","abort","finalText","crossDomain","hasContent","beforeSend","send","getScript","getJSON","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","xhrCallbacks","xhrSupported","xhrId","xhrOnUnloadAbort","xhr","cors","username","open","xhrFields","err","responseXML","firefoxAccessException","unload","timerId","rfxnum","rrun","unit","scale","maxIterations","tweener","prefilter","eased","step","cssFn","speed","animate","fadeTo","to","optall","doAnimation","finish","stopQueue","timers","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","interval","setInterval","clearInterval","slow","fast","animated","offset","setOffset","win","box","getBoundingClientRect","pageYOffset","pageXOffset","curTop","curLeft","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","using","offsetParent","parentOffset","scrollTo","Height","Width","content","defaultExtra","funcName","define","amd"],"mappings":"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"}
@@ -0,0 +1,320 @@
1
+ (function() {
2
+ var $, Ajax, Base, Collection, Extend, Include, Model, Queue, Singleton, Spine,
3
+ __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
4
+ __hasProp = {}.hasOwnProperty,
5
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
6
+ __slice = [].slice;
7
+
8
+ Spine = this.Spine || require('spine');
9
+
10
+ $ = Spine.$;
11
+
12
+ Model = Spine.Model;
13
+
14
+ Queue = $({});
15
+
16
+ Ajax = {
17
+ getURL: function(object) {
18
+ return object && (typeof object.url === "function" ? object.url() : void 0) || object.url;
19
+ },
20
+ enabled: true,
21
+ disable: function(callback) {
22
+ if (this.enabled) {
23
+ this.enabled = false;
24
+ try {
25
+ return callback();
26
+ } catch (e) {
27
+ throw e;
28
+ } finally {
29
+ this.enabled = true;
30
+ }
31
+ } else {
32
+ return callback();
33
+ }
34
+ },
35
+ queue: function(request) {
36
+ if (request) {
37
+ return Queue.queue(request);
38
+ } else {
39
+ return Queue.queue();
40
+ }
41
+ },
42
+ clearQueue: function() {
43
+ return this.queue([]);
44
+ }
45
+ };
46
+
47
+ Base = (function() {
48
+
49
+ function Base() {}
50
+
51
+ Base.prototype.defaults = {
52
+ contentType: 'application/json',
53
+ dataType: 'json',
54
+ processData: false,
55
+ headers: {
56
+ 'X-Requested-With': 'XMLHttpRequest'
57
+ }
58
+ };
59
+
60
+ Base.prototype.queue = Ajax.queue;
61
+
62
+ Base.prototype.ajax = function(params, defaults) {
63
+ return $.ajax(this.ajaxSettings(params, defaults));
64
+ };
65
+
66
+ Base.prototype.ajaxQueue = function(params, defaults) {
67
+ var deferred, jqXHR, promise, request, settings;
68
+ jqXHR = null;
69
+ deferred = $.Deferred();
70
+ promise = deferred.promise();
71
+ if (!Ajax.enabled) {
72
+ return promise;
73
+ }
74
+ settings = this.ajaxSettings(params, defaults);
75
+ request = function(next) {
76
+ return jqXHR = $.ajax(settings).done(deferred.resolve).fail(deferred.reject).then(next, next);
77
+ };
78
+ promise.abort = function(statusText) {
79
+ var index;
80
+ if (jqXHR) {
81
+ return jqXHR.abort(statusText);
82
+ }
83
+ index = $.inArray(request, this.queue());
84
+ if (index > -1) {
85
+ this.queue().splice(index, 1);
86
+ }
87
+ deferred.rejectWith(settings.context || settings, [promise, statusText, '']);
88
+ return promise;
89
+ };
90
+ this.queue(request);
91
+ return promise;
92
+ };
93
+
94
+ Base.prototype.ajaxSettings = function(params, defaults) {
95
+ return $.extend({}, this.defaults, defaults, params);
96
+ };
97
+
98
+ return Base;
99
+
100
+ })();
101
+
102
+ Collection = (function(_super) {
103
+
104
+ __extends(Collection, _super);
105
+
106
+ function Collection(model) {
107
+ this.model = model;
108
+ this.failResponse = __bind(this.failResponse, this);
109
+ this.recordsResponse = __bind(this.recordsResponse, this);
110
+ }
111
+
112
+ Collection.prototype.find = function(id, params) {
113
+ var record;
114
+ record = new this.model({
115
+ id: id
116
+ });
117
+ return this.ajaxQueue(params, {
118
+ type: 'GET',
119
+ url: Ajax.getURL(record)
120
+ }).done(this.recordsResponse).fail(this.failResponse);
121
+ };
122
+
123
+ Collection.prototype.all = function(params) {
124
+ return this.ajaxQueue(params, {
125
+ type: 'GET',
126
+ url: Ajax.getURL(this.model)
127
+ }).done(this.recordsResponse).fail(this.failResponse);
128
+ };
129
+
130
+ Collection.prototype.fetch = function(params, options) {
131
+ var id,
132
+ _this = this;
133
+ if (params == null) {
134
+ params = {};
135
+ }
136
+ if (options == null) {
137
+ options = {};
138
+ }
139
+ if (id = params.id) {
140
+ delete params.id;
141
+ return this.find(id, params).done(function(record) {
142
+ return _this.model.refresh(record, options);
143
+ });
144
+ } else {
145
+ return this.all(params).done(function(records) {
146
+ return _this.model.refresh(records, options);
147
+ });
148
+ }
149
+ };
150
+
151
+ Collection.prototype.recordsResponse = function(data, status, xhr) {
152
+ return this.model.trigger('ajaxSuccess', null, status, xhr);
153
+ };
154
+
155
+ Collection.prototype.failResponse = function(xhr, statusText, error) {
156
+ return this.model.trigger('ajaxError', null, xhr, statusText, error);
157
+ };
158
+
159
+ return Collection;
160
+
161
+ })(Base);
162
+
163
+ Singleton = (function(_super) {
164
+
165
+ __extends(Singleton, _super);
166
+
167
+ function Singleton(record) {
168
+ this.record = record;
169
+ this.failResponse = __bind(this.failResponse, this);
170
+ this.recordResponse = __bind(this.recordResponse, this);
171
+ this.model = this.record.constructor;
172
+ }
173
+
174
+ Singleton.prototype.reload = function(params, options) {
175
+ return this.ajaxQueue(params, {
176
+ type: 'GET',
177
+ url: Ajax.getURL(this.record)
178
+ }).done(this.recordResponse(options)).fail(this.failResponse(options));
179
+ };
180
+
181
+ Singleton.prototype.create = function(params, options) {
182
+ return this.ajaxQueue(params, {
183
+ type: 'POST',
184
+ data: JSON.stringify(this.record),
185
+ url: Ajax.getURL(this.model)
186
+ }).done(this.recordResponse(options)).fail(this.failResponse(options));
187
+ };
188
+
189
+ Singleton.prototype.update = function(params, options) {
190
+ return this.ajaxQueue(params, {
191
+ type: 'PUT',
192
+ data: JSON.stringify(this.record),
193
+ url: Ajax.getURL(this.record)
194
+ }).done(this.recordResponse(options)).fail(this.failResponse(options));
195
+ };
196
+
197
+ Singleton.prototype.destroy = function(params, options) {
198
+ return this.ajaxQueue(params, {
199
+ type: 'DELETE',
200
+ url: Ajax.getURL(this.record)
201
+ }).done(this.recordResponse(options)).fail(this.failResponse(options));
202
+ };
203
+
204
+ Singleton.prototype.recordResponse = function(options) {
205
+ var _this = this;
206
+ if (options == null) {
207
+ options = {};
208
+ }
209
+ return function(data, status, xhr) {
210
+ var _ref, _ref1;
211
+ if (Spine.isBlank(data) || _this.record.destroyed) {
212
+ data = false;
213
+ } else {
214
+ data = _this.model.fromJSON(data);
215
+ }
216
+ Ajax.disable(function() {
217
+ if (data) {
218
+ if (data.id && _this.record.id !== data.id) {
219
+ _this.record.changeID(data.id);
220
+ }
221
+ return _this.record.updateAttributes(data.attributes());
222
+ }
223
+ });
224
+ _this.record.trigger('ajaxSuccess', data, status, xhr);
225
+ if ((_ref = options.success) != null) {
226
+ _ref.apply(_this.record);
227
+ }
228
+ return (_ref1 = options.done) != null ? _ref1.apply(_this.record) : void 0;
229
+ };
230
+ };
231
+
232
+ Singleton.prototype.failResponse = function(options) {
233
+ var _this = this;
234
+ if (options == null) {
235
+ options = {};
236
+ }
237
+ return function(xhr, statusText, error) {
238
+ var _ref, _ref1;
239
+ _this.record.trigger('ajaxError', xhr, statusText, error);
240
+ if ((_ref = options.error) != null) {
241
+ _ref.apply(_this.record);
242
+ }
243
+ return (_ref1 = options.fail) != null ? _ref1.apply(_this.record) : void 0;
244
+ };
245
+ };
246
+
247
+ return Singleton;
248
+
249
+ })(Base);
250
+
251
+ Model.host = '';
252
+
253
+ Include = {
254
+ ajax: function() {
255
+ return new Singleton(this);
256
+ },
257
+ url: function() {
258
+ var args, url;
259
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
260
+ url = Ajax.getURL(this.constructor);
261
+ if (url.charAt(url.length - 1) !== '/') {
262
+ url += '/';
263
+ }
264
+ url += encodeURIComponent(this.id);
265
+ args.unshift(url);
266
+ return args.join('/');
267
+ }
268
+ };
269
+
270
+ Extend = {
271
+ ajax: function() {
272
+ return new Collection(this);
273
+ },
274
+ url: function() {
275
+ var args;
276
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
277
+ args.unshift(this.className.toLowerCase() + 's');
278
+ args.unshift(Model.host);
279
+ return args.join('/');
280
+ }
281
+ };
282
+
283
+ Model.Ajax = {
284
+ extended: function() {
285
+ this.fetch(this.ajaxFetch);
286
+ this.change(this.ajaxChange);
287
+ this.extend(Extend);
288
+ return this.include(Include);
289
+ },
290
+ ajaxFetch: function() {
291
+ var _ref;
292
+ return (_ref = this.ajax()).fetch.apply(_ref, arguments);
293
+ },
294
+ ajaxChange: function(record, type, options) {
295
+ if (options == null) {
296
+ options = {};
297
+ }
298
+ if (options.ajax === false) {
299
+ return;
300
+ }
301
+ return record.ajax()[type](options.ajax, options);
302
+ }
303
+ };
304
+
305
+ Model.Ajax.Methods = {
306
+ extended: function() {
307
+ this.extend(Extend);
308
+ return this.include(Include);
309
+ }
310
+ };
311
+
312
+ Ajax.defaults = Base.prototype.defaults;
313
+
314
+ Spine.Ajax = Ajax;
315
+
316
+ if (typeof module !== "undefined" && module !== null) {
317
+ module.exports = Ajax;
318
+ }
319
+
320
+ }).call(this);
@@ -0,0 +1,72 @@
1
+ (function() {
2
+ var $, Spine,
3
+ __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },
4
+ __hasProp = {}.hasOwnProperty,
5
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; };
6
+
7
+ Spine = this.Spine || require('spine');
8
+
9
+ $ = Spine.$;
10
+
11
+ Spine.List = (function(_super) {
12
+
13
+ __extends(List, _super);
14
+
15
+ List.prototype.events = {
16
+ 'click .item': 'click'
17
+ };
18
+
19
+ List.prototype.selectFirst = false;
20
+
21
+ function List() {
22
+ this.change = __bind(this.change, this); List.__super__.constructor.apply(this, arguments);
23
+ this.bind('change', this.change);
24
+ }
25
+
26
+ List.prototype.template = function() {
27
+ throw 'Override template';
28
+ };
29
+
30
+ List.prototype.change = function(item) {
31
+ this.current = item;
32
+ if (!this.current) {
33
+ this.children().removeClass('active');
34
+ return;
35
+ }
36
+ this.children().removeClass('active');
37
+ return $(this.children().get(this.items.indexOf(this.current))).addClass('active');
38
+ };
39
+
40
+ List.prototype.render = function(items) {
41
+ if (items) {
42
+ this.items = items;
43
+ }
44
+ this.html(this.template(this.items));
45
+ this.change(this.current);
46
+ if (this.selectFirst) {
47
+ if (!this.children('.active').length) {
48
+ return this.children(':first').click();
49
+ }
50
+ }
51
+ };
52
+
53
+ List.prototype.children = function(sel) {
54
+ return this.el.children(sel);
55
+ };
56
+
57
+ List.prototype.click = function(e) {
58
+ var item;
59
+ item = this.items[$(e.currentTarget).index()];
60
+ this.trigger('change', item);
61
+ return true;
62
+ };
63
+
64
+ return List;
65
+
66
+ })(Spine.Controller);
67
+
68
+ if (typeof module !== "undefined" && module !== null) {
69
+ module.exports = Spine.List;
70
+ }
71
+
72
+ }).call(this);
@@ -0,0 +1,29 @@
1
+ (function() {
2
+ var Spine;
3
+
4
+ Spine = this.Spine || require('spine');
5
+
6
+ Spine.Model.Local = {
7
+ extended: function() {
8
+ this.change(this.saveLocal);
9
+ return this.fetch(this.loadLocal);
10
+ },
11
+ saveLocal: function() {
12
+ var result;
13
+ result = JSON.stringify(this);
14
+ return localStorage[this.className] = result;
15
+ },
16
+ loadLocal: function() {
17
+ var result;
18
+ result = localStorage[this.className];
19
+ return this.refresh(result || [], {
20
+ clear: true
21
+ });
22
+ }
23
+ };
24
+
25
+ if (typeof module !== "undefined" && module !== null) {
26
+ module.exports = Spine.Model.Local;
27
+ }
28
+
29
+ }).call(this);
@@ -0,0 +1,157 @@
1
+ (function() {
2
+ var $, Spine,
3
+ __hasProp = {}.hasOwnProperty,
4
+ __extends = function(child, parent) { for (var key in parent) { if (__hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },
5
+ __slice = [].slice;
6
+
7
+ Spine = this.Spine || require('spine');
8
+
9
+ $ = Spine.$;
10
+
11
+ Spine.Manager = (function(_super) {
12
+
13
+ __extends(Manager, _super);
14
+
15
+ Manager.include(Spine.Events);
16
+
17
+ function Manager() {
18
+ this.controllers = [];
19
+ this.bind('change', this.change);
20
+ this.add.apply(this, arguments);
21
+ }
22
+
23
+ Manager.prototype.add = function() {
24
+ var cont, controllers, _i, _len, _results;
25
+ controllers = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
26
+ _results = [];
27
+ for (_i = 0, _len = controllers.length; _i < _len; _i++) {
28
+ cont = controllers[_i];
29
+ _results.push(this.addOne(cont));
30
+ }
31
+ return _results;
32
+ };
33
+
34
+ Manager.prototype.addOne = function(controller) {
35
+ var _this = this;
36
+ controller.bind('active', function() {
37
+ var args;
38
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
39
+ return _this.trigger.apply(_this, ['change', controller].concat(__slice.call(args)));
40
+ });
41
+ controller.bind('release', function() {
42
+ return _this.controllers.splice(_this.controllers.indexOf(controller), 1);
43
+ });
44
+ return this.controllers.push(controller);
45
+ };
46
+
47
+ Manager.prototype.deactivate = function() {
48
+ return this.trigger.apply(this, ['change', false].concat(__slice.call(arguments)));
49
+ };
50
+
51
+ Manager.prototype.change = function() {
52
+ var args, cont, current, _i, _len, _ref, _results;
53
+ current = arguments[0], args = 2 <= arguments.length ? __slice.call(arguments, 1) : [];
54
+ _ref = this.controllers;
55
+ _results = [];
56
+ for (_i = 0, _len = _ref.length; _i < _len; _i++) {
57
+ cont = _ref[_i];
58
+ if (cont === current) {
59
+ _results.push(cont.activate.apply(cont, args));
60
+ } else {
61
+ _results.push(cont.deactivate.apply(cont, args));
62
+ }
63
+ }
64
+ return _results;
65
+ };
66
+
67
+ return Manager;
68
+
69
+ })(Spine.Module);
70
+
71
+ Spine.Controller.include({
72
+ active: function() {
73
+ var args;
74
+ args = 1 <= arguments.length ? __slice.call(arguments, 0) : [];
75
+ if (typeof args[0] === 'function') {
76
+ this.bind('active', args[0]);
77
+ } else {
78
+ args.unshift('active');
79
+ this.trigger.apply(this, args);
80
+ }
81
+ return this;
82
+ },
83
+ isActive: function() {
84
+ return this.el.hasClass('active');
85
+ },
86
+ activate: function() {
87
+ this.el.addClass('active');
88
+ return this;
89
+ },
90
+ deactivate: function() {
91
+ this.el.removeClass('active');
92
+ return this;
93
+ }
94
+ });
95
+
96
+ Spine.Stack = (function(_super) {
97
+
98
+ __extends(Stack, _super);
99
+
100
+ Stack.prototype.controllers = {};
101
+
102
+ Stack.prototype.routes = {};
103
+
104
+ Stack.prototype.className = 'spine stack';
105
+
106
+ function Stack() {
107
+ var key, value, _fn, _ref, _ref1,
108
+ _this = this;
109
+ Stack.__super__.constructor.apply(this, arguments);
110
+ this.manager = new Spine.Manager;
111
+ _ref = this.controllers;
112
+ for (key in _ref) {
113
+ value = _ref[key];
114
+ this[key] = new value({
115
+ stack: this
116
+ });
117
+ this.add(this[key]);
118
+ }
119
+ _ref1 = this.routes;
120
+ _fn = function(key, value) {
121
+ var callback;
122
+ if (typeof value === 'function') {
123
+ callback = value;
124
+ }
125
+ callback || (callback = function() {
126
+ var _ref2;
127
+ return (_ref2 = _this[value]).active.apply(_ref2, arguments);
128
+ });
129
+ return _this.route(key, callback);
130
+ };
131
+ for (key in _ref1) {
132
+ value = _ref1[key];
133
+ _fn(key, value);
134
+ }
135
+ if (this["default"]) {
136
+ this[this["default"]].active();
137
+ }
138
+ }
139
+
140
+ Stack.prototype.add = function(controller) {
141
+ this.manager.add(controller);
142
+ return this.append(controller);
143
+ };
144
+
145
+ return Stack;
146
+
147
+ })(Spine.Controller);
148
+
149
+ if (typeof module !== "undefined" && module !== null) {
150
+ module.exports = Spine.Manager;
151
+ }
152
+
153
+ if (typeof module !== "undefined" && module !== null) {
154
+ module.exports.Stack = Spine.Stack;
155
+ }
156
+
157
+ }).call(this);