diff --git a/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php b/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php index 00af3e19..28e07834 100644 --- a/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php +++ b/app/database/migrations/2015_01_05_202826_CreateMetricsTable.php @@ -18,6 +18,7 @@ class CreateMetricsTable extends Migration $table->string('name'); $table->string('suffix'); $table->text('description'); + $table->integer('default_value'); $table->boolean('display_chart')->default(1); $table->timestamps(); diff --git a/app/lang/de/dashboard.php b/app/lang/de/dashboard.php index facb5500..02be2d16 100644 --- a/app/lang/de/dashboard.php +++ b/app/lang/de/dashboard.php @@ -70,6 +70,11 @@ return [ 'success' => 'Metrik-Punkt angelegt.', 'failure' => 'Es ist ein Fehler bei der Erstellung eines Metrik-Punktes aufgetreten.', ], + 'edit' => [ + 'title' => 'Edit a metric', + 'success' => 'Metric updated.', + 'failure' => 'Something went wrong with the metric.', + ], ], // Team diff --git a/app/lang/de/forms.php b/app/lang/de/forms.php index ab2579ee..11f33b3f 100644 --- a/app/lang/de/forms.php +++ b/app/lang/de/forms.php @@ -51,6 +51,19 @@ return [ ], ], + // Metric form fields + 'metrics' => [ + 'name' => 'Name', + 'suffix' => 'Suffix', + 'description' => 'Description', + 'description-help' => 'You may also use Markdown.', + 'display-chart' => 'Display chart on status page?', + + 'points' => [ + 'value' => 'Value', + ], + ], + // Settings 'settings' => [ /// Application setup @@ -60,6 +73,7 @@ return [ 'site-timezone' => 'Wählen Sie Ihre Zeitzone', 'site-locale' => 'Wählen Sie Ihre Sprache', 'date-format' => 'Datumsformat', + 'display-graphs' => 'Display graphs on status page?', 'about-this-page' => 'Über diese Seite', 'days-of-incidents' => 'Wie viele (vergangene) Tage sollen angezeigt werden?', 'banner' => 'Banner-Bild', diff --git a/app/lang/en/cachet.php b/app/lang/en/cachet.php index fbaa6c47..60e02500 100644 --- a/app/lang/en/cachet.php +++ b/app/lang/en/cachet.php @@ -37,6 +37,15 @@ return [ 'revoke' => 'Revoke API Key', ], + // Metrics + 'metrics' => [ + 'filter' => [ + 'hourly' => 'Hourly', + 'daily' => 'Daily', + 'monthly' => 'Monthly', + ], + ], + // Other 'powered_by' => ':app Status Page is powered by Cachet.', 'about_this_site' => 'About this site', diff --git a/app/lang/en/dashboard.php b/app/lang/en/dashboard.php index 1edb459a..614a71e3 100644 --- a/app/lang/en/dashboard.php +++ b/app/lang/en/dashboard.php @@ -73,9 +73,14 @@ return [ 'metrics' => [ 'metrics' => 'Metrics', 'add' => [ - 'title' => 'Create a metric point', - 'success' => 'Metric point created.', - 'failure' => 'Something went wrong with the metric point.', + 'title' => 'Create a metric', + 'success' => 'Metric created.', + 'failure' => 'Something went wrong with the metric.', + ], + 'edit' => [ + 'title' => 'Edit a metric', + 'success' => 'Metric updated.', + 'failure' => 'Something went wrong with the metric.', ], ], diff --git a/app/lang/en/forms.php b/app/lang/en/forms.php index 12221c43..4ed6449d 100644 --- a/app/lang/en/forms.php +++ b/app/lang/en/forms.php @@ -52,6 +52,20 @@ return [ ], ], + // Metric form fields + 'metrics' => [ + 'name' => 'Name', + 'suffix' => 'Suffix', + 'description' => 'Description', + 'description-help' => 'You may also use Markdown.', + 'display-chart' => 'Display chart on status page?', + 'default-value' => 'Default value', + + 'points' => [ + 'value' => 'Value', + ], + ], + // Settings 'settings' => [ /// Application setup @@ -61,6 +75,7 @@ return [ 'site-timezone' => 'Site Timezone', 'site-locale' => 'Site Language', 'date-format' => 'Date Format', + 'display-graphs' => 'Display graphs on status page?', 'about-this-page' => 'About this page', 'days-of-incidents' => 'How many days of incidents to show?', 'banner' => 'Banner Image', diff --git a/app/lang/es/forms.php b/app/lang/es/forms.php index 634f6379..679d4acc 100644 --- a/app/lang/es/forms.php +++ b/app/lang/es/forms.php @@ -52,6 +52,19 @@ return [ ], ], + // Metric form fields + 'metrics' => [ + 'name' => 'Nombre', + 'suffix' => 'Sufijo', + 'description' => 'Descripción', + 'description-help' => 'Puedes usar también Markdown.', + 'display-chart' => '¿Vizualizar gráfica en la página de estado?', + + 'points' => [ + 'value' => 'Valor', + ], + ], + // Settings 'settings' => [ /// Application setup @@ -61,6 +74,7 @@ return [ 'site-timezone' => 'Zona horaria del sitio', 'site-locale' => 'Idioma del sitio', 'date-format' => 'Formato de la fecha', + 'display-graphs' => '¿Visualizar gráficas en la página de estado?', 'about-this-page' => 'Sobre esta página', 'days-of-incidents' => '¿Cuántos días de incidentes mostrar?', 'banner' => 'Imagen de inicio', diff --git a/app/lang/fr/dashboard.php b/app/lang/fr/dashboard.php index 5d433386..0357e7cb 100644 --- a/app/lang/fr/dashboard.php +++ b/app/lang/fr/dashboard.php @@ -76,6 +76,11 @@ return [ 'success' => 'Point de mesure créé.', 'failure' => 'Il s\'est passé quelque chose avec ce point de mesure.', ], + 'edit' => [ + 'title' => 'Edit a metric', + 'success' => 'Metric updated.', + 'failure' => 'Something went wrong with the metric.', + ], ], // Team diff --git a/app/lang/fr/forms.php b/app/lang/fr/forms.php index b0579456..ff9f2be9 100644 --- a/app/lang/fr/forms.php +++ b/app/lang/fr/forms.php @@ -51,6 +51,19 @@ return [ ], ], + // Metric form fields + 'metrics' => [ + 'name' => 'Name', + 'suffix' => 'Suffix', + 'description' => 'Description', + 'description-help' => 'You may also use Markdown.', + 'display-chart' => 'Display chart on status page?', + + 'points' => [ + 'value' => 'Value', + ], + ], + // Settings 'settings' => [ /// Application setup @@ -60,6 +73,7 @@ return [ 'site-timezone' => 'Fuseau horaire du site', 'site-locale' => 'Langue du site', 'date-format' => 'Format de date', + 'display-graphs' => 'Display graphs on status page?', 'about-this-page' => 'À propos de cette page', 'days-of-incidents' => 'Nombre de jours à afficher ?', 'banner' => 'Bannière', diff --git a/app/routes/dashboard.php b/app/routes/dashboard.php index 6ad56ad6..3e68737f 100644 --- a/app/routes/dashboard.php +++ b/app/routes/dashboard.php @@ -77,8 +77,17 @@ Route::group(['before' => 'auth', 'prefix' => 'dashboard', 'namespace' => 'Cache Route::group(['prefix' => 'metrics'], function () { Route::get('/', [ 'as' => 'dashboard.metrics', - 'uses' => 'DashboardController@showMetrics', + 'uses' => 'DashMetricController@showMetrics', ]); + + Route::get('add', [ + 'as' => 'dashboard.metrics.add', + 'uses' => 'DashMetricController@showAddMetric', + ]); + Route::post('add', 'DashMetricController@createMetricAction'); + Route::delete('{metric}/delete', 'DashMetricController@deleteMetricAction'); + Route::get('{metric}/edit', 'DashMetricController@showEditMetricAction'); + Route::post('{metric}/edit', 'DashMetricController@editMetricAction'); }); // Notifications diff --git a/app/views/dashboard/incidents/add.blade.php b/app/views/dashboard/incidents/add.blade.php index 20531466..03ca1e38 100644 --- a/app/views/dashboard/incidents/add.blade.php +++ b/app/views/dashboard/incidents/add.blade.php @@ -6,7 +6,7 @@ - {{ trans('dashboard.incidents.incidents') }} + {{ trans('dashboard.incidents.incidents') }} > {{ trans('dashboard.incidents.add.title') }} diff --git a/app/views/dashboard/incidents/edit.blade.php b/app/views/dashboard/incidents/edit.blade.php index 197bc67d..977b6767 100644 --- a/app/views/dashboard/incidents/edit.blade.php +++ b/app/views/dashboard/incidents/edit.blade.php @@ -6,7 +6,7 @@ - {{ trans('dashboard.incidents.incidents') }} + {{ trans('dashboard.incidents.incidents') }} > {{ trans('dashboard.incidents.edit.title') }} diff --git a/app/views/dashboard/incidents/index.blade.php b/app/views/dashboard/incidents/index.blade.php index b1c7c63d..5ce27c24 100644 --- a/app/views/dashboard/incidents/index.blade.php +++ b/app/views/dashboard/incidents/index.blade.php @@ -6,7 +6,7 @@ - {{ trans('dashboard.incidents.incidents') }} + {{ trans('dashboard.incidents.incidents') }} {{ trans('dashboard.incidents.add.title') }} diff --git a/app/views/dashboard/metrics/add.blade.php b/app/views/dashboard/metrics/add.blade.php new file mode 100644 index 00000000..1c7722aa --- /dev/null +++ b/app/views/dashboard/metrics/add.blade.php @@ -0,0 +1,54 @@ +@extends('layout.dashboard') + +@section('content') + + + + + + {{ trans('dashboard.metrics.metrics') }} + + > {{ trans('dashboard.metrics.add.title') }} + + + + + @include('partials.dashboard.errors') + + {{ Form::token() }} + + + {{ trans('forms.metrics.name') }} + + + + {{ trans('forms.metrics.suffix') }} + + + + {{ trans('forms.metrics.description') }} + + {{ Input::old('metric.description') }} + + + + {{ trans('forms.metrics.default-value') }} + + + + {{ trans('forms.metrics.display-chart') }} + + + + + + + {{ trans('forms.add') }} + {{ trans('forms.cancel') }} + + + + + + +@stop diff --git a/app/views/dashboard/metrics/edit.blade.php b/app/views/dashboard/metrics/edit.blade.php new file mode 100644 index 00000000..b47acb1d --- /dev/null +++ b/app/views/dashboard/metrics/edit.blade.php @@ -0,0 +1,57 @@ +@extends('layout.dashboard') + +@section('content') + + + + + + {{ trans('dashboard.metrics.metrics') }} + + > {{ trans('dashboard.metrics.edit.title') }} + + + + + @include('partials.dashboard.errors') + + {{ Form::token() }} + + + {{ trans('forms.metrics.name') }} + name }}> + + + {{ trans('forms.metrics.suffix') }} + + + + {{ trans('forms.metrics.description') }} + + {{ $metric->description }} + + + + {{ trans('forms.metrics.default-value') }} + + + + {{ trans('forms.metrics.display-chart') }} + + display_chart ? 'checked' : null }}> + + + + id}}> + + + + {{ trans('forms.update') }} + {{ trans('forms.cancel') }} + + + + + + +@stop diff --git a/app/views/dashboard/metrics/index.blade.php b/app/views/dashboard/metrics/index.blade.php index 96f1db49..0648121c 100644 --- a/app/views/dashboard/metrics/index.blade.php +++ b/app/views/dashboard/metrics/index.blade.php @@ -1,16 +1,39 @@ @extends('layout.dashboard') @section('content') - + - {{ trans('dashboard.metrics.metrics') }} + + {{ trans('dashboard.metrics.metrics') }} + + + {{ trans('dashboard.metrics.add.title') }} + + - - - {{ trans('dashboard.metrics.metrics') }} - Eventually this page will show all of the graphs that make up your metrics. + + + + @include('partials.dashboard.errors') + + @foreach($metrics as $metric) + + + {{ $metric->name }} + @if($metric->description) + {{ Str::words($metric->description, 5) }} + @endif + + + {{ trans('forms.edit') }} + {{ trans('forms.delete') }} + + + @endforeach + + @stop diff --git a/app/views/dashboard/settings/app-setup.blade.php b/app/views/dashboard/settings/app-setup.blade.php index 40b0f0a2..f1e754c1 100644 --- a/app/views/dashboard/settings/app-setup.blade.php +++ b/app/views/dashboard/settings/app-setup.blade.php @@ -104,6 +104,15 @@ + + + + {{ trans('forms.settings.app-setup.display-graphs') }} + + + + + diff --git a/app/views/index.blade.php b/app/views/index.blade.php index b9dbb4aa..46c0f773 100644 --- a/app/views/index.blade.php +++ b/app/views/index.blade.php @@ -21,13 +21,13 @@ @include('partials.components') - {{-- @if(Setting::get('display_graphs')) - @include('partials.graphs') - @endif --}} + @if($displayMetrics && Setting::get('display_graphs')) + @include('partials.graphs') + @endif {{ trans('cachet.incidents.past') }} @foreach($allIncidents as $incidents) - @include('partials.incidents', $incidents) + @include('partials.incidents', $incidents) @endforeach diff --git a/app/views/partials/dashboard/sidebar.blade.php b/app/views/partials/dashboard/sidebar.blade.php index 52a8710e..dc222a2b 100644 --- a/app/views/partials/dashboard/sidebar.blade.php +++ b/app/views/partials/dashboard/sidebar.blade.php @@ -55,12 +55,13 @@ {{ trans('dashboard.team.team') }} - {{-- + - {{ trans('cachet.dashboard.metrics') }} + + {{ trans('dashboard.metrics.metrics') }} - + {{-- {{ trans('cachet.dashboard.notifications') }} diff --git a/app/views/partials/graphs.blade.php b/app/views/partials/graphs.blade.php index e69de29b..c9d27a29 100644 --- a/app/views/partials/graphs.blade.php +++ b/app/views/partials/graphs.blade.php @@ -0,0 +1,69 @@ +@if($metrics->count() > 0) + + @foreach($metrics as $metric) + getValues($hour); + } + $points = array_reverse($points); + ?> + + + + + {{ $metric->name }} + @if($metric->description) + + @endif + + + + {{ trans('cachet.metrics.filter.hourly') }} + + + + + + + + + + + + + @endforeach + +@endif diff --git a/bower.json b/bower.json index c37a868f..77dc0bad 100644 --- a/bower.json +++ b/bower.json @@ -12,7 +12,8 @@ "Sortable": "~1.0.0", "animate-sass": "~0.6.2", "moment": "~2.9", - "livestampjs": "~1.1.2" + "livestampjs": "~1.1.2", + "chartjs": "~1.0.1" }, "resolutions": { "jquery": "~2.1.1" diff --git a/gulpfile.js b/gulpfile.js index e3364432..550c3140 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -20,6 +20,7 @@ elixir(function (mix) { 'bower_components/livestampjs/livestamp.js', 'bower_components/jquery-minicolors/jquery.minicolors.js', 'bower_components/jquery-serialize-object/jquery.serialize-object.js', + 'bower_components/chartjs/Chart.js', 'js/app.js', 'js/**/*.js' ], 'public/dist/js/all.js', './app/assets/') diff --git a/public/build/dist/js/all-35b543c2.js b/public/build/dist/js/all-35b543c2.js deleted file mode 100644 index 694abd69..00000000 --- a/public/build/dist/js/all-35b543c2.js +++ /dev/null @@ -1,11 +0,0 @@ -if(function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=e.length,n=Z.type(e);return"function"===n||Z.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e}function r(e,t,n){if(Z.isFunction(t))return Z.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return Z.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(ot.test(t))return Z.filter(t,e,n);t=Z.filter(t,e)}return Z.grep(e,function(e){return B.call(t,e)>=0!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function a(e){var t=_t[e]={};return Z.each(e.match(ht)||[],function(e,n){t[n]=!0}),t}function s(){Q.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1),Z.ready()}function o(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=Z.expando+o.uid++}function u(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Mt,"-$1").toLowerCase(),n=e.getAttribute(r),"string"==typeof n){try{n="true"===n?!0:"false"===n?!1:"null"===n?null:+n+""===n?+n:vt.test(n)?Z.parseJSON(n):n}catch(i){}yt.set(e,t,n)}else n=void 0;return n}function l(){return!0}function d(){return!1}function c(){try{return Q.activeElement}catch(e){}}function f(e,t){return Z.nodeName(e,"table")&&Z.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function h(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function _(e){var t=Ot.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function p(e,t){for(var n=0,r=e.length;r>n;n++)gt.set(e[n],"globalEval",!t||gt.get(t[n],"globalEval"))}function m(e,t){var n,r,i,a,s,o,u,l;if(1===t.nodeType){if(gt.hasData(e)&&(a=gt.access(e),s=gt.set(t,a),l=a.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;r>n;n++)Z.event.add(t,i,l[i][n])}yt.hasData(e)&&(o=yt.access(e),u=Z.extend({},o),yt.set(t,u))}}function g(e,t){var n=e.getElementsByTagName?e.getElementsByTagName(t||"*"):e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&Z.nodeName(e,t)?Z.merge([e],n):n}function y(e,t){var n=t.nodeName.toLowerCase();"input"===n&&bt.test(e.type)?t.checked=e.checked:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}function v(t,n){var r,i=Z(n.createElement(t)).appendTo(n.body),a=e.getDefaultComputedStyle&&(r=e.getDefaultComputedStyle(i[0]))?r.display:Z.css(i[0],"display");return i.detach(),a}function M(e){var t=Q,n=Ft[e];return n||(n=v(e,t),"none"!==n&&n||(Pt=(Pt||Z("")).appendTo(t.documentElement),t=Pt[0].contentDocument,t.write(),t.close(),n=v(e,t),Pt.detach()),Ft[e]=n),n}function L(e,t,n){var r,i,a,s,o=e.style;return n=n||Rt(e),n&&(s=n.getPropertyValue(t)||n[t]),n&&(""!==s||Z.contains(e.ownerDocument,e)||(s=Z.style(e,t)),zt.test(s)&&It.test(t)&&(r=o.width,i=o.minWidth,a=o.maxWidth,o.minWidth=o.maxWidth=o.width=s,s=n.width,o.width=r,o.minWidth=i,o.maxWidth=a)),void 0!==s?s+"":s}function Y(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function T(e,t){if(t in e)return t;for(var n=t[0].toUpperCase()+t.slice(1),r=t,i=Vt.length;i--;)if(t=Vt[i]+n,t in e)return t;return r}function b(e,t,n){var r=Ut.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function w(e,t,n,r,i){for(var a=n===(r?"border":"content")?4:"width"===t?1:0,s=0;4>a;a+=2)"margin"===n&&(s+=Z.css(e,n+Yt[a],!0,i)),r?("content"===n&&(s-=Z.css(e,"padding"+Yt[a],!0,i)),"margin"!==n&&(s-=Z.css(e,"border"+Yt[a]+"Width",!0,i))):(s+=Z.css(e,"padding"+Yt[a],!0,i),"padding"!==n&&(s+=Z.css(e,"border"+Yt[a]+"Width",!0,i)));return s}function D(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,a=Rt(e),s="border-box"===Z.css(e,"boxSizing",!1,a);if(0>=i||null==i){if(i=L(e,t,a),(0>i||null==i)&&(i=e.style[t]),zt.test(i))return i;r=s&&(X.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+w(e,t,n||(s?"border":"content"),r,a)+"px"}function k(e,t){for(var n,r,i,a=[],s=0,o=e.length;o>s;s++)r=e[s],r.style&&(a[s]=gt.get(r,"olddisplay"),n=r.style.display,t?(a[s]||"none"!==n||(r.style.display=""),""===r.style.display&&Tt(r)&&(a[s]=gt.access(r,"olddisplay",M(r.nodeName)))):(i=Tt(r),"none"===n&&i||gt.set(r,"olddisplay",i?n:Z.css(r,"display"))));for(s=0;o>s;s++)r=e[s],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?a[s]||"":"none"));return e}function x(e,t,n,r,i){return new x.prototype.init(e,t,n,r,i)}function S(){return setTimeout(function(){Xt=void 0}),Xt=Z.now()}function j(e,t){var n,r=0,i={height:e};for(t=t?1:0;4>r;r+=2-t)n=Yt[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function C(e,t,n){for(var r,i=(nn[t]||[]).concat(nn["*"]),a=0,s=i.length;s>a;a++)if(r=i[a].call(n,t,e))return r}function E(e,t,n){var r,i,a,s,o,u,l,d,c=this,f={},h=e.style,_=e.nodeType&&Tt(e),p=gt.get(e,"fxshow");n.queue||(o=Z._queueHooks(e,"fx"),null==o.unqueued&&(o.unqueued=0,u=o.empty.fire,o.empty.fire=function(){o.unqueued||u()}),o.unqueued++,c.always(function(){c.always(function(){o.unqueued--,Z.queue(e,"fx").length||o.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],l=Z.css(e,"display"),d="none"===l?gt.get(e,"olddisplay")||M(e.nodeName):l,"inline"===d&&"none"===Z.css(e,"float")&&(h.display="inline-block")),n.overflow&&(h.overflow="hidden",c.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Kt.exec(i)){if(delete t[r],a=a||"toggle"===i,i===(_?"hide":"show")){if("show"!==i||!p||void 0===p[r])continue;_=!0}f[r]=p&&p[r]||Z.style(e,r)}else l=void 0;if(Z.isEmptyObject(f))"inline"===("none"===l?M(e.nodeName):l)&&(h.display=l);else{p?"hidden"in p&&(_=p.hidden):p=gt.access(e,"fxshow",{}),a&&(p.hidden=!_),_?Z(e).show():c.done(function(){Z(e).hide()}),c.done(function(){var t;gt.remove(e,"fxshow");for(t in f)Z.style(e,t,f[t])});for(r in f)s=C(_?p[r]:0,r,c),r in p||(p[r]=s.start,_&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}function A(e,t){var n,r,i,a,s;for(n in e)if(r=Z.camelCase(n),i=t[r],a=e[n],Z.isArray(a)&&(i=a[1],a=e[n]=a[0]),n!==r&&(e[r]=a,delete e[n]),s=Z.cssHooks[r],s&&"expand"in s){a=s.expand(a),delete e[r];for(n in a)n in e||(e[n]=a[n],t[n]=i)}else t[r]=i}function $(e,t,n){var r,i,a=0,s=tn.length,o=Z.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=Xt||S(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,a=1-r,s=0,u=l.tweens.length;u>s;s++)l.tweens[s].run(a);return o.notifyWith(e,[l,a,n]),1>a&&u?n:(o.resolveWith(e,[l]),!1)},l=o.promise({elem:e,props:Z.extend({},t),opts:Z.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xt||S(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Z.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?o.resolveWith(e,[l,t]):o.rejectWith(e,[l,t]),this}}),d=l.props;for(A(d,l.opts.specialEasing);s>a;a++)if(r=tn[a].call(l,e,d,l.opts))return r;return Z.map(d,C,l),Z.isFunction(l.opts.start)&&l.opts.start.call(e,l),Z.fx.timer(Z.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 N(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,a=t.toLowerCase().match(ht)||[];if(Z.isFunction(n))for(;r=a[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function O(e,t,n,r){function i(o){var u;return a[o]=!0,Z.each(e[o]||[],function(e,o){var l=o(t,n,r);return"string"!=typeof l||s||a[l]?s?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var a={},s=e===Mn;return i(t.dataTypes[0])||!a["*"]&&i("*")}function W(e,t){var n,r,i=Z.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&Z.extend(!0,e,r),e}function H(e,t,n){for(var r,i,a,s,o=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in o)if(o[i]&&o[i].test(r)){u.unshift(i);break}if(u[0]in n)a=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){a=i;break}s||(s=i)}a=a||s}return a?(a!==u[0]&&u.unshift(a),n[a]):void 0}function P(e,t,n,r){var i,a,s,o,u,l={},d=e.dataTypes.slice();if(d[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];for(a=d.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=a,a=d.shift())if("*"===a)a=u;else if("*"!==u&&u!==a){if(s=l[u+" "+a]||l["* "+a],!s)for(i in l)if(o=i.split(" "),o[1]===a&&(s=l[u+" "+o[0]]||l["* "+o[0]])){s===!0?s=l[i]:l[i]!==!0&&(a=o[0],d.unshift(o[1]));break}if(s!==!0)if(s&&e["throws"])t=s(t);else try{t=s(t)}catch(c){return{state:"parsererror",error:s?c:"No conversion from "+u+" to "+a}}}return{state:"success",data:t}}function F(e,t,n,r){var i;if(Z.isArray(t))Z.each(t,function(t,i){n||wn.test(e)?r(e,i):F(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==Z.type(t))r(e,t);else for(i in t)F(e+"["+i+"]",t[i],n,r)}function I(e){return Z.isWindow(e)?e:9===e.nodeType&&e.defaultView}var z=[],R=z.slice,q=z.concat,U=z.push,B=z.indexOf,J={},G=J.toString,V=J.hasOwnProperty,X={},Q=e.document,K="2.1.3",Z=function(e,t){return new Z.fn.init(e,t)},et=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,tt=/^-ms-/,nt=/-([\da-z])/gi,rt=function(e,t){return t.toUpperCase()};Z.fn=Z.prototype={jquery:K,constructor:Z,selector:"",length:0,toArray:function(){return R.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:R.call(this)},pushStack:function(e){var t=Z.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return Z.each(this,e,t)},map:function(e){return this.pushStack(Z.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(R.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:U,sort:z.sort,splice:z.splice},Z.extend=Z.fn.extend=function(){var e,t,n,r,i,a,s=arguments[0]||{},o=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[o]||{},o++),"object"==typeof s||Z.isFunction(s)||(s={}),o===u&&(s=this,o--);u>o;o++)if(null!=(e=arguments[o]))for(t in e)n=s[t],r=e[t],s!==r&&(l&&r&&(Z.isPlainObject(r)||(i=Z.isArray(r)))?(i?(i=!1,a=n&&Z.isArray(n)?n:[]):a=n&&Z.isPlainObject(n)?n:{},s[t]=Z.extend(l,a,r)):void 0!==r&&(s[t]=r));return s},Z.extend({expando:"jQuery"+(K+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===Z.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){return!Z.isArray(e)&&e-parseFloat(e)+1>=0},isPlainObject:function(e){return"object"!==Z.type(e)||e.nodeType||Z.isWindow(e)?!1:e.constructor&&!V.call(e.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?J[G.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;e=Z.trim(e),e&&(1===e.indexOf("use strict")?(t=Q.createElement("script"),t.text=e,Q.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(tt,"ms-").replace(nt,rt)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,r){var i,a=0,s=e.length,o=n(e);if(r){if(o)for(;s>a&&(i=t.apply(e[a],r),i!==!1);a++);else for(a in e)if(i=t.apply(e[a],r),i===!1)break}else if(o)for(;s>a&&(i=t.call(e[a],a,e[a]),i!==!1);a++);else for(a in e)if(i=t.call(e[a],a,e[a]),i===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(et,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?Z.merge(r,"string"==typeof e?[e]:e):U.call(r,e)),r},inArray:function(e,t,n){return null==t?-1:B.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;n>r;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],a=0,s=e.length,o=!n;s>a;a++)r=!t(e[a],a),r!==o&&i.push(e[a]);return i},map:function(e,t,r){var i,a=0,s=e.length,o=n(e),u=[];if(o)for(;s>a;a++)i=t(e[a],a,r),null!=i&&u.push(i);else for(a in e)i=t(e[a],a,r),null!=i&&u.push(i);return q.apply([],u)},guid:1,proxy:function(e,t){var n,r,i;return"string"==typeof t&&(n=e[t],t=e,e=n),Z.isFunction(e)?(r=R.call(arguments,2),i=function(){return e.apply(t||this,r.concat(R.call(arguments)))},i.guid=e.guid=e.guid||Z.guid++,i):void 0},now:Date.now,support:X}),Z.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){J["[object "+t+"]"]=t.toLowerCase()});var it=function(e){function t(e,t,n,r){var i,a,s,o,u,l,c,h,_,p;if((t?t.ownerDocument||t:F)!==E&&C(t),t=t||E,n=n||[],o=t.nodeType,"string"!=typeof e||!e||1!==o&&9!==o&&11!==o)return n;if(!r&&$){if(11!==o&&(i=yt.exec(e)))if(s=i[1]){if(9===o){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&H(t,a)&&a.id===s)return n.push(a),n}else{if(i[2])return K.apply(n,t.getElementsByTagName(e)),n;if((s=i[3])&&L.getElementsByClassName)return K.apply(n,t.getElementsByClassName(s)),n}if(L.qsa&&(!N||!N.test(e))){if(h=c=P,_=t,p=1!==o&&e,1===o&&"object"!==t.nodeName.toLowerCase()){for(l=w(e),(c=t.getAttribute("id"))?h=c.replace(Mt,"\\$&"):t.setAttribute("id",h),h="[id='"+h+"'] ",u=l.length;u--;)l[u]=h+f(l[u]);_=vt.test(e)&&d(t.parentNode)||t,p=l.join(",")}if(p)try{return K.apply(n,_.querySelectorAll(p)),n}catch(m){}finally{c||t.removeAttribute("id")}}}return k(e.replace(ut,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>Y.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=E.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var n=e.split("|"),r=e.length;r--;)Y.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||J)-(~e.sourceIndex||J);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function o(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,a=e([],n.length,t),s=a.length;s--;)n[i=a[s]]&&(n[i]=!(r[i]=n[i]))})})}function d(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function c(){}function f(e){for(var t=0,n=e.length,r="";n>t;t++)r+=e[t].value;return r}function h(e,t,n){var r=t.dir,i=n&&"parentNode"===r,a=z++;return t.first?function(t,n,a){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,a)}:function(t,n,s){var o,u,l=[I,a];if(s){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(u=t[P]||(t[P]={}),(o=u[r])&&o[0]===I&&o[1]===a)return l[2]=o[2];if(u[r]=l,l[2]=e(t,n,s))return!0}}}function _(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 p(e,n,r){for(var i=0,a=n.length;a>i;i++)t(e,n[i],r);return r}function m(e,t,n,r,i){for(var a,s=[],o=0,u=e.length,l=null!=t;u>o;o++)(a=e[o])&&(!n||n(a,r,i))&&(s.push(a),l&&t.push(o));return s}function g(e,t,n,i,a,s){return i&&!i[P]&&(i=g(i)),a&&!a[P]&&(a=g(a,s)),r(function(r,s,o,u){var l,d,c,f=[],h=[],_=s.length,g=r||p(t||"*",o.nodeType?[o]:o,[]),y=!e||!r&&t?g:m(g,f,e,o,u),v=n?a||(r?e:_||i)?[]:s:y;if(n&&n(y,v,o,u),i)for(l=m(v,h),i(l,[],o,u),d=l.length;d--;)(c=l[d])&&(v[h[d]]=!(y[h[d]]=c));if(r){if(a||e){if(a){for(l=[],d=v.length;d--;)(c=v[d])&&l.push(y[d]=c);a(null,v=[],l,u)}for(d=v.length;d--;)(c=v[d])&&(l=a?et(r,c):f[d])>-1&&(r[l]=!(s[l]=c))}}else v=m(v===s?v.splice(_,v.length):v),a?a(null,s,v,u):K.apply(s,v)})}function y(e){for(var t,n,r,i=e.length,a=Y.relative[e[0].type],s=a||Y.relative[" "],o=a?1:0,u=h(function(e){return e===t},s,!0),l=h(function(e){return et(t,e)>-1},s,!0),d=[function(e,n,r){var i=!a&&(r||n!==x)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];i>o;o++)if(n=Y.relative[e[o].type])d=[h(_(d),n)];else{if(n=Y.filter[e[o].type].apply(null,e[o].matches),n[P]){for(r=++o;i>r&&!Y.relative[e[r].type];r++);return g(o>1&&_(d),o>1&&f(e.slice(0,o-1).concat({value:" "===e[o-2].type?"*":""})).replace(ut,"$1"),n,r>o&&y(e.slice(o,r)),i>r&&y(e=e.slice(r)),i>r&&f(e))}d.push(n)}return _(d)}function v(e,n){var i=n.length>0,a=e.length>0,s=function(r,s,o,u,l){var d,c,f,h=0,_="0",p=r&&[],g=[],y=x,v=r||a&&Y.find.TAG("*",l),M=I+=null==y?1:Math.random()||.1,L=v.length;for(l&&(x=s!==E&&s);_!==L&&null!=(d=v[_]);_++){if(a&&d){for(c=0;f=e[c++];)if(f(d,s,o)){u.push(d);break}l&&(I=M)}i&&((d=!f&&d)&&h--,r&&p.push(d))}if(h+=_,i&&_!==h){for(c=0;f=n[c++];)f(p,g,s,o);if(r){if(h>0)for(;_--;)p[_]||g[_]||(g[_]=X.call(u));g=m(g)}K.apply(u,g),l&&!r&&g.length>0&&h+n.length>1&&t.uniqueSort(u)}return l&&(I=M,x=y),p};return i?r(s):s}var M,L,Y,T,b,w,D,k,x,S,j,C,E,A,$,N,O,W,H,P="sizzle"+1*new Date,F=e.document,I=0,z=0,R=n(),q=n(),U=n(),B=function(e,t){return e===t&&(j=!0),0},J=1<<31,G={}.hasOwnProperty,V=[],X=V.pop,Q=V.push,K=V.push,Z=V.slice,et=function(e,t){for(var n=0,r=e.length;r>n;n++)if(e[n]===t)return n;return-1},tt="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",nt="[\\x20\\t\\r\\n\\f]",rt="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",it=rt.replace("w","w#"),at="\\["+nt+"*("+rt+")(?:"+nt+"*([*^$|!~]?=)"+nt+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+it+"))|)"+nt+"*\\]",st=":("+rt+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+at+")*)|.*)\\)|)",ot=new RegExp(nt+"+","g"),ut=new RegExp("^"+nt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+nt+"+$","g"),lt=new RegExp("^"+nt+"*,"+nt+"*"),dt=new RegExp("^"+nt+"*([>+~]|"+nt+")"+nt+"*"),ct=new RegExp("="+nt+"*([^\\]'\"]*?)"+nt+"*\\]","g"),ft=new RegExp(st),ht=new RegExp("^"+it+"$"),_t={ID:new RegExp("^#("+rt+")"),CLASS:new RegExp("^\\.("+rt+")"),TAG:new RegExp("^("+rt.replace("w","w*")+")"),ATTR:new RegExp("^"+at),PSEUDO:new RegExp("^"+st),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+nt+"*(even|odd|(([+-]|)(\\d*)n|)"+nt+"*(?:([+-]|)"+nt+"*(\\d+)|))"+nt+"*\\)|)","i"),bool:new RegExp("^(?:"+tt+")$","i"),needsContext:new RegExp("^"+nt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+nt+"*((?:-\\d)?\\d*)"+nt+"*\\)|)(?=[^-]|$)","i")},pt=/^(?:input|select|textarea|button)$/i,mt=/^h\d$/i,gt=/^[^{]+\{\s*\[native \w/,yt=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,vt=/[+~]/,Mt=/'|\\/g,Lt=new RegExp("\\\\([\\da-f]{1,6}"+nt+"?|("+nt+")|.)","ig"),Yt=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Tt=function(){C()};try{K.apply(V=Z.call(F.childNodes),F.childNodes),V[F.childNodes.length].nodeType}catch(bt){K={apply:V.length?function(e,t){Q.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}L=t.support={},b=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},C=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:F;return r!==E&&9===r.nodeType&&r.documentElement?(E=r,A=r.documentElement,n=r.defaultView,n&&n!==n.top&&(n.addEventListener?n.addEventListener("unload",Tt,!1):n.attachEvent&&n.attachEvent("onunload",Tt)),$=!b(r),L.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),L.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),L.getElementsByClassName=gt.test(r.getElementsByClassName),L.getById=i(function(e){return A.appendChild(e).id=P,!r.getElementsByName||!r.getElementsByName(P).length}),L.getById?(Y.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&$){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},Y.filter.ID=function(e){var t=e.replace(Lt,Yt);return function(e){return e.getAttribute("id")===t}}):(delete Y.find.ID,Y.filter.ID=function(e){var t=e.replace(Lt,Yt);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),Y.find.TAG=L.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):L.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[i++];)1===n.nodeType&&r.push(n);return r}return a},Y.find.CLASS=L.getElementsByClassName&&function(e,t){return $?t.getElementsByClassName(e):void 0},O=[],N=[],(L.qsa=gt.test(r.querySelectorAll))&&(i(function(e){A.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&N.push("[*^$]="+nt+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||N.push("\\["+nt+"*(?:value|"+tt+")"),e.querySelectorAll("[id~="+P+"-]").length||N.push("~="),e.querySelectorAll(":checked").length||N.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||N.push(".#.+[+~]")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&N.push("name"+nt+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||N.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),N.push(",.*:")})),(L.matchesSelector=gt.test(W=A.matches||A.webkitMatchesSelector||A.mozMatchesSelector||A.oMatchesSelector||A.msMatchesSelector))&&i(function(e){L.disconnectedMatch=W.call(e,"div"),W.call(e,"[s!='']:x"),O.push("!=",st)}),N=N.length&&new RegExp(N.join("|")),O=O.length&&new RegExp(O.join("|")),t=gt.test(A.compareDocumentPosition),H=t||gt.test(A.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},B=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!L.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===F&&H(F,e)?-1:t===r||t.ownerDocument===F&&H(F,t)?1:S?et(S,e)-et(S,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,i=0,a=e.parentNode,o=t.parentNode,u=[e],l=[t];if(!a||!o)return e===r?-1:t===r?1:a?-1:o?1:S?et(S,e)-et(S,t):0;if(a===o)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]===F?-1:l[i]===F?1:0},r):E},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==E&&C(e),n=n.replace(ct,"='$1']"),!(!L.matchesSelector||!$||O&&O.test(n)||N&&N.test(n)))try{var r=W.call(e,n);if(r||L.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,E,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==E&&C(e),H(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==E&&C(e);var n=Y.attrHandle[t.toLowerCase()],r=n&&G.call(Y.attrHandle,t.toLowerCase())?n(e,t,!$):void 0;return void 0!==r?r:L.attributes||!$?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!L.detectDuplicates,S=!L.sortStable&&e.slice(0),e.sort(B),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return S=null,e},T=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=T(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=T(t);return n},Y=t.selectors={cacheLength:50,createPseudo:r,match:_t,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Lt,Yt),e[3]=(e[3]||e[4]||e[5]||"").replace(Lt,Yt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return _t.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ft.test(n)&&(t=w(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Lt,Yt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=R[e+" "];return t||(t=new RegExp("(^|"+nt+")"+e+"("+nt+"|$)"))&&R(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var a=t.attr(i,e);return null==a?"!="===n:n?(a+="","="===n?a===r:"!="===n?a!==r:"^="===n?r&&0===a.indexOf(r):"*="===n?r&&a.indexOf(r)>-1:"$="===n?r&&a.slice(-r.length)===r:"~="===n?(" "+a.replace(ot," ")+" ").indexOf(r)>-1:"|="===n?a===r||a.slice(0,r.length+1)===r+"-":!1):!0}},CHILD:function(e,t,n,r,i){var a="nth"!==e.slice(0,3),s="last"!==e.slice(-4),o="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,d,c,f,h,_,p=a!==s?"nextSibling":"previousSibling",m=t.parentNode,g=o&&t.nodeName.toLowerCase(),y=!u&&!o;if(m){if(a){for(;p;){for(c=t;c=c[p];)if(o?c.nodeName.toLowerCase()===g:1===c.nodeType)return!1;_=p="only"===e&&!_&&"nextSibling"}return!0}if(_=[s?m.firstChild:m.lastChild],s&&y){for(d=m[P]||(m[P]={}),l=d[e]||[],h=l[0]===I&&l[1],f=l[0]===I&&l[2],c=h&&m.childNodes[h];c=++h&&c&&c[p]||(f=h=0)||_.pop();)if(1===c.nodeType&&++f&&c===t){d[e]=[I,h,f];break}}else if(y&&(l=(t[P]||(t[P]={}))[e])&&l[0]===I)f=l[1];else for(;(c=++h&&c&&c[p]||(f=h=0)||_.pop())&&((o?c.nodeName.toLowerCase()!==g:1!==c.nodeType)||!++f||(y&&((c[P]||(c[P]={}))[e]=[I,f]),c!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(e,n){var i,a=Y.pseudos[e]||Y.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return a[P]?a(n):a.length>1?(i=[e,e,"",n],Y.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=a(e,n),s=i.length;s--;)r=et(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return a(e,0,i)}):a}},pseudos:{not:r(function(e){var t=[],n=[],i=D(e.replace(ut,"$1"));return i[P]?r(function(e,t,n,r){for(var a,s=i(e,null,r,[]),o=e.length;o--;)(a=s[o])&&(e[o]=!(t[o]=a))}):function(e,r,a){return t[0]=e,i(t,null,a,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(Lt,Yt),function(t){return(t.textContent||t.innerText||T(t)).indexOf(e)>-1}}),lang:r(function(e){return ht.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(Lt,Yt).toLowerCase(),function(t){var n;do if(n=$?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===A},focus:function(e){return e===E.activeElement&&(!E.hasFocus||E.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!Y.pseudos.empty(e)},header:function(e){return mt.test(e.nodeName)},input:function(e){return pt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[0>n?n+t:n]}),even:l(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:l(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:l(function(e,t,n){for(var r=0>n?n+t:n;--r>=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=0>n?n+t:n;++r2&&"ID"===(s=a[0]).type&&L.getById&&9===t.nodeType&&$&&Y.relative[a[1].type]){if(t=(Y.find.ID(s.matches[0].replace(Lt,Yt),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(i=_t.needsContext.test(e)?0:a.length;i--&&(s=a[i],!Y.relative[o=s.type]);)if((u=Y.find[o])&&(r=u(s.matches[0].replace(Lt,Yt),vt.test(a[0].type)&&d(t.parentNode)||t))){if(a.splice(i,1),e=r.length&&f(a),!e)return K.apply(n,r),n;break}}return(l||D(e,c))(r,t,!$,n,vt.test(e)&&d(t.parentNode)||t),n},L.sortStable=P.split("").sort(B).join("")===P,L.detectDuplicates=!!j,C(),L.sortDetached=i(function(e){return 1&e.compareDocumentPosition(E.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,t,n){return n?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),L.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,t,n){return n||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||a(tt,function(e,t,n){var r;return n?void 0:e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);Z.find=it,Z.expr=it.selectors,Z.expr[":"]=Z.expr.pseudos,Z.unique=it.uniqueSort,Z.text=it.getText,Z.isXMLDoc=it.isXML,Z.contains=it.contains;var at=Z.expr.match.needsContext,st=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,ot=/^.[^:#\[\.,]*$/;Z.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Z.find.matchesSelector(r,e)?[r]:[]:Z.find.matches(e,Z.grep(t,function(e){return 1===e.nodeType}))},Z.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(Z(e).filter(function(){for(t=0;n>t;t++)if(Z.contains(i[t],this))return!0 -}));for(t=0;n>t;t++)Z.find(e,i[t],r);return r=this.pushStack(n>1?Z.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&at.test(e)?Z(e):e||[],!1).length}});var ut,lt=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,dt=Z.fn.init=function(e,t){var n,r;if(!e)return this;if("string"==typeof e){if(n="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:lt.exec(e),!n||!n[1]&&t)return!t||t.jquery?(t||ut).find(e):this.constructor(t).find(e);if(n[1]){if(t=t instanceof Z?t[0]:t,Z.merge(this,Z.parseHTML(n[1],t&&t.nodeType?t.ownerDocument||t:Q,!0)),st.test(n[1])&&Z.isPlainObject(t))for(n in t)Z.isFunction(this[n])?this[n](t[n]):this.attr(n,t[n]);return this}return r=Q.getElementById(n[2]),r&&r.parentNode&&(this.length=1,this[0]=r),this.context=Q,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):Z.isFunction(e)?"undefined"!=typeof ut.ready?ut.ready(e):e(Z):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),Z.makeArray(e,this))};dt.prototype=Z.fn,ut=Z(Q);var ct=/^(?:parents|prev(?:Until|All))/,ft={children:!0,contents:!0,next:!0,prev:!0};Z.extend({dir:function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Z(e).is(n))break;r.push(e)}return r},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}}),Z.fn.extend({has:function(e){var t=Z(e,this),n=t.length;return this.filter(function(){for(var e=0;n>e;e++)if(Z.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,a=[],s=at.test(e)||"string"!=typeof e?Z(e,t||this.context):0;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Z.find.matchesSelector(n,e))){a.push(n);break}return this.pushStack(a.length>1?Z.unique(a):a)},index:function(e){return e?"string"==typeof e?B.call(Z(e),this[0]):B.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Z.unique(Z.merge(this.get(),Z(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Z.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return Z.dir(e,"parentNode")},parentsUntil:function(e,t,n){return Z.dir(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return Z.dir(e,"nextSibling")},prevAll:function(e){return Z.dir(e,"previousSibling")},nextUntil:function(e,t,n){return Z.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return Z.dir(e,"previousSibling",n)},siblings:function(e){return Z.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return Z.sibling(e.firstChild)},contents:function(e){return e.contentDocument||Z.merge([],e.childNodes)}},function(e,t){Z.fn[e]=function(n,r){var i=Z.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Z.filter(r,i)),this.length>1&&(ft[e]||Z.unique(i),ct.test(e)&&i.reverse()),this.pushStack(i)}});var ht=/\S+/g,_t={};Z.Callbacks=function(e){e="string"==typeof e?_t[e]||a(e):Z.extend({},e);var t,n,r,i,s,o,u=[],l=!e.once&&[],d=function(a){for(t=e.memory&&a,n=!0,o=i||0,i=0,s=u.length,r=!0;u&&s>o;o++)if(u[o].apply(a[0],a[1])===!1&&e.stopOnFalse){t=!1;break}r=!1,u&&(l?l.length&&d(l.shift()):t?u=[]:c.disable())},c={add:function(){if(u){var n=u.length;!function a(t){Z.each(t,function(t,n){var r=Z.type(n);"function"===r?e.unique&&c.has(n)||u.push(n):n&&n.length&&"string"!==r&&a(n)})}(arguments),r?s=u.length:t&&(i=n,d(t))}return this},remove:function(){return u&&Z.each(arguments,function(e,t){for(var n;(n=Z.inArray(t,u,n))>-1;)u.splice(n,1),r&&(s>=n&&s--,o>=n&&o--)}),this},has:function(e){return e?Z.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],s=0,this},disable:function(){return u=l=t=void 0,this},disabled:function(){return!u},lock:function(){return l=void 0,t||c.disable(),this},locked:function(){return!l},fireWith:function(e,t){return!u||n&&!l||(t=t||[],t=[e,t.slice?t.slice():t],r?l.push(t):d(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},Z.extend({Deferred:function(e){var t=[["resolve","done",Z.Callbacks("once memory"),"resolved"],["reject","fail",Z.Callbacks("once memory"),"rejected"],["notify","progress",Z.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return Z.Deferred(function(n){Z.each(t,function(t,a){var s=Z.isFunction(e[t])&&e[t];i[a[1]](function(){var e=s&&s.apply(this,arguments);e&&Z.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a[0]+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?Z.extend(e,r):r}},i={};return r.pipe=r.then,Z.each(t,function(e,a){var s=a[2],o=a[3];r[a[1]]=s.add,o&&s.add(function(){n=o},t[1^e][2].disable,t[2][2].lock),i[a[0]]=function(){return i[a[0]+"With"](this===i?r:this,arguments),this},i[a[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,a=R.call(arguments),s=a.length,o=1!==s||e&&Z.isFunction(e.promise)?s:0,u=1===o?e:Z.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?R.call(arguments):i,r===t?u.notifyWith(n,r):--o||u.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);s>i;i++)a[i]&&Z.isFunction(a[i].promise)?a[i].promise().done(l(i,r,a)).fail(u.reject).progress(l(i,n,t)):--o;return o||u.resolveWith(r,a),u.promise()}});var pt;Z.fn.ready=function(e){return Z.ready.promise().done(e),this},Z.extend({isReady:!1,readyWait:1,holdReady:function(e){e?Z.readyWait++:Z.ready(!0)},ready:function(e){(e===!0?--Z.readyWait:Z.isReady)||(Z.isReady=!0,e!==!0&&--Z.readyWait>0||(pt.resolveWith(Q,[Z]),Z.fn.triggerHandler&&(Z(Q).triggerHandler("ready"),Z(Q).off("ready"))))}}),Z.ready.promise=function(t){return pt||(pt=Z.Deferred(),"complete"===Q.readyState?setTimeout(Z.ready):(Q.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1))),pt.promise(t)},Z.ready.promise();var mt=Z.access=function(e,t,n,r,i,a,s){var o=0,u=e.length,l=null==n;if("object"===Z.type(n)){i=!0;for(o in n)Z.access(e,t,o,n[o],!0,a,s)}else if(void 0!==r&&(i=!0,Z.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(Z(e),n)})),t))for(;u>o;o++)t(e[o],n,s?r:r.call(e[o],o,t(e[o],n)));return i?e:l?t.call(e):u?t(e[0],n):a};Z.acceptData=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType},o.uid=1,o.accepts=Z.acceptData,o.prototype={key:function(e){if(!o.accepts(e))return 0;var t={},n=e[this.expando];if(!n){n=o.uid++;try{t[this.expando]={value:n},Object.defineProperties(e,t)}catch(r){t[this.expando]=n,Z.extend(e,t)}}return this.cache[n]||(this.cache[n]={}),n},set:function(e,t,n){var r,i=this.key(e),a=this.cache[i];if("string"==typeof t)a[t]=n;else if(Z.isEmptyObject(a))Z.extend(this.cache[i],t);else for(r in t)a[r]=t[r];return a},get:function(e,t){var n=this.cache[this.key(e)];return void 0===t?n:n[t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?(r=this.get(e,t),void 0!==r?r:this.get(e,Z.camelCase(t))):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,a=this.key(e),s=this.cache[a];if(void 0===t)this.cache[a]={};else{Z.isArray(t)?r=t.concat(t.map(Z.camelCase)):(i=Z.camelCase(t),t in s?r=[t,i]:(r=i,r=r in s?[r]:r.match(ht)||[])),n=r.length;for(;n--;)delete s[r[n]]}},hasData:function(e){return!Z.isEmptyObject(this.cache[e[this.expando]]||{})},discard:function(e){e[this.expando]&&delete this.cache[e[this.expando]]}};var gt=new o,yt=new o,vt=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Mt=/([A-Z])/g;Z.extend({hasData:function(e){return yt.hasData(e)||gt.hasData(e)},data:function(e,t,n){return yt.access(e,t,n)},removeData:function(e,t){yt.remove(e,t)},_data:function(e,t,n){return gt.access(e,t,n)},_removeData:function(e,t){gt.remove(e,t)}}),Z.fn.extend({data:function(e,t){var n,r,i,a=this[0],s=a&&a.attributes;if(void 0===e){if(this.length&&(i=yt.get(a),1===a.nodeType&&!gt.get(a,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=Z.camelCase(r.slice(5)),u(a,r,i[r])));gt.set(a,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){yt.set(this,e)}):mt(this,function(t){var n,r=Z.camelCase(e);if(a&&void 0===t){if(n=yt.get(a,e),void 0!==n)return n;if(n=yt.get(a,r),void 0!==n)return n;if(n=u(a,r,void 0),void 0!==n)return n}else this.each(function(){var n=yt.get(this,r);yt.set(this,r,t),-1!==e.indexOf("-")&&void 0!==n&&yt.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){yt.remove(this,e)})}}),Z.extend({queue:function(e,t,n){var r;return e?(t=(t||"fx")+"queue",r=gt.get(e,t),n&&(!r||Z.isArray(n)?r=gt.access(e,t,Z.makeArray(n)):r.push(n)),r||[]):void 0},dequeue:function(e,t){t=t||"fx";var n=Z.queue(e,t),r=n.length,i=n.shift(),a=Z._queueHooks(e,t),s=function(){Z.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete a.stop,i.call(e,s,a)),!r&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return gt.get(e,n)||gt.access(e,n,{empty:Z.Callbacks("once memory").add(function(){gt.remove(e,[t+"queue",n])})})}}),Z.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.lengthx",X.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var wt="undefined";X.focusinBubbles="onfocusin"in e;var Dt=/^key/,kt=/^(?:mouse|pointer|contextmenu)|click/,xt=/^(?:focusinfocus|focusoutblur)$/,St=/^([^.]*)(?:\.(.+)|)$/;Z.event={global:{},add:function(e,t,n,r,i){var a,s,o,u,l,d,c,f,h,_,p,m=gt.get(e);if(m)for(n.handler&&(a=n,n=a.handler,i=a.selector),n.guid||(n.guid=Z.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return typeof Z!==wt&&Z.event.triggered!==t.type?Z.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(ht)||[""],l=t.length;l--;)o=St.exec(t[l])||[],h=p=o[1],_=(o[2]||"").split(".").sort(),h&&(c=Z.event.special[h]||{},h=(i?c.delegateType:c.bindType)||h,c=Z.event.special[h]||{},d=Z.extend({type:h,origType:p,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Z.expr.match.needsContext.test(i),namespace:_.join(".")},a),(f=u[h])||(f=u[h]=[],f.delegateCount=0,c.setup&&c.setup.call(e,r,_,s)!==!1||e.addEventListener&&e.addEventListener(h,s,!1)),c.add&&(c.add.call(e,d),d.handler.guid||(d.handler.guid=n.guid)),i?f.splice(f.delegateCount++,0,d):f.push(d),Z.event.global[h]=!0)},remove:function(e,t,n,r,i){var a,s,o,u,l,d,c,f,h,_,p,m=gt.hasData(e)&>.get(e);if(m&&(u=m.events)){for(t=(t||"").match(ht)||[""],l=t.length;l--;)if(o=St.exec(t[l])||[],h=p=o[1],_=(o[2]||"").split(".").sort(),h){for(c=Z.event.special[h]||{},h=(r?c.delegateType:c.bindType)||h,f=u[h]||[],o=o[2]&&new RegExp("(^|\\.)"+_.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=a=f.length;a--;)d=f[a],!i&&p!==d.origType||n&&n.guid!==d.guid||o&&!o.test(d.namespace)||r&&r!==d.selector&&("**"!==r||!d.selector)||(f.splice(a,1),d.selector&&f.delegateCount--,c.remove&&c.remove.call(e,d));s&&!f.length&&(c.teardown&&c.teardown.call(e,_,m.handle)!==!1||Z.removeEvent(e,h,m.handle),delete u[h])}else for(h in u)Z.event.remove(e,h+t[l],n,r,!0);Z.isEmptyObject(u)&&(delete m.handle,gt.remove(e,"events"))}},trigger:function(t,n,r,i){var a,s,o,u,l,d,c,f=[r||Q],h=V.call(t,"type")?t.type:t,_=V.call(t,"namespace")?t.namespace.split("."):[];if(s=o=r=r||Q,3!==r.nodeType&&8!==r.nodeType&&!xt.test(h+Z.event.triggered)&&(h.indexOf(".")>=0&&(_=h.split("."),h=_.shift(),_.sort()),l=h.indexOf(":")<0&&"on"+h,t=t[Z.expando]?t:new Z.Event(h,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=_.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+_.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Z.makeArray(n,[t]),c=Z.event.special[h]||{},i||!c.trigger||c.trigger.apply(r,n)!==!1)){if(!i&&!c.noBubble&&!Z.isWindow(r)){for(u=c.delegateType||h,xt.test(u+h)||(s=s.parentNode);s;s=s.parentNode)f.push(s),o=s;o===(r.ownerDocument||Q)&&f.push(o.defaultView||o.parentWindow||e)}for(a=0;(s=f[a++])&&!t.isPropagationStopped();)t.type=a>1?u:c.bindType||h,d=(gt.get(s,"events")||{})[t.type]&>.get(s,"handle"),d&&d.apply(s,n),d=l&&s[l],d&&d.apply&&Z.acceptData(s)&&(t.result=d.apply(s,n),t.result===!1&&t.preventDefault());return t.type=h,i||t.isDefaultPrevented()||c._default&&c._default.apply(f.pop(),n)!==!1||!Z.acceptData(r)||l&&Z.isFunction(r[h])&&!Z.isWindow(r)&&(o=r[l],o&&(r[l]=null),Z.event.triggered=h,r[h](),Z.event.triggered=void 0,o&&(r[l]=o)),t.result}},dispatch:function(e){e=Z.event.fix(e);var t,n,r,i,a,s=[],o=R.call(arguments),u=(gt.get(this,"events")||{})[e.type]||[],l=Z.event.special[e.type]||{};if(o[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(s=Z.event.handlers.call(this,e,u),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(a=i.handlers[n++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(a.namespace))&&(e.handleObj=a,e.data=a.data,r=((Z.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,o),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,a,s=[],o=t.delegateCount,u=e.target;if(o&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!==this;u=u.parentNode||this)if(u.disabled!==!0||"click"!==e.type){for(r=[],n=0;o>n;n++)a=t[n],i=a.selector+" ",void 0===r[i]&&(r[i]=a.needsContext?Z(i,this).index(u)>=0:Z.find(i,this,null,[u]).length),r[i]&&r.push(a);r.length&&s.push({elem:u,handlers:r})}return o]*)\/>/gi,Ct=/<([\w:]+)/,Et=/<|?\w+;/,At=/<(?:script|style|link)/i,$t=/checked\s*(?:[^=]|=\s*.checked.)/i,Nt=/^$|\/(?:java|ecma)script/i,Ot=/^true\/(.*)/,Wt=/^\s*\s*$/g,Ht={option:[1,"",""],thead:[1,"",""],col:[2,"",""],tr:[2,"",""],td:[3,"",""],_default:[0,"",""]};Ht.optgroup=Ht.option,Ht.tbody=Ht.tfoot=Ht.colgroup=Ht.caption=Ht.thead,Ht.th=Ht.td,Z.extend({clone:function(e,t,n){var r,i,a,s,o=e.cloneNode(!0),u=Z.contains(e.ownerDocument,e);if(!(X.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Z.isXMLDoc(e)))for(s=g(o),a=g(e),r=0,i=a.length;i>r;r++)y(a[r],s[r]);if(t)if(n)for(a=a||g(e),s=s||g(o),r=0,i=a.length;i>r;r++)m(a[r],s[r]);else m(e,o);return s=g(o,"script"),s.length>0&&p(s,!u&&g(e,"script")),o},buildFragment:function(e,t,n,r){for(var i,a,s,o,u,l,d=t.createDocumentFragment(),c=[],f=0,h=e.length;h>f;f++)if(i=e[f],i||0===i)if("object"===Z.type(i))Z.merge(c,i.nodeType?[i]:i);else if(Et.test(i)){for(a=a||d.appendChild(t.createElement("div")),s=(Ct.exec(i)||["",""])[1].toLowerCase(),o=Ht[s]||Ht._default,a.innerHTML=o[1]+i.replace(jt,"<$1>$2>")+o[2],l=o[0];l--;)a=a.lastChild;Z.merge(c,a.childNodes),a=d.firstChild,a.textContent=""}else c.push(t.createTextNode(i));for(d.textContent="",f=0;i=c[f++];)if((!r||-1===Z.inArray(i,r))&&(u=Z.contains(i.ownerDocument,i),a=g(d.appendChild(i),"script"),u&&p(a),n))for(l=0;i=a[l++];)Nt.test(i.type||"")&&n.push(i);return d},cleanData:function(e){for(var t,n,r,i,a=Z.event.special,s=0;void 0!==(n=e[s]);s++){if(Z.acceptData(n)&&(i=n[gt.expando],i&&(t=gt.cache[i]))){if(t.events)for(r in t.events)a[r]?Z.event.remove(n,r):Z.removeEvent(n,r,t.handle);gt.cache[i]&&delete gt.cache[i]}delete yt.cache[n[yt.expando]]}}}),Z.fn.extend({text:function(e){return mt(this,function(e){return void 0===e?Z.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=e)})},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=f(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=f(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,r=e?Z.filter(e,this):this,i=0;null!=(n=r[i]);i++)t||1!==n.nodeType||Z.cleanData(g(n)),n.parentNode&&(t&&Z.contains(n.ownerDocument,n)&&p(g(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(Z.cleanData(g(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return Z.clone(this,e,t)})},html:function(e){return mt(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!At.test(e)&&!Ht[(Ct.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(jt,"<$1>$2>");try{for(;r>n;n++)t=this[n]||{},1===t.nodeType&&(Z.cleanData(g(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,Z.cleanData(g(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=q.apply([],e);var n,r,i,a,s,o,u=0,l=this.length,d=this,c=l-1,f=e[0],p=Z.isFunction(f);if(p||l>1&&"string"==typeof f&&!X.checkClone&&$t.test(f))return this.each(function(n){var r=d.eq(n);p&&(e[0]=f.call(this,n,r.html())),r.domManip(e,t)});if(l&&(n=Z.buildFragment(e,this[0].ownerDocument,!1,this),r=n.firstChild,1===n.childNodes.length&&(n=r),r)){for(i=Z.map(g(n,"script"),h),a=i.length;l>u;u++)s=n,u!==c&&(s=Z.clone(s,!0,!0),a&&Z.merge(i,g(s,"script"))),t.call(this[u],s,u);if(a)for(o=i[i.length-1].ownerDocument,Z.map(i,_),u=0;a>u;u++)s=i[u],Nt.test(s.type||"")&&!gt.access(s,"globalEval")&&Z.contains(o,s)&&(s.src?Z._evalUrl&&Z._evalUrl(s.src):Z.globalEval(s.textContent.replace(Wt,"")))}return this}}),Z.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Z.fn[e]=function(e){for(var n,r=[],i=Z(e),a=i.length-1,s=0;a>=s;s++)n=s===a?this:this.clone(!0),Z(i[s])[t](n),U.apply(r,n.get());return this.pushStack(r)}});var Pt,Ft={},It=/^margin/,zt=new RegExp("^("+Lt+")(?!px)[a-z%]+$","i"),Rt=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)};!function(){function t(){s.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",s.innerHTML="",i.appendChild(a);var t=e.getComputedStyle(s,null);n="1%"!==t.top,r="4px"===t.width,i.removeChild(a)}var n,r,i=Q.documentElement,a=Q.createElement("div"),s=Q.createElement("div");s.style&&(s.style.backgroundClip="content-box",s.cloneNode(!0).style.backgroundClip="",X.clearCloneStyle="content-box"===s.style.backgroundClip,a.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",a.appendChild(s),e.getComputedStyle&&Z.extend(X,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==r&&t(),r},reliableMarginRight:function(){var t,n=s.appendChild(Q.createElement("div"));return n.style.cssText=s.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",s.style.width="1px",i.appendChild(a),t=!parseFloat(e.getComputedStyle(n,null).marginRight),i.removeChild(a),s.removeChild(n),t}}))}(),Z.swap=function(e,t,n,r){var i,a,s={};for(a in t)s[a]=e.style[a],e.style[a]=t[a];i=n.apply(e,r||[]);for(a in t)e.style[a]=s[a];return i};var qt=/^(none|table(?!-c[ea]).+)/,Ut=new RegExp("^("+Lt+")(.*)$","i"),Bt=new RegExp("^([+-])=("+Lt+")","i"),Jt={position:"absolute",visibility:"hidden",display:"block"},Gt={letterSpacing:"0",fontWeight:"400"},Vt=["Webkit","O","Moz","ms"];Z.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=L(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,s,o=Z.camelCase(t),u=e.style;return t=Z.cssProps[o]||(Z.cssProps[o]=T(u,o)),s=Z.cssHooks[t]||Z.cssHooks[o],void 0===n?s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t]:(a=typeof n,"string"===a&&(i=Bt.exec(n))&&(n=(i[1]+1)*i[2]+parseFloat(Z.css(e,t)),a="number"),null!=n&&n===n&&("number"!==a||Z.cssNumber[o]||(n+="px"),X.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n)),void 0)}},css:function(e,t,n,r){var i,a,s,o=Z.camelCase(t);return t=Z.cssProps[o]||(Z.cssProps[o]=T(e.style,o)),s=Z.cssHooks[t]||Z.cssHooks[o],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=L(e,t,r)),"normal"===i&&t in Gt&&(i=Gt[t]),""===n||n?(a=parseFloat(i),n===!0||Z.isNumeric(a)?a||0:i):i}}),Z.each(["height","width"],function(e,t){Z.cssHooks[t]={get:function(e,n,r){return n?qt.test(Z.css(e,"display"))&&0===e.offsetWidth?Z.swap(e,Jt,function(){return D(e,t,r)}):D(e,t,r):void 0},set:function(e,n,r){var i=r&&Rt(e);return b(e,n,r?w(e,t,r,"border-box"===Z.css(e,"boxSizing",!1,i),i):0)}}}),Z.cssHooks.marginRight=Y(X.reliableMarginRight,function(e,t){return t?Z.swap(e,{display:"inline-block"},L,[e,"marginRight"]):void 0}),Z.each({margin:"",padding:"",border:"Width"},function(e,t){Z.cssHooks[e+t]={expand:function(n){for(var r=0,i={},a="string"==typeof n?n.split(" "):[n];4>r;r++)i[e+Yt[r]+t]=a[r]||a[r-2]||a[0];return i}},It.test(e)||(Z.cssHooks[e+t].set=b)}),Z.fn.extend({css:function(e,t){return mt(this,function(e,t,n){var r,i,a={},s=0;if(Z.isArray(t)){for(r=Rt(e),i=t.length;i>s;s++)a[t[s]]=Z.css(e,t[s],!1,r);return a}return void 0!==n?Z.style(e,t,n):Z.css(e,t)},e,t,arguments.length>1)},show:function(){return k(this,!0)},hide:function(){return k(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Tt(this)?Z(this).show():Z(this).hide()})}}),Z.Tween=x,x.prototype={constructor:x,init:function(e,t,n,r,i,a){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=a||(Z.cssNumber[n]?"":"px")},cur:function(){var e=x.propHooks[this.prop];return e&&e.get?e.get(this):x.propHooks._default.get(this)},run:function(e){var t,n=x.propHooks[this.prop];return this.pos=t=this.options.duration?Z.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):x.propHooks._default.set(this),this}},x.prototype.init.prototype=x.prototype,x.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=Z.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){Z.fx.step[e.prop]?Z.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[Z.cssProps[e.prop]]||Z.cssHooks[e.prop])?Z.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},x.propHooks.scrollTop=x.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Z.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},Z.fx=x.prototype.init,Z.fx.step={};var Xt,Qt,Kt=/^(?:toggle|show|hide)$/,Zt=new RegExp("^(?:([+-])=|)("+Lt+")([a-z%]*)$","i"),en=/queueHooks$/,tn=[E],nn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Zt.exec(t),a=i&&i[3]||(Z.cssNumber[e]?"":"px"),s=(Z.cssNumber[e]||"px"!==a&&+r)&&Zt.exec(Z.css(n.elem,e)),o=1,u=20;if(s&&s[3]!==a){a=a||s[3],i=i||[],s=+r||1;do o=o||".5",s/=o,Z.style(n.elem,e,s+a);while(o!==(o=n.cur()/r)&&1!==o&&--u)}return i&&(s=n.start=+s||+r||0,n.unit=a,n.end=i[1]?s+(i[1]+1)*i[2]:+i[2]),n}]};Z.Animation=Z.extend($,{tweener:function(e,t){Z.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,r=0,i=e.length;i>r;r++)n=e[r],nn[n]=nn[n]||[],nn[n].unshift(t)},prefilter:function(e,t){t?tn.unshift(e):tn.push(e)}}),Z.speed=function(e,t,n){var r=e&&"object"==typeof e?Z.extend({},e):{complete:n||!n&&t||Z.isFunction(e)&&e,duration:e,easing:n&&t||t&&!Z.isFunction(t)&&t};return r.duration=Z.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in Z.fx.speeds?Z.fx.speeds[r.duration]:Z.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){Z.isFunction(r.old)&&r.old.call(this),r.queue&&Z.dequeue(this,r.queue)},r},Z.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Tt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Z.isEmptyObject(e),a=Z.speed(t,n,r),s=function(){var t=$(this,Z.extend({},e),a);(i||gt.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||a.queue===!1?this.each(s):this.queue(a.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",a=Z.timers,s=gt.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&en.test(i)&&r(s[i]);for(i=a.length;i--;)a[i].elem!==this||null!=e&&a[i].queue!==e||(a[i].anim.stop(n),t=!1,a.splice(i,1));(t||!n)&&Z.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=gt.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],a=Z.timers,s=r?r.length:0;for(n.finish=!0,Z.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;s>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this); -delete n.finish})}}),Z.each(["toggle","show","hide"],function(e,t){var n=Z.fn[t];Z.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(j(t,!0),e,r,i)}}),Z.each({slideDown:j("show"),slideUp:j("hide"),slideToggle:j("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Z.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Z.timers=[],Z.fx.tick=function(){var e,t=0,n=Z.timers;for(Xt=Z.now();t1)},removeAttr:function(e){return this.each(function(){Z.removeAttr(this,e)})}}),Z.extend({attr:function(e,t,n){var r,i,a=e.nodeType;if(e&&3!==a&&8!==a&&2!==a)return typeof e.getAttribute===wt?Z.prop(e,t,n):(1===a&&Z.isXMLDoc(e)||(t=t.toLowerCase(),r=Z.attrHooks[t]||(Z.expr.match.bool.test(t)?an:rn)),void 0===n?r&&"get"in r&&null!==(i=r.get(e,t))?i:(i=Z.find.attr(e,t),null==i?void 0:i):null!==n?r&&"set"in r&&void 0!==(i=r.set(e,n,t))?i:(e.setAttribute(t,n+""),n):void Z.removeAttr(e,t))},removeAttr:function(e,t){var n,r,i=0,a=t&&t.match(ht);if(a&&1===e.nodeType)for(;n=a[i++];)r=Z.propFix[n]||n,Z.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)},attrHooks:{type:{set:function(e,t){if(!X.radioValue&&"radio"===t&&Z.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}}}),an={set:function(e,t,n){return t===!1?Z.removeAttr(e,n):e.setAttribute(n,n),n}},Z.each(Z.expr.match.bool.source.match(/\w+/g),function(e,t){var n=sn[t]||Z.find.attr;sn[t]=function(e,t,r){var i,a;return r||(a=sn[t],sn[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,sn[t]=a),i}});var on=/^(?:input|select|textarea|button)$/i;Z.fn.extend({prop:function(e,t){return mt(this,Z.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Z.propFix[e]||e]})}}),Z.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,n){var r,i,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!Z.isXMLDoc(e),a&&(t=Z.propFix[t]||t,i=Z.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){return e.hasAttribute("tabindex")||on.test(e.nodeName)||e.href?e.tabIndex:-1}}}}),X.optSelected||(Z.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null}}),Z.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Z.propFix[this.toLowerCase()]=this});var un=/[\t\r\n\f]/g;Z.fn.extend({addClass:function(e){var t,n,r,i,a,s,o="string"==typeof e&&e,u=0,l=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).addClass(e.call(this,t,this.className))});if(o)for(t=(e||"").match(ht)||[];l>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(un," "):" ")){for(a=0;i=t[a++];)r.indexOf(" "+i+" ")<0&&(r+=i+" ");s=Z.trim(r),n.className!==s&&(n.className=s)}return this},removeClass:function(e){var t,n,r,i,a,s,o=0===arguments.length||"string"==typeof e&&e,u=0,l=this.length;if(Z.isFunction(e))return this.each(function(t){Z(this).removeClass(e.call(this,t,this.className))});if(o)for(t=(e||"").match(ht)||[];l>u;u++)if(n=this[u],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(un," "):"")){for(a=0;i=t[a++];)for(;r.indexOf(" "+i+" ")>=0;)r=r.replace(" "+i+" "," ");s=e?Z.trim(r):"",n.className!==s&&(n.className=s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(Z.isFunction(e)?function(n){Z(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,r=0,i=Z(this),a=e.match(ht)||[];t=a[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(n===wt||"boolean"===n)&&(this.className&>.set(this,"__className__",this.className),this.className=this.className||e===!1?"":gt.get(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,r=this.length;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(un," ").indexOf(t)>=0)return!0;return!1}});var ln=/\r/g;Z.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=Z.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,Z(this).val()):e,null==i?i="":"number"==typeof i?i+="":Z.isArray(i)&&(i=Z.map(i,function(e){return null==e?"":e+""})),t=Z.valHooks[this.type]||Z.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=Z.valHooks[i.type]||Z.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(ln,""):null==n?"":n)}}}),Z.extend({valHooks:{option:{get:function(e){var t=Z.find.attr(e,"value");return null!=t?t:Z.trim(Z.text(e))}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,a="select-one"===e.type||0>i,s=a?null:[],o=a?i+1:r.length,u=0>i?o:a?i:0;o>u;u++)if(n=r[u],!(!n.selected&&u!==i||(X.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&Z.nodeName(n.parentNode,"optgroup"))){if(t=Z(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,a=Z.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=Z.inArray(r.value,a)>=0)&&(n=!0);return n||(e.selectedIndex=-1),a}}}}),Z.each(["radio","checkbox"],function(){Z.valHooks[this]={set:function(e,t){return Z.isArray(t)?e.checked=Z.inArray(Z(e).val(),t)>=0:void 0}},X.checkOn||(Z.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),Z.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){Z.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Z.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var dn=Z.now(),cn=/\?/;Z.parseJSON=function(e){return JSON.parse(e+"")},Z.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{n=new DOMParser,t=n.parseFromString(e,"text/xml")}catch(r){t=void 0}return(!t||t.getElementsByTagName("parsererror").length)&&Z.error("Invalid XML: "+e),t};var fn=/#.*$/,hn=/([?&])_=[^&]*/,_n=/^(.*?):[ \t]*([^\r\n]*)$/gm,pn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,mn=/^(?:GET|HEAD)$/,gn=/^\/\//,yn=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,vn={},Mn={},Ln="*/".concat("*"),Yn=e.location.href,Tn=yn.exec(Yn.toLowerCase())||[];Z.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Yn,type:"GET",isLocal:pn.test(Tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ln,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":Z.parseJSON,"text xml":Z.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?W(W(e,Z.ajaxSettings),t):W(Z.ajaxSettings,e)},ajaxPrefilter:N(vn),ajaxTransport:N(Mn),ajax:function(e,t){function n(e,t,n,s){var u,d,g,y,M,Y=t;2!==v&&(v=2,o&&clearTimeout(o),r=void 0,a=s||"",L.readyState=e>0?4:0,u=e>=200&&300>e||304===e,n&&(y=H(c,L,n)),y=P(c,y,L,u),u?(c.ifModified&&(M=L.getResponseHeader("Last-Modified"),M&&(Z.lastModified[i]=M),M=L.getResponseHeader("etag"),M&&(Z.etag[i]=M)),204===e||"HEAD"===c.type?Y="nocontent":304===e?Y="notmodified":(Y=y.state,d=y.data,g=y.error,u=!g)):(g=Y,(e||!Y)&&(Y="error",0>e&&(e=0))),L.status=e,L.statusText=(t||Y)+"",u?_.resolveWith(f,[d,Y,L]):_.rejectWith(f,[L,Y,g]),L.statusCode(m),m=void 0,l&&h.trigger(u?"ajaxSuccess":"ajaxError",[L,c,u?d:g]),p.fireWith(f,[L,Y]),l&&(h.trigger("ajaxComplete",[L,c]),--Z.active||Z.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var r,i,a,s,o,u,l,d,c=Z.ajaxSetup({},t),f=c.context||c,h=c.context&&(f.nodeType||f.jquery)?Z(f):Z.event,_=Z.Deferred(),p=Z.Callbacks("once memory"),m=c.statusCode||{},g={},y={},v=0,M="canceled",L={readyState:0,getResponseHeader:function(e){var t;if(2===v){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===v?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return v||(e=y[n]=y[n]||e,g[e]=t),this},overrideMimeType:function(e){return v||(c.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>v)for(t in e)m[t]=[m[t],e[t]];else L.always(e[L.status]);return this},abort:function(e){var t=e||M;return r&&r.abort(t),n(0,t),this}};if(_.promise(L).complete=p.add,L.success=L.done,L.error=L.fail,c.url=((e||c.url||Yn)+"").replace(fn,"").replace(gn,Tn[1]+"//"),c.type=t.method||t.type||c.method||c.type,c.dataTypes=Z.trim(c.dataType||"*").toLowerCase().match(ht)||[""],null==c.crossDomain&&(u=yn.exec(c.url.toLowerCase()),c.crossDomain=!(!u||u[1]===Tn[1]&&u[2]===Tn[2]&&(u[3]||("http:"===u[1]?"80":"443"))===(Tn[3]||("http:"===Tn[1]?"80":"443")))),c.data&&c.processData&&"string"!=typeof c.data&&(c.data=Z.param(c.data,c.traditional)),O(vn,c,t,L),2===v)return L;l=Z.event&&c.global,l&&0===Z.active++&&Z.event.trigger("ajaxStart"),c.type=c.type.toUpperCase(),c.hasContent=!mn.test(c.type),i=c.url,c.hasContent||(c.data&&(i=c.url+=(cn.test(i)?"&":"?")+c.data,delete c.data),c.cache===!1&&(c.url=hn.test(i)?i.replace(hn,"$1_="+dn++):i+(cn.test(i)?"&":"?")+"_="+dn++)),c.ifModified&&(Z.lastModified[i]&&L.setRequestHeader("If-Modified-Since",Z.lastModified[i]),Z.etag[i]&&L.setRequestHeader("If-None-Match",Z.etag[i])),(c.data&&c.hasContent&&c.contentType!==!1||t.contentType)&&L.setRequestHeader("Content-Type",c.contentType),L.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+("*"!==c.dataTypes[0]?", "+Ln+"; q=0.01":""):c.accepts["*"]);for(d in c.headers)L.setRequestHeader(d,c.headers[d]);if(c.beforeSend&&(c.beforeSend.call(f,L,c)===!1||2===v))return L.abort();M="abort";for(d in{success:1,error:1,complete:1})L[d](c[d]);if(r=O(Mn,c,t,L)){L.readyState=1,l&&h.trigger("ajaxSend",[L,c]),c.async&&c.timeout>0&&(o=setTimeout(function(){L.abort("timeout")},c.timeout));try{v=1,r.send(g,n)}catch(Y){if(!(2>v))throw Y;n(-1,Y)}}else n(-1,"No Transport");return L},getJSON:function(e,t,n){return Z.get(e,t,n,"json")},getScript:function(e,t){return Z.get(e,void 0,t,"script")}}),Z.each(["get","post"],function(e,t){Z[t]=function(e,n,r,i){return Z.isFunction(n)&&(i=i||r,r=n,n=void 0),Z.ajax({url:e,type:t,dataType:i,data:n,success:r})}}),Z._evalUrl=function(e){return Z.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},Z.fn.extend({wrapAll:function(e){var t;return Z.isFunction(e)?this.each(function(t){Z(this).wrapAll(e.call(this,t))}):(this[0]&&(t=Z(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return this.each(Z.isFunction(e)?function(t){Z(this).wrapInner(e.call(this,t))}:function(){var t=Z(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=Z.isFunction(e);return this.each(function(n){Z(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){Z.nodeName(this,"body")||Z(this).replaceWith(this.childNodes)}).end()}}),Z.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0},Z.expr.filters.visible=function(e){return!Z.expr.filters.hidden(e)};var bn=/%20/g,wn=/\[\]$/,Dn=/\r?\n/g,kn=/^(?:submit|button|image|reset|file)$/i,xn=/^(?:input|select|textarea|keygen)/i;Z.param=function(e,t){var n,r=[],i=function(e,t){t=Z.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=Z.ajaxSettings&&Z.ajaxSettings.traditional),Z.isArray(e)||e.jquery&&!Z.isPlainObject(e))Z.each(e,function(){i(this.name,this.value)});else for(n in e)F(n,e[n],t,i);return r.join("&").replace(bn,"+")},Z.fn.extend({serialize:function(){return Z.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Z.prop(this,"elements");return e?Z.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!Z(this).is(":disabled")&&xn.test(this.nodeName)&&!kn.test(e)&&(this.checked||!bt.test(e))}).map(function(e,t){var n=Z(this).val();return null==n?null:Z.isArray(n)?Z.map(n,function(e){return{name:t.name,value:e.replace(Dn,"\r\n")}}):{name:t.name,value:n.replace(Dn,"\r\n")}}).get()}}),Z.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(e){}};var Sn=0,jn={},Cn={0:200,1223:204},En=Z.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in jn)jn[e]()}),X.cors=!!En&&"withCredentials"in En,X.ajax=En=!!En,Z.ajaxTransport(function(e){var t;return X.cors||En&&!e.crossDomain?{send:function(n,r){var i,a=e.xhr(),s=++Sn;if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)a[i]=e.xhrFields[i];e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||n["X-Requested-With"]||(n["X-Requested-With"]="XMLHttpRequest");for(i in n)a.setRequestHeader(i,n[i]);t=function(e){return function(){t&&(delete jn[s],t=a.onload=a.onerror=null,"abort"===e?a.abort():"error"===e?r(a.status,a.statusText):r(Cn[a.status]||a.status,a.statusText,"string"==typeof a.responseText?{text:a.responseText}:void 0,a.getAllResponseHeaders()))}},a.onload=t(),a.onerror=t("error"),t=jn[s]=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(o){if(t)throw o}},abort:function(){t&&t()}}:void 0}),Z.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return Z.globalEval(e),e}}}),Z.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Z.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=Z("
Eventually this page will show all of the graphs that make up your metrics.
{{ Str::words($metric->description, 5) }}